mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 20:48:08 +02:00
microsoft/compiler: Support raw SRVs/UAVs through dxil_module_get_res_type
Switch the OpenCL "globals" array to use that helper Reviewed-by: Enrico Galli <enrico.galli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10149>
This commit is contained in:
parent
0c8220685e
commit
88ff88bb7d
2 changed files with 10 additions and 6 deletions
|
|
@ -830,6 +830,14 @@ dxil_module_get_res_type(struct dxil_module *m, enum dxil_resource_kind kind,
|
|||
return dxil_module_get_struct_type(m, class_name, &vec_type, 1);
|
||||
}
|
||||
|
||||
case DXIL_RESOURCE_KIND_RAW_BUFFER:
|
||||
{
|
||||
const struct dxil_type *component_type = dxil_module_get_int_type(m, 32);
|
||||
char class_name[64] = { 0 };
|
||||
snprintf(class_name, 64, "struct.%sByteAddressBuffer", readwrite ? "RW" : "");
|
||||
return dxil_module_get_struct_type(m, class_name, &component_type, 1);
|
||||
}
|
||||
|
||||
default:
|
||||
unreachable("resource type not supported");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -795,12 +795,8 @@ emit_globals(struct ntd_context *ctx, nir_shader *s, unsigned size)
|
|||
if (!size)
|
||||
return true;
|
||||
|
||||
const struct dxil_type *type = dxil_module_get_int_type(&ctx->mod, 32);
|
||||
if (!type)
|
||||
return false;
|
||||
|
||||
const struct dxil_type *struct_type =
|
||||
dxil_module_get_struct_type(&ctx->mod, NULL, &type, 1);
|
||||
const struct dxil_type *struct_type = dxil_module_get_res_type(&ctx->mod,
|
||||
DXIL_RESOURCE_KIND_RAW_BUFFER, DXIL_COMP_TYPE_INVALID, true /* readwrite */);
|
||||
if (!struct_type)
|
||||
return false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue