vkd3d-shader: Reflect CS WaveSize.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2021-10-27 18:14:58 +02:00
parent 7cc435c0bc
commit 6966cd2f33
2 changed files with 2 additions and 0 deletions

View File

@ -59,6 +59,7 @@ struct vkd3d_shader_meta
vkd3d_shader_hash_t hash;
unsigned int cs_workgroup_size[3]; /* Only contains valid data if uses_subgroup_size is true. */
unsigned int patch_vertex_count; /* Relevant for HS. May be 0, in which case the patch vertex count is not known. */
unsigned int cs_required_wave_size; /* If non-zero, force a specific CS subgroup size. */
bool replaced;
bool uses_subgroup_size;
bool uses_native_16bit_operations;

View File

@ -843,6 +843,7 @@ int vkd3d_shader_compile_dxil(const struct vkd3d_shader_code *dxbc,
&spirv->meta.cs_workgroup_size[1],
&spirv->meta.cs_workgroup_size[2]);
dxil_spv_converter_get_patch_vertex_count(converter, &spirv->meta.patch_vertex_count);
dxil_spv_converter_get_compute_required_wave_size(converter, &spirv->meta.cs_required_wave_size);
spirv->meta.uses_native_16bit_operations = dxil_spv_converter_uses_shader_feature(converter,
DXIL_SPV_SHADER_FEATURE_NATIVE_16BIT_OPERATIONS) == DXIL_SPV_TRUE;