nir,spirv: Add support for the ShaderCallKHR scope
It's currently entirely trivial. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6479>
This commit is contained in:

committed by
Marge Bot

parent
6b8fd65e84
commit
21b1b91549
@@ -6620,6 +6620,8 @@ sync_scope translate_nir_scope(nir_scope scope)
|
||||
return scope_queuefamily;
|
||||
case NIR_SCOPE_DEVICE:
|
||||
return scope_device;
|
||||
case NIR_SCOPE_SHADER_CALL:
|
||||
unreachable("unsupported scope");
|
||||
}
|
||||
unreachable("invalid scope");
|
||||
}
|
||||
|
@@ -1708,6 +1708,7 @@ typedef enum {
|
||||
NIR_SCOPE_NONE,
|
||||
NIR_SCOPE_INVOCATION,
|
||||
NIR_SCOPE_SUBGROUP,
|
||||
NIR_SCOPE_SHADER_CALL,
|
||||
NIR_SCOPE_WORKGROUP,
|
||||
NIR_SCOPE_QUEUE_FAMILY,
|
||||
NIR_SCOPE_DEVICE,
|
||||
|
@@ -975,6 +975,7 @@ print_intrinsic_instr(nir_intrinsic_instr *instr, print_state *state)
|
||||
case NIR_SCOPE_DEVICE: fprintf(fp, "DEVICE"); break;
|
||||
case NIR_SCOPE_QUEUE_FAMILY: fprintf(fp, "QUEUE_FAMILY"); break;
|
||||
case NIR_SCOPE_WORKGROUP: fprintf(fp, "WORKGROUP"); break;
|
||||
case NIR_SCOPE_SHADER_CALL: fprintf(fp, "SHADER_CALL"); break;
|
||||
case NIR_SCOPE_SUBGROUP: fprintf(fp, "SUBGROUP"); break;
|
||||
case NIR_SCOPE_INVOCATION: fprintf(fp, "INVOCATION"); break;
|
||||
}
|
||||
|
@@ -2363,6 +2363,10 @@ vtn_scope_to_nir_scope(struct vtn_builder *b, SpvScope scope)
|
||||
nir_scope = NIR_SCOPE_INVOCATION;
|
||||
break;
|
||||
|
||||
case SpvScopeShaderCallKHR:
|
||||
nir_scope = NIR_SCOPE_SHADER_CALL;
|
||||
break;
|
||||
|
||||
default:
|
||||
vtn_fail("Invalid memory scope");
|
||||
}
|
||||
|
Reference in New Issue
Block a user