[PATCH vkd3d 1/3] vkd3d-shader: Consistently use uint32_t for pointers to shader data.
Alexandre Julliard
julliard at winehq.org
Mon Jan 31 04:51:03 CST 2022
Mixing uint32_t and DWORD pointers causes warnings on Windows.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
libs/vkd3d-shader/dxbc.c | 50 ++++++++++++------------
libs/vkd3d-shader/vkd3d_shader_private.h | 4 +-
2 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c
index 4d3773190875..d28c303ab7ac 100644
--- a/libs/vkd3d-shader/dxbc.c
+++ b/libs/vkd3d-shader/dxbc.c
@@ -87,7 +87,7 @@ struct vkd3d_shader_src_param_entry
struct vkd3d_shader_sm4_parser
{
- const DWORD *start, *end;
+ const uint32_t *start, *end;
unsigned int output_map[MAX_REG_OUTPUT];
@@ -252,7 +252,7 @@ static void shader_sm4_read_dcl_resource(struct vkd3d_shader_instruction *ins, u
{
struct vkd3d_shader_semantic *semantic = &ins->declaration.semantic;
enum vkd3d_sm4_resource_type resource_type;
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
enum vkd3d_sm4_data_type data_type;
enum vkd3d_data_type reg_data_type;
DWORD components;
@@ -297,7 +297,7 @@ static void shader_sm4_read_dcl_resource(struct vkd3d_shader_instruction *ins, u
static void shader_sm4_read_dcl_constant_buffer(struct vkd3d_shader_instruction *ins, uint32_t opcode,
uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
shader_sm4_read_src_param(priv, &tokens, end, VKD3D_DATA_FLOAT, &ins->declaration.cb.src);
shader_sm4_set_descriptor_register_range(priv, &ins->declaration.cb.src.reg, &ins->declaration.cb.range);
@@ -323,7 +323,7 @@ static void shader_sm4_read_dcl_constant_buffer(struct vkd3d_shader_instruction
static void shader_sm4_read_dcl_sampler(struct vkd3d_shader_instruction *ins, uint32_t opcode, uint32_t opcode_token,
const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
ins->flags = (opcode_token & VKD3D_SM4_SAMPLER_MODE_MASK) >> VKD3D_SM4_SAMPLER_MODE_SHIFT;
if (ins->flags & ~VKD3D_SM4_SAMPLER_COMPARISON)
@@ -342,7 +342,7 @@ static void shader_sm4_read_dcl_index_range(struct vkd3d_shader_instruction *ins
}
static void shader_sm4_read_dcl_output_topology(struct vkd3d_shader_instruction *ins, uint32_t opcode,
- uint32_t opcode_token, const DWORD *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
+ uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
enum vkd3d_sm4_output_primitive_type primitive_type;
@@ -495,7 +495,7 @@ static void shader_sm5_read_dcl_hs_max_tessfactor(struct vkd3d_shader_instructio
}
static void shader_sm5_read_dcl_thread_group(struct vkd3d_shader_instruction *ins, uint32_t opcode,
- uint32_t opcode_token, const DWORD *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
+ uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
ins->declaration.thread_group_size.x = *tokens++;
ins->declaration.thread_group_size.y = *tokens++;
@@ -506,7 +506,7 @@ static void shader_sm5_read_dcl_uav_raw(struct vkd3d_shader_instruction *ins, ui
const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
struct vkd3d_shader_raw_resource *resource = &ins->declaration.raw_resource;
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
shader_sm4_read_dst_param(priv, &tokens, end, VKD3D_DATA_UAV, &resource->resource.reg);
shader_sm4_set_descriptor_register_range(priv, &resource->resource.reg.reg, &resource->resource.range);
@@ -518,7 +518,7 @@ static void shader_sm5_read_dcl_uav_structured(struct vkd3d_shader_instruction *
uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
struct vkd3d_shader_structured_resource *resource = &ins->declaration.structured_resource;
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
shader_sm4_read_dst_param(priv, &tokens, end, VKD3D_DATA_UAV, &resource->resource.reg);
shader_sm4_set_descriptor_register_range(priv, &resource->resource.reg.reg, &resource->resource.range);
@@ -553,7 +553,7 @@ static void shader_sm5_read_dcl_resource_structured(struct vkd3d_shader_instruct
uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
struct vkd3d_shader_structured_resource *resource = &ins->declaration.structured_resource;
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
shader_sm4_read_dst_param(priv, &tokens, end, VKD3D_DATA_RESOURCE, &resource->resource.reg);
shader_sm4_set_descriptor_register_range(priv, &resource->resource.reg.reg, &resource->resource.range);
@@ -567,7 +567,7 @@ static void shader_sm5_read_dcl_resource_raw(struct vkd3d_shader_instruction *in
uint32_t opcode_token, const uint32_t *tokens, unsigned int token_count, struct vkd3d_shader_sm4_parser *priv)
{
struct vkd3d_shader_raw_resource *resource = &ins->declaration.raw_resource;
- const DWORD *end = &tokens[token_count];
+ const uint32_t *end = &tokens[token_count];
shader_sm4_read_dst_param(priv, &tokens, end, VKD3D_DATA_RESOURCE, &resource->resource.reg);
shader_sm4_set_descriptor_register_range(priv, &resource->resource.reg.reg, &resource->resource.range);
@@ -1465,7 +1465,7 @@ static void shader_sm4_read_instruction(struct vkd3d_shader_parser *parser, stru
const uint32_t **ptr = &parser->ptr;
unsigned int i, len;
size_t remaining;
- const DWORD *p;
+ const uint32_t *p;
DWORD precise;
list_move_head(&sm4->src_free, &sm4->src);
@@ -1692,7 +1692,7 @@ static bool require_space(size_t offset, size_t count, size_t size, size_t data_
return !count || (data_size - offset) / count >= size;
}
-static void read_dword(const char **ptr, DWORD *d)
+static void read_dword(const char **ptr, uint32_t *d)
{
memcpy(d, *ptr, sizeof(*d));
*ptr += sizeof(*d);
@@ -1700,14 +1700,14 @@ static void read_dword(const char **ptr, DWORD *d)
static void read_float(const char **ptr, float *f)
{
- STATIC_ASSERT(sizeof(float) == sizeof(DWORD));
- read_dword(ptr, (DWORD *)f);
+ STATIC_ASSERT(sizeof(float) == sizeof(uint32_t));
+ read_dword(ptr, (uint32_t *)f);
}
static void skip_dword_unknown(const char **ptr, unsigned int count)
{
unsigned int i;
- DWORD d;
+ uint32_t d;
WARN("Skipping %u unknown DWORDs:\n", count);
for (i = 0; i < count; ++i)
@@ -1744,11 +1744,11 @@ static int parse_dxbc(const char *data, size_t data_size,
uint32_t checksum[4], calculated_checksum[4];
const char *ptr = data;
int ret = VKD3D_OK;
- DWORD chunk_count;
- DWORD total_size;
+ uint32_t chunk_count;
+ uint32_t total_size;
unsigned int i;
- DWORD version;
- DWORD tag;
+ uint32_t version;
+ uint32_t tag;
if (data_size < VKD3D_DXBC_HEADER_SIZE)
{
@@ -1803,9 +1803,9 @@ static int parse_dxbc(const char *data, size_t data_size,
for (i = 0; i < chunk_count; ++i)
{
- DWORD chunk_tag, chunk_size;
+ uint32_t chunk_tag, chunk_size;
const char *chunk_ptr;
- DWORD chunk_offset;
+ uint32_t chunk_offset;
read_dword(&ptr, &chunk_offset);
TRACE("chunk %u at offset %#x\n", i, chunk_offset);
@@ -1847,7 +1847,7 @@ static int shader_parse_signature(DWORD tag, const char *data, DWORD data_size,
struct vkd3d_shader_signature_element *e;
const char *ptr = data;
unsigned int i;
- DWORD count;
+ uint32_t count;
if (!require_space(0, 2, sizeof(DWORD), data_size))
{
@@ -1877,7 +1877,7 @@ static int shader_parse_signature(DWORD tag, const char *data, DWORD data_size,
for (i = 0; i < count; ++i)
{
- DWORD name_offset, mask;
+ uint32_t name_offset, mask;
if (has_stream_index)
read_dword(&ptr, &e[i].stream_index);
@@ -1998,7 +1998,7 @@ static int shdr_handler(const char *data, DWORD data_size, DWORD tag, void *cont
case TAG_SHEX:
if (desc->byte_code)
FIXME("Multiple shader code chunks.\n");
- desc->byte_code = (const DWORD *)data;
+ desc->byte_code = (const uint32_t *)data;
desc->byte_code_size = data_size;
break;
@@ -2355,7 +2355,7 @@ static int shader_parse_root_parameters(struct root_signature_parser_context *co
}
static int shader_parse_root_parameters1(struct root_signature_parser_context *context,
- DWORD offset, DWORD count, struct vkd3d_shader_root_parameter1 *parameters)
+ uint32_t offset, DWORD count, struct vkd3d_shader_root_parameter1 *parameters)
{
const char *ptr;
unsigned int i;
diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h
index 9cd26d7f91a9..1de67f45461a 100644
--- a/libs/vkd3d-shader/vkd3d_shader_private.h
+++ b/libs/vkd3d-shader/vkd3d_shader_private.h
@@ -638,7 +638,7 @@ struct vkd3d_shader_version
struct vkd3d_shader_immediate_constant_buffer
{
unsigned int vec4_count;
- DWORD data[MAX_IMMEDIATE_CONSTANT_BUFFER_SIZE];
+ uint32_t data[MAX_IMMEDIATE_CONSTANT_BUFFER_SIZE];
};
struct vkd3d_shader_indexable_temp
@@ -762,7 +762,7 @@ enum vkd3d_shader_input_sysval_semantic
struct vkd3d_shader_desc
{
- const DWORD *byte_code;
+ const uint32_t *byte_code;
size_t byte_code_size;
struct vkd3d_shader_signature input_signature;
struct vkd3d_shader_signature output_signature;
--
2.34.1
More information about the wine-devel
mailing list