compiler: Add new non-Multiview Task/Mesh builtins

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10600>
This commit is contained in:
Caio Marcelo de Oliveira Filho 2021-04-29 13:45:56 -07:00 committed by Marge Bot
parent cd394017c8
commit 813d41829d
2 changed files with 29 additions and 0 deletions

View file

@ -160,6 +160,30 @@ gl_varying_slot_name_for_stage(gl_varying_slot slot, gl_shader_stage stage)
if (stage != MESA_SHADER_FRAGMENT && slot == VARYING_SLOT_PRIMITIVE_SHADING_RATE)
return "VARYING_SLOT_PRIMITIVE_SHADING_RATE";
switch (stage) {
case MESA_SHADER_MESH:
switch (slot) {
case VARYING_SLOT_PRIMITIVE_COUNT: return "VARYING_SLOT_PRIMITIVE_COUNT";
case VARYING_SLOT_PRIMITIVE_INDICES: return "VARYING_SLOT_PRIMITIVE_INDICES";
default:
/* Not an overlapping value. */
break;
}
break;
case MESA_SHADER_TASK:
switch (slot) {
case VARYING_SLOT_TASK_COUNT: return "VARYING_SLOT_TASK_COUNT";
default:
/* Not an overlapping value. */
break;
}
break;
default:
break;
}
static const char *names[] = {
ENUM(VARYING_SLOT_POS),
ENUM(VARYING_SLOT_COL0),

View file

@ -303,6 +303,11 @@ typedef enum
VARYING_SLOT_VIEW_INDEX,
VARYING_SLOT_VIEWPORT_MASK, /* Does not appear in FS */
VARYING_SLOT_PRIMITIVE_SHADING_RATE = VARYING_SLOT_FACE, /* Does not appear in FS. */
VARYING_SLOT_PRIMITIVE_COUNT = VARYING_SLOT_TESS_LEVEL_OUTER, /* Only appears in MESH. */
VARYING_SLOT_PRIMITIVE_INDICES = VARYING_SLOT_TESS_LEVEL_INNER, /* Only appears in MESH. */
VARYING_SLOT_TASK_COUNT = VARYING_SLOT_BOUNDING_BOX0, /* Only appears in TASK. */
VARYING_SLOT_VAR0 = 32, /* First generic varying slot */
/* the remaining are simply for the benefit of gl_varying_slot_name()
* and not to be construed as an upper bound: