nir: Add compute shader shared variable storage class
Previously we were receiving shared variable accesses via a lowered intrinsic function from glsl. This change allows us to send in variables instead. For example, when converting from SPIR-V. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -312,7 +312,8 @@ print_var_decl(nir_variable *var, print_state *state)
|
||||
const char *const patch = (var->data.patch) ? "patch " : "";
|
||||
const char *const inv = (var->data.invariant) ? "invariant " : "";
|
||||
const char *const mode[] = { "shader_in ", "shader_out ", "", "",
|
||||
"uniform ", "shader_storage ", "system " };
|
||||
"uniform ", "shader_storage ", "shared ",
|
||||
"system "};
|
||||
|
||||
fprintf(fp, "%s%s%s%s%s%s ",
|
||||
cent, samp, patch, inv, mode[var->data.mode],
|
||||
@@ -1069,6 +1070,10 @@ nir_print_shader(nir_shader *shader, FILE *fp)
|
||||
print_var_decl(var, &state);
|
||||
}
|
||||
|
||||
nir_foreach_variable(var, &shader->shared) {
|
||||
print_var_decl(var, &state);
|
||||
}
|
||||
|
||||
nir_foreach_variable(var, &shader->globals) {
|
||||
print_var_decl(var, &state);
|
||||
}
|
||||
|
Reference in New Issue
Block a user