Conor McCarthy : vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_constant_buffer.

Alexandre Julliard julliard at winehq.org
Thu Jun 24 16:14:32 CDT 2021


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

Author: Conor McCarthy <cmccarthy at codeweavers.com>
Date:   Thu Jun 24 14:03:48 2021 +1000

vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_constant_buffer.

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

---

 libs/vkd3d-shader/dxbc.c                 | 6 +++---
 libs/vkd3d-shader/spirv.c                | 6 +++---
 libs/vkd3d-shader/trace.c                | 2 +-
 libs/vkd3d-shader/vkd3d_shader_main.c    | 4 ++--
 libs/vkd3d-shader/vkd3d_shader_private.h | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c
index cf83c1c..70ab70a 100644
--- a/libs/vkd3d-shader/dxbc.c
+++ b/libs/vkd3d-shader/dxbc.c
@@ -686,12 +686,12 @@ static void shader_sm4_read_dcl_constant_buffer(struct vkd3d_shader_instruction
     const DWORD *end = &tokens[token_count];
 
     shader_sm4_read_src_param(priv, &tokens, end, VKD3D_DATA_FLOAT, &ins->declaration.cb.src);
-    ins->declaration.cb.register_index = shader_sm4_map_resource_idx(&ins->declaration.cb.src.reg, priv);
+    ins->declaration.cb.range.first = shader_sm4_map_resource_idx(&ins->declaration.cb.src.reg, priv);
     if (opcode_token & VKD3D_SM4_INDEX_TYPE_MASK)
         ins->flags |= VKD3DSI_INDEXED_DYNAMIC;
 
     ins->declaration.cb.size = ins->declaration.cb.src.reg.idx[2].offset;
-    ins->declaration.cb.register_space = 0;
+    ins->declaration.cb.range.space = 0;
 
     if (shader_is_sm_5_1(priv))
     {
@@ -702,7 +702,7 @@ static void shader_sm4_read_dcl_constant_buffer(struct vkd3d_shader_instruction
         }
 
         ins->declaration.cb.size = *tokens++;
-        shader_sm4_read_register_space(priv, &tokens, end, &ins->declaration.cb.register_space);
+        shader_sm4_read_register_space(priv, &tokens, end, &ins->declaration.cb.range.space);
     }
 }
 
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 7935f12..ce819eb 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2403,8 +2403,8 @@ static bool vkd3d_dxbc_compiler_check_shader_visibility(const struct vkd3d_dxbc_
 static struct vkd3d_push_constant_buffer_binding *vkd3d_dxbc_compiler_find_push_constant_buffer(
         const struct vkd3d_dxbc_compiler *compiler, const struct vkd3d_shader_constant_buffer *cb)
 {
-    unsigned int register_space = cb->register_space;
-    unsigned int reg_idx = cb->register_index;
+    unsigned int register_space = cb->range.space;
+    unsigned int reg_idx = cb->range.first;
     unsigned int i;
 
     for (i = 0; i < compiler->shader_interface.push_constant_buffer_count; ++i)
@@ -5309,7 +5309,7 @@ static void vkd3d_dxbc_compiler_emit_dcl_constant_buffer(struct vkd3d_dxbc_compi
             pointer_type_id, storage_class, 0);
 
     vkd3d_dxbc_compiler_emit_descriptor_binding_for_reg(compiler,
-            var_id, reg, cb->register_space, cb->register_index, VKD3D_SHADER_RESOURCE_BUFFER, false);
+            var_id, reg, cb->range.space, cb->range.first, VKD3D_SHADER_RESOURCE_BUFFER, false);
 
     vkd3d_dxbc_compiler_emit_register_debug_name(builder, var_id, reg);
 
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c
index c51b2eb..2d16714 100644
--- a/libs/vkd3d-shader/trace.c
+++ b/libs/vkd3d-shader/trace.c
@@ -1438,7 +1438,7 @@ static void shader_dump_instruction(struct vkd3d_d3d_asm_compiler *compiler,
                 shader_print_subscript(compiler, ins->declaration.cb.size, NULL);
             shader_addline(buffer, ", %s",
                     ins->flags & VKD3DSI_INDEXED_DYNAMIC ? "dynamicIndexed" : "immediateIndexed");
-            shader_dump_register_space(compiler, ins->declaration.cb.register_space);
+            shader_dump_register_space(compiler, ins->declaration.cb.range.space);
             break;
 
         case VKD3DSIH_DCL_FUNCTION_BODY:
diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c
index e2c8d6f..a8dc3bf 100644
--- a/libs/vkd3d-shader/vkd3d_shader_main.c
+++ b/libs/vkd3d-shader/vkd3d_shader_main.c
@@ -632,8 +632,8 @@ static void vkd3d_shader_scan_constant_buffer_declaration(struct vkd3d_shader_sc
     if (!context->scan_descriptor_info)
         return;
 
-    vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV, cb->register_space,
-            cb->register_index, VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT, 0);
+    vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV, cb->range.space,
+            cb->range.first, VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_SHADER_RESOURCE_DATA_UINT, 0);
 }
 
 static void vkd3d_shader_scan_sampler_declaration(struct vkd3d_shader_scan_context *context,
diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h
index 285f8cd..5affbae 100644
--- a/libs/vkd3d-shader/vkd3d_shader_private.h
+++ b/libs/vkd3d-shader/vkd3d_shader_private.h
@@ -727,7 +727,7 @@ struct vkd3d_shader_constant_buffer
 {
     struct vkd3d_shader_src_param src;
     unsigned int size;
-    unsigned int register_space, register_index;
+    struct vkd3d_shader_register_range range;
 };
 
 struct vkd3d_shader_structured_resource




More information about the wine-cvs mailing list