mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
gallium: Add PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS
In the Intel backend, it makes the most sense to treat gl_TessLevelInner and gl_TessLevelOuter as ordinary shader inputs. For Radeon, it makes more sense to treat them as system values which get special handling. We already have a compiler option for this, but the Iris driver will need a capability bit so we can set it appropriately. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
8e26d534be
commit
e0485a1dd7
3 changed files with 6 additions and 0 deletions
|
|
@ -263,6 +263,9 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
|
|||
case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
|
||||
return 1;
|
||||
|
||||
case PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS:
|
||||
return 0;
|
||||
|
||||
case PIPE_CAP_TGSI_FS_FBFETCH:
|
||||
case PIPE_CAP_TGSI_MUL_ZERO_WINS:
|
||||
case PIPE_CAP_DOUBLES:
|
||||
|
|
|
|||
|
|
@ -807,6 +807,7 @@ enum pipe_cap
|
|||
PIPE_CAP_TGSI_CAN_READ_OUTPUTS,
|
||||
PIPE_CAP_NATIVE_FENCE_FD,
|
||||
PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY,
|
||||
PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS,
|
||||
PIPE_CAP_TGSI_FS_FBFETCH,
|
||||
PIPE_CAP_TGSI_MUL_ZERO_WINS,
|
||||
PIPE_CAP_DOUBLES,
|
||||
|
|
|
|||
|
|
@ -334,6 +334,8 @@ void st_init_limits(struct pipe_screen *screen,
|
|||
|
||||
c->GLSLOptimizeConservatively =
|
||||
screen->get_param(screen, PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY);
|
||||
c->GLSLTessLevelsAsInputs =
|
||||
screen->get_param(screen, PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS);
|
||||
c->LowerTessLevel = true;
|
||||
c->LowerCsDerivedVariables = true;
|
||||
c->PrimitiveRestartForPatches =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue