nir: Allow creating variables with nir_var_mem_push_const.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
This commit is contained in:
parent
b0504ed682
commit
7a2b4ce22e
|
@ -115,6 +115,7 @@ nir_shader_add_variable(nir_shader *shader, nir_variable *var)
|
|||
case nir_var_mem_ssbo:
|
||||
case nir_var_mem_shared:
|
||||
case nir_var_system_value:
|
||||
case nir_var_mem_push_const:
|
||||
case nir_var_mem_constant:
|
||||
break;
|
||||
|
||||
|
@ -122,10 +123,6 @@ nir_shader_add_variable(nir_shader *shader, nir_variable *var)
|
|||
assert(!"nir_shader_add_variable cannot be used for global memory");
|
||||
return;
|
||||
|
||||
case nir_var_mem_push_const:
|
||||
assert(!"nir_var_push_constant is not supposed to be used for variables");
|
||||
return;
|
||||
|
||||
default:
|
||||
assert(!"invalid mode");
|
||||
return;
|
||||
|
|
|
@ -465,6 +465,8 @@ get_variable_mode_str(nir_variable_mode mode, bool want_local_global_mode)
|
|||
return "shared";
|
||||
case nir_var_mem_global:
|
||||
return "global";
|
||||
case nir_var_mem_push_const:
|
||||
return "push_const";
|
||||
case nir_var_mem_constant:
|
||||
return "constant";
|
||||
case nir_var_shader_temp:
|
||||
|
|
|
@ -457,7 +457,8 @@ validate_deref_instr(nir_deref_instr *instr, validate_state *state)
|
|||
if (instr->mode == nir_var_mem_ubo ||
|
||||
instr->mode == nir_var_mem_ssbo ||
|
||||
instr->mode == nir_var_mem_shared ||
|
||||
instr->mode == nir_var_mem_global) {
|
||||
instr->mode == nir_var_mem_global ||
|
||||
instr->mode == nir_var_mem_push_const) {
|
||||
/* Shared variables and UBO/SSBOs have a bit more relaxed rules
|
||||
* because we need to be able to handle array derefs on vectors.
|
||||
* Fortunately, nir_lower_io handles these just fine.
|
||||
|
@ -1410,6 +1411,7 @@ nir_validate_shader(nir_shader *shader, const char *when)
|
|||
nir_var_system_value |
|
||||
nir_var_mem_ssbo |
|
||||
nir_var_mem_shared |
|
||||
nir_var_mem_push_const |
|
||||
nir_var_mem_constant;
|
||||
|
||||
exec_list_validate(&shader->variables);
|
||||
|
|
Loading…
Reference in New Issue