mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
nir: add back color0/1 system values and VARYING_SLOT_PARAM_GEN_AMD
It turns out we need the color sysvals recorded in system_values_read, and PARAM_GEN is for point smoothing. Acked-by: Pierre-Eric Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40556>
This commit is contained in:
parent
e09045e26c
commit
835f5faf14
4 changed files with 16 additions and 0 deletions
|
|
@ -2583,6 +2583,10 @@ nir_intrinsic_from_system_value(gl_system_value val)
|
|||
return nir_intrinsic_load_warp_id_arm;
|
||||
case SYSTEM_VALUE_WARP_MAX_ID_ARM:
|
||||
return nir_intrinsic_load_warp_max_id_arm;
|
||||
case SYSTEM_VALUE_COLOR0_AMD:
|
||||
return nir_intrinsic_load_color0_amd;
|
||||
case SYSTEM_VALUE_COLOR1_AMD:
|
||||
return nir_intrinsic_load_color1_amd;
|
||||
default:
|
||||
return nir_num_intrinsics;
|
||||
}
|
||||
|
|
@ -2769,6 +2773,10 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
|
|||
return SYSTEM_VALUE_WARP_ID_ARM;
|
||||
case nir_intrinsic_load_warp_max_id_arm:
|
||||
return SYSTEM_VALUE_WARP_MAX_ID_ARM;
|
||||
case nir_intrinsic_load_color0_amd:
|
||||
return SYSTEM_VALUE_COLOR0_AMD;
|
||||
case nir_intrinsic_load_color1_amd:
|
||||
return SYSTEM_VALUE_COLOR1_AMD;
|
||||
default:
|
||||
return SYSTEM_VALUE_MAX;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -781,6 +781,8 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader)
|
|||
case nir_intrinsic_load_tcs_header_ir3:
|
||||
case nir_intrinsic_load_ray_triangle_vertex_positions:
|
||||
case nir_intrinsic_load_layer_id:
|
||||
case nir_intrinsic_load_color0_amd:
|
||||
case nir_intrinsic_load_color1_amd:
|
||||
BITSET_SET(shader->info.system_values_read,
|
||||
nir_system_value_from_intrinsic(instr->intrinsic));
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -459,6 +459,8 @@ gl_system_value_name(gl_system_value sysval)
|
|||
ENUM(SYSTEM_VALUE_CORE_MAX_ID_ARM),
|
||||
ENUM(SYSTEM_VALUE_WARP_ID_ARM),
|
||||
ENUM(SYSTEM_VALUE_WARP_MAX_ID_ARM),
|
||||
ENUM(SYSTEM_VALUE_COLOR0_AMD),
|
||||
ENUM(SYSTEM_VALUE_COLOR1_AMD),
|
||||
};
|
||||
STATIC_ASSERT(ARRAY_SIZE(names) == SYSTEM_VALUE_MAX);
|
||||
return NAME(sysval);
|
||||
|
|
|
|||
|
|
@ -376,6 +376,7 @@ typedef enum
|
|||
|
||||
VARYING_SLOT_GS_HEADER_IR3 = VARYING_SLOT_BOUNDING_BOX0, /* VS/TES output and GS input */
|
||||
VARYING_SLOT_GS_VERTEX_FLAGS_IR3 = VARYING_SLOT_BOUNDING_BOX1, /* GS output */
|
||||
VARYING_SLOT_PARAM_GEN_AMD = VARYING_SLOT_BOUNDING_BOX0, /* Only appears as FS input. */
|
||||
|
||||
VARYING_SLOT_VAR0 = 32, /* First generic varying slot */
|
||||
/* the remaining are simply for the benefit of gl_varying_slot_name()
|
||||
|
|
@ -969,6 +970,9 @@ typedef enum
|
|||
SYSTEM_VALUE_WARP_ID_ARM,
|
||||
SYSTEM_VALUE_WARP_MAX_ID_ARM,
|
||||
|
||||
SYSTEM_VALUE_COLOR0_AMD,
|
||||
SYSTEM_VALUE_COLOR1_AMD,
|
||||
|
||||
SYSTEM_VALUE_MAX /**< Number of values */
|
||||
} gl_system_value;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue