Henri Verbeet : vkd3d-shader: Do not print FIXMEs for VKD3DSUF_ORDER_PRESERVING_COUNTER when generating SPIR-V.

Alexandre Julliard julliard at winehq.org
Fri Feb 19 16:42:49 CST 2021


Module: vkd3d
Branch: master
Commit: 944665ed11650a72e36b40a2da0cd400cf76b375
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=944665ed11650a72e36b40a2da0cd400cf76b375

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Feb 19 15:57:09 2021 +0100

vkd3d-shader: Do not print FIXMEs for VKD3DSUF_ORDER_PRESERVING_COUNTER when generating SPIR-V.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/spirv.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index b0b2399..1448d3b 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -5644,9 +5644,12 @@ static void vkd3d_dxbc_compiler_emit_dcl_resource(struct vkd3d_dxbc_compiler *co
         const struct vkd3d_shader_instruction *instruction)
 {
     const struct vkd3d_shader_semantic *semantic = &instruction->declaration.semantic;
+    uint32_t flags = instruction->flags;
 
-    if (instruction->flags)
-        FIXME("Unhandled UAV flags %#x.\n", instruction->flags);
+    /* We don't distinguish between APPEND and COUNTER UAVs. */
+    flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER;
+    if (flags)
+        FIXME("Unhandled UAV flags %#x.\n", flags);
 
     vkd3d_dxbc_compiler_emit_resource_declaration(compiler, &semantic->resource,
             semantic->resource_type, semantic->resource_data_type[0], 0, false);
@@ -5656,9 +5659,12 @@ static void vkd3d_dxbc_compiler_emit_dcl_resource_raw(struct vkd3d_dxbc_compiler
         const struct vkd3d_shader_instruction *instruction)
 {
     const struct vkd3d_shader_raw_resource *resource = &instruction->declaration.raw_resource;
+    uint32_t flags = instruction->flags;
 
-    if (instruction->flags)
-        FIXME("Unhandled UAV flags %#x.\n", instruction->flags);
+    /* We don't distinguish between APPEND and COUNTER UAVs. */
+    flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER;
+    if (flags)
+        FIXME("Unhandled UAV flags %#x.\n", flags);
 
     vkd3d_dxbc_compiler_emit_resource_declaration(compiler, &resource->resource,
             VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT, 0, true);
@@ -5669,9 +5675,12 @@ static void vkd3d_dxbc_compiler_emit_dcl_resource_structured(struct vkd3d_dxbc_c
 {
     const struct vkd3d_shader_structured_resource *resource = &instruction->declaration.structured_resource;
     unsigned int stride = resource->byte_stride;
+    uint32_t flags = instruction->flags;
 
-    if (instruction->flags)
-        FIXME("Unhandled UAV flags %#x.\n", instruction->flags);
+    /* We don't distinguish between APPEND and COUNTER UAVs. */
+    flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER;
+    if (flags)
+        FIXME("Unhandled UAV flags %#x.\n", flags);
 
     vkd3d_dxbc_compiler_emit_resource_declaration(compiler, &resource->resource,
             VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT, stride / 4, false);




More information about the wine-cvs mailing list