i965: enable up to 32 inputs for geometry shaders in gen8+
We have been exposing only 16 since1e3e72e305
with arguments based on register pressure and the number of available GRFs, however, our scalar backend will always limit the number of push registers for GS threads to 24 and fallback to pull model for anything else, so there is really no reason to lower the number under those arguments. By bumping this up to 32 we make it the same as all the other stages, which is a nice feature to have that can help applications in some cases (I recently fixed a bug in CTS that assumed that the number of input locations in a stage matches the number of output locations in the previous stage for example). Pre-gen8, we use the vector backend and push model, so in that case the arguments in1e3e72e305
are still valid. v2: check if we have scalar GS instead of the hw gen to enable this (Ken). Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
913bfd42a3
commit
8e627af59d
|
@ -634,7 +634,8 @@ brw_initialize_context_constants(struct brw_context *brw)
|
|||
if (devinfo->gen >= 6) {
|
||||
ctx->Const.MaxVarying = 32;
|
||||
ctx->Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents = 128;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxInputComponents = 64;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxInputComponents =
|
||||
compiler->scalar_stage[MESA_SHADER_GEOMETRY] ? 128 : 64;
|
||||
ctx->Const.Program[MESA_SHADER_GEOMETRY].MaxOutputComponents = 128;
|
||||
ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxInputComponents = 128;
|
||||
ctx->Const.Program[MESA_SHADER_TESS_CTRL].MaxInputComponents = 128;
|
||||
|
|
Loading…
Reference in New Issue