[PATCH vkd3d v4 2/5] vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_sampler.
Conor McCarthy
cmccarthy at codeweavers.com
Wed Jun 23 23:03:47 CDT 2021
Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
libs/vkd3d-shader/dxbc.c | 4 ++--
libs/vkd3d-shader/spirv.c | 10 +++++-----
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, 11 insertions(+), 11 deletions(-)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c
index 61acf77b..cf83c1c1 100644
--- a/libs/vkd3d-shader/dxbc.c
+++ b/libs/vkd3d-shader/dxbc.c
@@ -716,8 +716,8 @@ static void shader_sm4_read_dcl_sampler(struct vkd3d_shader_instruction *ins,
if (ins->flags & ~VKD3D_SM4_SAMPLER_COMPARISON)
FIXME("Unhandled sampler mode %#x.\n", ins->flags);
shader_sm4_read_src_param(priv, &tokens, end, VKD3D_DATA_SAMPLER, &ins->declaration.sampler.src);
- ins->declaration.sampler.register_index = shader_sm4_map_resource_idx(&ins->declaration.sampler.src.reg, priv);
- shader_sm4_read_register_space(priv, &tokens, end, &ins->declaration.sampler.register_space);
+ ins->declaration.sampler.range.first = shader_sm4_map_resource_idx(&ins->declaration.sampler.src.reg, priv);
+ shader_sm4_read_register_space(priv, &tokens, end, &ins->declaration.sampler.range.space);
}
static void shader_sm4_read_dcl_index_range(struct vkd3d_shader_instruction *ins,
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 7a23d315..7935f121 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2443,8 +2443,8 @@ static bool vkd3d_dxbc_compiler_has_combined_sampler(const struct vkd3d_dxbc_com
if ((!resource || (combined_sampler->resource_space == resource->range.space
&& combined_sampler->resource_index == resource->range.first))
- && (!sampler || (combined_sampler->sampler_space == sampler->register_space
- && combined_sampler->sampler_index == sampler->register_index)))
+ && (!sampler || (combined_sampler->sampler_space == sampler->range.space
+ && combined_sampler->sampler_index == sampler->range.first)))
return true;
}
@@ -5363,8 +5363,8 @@ static void vkd3d_dxbc_compiler_emit_dcl_sampler(struct vkd3d_dxbc_compiler *com
struct vkd3d_symbol reg_symbol;
vkd3d_symbol_make_sampler(®_symbol, reg);
- reg_symbol.info.sampler.register_space = sampler->register_space;
- reg_symbol.info.sampler.register_index = sampler->register_index;
+ reg_symbol.info.sampler.register_space = sampler->range.space;
+ reg_symbol.info.sampler.register_index = sampler->range.first;
vkd3d_dxbc_compiler_put_symbol(compiler, ®_symbol);
if (vkd3d_dxbc_compiler_has_combined_sampler(compiler, NULL, sampler))
@@ -5376,7 +5376,7 @@ static void vkd3d_dxbc_compiler_emit_dcl_sampler(struct vkd3d_dxbc_compiler *com
ptr_type_id, storage_class, 0);
vkd3d_dxbc_compiler_emit_descriptor_binding_for_reg(compiler, var_id, reg,
- sampler->register_space, sampler->register_index, VKD3D_SHADER_RESOURCE_NONE, false);
+ sampler->range.space, sampler->range.first, VKD3D_SHADER_RESOURCE_NONE, 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 c35179a8..c51b2eb9 100644
--- a/libs/vkd3d-shader/trace.c
+++ b/libs/vkd3d-shader/trace.c
@@ -1546,7 +1546,7 @@ static void shader_dump_instruction(struct vkd3d_d3d_asm_compiler *compiler,
shader_dump_register(compiler, &ins->declaration.sampler.src.reg);
if (ins->flags == VKD3DSI_SAMPLER_COMPARISON_MODE)
shader_addline(buffer, ", comparisonMode");
- shader_dump_register_space(compiler, ins->declaration.sampler.register_space);
+ shader_dump_register_space(compiler, ins->declaration.sampler.range.space);
break;
case VKD3DSIH_DCL_TEMPS:
diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c
index df811d37..e2c8d6ff 100644
--- a/libs/vkd3d-shader/vkd3d_shader_main.c
+++ b/libs/vkd3d-shader/vkd3d_shader_main.c
@@ -649,8 +649,8 @@ static void vkd3d_shader_scan_sampler_declaration(struct vkd3d_shader_scan_conte
flags = VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_SAMPLER_COMPARISON_MODE;
else
flags = 0;
- vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER, sampler->register_space,
- sampler->register_index, VKD3D_SHADER_RESOURCE_NONE, VKD3D_SHADER_RESOURCE_DATA_UINT, flags);
+ vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER, sampler->range.space,
+ sampler->range.first, VKD3D_SHADER_RESOURCE_NONE, VKD3D_SHADER_RESOURCE_DATA_UINT, flags);
}
static void vkd3d_shader_scan_resource_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 cddb3d27..285f8cd2 100644
--- a/libs/vkd3d-shader/vkd3d_shader_private.h
+++ b/libs/vkd3d-shader/vkd3d_shader_private.h
@@ -720,7 +720,7 @@ struct vkd3d_shader_register_semantic
struct vkd3d_shader_sampler
{
struct vkd3d_shader_src_param src;
- unsigned int register_space, register_index;
+ struct vkd3d_shader_register_range range;
};
struct vkd3d_shader_constant_buffer
--
2.31.1
More information about the wine-devel
mailing list