[PATCH vkd3d] vkd3d-shader: Handle VKD3DSUF_GLOBALLY_COHERENT in vkd3d_dxbc_compiler_emit_dcl_resource_raw().

Andrey Gusev andrey.goosev at gmail.com
Tue Jan 25 06:47:11 CST 2022


Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
---
 libs/vkd3d-shader/spirv.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 1ffce6a..a361cc7 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -6091,8 +6091,16 @@ static void vkd3d_dxbc_compiler_emit_dcl_resource_raw(struct vkd3d_dxbc_compiler
     const struct vkd3d_shader_raw_resource *resource = &instruction->declaration.raw_resource;
     uint32_t flags = instruction->flags;
 
+    if (flags & VKD3DSUF_GLOBALLY_COHERENT)
+    {
+        flags &= ~VKD3DSUF_GLOBALLY_COHERENT;
+    }
     /* We don't distinguish between APPEND and COUNTER UAVs. */
-    flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER;
+    if (flags & VKD3DSUF_ORDER_PRESERVING_COUNTER)
+    {
+        flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER;
+    }
+
     if (flags)
         FIXME("Unhandled UAV flags %#x.\n", flags);
 
-- 
2.34.1




More information about the wine-devel mailing list