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;
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;
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.
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);