mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_constant_buffer.
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
1b716f8c28
commit
533d901a24
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user