vkd3d-shader/spirv: Handle globally coherent UAVs.

This commit is contained in:
Conor McCarthy
2023-08-16 00:09:11 +10:00
committed by Alexandre Julliard
parent 766f5f039b
commit adfbecef3c
Notes: Alexandre Julliard 2024-01-25 23:07:09 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/599
3 changed files with 10 additions and 4 deletions

View File

@@ -6237,6 +6237,9 @@ static void spirv_compiler_emit_resource_declaration(struct spirv_compiler *comp
if (!(d->flags & VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_READ))
vkd3d_spirv_build_op_decorate(builder, var_id, SpvDecorationNonReadable, NULL, 0);
if (d->uav_flags & VKD3DSUF_GLOBALLY_COHERENT)
vkd3d_spirv_build_op_decorate(builder, var_id, SpvDecorationCoherent, NULL, 0);
if (d->flags & VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_COUNTER)
{
assert(structure_stride); /* counters are valid only for structured buffers */