vkd3d-shader: Read the resource index from idx[1] instead of idx[0] when looking up SM5.1 bindings.

We still use the first index to uniquely identify the register in vkd3d_symbol,
only changing which field is used to declare it.

This patch does not handle descriptor arrays.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura
2020-05-26 15:16:41 -05:00
committed by Alexandre Julliard
parent 2abc615419
commit 6dace4a8be
3 changed files with 41 additions and 22 deletions

View File

@@ -614,7 +614,7 @@ struct vkd3d_shader_semantic
enum vkd3d_shader_resource_type resource_type;
enum vkd3d_data_type resource_data_type;
struct vkd3d_shader_dst_param reg;
unsigned int register_space;
unsigned int register_space, register_index;
};
enum vkd3d_shader_input_sysval_semantic
@@ -662,27 +662,27 @@ struct vkd3d_shader_register_semantic
struct vkd3d_shader_sampler
{
struct vkd3d_shader_src_param src;
unsigned int register_space;
unsigned int register_space, register_index;
};
struct vkd3d_shader_constant_buffer
{
struct vkd3d_shader_src_param src;
unsigned int size;
unsigned int register_space;
unsigned int register_space, register_index;
};
struct vkd3d_shader_structured_resource
{
struct vkd3d_shader_dst_param reg;
unsigned int byte_stride;
unsigned int register_space;
unsigned int register_space, register_index;
};
struct vkd3d_shader_raw_resource
{
struct vkd3d_shader_dst_param dst;
unsigned int register_space;
unsigned int register_space, register_index;
};
struct vkd3d_shader_tgsm