diff --git a/libs/vkd3d-shader/d3d_asm.c b/libs/vkd3d-shader/d3d_asm.c index 0420e8859..8c1b2bbe6 100644 --- a/libs/vkd3d-shader/d3d_asm.c +++ b/libs/vkd3d-shader/d3d_asm.c @@ -388,7 +388,6 @@ static void shader_print_data_type(struct vkd3d_d3d_asm_compiler *compiler, enum { static const char *const data_type_names[] = { - [VKD3D_DATA_UINT ] = "uint", [VKD3D_DATA_UNORM ] = "unorm", [VKD3D_DATA_SNORM ] = "snorm", [VKD3D_DATA_OPAQUE ] = "opaque", @@ -403,6 +402,7 @@ static void shader_print_data_type(struct vkd3d_d3d_asm_compiler *compiler, enum [VSIR_DATA_I32 ] = "int", [VSIR_DATA_U8 ] = "uint8", [VSIR_DATA_U16 ] = "uint16", + [VSIR_DATA_U32 ] = "uint", }; if (type < ARRAY_SIZE(data_type_names)) @@ -739,7 +739,7 @@ static void shader_print_register(struct vkd3d_d3d_asm_compiler *compiler, const case VSIR_DATA_I32: shader_print_int_literal(compiler, "", reg->u.immconst_u32[0], ""); break; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: shader_print_uint_literal(compiler, "", reg->u.immconst_u32[0], ""); break; default: @@ -774,7 +774,7 @@ static void shader_print_register(struct vkd3d_d3d_asm_compiler *compiler, const shader_print_int_literal(compiler, ", ", reg->u.immconst_u32[2], ""); shader_print_int_literal(compiler, ", ", reg->u.immconst_u32[3], ""); break; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: shader_print_uint_literal(compiler, "", reg->u.immconst_u32[0], ""); shader_print_uint_literal(compiler, ", ", reg->u.immconst_u32[1], ""); shader_print_uint_literal(compiler, ", ", reg->u.immconst_u32[2], ""); diff --git a/libs/vkd3d-shader/d3dbc.c b/libs/vkd3d-shader/d3dbc.c index 06dedbfbd..242a2255b 100644 --- a/libs/vkd3d-shader/d3dbc.c +++ b/libs/vkd3d-shader/d3dbc.c @@ -1301,7 +1301,7 @@ static void shader_sm1_read_instruction(struct vkd3d_shader_sm1_parser *sm1, str else if (ins->opcode == VSIR_OP_DEFB) { shader_sm1_read_dst_param(sm1, &p, dst_param); - shader_sm1_read_immconst(sm1, &p, &src_params[0], VSIR_DIMENSION_SCALAR, VKD3D_DATA_UINT); + shader_sm1_read_immconst(sm1, &p, &src_params[0], VSIR_DIMENSION_SCALAR, VSIR_DATA_U32); shader_sm1_scan_register(sm1, &dst_param->reg, dst_param->write_mask, true); } else if (ins->opcode == VSIR_OP_DEFI) diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index d7584cc6f..b3bc93969 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -2486,12 +2486,12 @@ static enum vsir_data_type vsir_data_type_from_dxil(const struct sm6_type *type) case 16: return VSIR_DATA_U16; case 32: - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; case 64: return VKD3D_DATA_UINT64; default: FIXME("Unhandled width %u.\n", type->u.width); - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; } } else if (type->class == TYPE_CLASS_FLOAT) @@ -2511,7 +2511,7 @@ static enum vsir_data_type vsir_data_type_from_dxil(const struct sm6_type *type) } FIXME("Unhandled type %u.\n", type->class); - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; } /* Based on the implementation in the OpenGL Mathematics library. */ @@ -2573,7 +2573,7 @@ static void register_convert_to_minimum_precision(struct vkd3d_shader_register * break; case VSIR_DATA_U16: - reg->data_type = VKD3D_DATA_UINT; + reg->data_type = VSIR_DATA_U32; reg->precision = VKD3D_SHADER_REGISTER_PRECISION_MIN_UINT_16; if (reg->type == VKD3DSPR_IMMCONST) { @@ -2668,7 +2668,7 @@ static void sm6_parser_init_ssa_value(struct sm6_parser *sm6, struct sm6_value * static void register_make_constant_uint(struct vkd3d_shader_register *reg, unsigned int value) { - vsir_register_init(reg, VKD3DSPR_IMMCONST, VKD3D_DATA_UINT, 0); + vsir_register_init(reg, VKD3DSPR_IMMCONST, VSIR_DATA_U32, 0); reg->u.immconst_u32[0] = value; } @@ -2815,7 +2815,7 @@ static bool instruction_dst_param_init_uint_temp_vector(struct vkd3d_shader_inst if (!(param = instruction_dst_params_alloc(ins, 1, sm6))) return false; - vsir_dst_param_init(param, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_dst_param_init(param, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); param->write_mask = VKD3DSP_WRITEMASK_ALL; param->reg.idx[0].offset = 0; param->reg.dimension = VSIR_DIMENSION_VEC4; @@ -3257,11 +3257,11 @@ static enum vkd3d_result value_allocate_constant_array(struct sm6_value *dst, co case VSIR_DATA_U16: for (i = 0; i < count; ++i) icb->data[i] = (int16_t)operands[i]; - icb->data_type = VKD3D_DATA_UINT; + icb->data_type = VSIR_DATA_U32; break; case VSIR_DATA_F32: - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: for (i = 0; i < count; ++i) icb->data[i] = operands[i]; break; @@ -5224,7 +5224,7 @@ static void sm6_parser_emit_dx_input_register_mov(struct sm6_parser *sm6, struct static void sm6_parser_emit_dx_coverage(struct sm6_parser *sm6, enum dx_intrinsic_opcode op, const struct sm6_value **operands, struct function_emission_state *state) { - sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_COVERAGE, VKD3D_DATA_UINT, false); + sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_COVERAGE, VSIR_DATA_U32, false); } static const struct sm6_descriptor_info *sm6_parser_get_descriptor(struct sm6_parser *sm6, @@ -5483,11 +5483,11 @@ static void sm6_parser_emit_dx_compute_builtin(struct sm6_parser *sm6, enum dx_i vkd3d_unreachable(); } - sm6_parser_dcl_register_builtin(sm6, VSIR_OP_DCL_INPUT, reg_type, VKD3D_DATA_UINT, component_count); + sm6_parser_dcl_register_builtin(sm6, VSIR_OP_DCL_INPUT, reg_type, VSIR_DATA_U32, component_count); vsir_instruction_init(ins, &sm6->p.location, VSIR_OP_MOV); if (!(src_param = instruction_src_params_alloc(ins, 1, sm6))) return; - vsir_register_init(&src_param->reg, reg_type, VKD3D_DATA_UINT, 0); + vsir_register_init(&src_param->reg, reg_type, VSIR_DATA_U32, 0); src_param->reg.dimension = VSIR_DIMENSION_VEC4; if (component_count > 1) component_idx = sm6_value_get_constant_uint(operands[0], sm6); @@ -5722,13 +5722,13 @@ static void sm6_parser_emit_dx_make_double(struct sm6_parser *sm6, enum dx_intri static void sm6_parser_emit_dx_output_control_point_id(struct sm6_parser *sm6, enum dx_intrinsic_opcode op, const struct sm6_value **operands, struct function_emission_state *state) { - sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_OUTPOINTID, VKD3D_DATA_UINT, true); + sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_OUTPOINTID, VSIR_DATA_U32, true); } static void sm6_parser_emit_dx_primitive_id(struct sm6_parser *sm6, enum dx_intrinsic_opcode op, const struct sm6_value **operands, struct function_emission_state *state) { - sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_PRIMID, VKD3D_DATA_UINT, true); + sm6_parser_emit_dx_input_register_mov(sm6, state->ins, VKD3DSPR_PRIMID, VSIR_DATA_U32, true); } static enum vkd3d_shader_opcode dx_map_quad_op(enum dxil_quad_op_kind op) @@ -5876,7 +5876,7 @@ static void sm6_parser_emit_dx_raw_buffer_store(struct sm6_parser *sm6, enum dx_ if (!(src_params = instruction_src_params_alloc(ins, operand_count, sm6))) return; src_params_init_from_operands(src_params, &operands[1], operand_count - 1, sm6); - data.data_type = VKD3D_DATA_UINT; + data.data_type = VSIR_DATA_U32; src_param_init_vector_from_reg(&src_params[operand_count - 1], &data); dst_param = instruction_dst_params_alloc(ins, 1, sm6); @@ -6544,7 +6544,7 @@ static void sm6_parser_emit_dx_wave_builtin(struct sm6_parser *sm6, enum dx_intr vkd3d_unreachable(); } - sm6_parser_emit_dx_input_register_mov(sm6, state->ins, type, VKD3D_DATA_UINT, true); + sm6_parser_emit_dx_input_register_mov(sm6, state->ins, type, VSIR_DATA_U32, true); } struct sm6_dx_opcode_info @@ -8455,7 +8455,7 @@ static void sm6_block_emit_terminator(const struct sm6_block *block, struct sm6_ vkd3d_shader_parser_warning(&sm6->p, VKD3D_SHADER_WARNING_DXIL_TYPE_MISMATCH, "Truncating 64-bit switch case value %"PRIx64" to 32 bits.", switch_case->value); } - vsir_src_param_init(&src_params[count], VKD3DSPR_IMMCONST, VKD3D_DATA_UINT, 0); + vsir_src_param_init(&src_params[count], VKD3DSPR_IMMCONST, VSIR_DATA_U32, 0); src_params[count++].reg.u.immconst_u32[0] = switch_case->value; } vsir_src_param_init_label(&src_params[count++], case_block->id); @@ -9045,9 +9045,9 @@ static const enum vsir_data_type data_type_table[] = [COMPONENT_TYPE_INVALID] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_I1] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_I16] = VSIR_DATA_I32, - [COMPONENT_TYPE_U16] = VKD3D_DATA_UINT, + [COMPONENT_TYPE_U16] = VSIR_DATA_U32, [COMPONENT_TYPE_I32] = VSIR_DATA_I32, - [COMPONENT_TYPE_U32] = VKD3D_DATA_UINT, + [COMPONENT_TYPE_U32] = VSIR_DATA_U32, [COMPONENT_TYPE_I64] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_U64] = VKD3D_DATA_UNUSED, [COMPONENT_TYPE_F16] = VSIR_DATA_F32, diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index 384b02b1b..4ceb9e7bf 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -348,7 +348,7 @@ static void shader_glsl_print_bitcast(struct vkd3d_string_buffer *dst, struct vk case VSIR_DATA_I32: vkd3d_string_buffer_printf(dst, "floatBitsToInt(%s)", src); return; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: vkd3d_string_buffer_printf(dst, "floatBitsToUint(%s)", src); return; default: @@ -356,7 +356,7 @@ static void shader_glsl_print_bitcast(struct vkd3d_string_buffer *dst, struct vk } } - if (src_data_type == VKD3D_DATA_UINT) + if (src_data_type == VSIR_DATA_U32) { switch (dst_data_type) { @@ -395,7 +395,7 @@ static void shader_glsl_print_src(struct vkd3d_string_buffer *buffer, struct vkd "Internal compiler error: Unhandled 'non-uniform' modifier."); if (reg->type == VKD3DSPR_IMMCONST || reg->type == VKD3DSPR_THREADID) - src_data_type = VKD3D_DATA_UINT; + src_data_type = VSIR_DATA_U32; else src_data_type = VSIR_DATA_F32; @@ -525,7 +525,7 @@ static void VKD3D_PRINTF_FUNC(4, 0) shader_glsl_vprint_assignment(struct vkd3d_g case VSIR_DATA_I32: vkd3d_string_buffer_printf(buffer, "intBitsToFloat("); break; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: vkd3d_string_buffer_printf(buffer, "uintBitsToFloat("); break; } @@ -1164,12 +1164,12 @@ static void shader_glsl_store_uav_typed(struct vkd3d_glsl_generator *gen, const { switch (data_type) { - case VKD3D_DATA_UINT: - vkd3d_string_buffer_printf(image_data, "uvec4("); - break; case VSIR_DATA_I32: vkd3d_string_buffer_printf(image_data, "ivec4("); break; + case VSIR_DATA_U32: + vkd3d_string_buffer_printf(image_data, "uvec4("); + break; default: vkd3d_glsl_compiler_error(gen, VKD3D_SHADER_ERROR_GLSL_INTERNAL, "Internal compiler error: Unhandled data type %#x.", data_type); @@ -1766,14 +1766,14 @@ static void shader_glsl_generate_uav_declaration(struct vkd3d_glsl_generator *ge switch (uav->resource_data_type) { - case VKD3D_DATA_UINT: - image_type_prefix = "u"; - read_format = "r32ui"; - break; case VSIR_DATA_I32: image_type_prefix = "i"; read_format = "r32i"; break; + case VSIR_DATA_U32: + image_type_prefix = "u"; + read_format = "r32ui"; + break; default: vkd3d_glsl_compiler_error(gen, VKD3D_SHADER_ERROR_GLSL_INTERNAL, "Internal compiler error: Unhandled data type %#x for UAV %u.", @@ -1995,9 +1995,6 @@ static void shader_glsl_generate_sampler_declaration(struct vkd3d_glsl_generator switch (srv->resource_data_type) { - case VKD3D_DATA_UINT: - sampler_type_prefix = "u"; - break; case VSIR_DATA_F32: case VKD3D_DATA_UNORM: case VKD3D_DATA_SNORM: @@ -2006,6 +2003,9 @@ static void shader_glsl_generate_sampler_declaration(struct vkd3d_glsl_generator case VSIR_DATA_I32: sampler_type_prefix = "i"; break; + case VSIR_DATA_U32: + sampler_type_prefix = "u"; + break; default: vkd3d_glsl_compiler_error(gen, VKD3D_SHADER_ERROR_GLSL_INTERNAL, "Internal compiler error: Unhandled data type %#x for combined resource/sampler " diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index 3d1974f7b..f329551d6 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -8249,7 +8249,7 @@ static enum vsir_data_type vsir_data_type_from_hlsl_type(struct hlsl_ctx *ctx, c case HLSL_TYPE_UINT: case HLSL_TYPE_BOOL: case HLSL_TYPE_MIN16UINT: - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; } } @@ -10267,12 +10267,12 @@ static void sm4_generate_vsir_cast_from_bool(struct hlsl_ctx *ctx, struct vsir_p dst_param = &ins->dst[0]; vsir_dst_from_hlsl_node(dst_param, ctx, instr); - ins->dst[0].reg.data_type = VKD3D_DATA_UINT; + ins->dst[0].reg.data_type = VSIR_DATA_U32; vsir_src_from_hlsl_node(&ins->src[0], ctx, operand, dst_param->write_mask); value.u[0].u = bits; - vsir_src_from_hlsl_constant_value(&ins->src[1], ctx, &value, VKD3D_DATA_UINT, 1, 0); + vsir_src_from_hlsl_constant_value(&ins->src[1], ctx, &value, VSIR_DATA_U32, 1, 0); } static bool sm4_generate_vsir_instr_expr_cast(struct hlsl_ctx *ctx, @@ -10969,10 +10969,10 @@ static bool sm4_generate_vsir_instr_load(struct hlsl_ctx *ctx, struct vsir_progr memset(&value, 0xff, sizeof(value)); vsir_src_from_hlsl_constant_value(&ins->src[1], ctx, &value, - VKD3D_DATA_UINT, type->e.numeric.dimx, dst_param->write_mask); + VSIR_DATA_U32, type->e.numeric.dimx, dst_param->write_mask); memset(&value, 0x00, sizeof(value)); vsir_src_from_hlsl_constant_value(&ins->src[2], ctx, &value, - VKD3D_DATA_UINT, type->e.numeric.dimx, dst_param->write_mask); + VSIR_DATA_U32, type->e.numeric.dimx, dst_param->write_mask); } else { @@ -11646,7 +11646,7 @@ static void sm4_generate_vsir_instr_switch(struct hlsl_ctx *ctx, if (!(ins = generate_vsir_add_program_instruction(ctx, program, &instr->loc, VSIR_OP_CASE, 0, 1))) return; - vsir_src_from_hlsl_constant_value(&ins->src[0], ctx, &value, VKD3D_DATA_UINT, 1, VKD3DSP_WRITEMASK_ALL); + vsir_src_from_hlsl_constant_value(&ins->src[0], ctx, &value, VSIR_DATA_U32, 1, VKD3DSP_WRITEMASK_ALL); } sm4_generate_vsir_block(ctx, &cas->body, program); @@ -12190,7 +12190,7 @@ static enum vsir_data_type sm4_generate_vsir_get_format_type(const struct hlsl_t case HLSL_TYPE_BOOL: case HLSL_TYPE_MIN16UINT: case HLSL_TYPE_UINT: - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; } vkd3d_unreachable(); diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index 62936a551..03305c0a6 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -590,7 +590,7 @@ void vsir_src_param_init(struct vkd3d_shader_src_param *param, enum vkd3d_shader static void src_param_init_const_uint(struct vkd3d_shader_src_param *src, uint32_t value) { - vsir_src_param_init(src, VKD3DSPR_IMMCONST, VKD3D_DATA_UINT, 0); + vsir_src_param_init(src, VKD3DSPR_IMMCONST, VSIR_DATA_U32, 0); src->reg.u.immconst_u32[0] = value; } @@ -696,7 +696,7 @@ static void src_param_init_temp_float4(struct vkd3d_shader_src_param *src, unsig static void src_param_init_temp_uint(struct vkd3d_shader_src_param *src, unsigned int idx) { - vsir_src_param_init(src, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_src_param_init(src, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); src->reg.idx[0].offset = idx; } @@ -773,7 +773,7 @@ static void dst_param_init_temp_float4(struct vkd3d_shader_dst_param *dst, unsig static void dst_param_init_temp_uint(struct vkd3d_shader_dst_param *dst, unsigned int idx) { - vsir_dst_param_init(dst, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_dst_param_init(dst, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); dst->reg.idx[0].offset = idx; } @@ -913,7 +913,7 @@ static enum vkd3d_result vsir_program_normalize_addr(struct vsir_program *progra tmp_idx = program->temp_count++; ins->opcode = VSIR_OP_FTOU; - vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->dst[0].reg.idx[0].offset = tmp_idx; ins->dst[0].reg.dimension = VSIR_DIMENSION_VEC4; } @@ -935,7 +935,7 @@ static enum vkd3d_result vsir_program_normalize_addr(struct vsir_program *progra if (!vsir_instruction_init_with_params(program, ins2, &ins->location, VSIR_OP_FTOU, 1, 1)) return VKD3D_ERROR_OUT_OF_MEMORY; - vsir_register_init(&ins2->dst[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins2->dst[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins2->dst[0].reg.idx[0].offset = tmp_idx; ins2->dst[0].reg.dimension = VSIR_DIMENSION_VEC4; ins2->dst[0].write_mask = ins->dst[0].write_mask; @@ -959,7 +959,7 @@ static enum vkd3d_result vsir_program_normalize_addr(struct vsir_program *progra if (tmp_idx == ~0u) tmp_idx = program->temp_count++; - vsir_register_init(&rel->reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&rel->reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); rel->reg.idx[0].offset = tmp_idx; rel->reg.dimension = VSIR_DIMENSION_VEC4; } @@ -998,7 +998,7 @@ static enum vkd3d_result vsir_program_lower_ifc(struct vsir_program *program, if (!vsir_instruction_init_with_params(program, ins, &ifc->location, opcode, 1, 2)) return VKD3D_ERROR_OUT_OF_MEMORY; - vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->dst[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->dst[0].reg.idx[0].offset = *tmp_idx; ins->dst[0].write_mask = VKD3DSP_WRITEMASK_0; @@ -1012,7 +1012,7 @@ static enum vkd3d_result vsir_program_lower_ifc(struct vsir_program *program, return VKD3D_ERROR_OUT_OF_MEMORY; ins->flags = VKD3D_SHADER_CONDITIONAL_OP_NZ; - vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->src[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->src[0].reg.idx[0].offset = *tmp_idx; ins->src[0].swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X); @@ -1043,7 +1043,7 @@ static enum vkd3d_result vsir_program_lower_texkill(struct vsir_program *program if (!vsir_instruction_init_with_params(program, ins, &texkill->location, VSIR_OP_LTO, 1, 2)) return VKD3D_ERROR_OUT_OF_MEMORY; - vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->dst[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->dst[0].reg.idx[0].offset = *tmp_idx; ins->dst[0].write_mask = VKD3DSP_WRITEMASK_ALL; @@ -1067,16 +1067,16 @@ static enum vkd3d_result vsir_program_lower_texkill(struct vsir_program *program if (!(vsir_instruction_init_with_params(program, ins, &texkill->location, VSIR_OP_OR, 1, 2))) return VKD3D_ERROR_OUT_OF_MEMORY; - vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->dst[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->dst[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->dst[0].reg.idx[0].offset = *tmp_idx; ins->dst[0].write_mask = VKD3DSP_WRITEMASK_0; - vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->src[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->src[0].reg.idx[0].offset = *tmp_idx; ins->src[0].swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X); - vsir_register_init(&ins->src[1].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->src[1].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->src[1].reg.dimension = VSIR_DIMENSION_VEC4; ins->src[1].reg.idx[0].offset = *tmp_idx; ins->src[1].swizzle = vkd3d_shader_create_swizzle(j, j, j, j); @@ -1089,7 +1089,7 @@ static enum vkd3d_result vsir_program_lower_texkill(struct vsir_program *program return VKD3D_ERROR_OUT_OF_MEMORY; ins->flags = VKD3D_SHADER_CONDITIONAL_OP_NZ; - vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VKD3D_DATA_UINT, 1); + vsir_register_init(&ins->src[0].reg, VKD3DSPR_TEMP, VSIR_DATA_U32, 1); ins->src[0].reg.dimension = VSIR_DIMENSION_VEC4; ins->src[0].reg.idx[0].offset = *tmp_idx; ins->src[0].swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X); @@ -2301,7 +2301,7 @@ struct vkd3d_shader_src_param *vsir_program_create_outpointid_param(struct vsir_ if (!(rel_addr = shader_src_param_allocator_get(&instructions->src_params, 1))) return NULL; - vsir_register_init(&rel_addr->reg, VKD3DSPR_OUTPOINTID, VKD3D_DATA_UINT, 0); + vsir_register_init(&rel_addr->reg, VKD3DSPR_OUTPOINTID, VSIR_DATA_U32, 0); rel_addr->swizzle = 0; rel_addr->modifiers = 0; @@ -3862,7 +3862,7 @@ static enum vkd3d_result cf_flattener_iterate_instruction_array(struct cf_flatte for (j = 0; j < cf_info->u.switch_.cases_count; ++j) { unsigned int index = j * 2 + 3; - vsir_src_param_init(&src_params[index], VKD3DSPR_IMMCONST, VKD3D_DATA_UINT, 0); + vsir_src_param_init(&src_params[index], VKD3DSPR_IMMCONST, VSIR_DATA_U32, 0); src_params[index].reg.u.immconst_u32[0] = cf_info->u.switch_.cases[j].value; vsir_src_param_init_label(&src_params[index + 1], cf_info->u.switch_.cases[j].block_id); } @@ -6839,7 +6839,7 @@ static enum vkd3d_result insert_alpha_test_before_ret(struct vsir_program *progr vsir_instruction_init_with_params(program, ins, &loc, opcodes[compare_func].uint_opcode, 1, 2); src_param_init_temp_uint(&ins->src[opcodes[compare_func].swap ? 1 : 0], colour_temp); src_param_init_parameter(&ins->src[opcodes[compare_func].swap ? 0 : 1], - VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VKD3D_DATA_UINT); + VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VSIR_DATA_U32); break; case VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32_VEC4: @@ -9885,7 +9885,7 @@ static void vsir_validate_io_src_param(struct validation_context *ctx, #define I32_BIT (1u << VSIR_DATA_I32) #define U64_BIT (1u << VKD3D_DATA_UINT64) -#define U32_BIT (1u << VKD3D_DATA_UINT) +#define U32_BIT (1u << VSIR_DATA_U32) #define U16_BIT (1u << VSIR_DATA_U16) static void vsir_validate_src_param(struct validation_context *ctx, @@ -10640,9 +10640,9 @@ static void vsir_validate_integer_elementwise_operation(struct validation_contex { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VKD3D_DATA_UINT64] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_elementwise_operation(ctx, instruction, types); @@ -10653,10 +10653,10 @@ static void vsir_validate_logic_elementwise_operation(struct validation_context { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VKD3D_DATA_UINT64] = true, [VKD3D_DATA_BOOL] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_elementwise_operation(ctx, instruction, types); @@ -10673,7 +10673,7 @@ static void vsir_validate_comparison_operation(struct validation_context *ctx, dst_data_type = instruction->dst[0].reg.data_type; - if (dst_data_type != VKD3D_DATA_UINT && dst_data_type != VKD3D_DATA_BOOL) + if (dst_data_type != VSIR_DATA_U32 && dst_data_type != VKD3D_DATA_BOOL) validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_DATA_TYPE, "Invalid data type %#x for result of comparison operation \"%s\" (%#x).", dst_data_type, vsir_opcode_get_name(instruction->opcode, ""), instruction->opcode); @@ -10730,9 +10730,9 @@ static void vsir_validate_integer_comparison_operation(struct validation_context { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VKD3D_DATA_UINT64] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_comparison_operation(ctx, instruction, types); @@ -11287,8 +11287,8 @@ static void vsir_validate_ftoi(struct validation_context *ctx, const struct vkd3 }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_cast_operation(ctx, instruction, src_types, dst_types); @@ -11304,7 +11304,7 @@ static void vsir_validate_ftou(struct validation_context *ctx, const struct vkd3 }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_cast_operation(ctx, instruction, src_types, dst_types); @@ -11326,10 +11326,10 @@ static void vsir_validate_itof(struct validation_context *ctx, const struct vkd3 { static const bool src_types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VKD3D_DATA_UINT64] = true, [VKD3D_DATA_BOOL] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; static const bool dst_types[VSIR_DATA_TYPE_COUNT] = { @@ -11345,10 +11345,10 @@ static void vsir_validate_itoi(struct validation_context *ctx, const struct vkd3 { static const bool types[VSIR_DATA_TYPE_COUNT] = { - [VKD3D_DATA_UINT] = true, [VKD3D_DATA_UINT64] = true, [VKD3D_DATA_BOOL] = true, [VSIR_DATA_I32] = true, + [VSIR_DATA_U32] = true, }; vsir_validate_cast_operation(ctx, instruction, types, types); diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 6a74351c0..7cf78e7eb 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -145,7 +145,7 @@ static void msl_print_resource_datatype(struct msl_generator *gen, case VSIR_DATA_I32: vkd3d_string_buffer_printf(buffer, "int"); break; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: vkd3d_string_buffer_printf(buffer, "uint"); break; default: @@ -168,7 +168,7 @@ static void msl_print_register_datatype(struct vkd3d_string_buffer *buffer, case VSIR_DATA_I32: vkd3d_string_buffer_printf(buffer, "i"); break; - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: vkd3d_string_buffer_printf(buffer, "u"); break; default: @@ -537,7 +537,7 @@ static void msl_print_bitcast(struct vkd3d_string_buffer *dst, struct msl_genera break; case MSL_DATA_UINT: - write_cast = dst_data_type != VKD3D_DATA_UINT; + write_cast = dst_data_type != VSIR_DATA_U32; break; case MSL_DATA_UNION: @@ -1012,19 +1012,19 @@ static void msl_ld(struct msl_generator *gen, const struct vkd3d_shader_instruct vkd3d_string_buffer_printf(read, "as_type("); msl_print_srv_name(read, gen, srv_binding, resource_type_info, data_type, false); vkd3d_string_buffer_printf(read, ".read("); - msl_print_src_with_type(read, gen, &ins->src[0], coord_mask, VKD3D_DATA_UINT); + msl_print_src_with_type(read, gen, &ins->src[0], coord_mask, VSIR_DATA_U32); if (resource_type_info->array) { vkd3d_string_buffer_printf(read, ", "); - msl_print_src_with_type(read, gen, &ins->src[0], coord_mask + 1, VKD3D_DATA_UINT); + msl_print_src_with_type(read, gen, &ins->src[0], coord_mask + 1, VSIR_DATA_U32); } if (resource_type != VKD3D_SHADER_RESOURCE_BUFFER) { vkd3d_string_buffer_printf(read, ", "); if (ins->opcode != VSIR_OP_LD2DMS) - msl_print_src_with_type(read, gen, &ins->src[0], VKD3DSP_WRITEMASK_3, VKD3D_DATA_UINT); + msl_print_src_with_type(read, gen, &ins->src[0], VKD3DSP_WRITEMASK_3, VSIR_DATA_U32); else - msl_print_src_with_type(read, gen, &ins->src[2], VKD3DSP_WRITEMASK_0, VKD3D_DATA_UINT); + msl_print_src_with_type(read, gen, &ins->src[2], VKD3DSP_WRITEMASK_0, VSIR_DATA_U32); } vkd3d_string_buffer_printf(read, "))"); msl_print_swizzle(read, ins->src[1].swizzle, ins->dst[0].write_mask); @@ -1168,7 +1168,7 @@ static void msl_sample(struct msl_generator *gen, const struct vkd3d_shader_inst msl_dst_init(&dst, gen, ins, &ins->dst[0]); sample = vkd3d_string_buffer_get(&gen->string_buffers); - if (ins->dst[0].reg.data_type == VKD3D_DATA_UINT) + if (ins->dst[0].reg.data_type == VSIR_DATA_U32) vkd3d_string_buffer_printf(sample, "as_type("); msl_print_srv_name(sample, gen, srv_binding, resource_type_info, data_type, compare); if (gather && compare) @@ -1238,7 +1238,7 @@ static void msl_sample(struct msl_generator *gen, const struct vkd3d_shader_inst vkd3d_string_buffer_printf(sample, ", component::%c", "xyzw"[component_idx]); } vkd3d_string_buffer_printf(sample, ")"); - if (ins->dst[0].reg.data_type == VKD3D_DATA_UINT) + if (ins->dst[0].reg.data_type == VSIR_DATA_U32) vkd3d_string_buffer_printf(sample, ")"); if (!compare || gather) msl_print_swizzle(sample, resource->swizzle, ins->dst[0].write_mask); @@ -1309,7 +1309,7 @@ static void msl_store_uav_typed(struct msl_generator *gen, const struct vkd3d_sh { switch (data_type) { - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: vkd3d_string_buffer_printf(image_data, "uint4("); break; case VSIR_DATA_I32: @@ -1333,7 +1333,7 @@ static void msl_store_uav_typed(struct msl_generator *gen, const struct vkd3d_sh msl_print_indent(gen->buffer, gen->indent); msl_print_uav_name(gen->buffer, gen, uav_binding, resource_type_info, data_type); vkd3d_string_buffer_printf(gen->buffer, ".write(%s, ", image_data->buffer); - msl_print_src_with_type(gen->buffer, gen, &ins->src[0], coord_mask, VKD3D_DATA_UINT); + msl_print_src_with_type(gen->buffer, gen, &ins->src[0], coord_mask, VSIR_DATA_U32); vkd3d_string_buffer_printf(gen->buffer, ");\n"); vkd3d_string_buffer_release(&gen->string_buffers, image_data); @@ -1894,19 +1894,19 @@ static void msl_generate_entrypoint_prologue(struct msl_generator *gen) break; case VKD3D_SHADER_SV_VERTEX_ID: - msl_print_register_datatype(buffer, gen, VKD3D_DATA_UINT); + msl_print_register_datatype(buffer, gen, VSIR_DATA_U32); msl_print_write_mask(buffer, e->mask); vkd3d_string_buffer_printf(buffer, " = uint4(vertex_id, 0u, 0u, 0u)"); break; case VKD3D_SHADER_SV_IS_FRONT_FACE: - msl_print_register_datatype(buffer, gen, VKD3D_DATA_UINT); + msl_print_register_datatype(buffer, gen, VSIR_DATA_U32); msl_print_write_mask(buffer, e->mask); vkd3d_string_buffer_printf(buffer, " = uint4(input.is_front_face ? 0xffffffffu : 0u, 0, 0, 0)"); break; case VKD3D_SHADER_SV_SAMPLE_INDEX: - msl_print_register_datatype(buffer, gen, VKD3D_DATA_UINT); + msl_print_register_datatype(buffer, gen, VSIR_DATA_U32); msl_print_write_mask(buffer, e->mask); vkd3d_string_buffer_printf(buffer, " = uint4(input.sample_index, 0u, 0u, 0u)"); break; diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 31571bb8b..cf659f168 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -4060,7 +4060,7 @@ static const struct parameter_data_type_map[] = { [VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32] = {VSIR_DATA_F32, 1}, - [VKD3D_SHADER_PARAMETER_DATA_TYPE_UINT32] = {VKD3D_DATA_UINT, 1}, + [VKD3D_SHADER_PARAMETER_DATA_TYPE_UINT32] = {VSIR_DATA_U32, 1}, [VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32_VEC4] = {VSIR_DATA_F32, 4}, }; @@ -4660,8 +4660,8 @@ static uint32_t spirv_compiler_emit_load_scalar(struct spirv_compiler *compiler, type_id = vkd3d_spirv_get_type_id(builder, VKD3D_SHADER_COMPONENT_UINT, 1); val_id = vkd3d_spirv_build_op_bitcast(builder, type_id, val_id); } - val_id = spirv_compiler_emit_int_to_bool(compiler, VKD3D_SHADER_CONDITIONAL_OP_NZ, - VKD3D_DATA_UINT, 1, val_id); + val_id = spirv_compiler_emit_int_to_bool(compiler, + VKD3D_SHADER_CONDITIONAL_OP_NZ, VSIR_DATA_U32, 1, val_id); } else { @@ -4710,7 +4710,7 @@ static uint32_t spirv_compiler_emit_constant_array(struct spirv_compiler *compil { case VSIR_DATA_F32: case VSIR_DATA_I32: - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: for (i = 0; i < element_count; ++i) elements[i] = spirv_compiler_get_constant(compiler, component_type, component_count, &icb->data[component_count * i]); @@ -4808,8 +4808,8 @@ static uint32_t spirv_compiler_emit_load_reg(struct spirv_compiler *compiler, type_id = vkd3d_spirv_get_type_id(builder, VKD3D_SHADER_COMPONENT_UINT, component_count); val_id = vkd3d_spirv_build_op_bitcast(builder, type_id, val_id); } - val_id = spirv_compiler_emit_int_to_bool(compiler, VKD3D_SHADER_CONDITIONAL_OP_NZ, - VKD3D_DATA_UINT, component_count, val_id); + val_id = spirv_compiler_emit_int_to_bool(compiler, + VKD3D_SHADER_CONDITIONAL_OP_NZ, VSIR_DATA_U32, component_count, val_id); } else { @@ -7600,7 +7600,7 @@ static void spirv_compiler_emit_bool_cast(struct spirv_compiler *compiler, /* ITOD is not supported. Frontends which emit bool casts must use ITOF for double. */ val_id = spirv_compiler_emit_bool_to_double(compiler, 1, val_id, instruction->opcode == VSIR_OP_ITOF); } - else if (dst->reg.data_type == VSIR_DATA_U16 || dst->reg.data_type == VKD3D_DATA_UINT) + else if (dst->reg.data_type == VSIR_DATA_U16 || dst->reg.data_type == VSIR_DATA_U32) { val_id = spirv_compiler_emit_bool_to_int(compiler, 1, val_id, instruction->opcode == VSIR_OP_ITOI); } @@ -9423,7 +9423,7 @@ static void spirv_compiler_emit_store_uav_raw_structured(struct spirv_compiler * &src[0], VKD3DSP_WRITEMASK_0, &src[1], VKD3DSP_WRITEMASK_0); data = &src[instruction->src_count - 1]; - VKD3D_ASSERT(data->reg.data_type == VKD3D_DATA_UINT); + VKD3D_ASSERT(data->reg.data_type == VSIR_DATA_U32); val_id = spirv_compiler_emit_load_src(compiler, data, dst->write_mask); component_count = vsir_write_mask_component_count(dst->write_mask); @@ -9451,7 +9451,7 @@ static void spirv_compiler_emit_store_uav_raw_structured(struct spirv_compiler * type_id, image.structure_stride, &src[0], VKD3DSP_WRITEMASK_0, &src[1], VKD3DSP_WRITEMASK_0); data = &src[instruction->src_count - 1]; - VKD3D_ASSERT(data->reg.data_type == VKD3D_DATA_UINT); + VKD3D_ASSERT(data->reg.data_type == VSIR_DATA_U32); val_id = spirv_compiler_emit_load_src(compiler, data, dst->write_mask); component_count = vsir_write_mask_component_count(dst->write_mask); @@ -9494,7 +9494,7 @@ static void spirv_compiler_emit_store_tgsm(struct spirv_compiler *compiler, type_id, reg_info.structure_stride, &src[0], VKD3DSP_WRITEMASK_0, &src[1], VKD3DSP_WRITEMASK_0); data = src[instruction->src_count - 1]; - data.reg.data_type = VKD3D_DATA_UINT; + data.reg.data_type = VSIR_DATA_U32; val_id = spirv_compiler_emit_load_src(compiler, &data, dst->write_mask); component_count = vsir_write_mask_component_count(dst->write_mask); @@ -9996,7 +9996,7 @@ static uint32_t spirv_compiler_emit_query_sample_count(struct spirv_compiler *co if (src->reg.type == VKD3DSPR_RASTERIZER) { val_id = spirv_compiler_emit_shader_parameter(compiler, - VKD3D_SHADER_PARAMETER_NAME_RASTERIZER_SAMPLE_COUNT, VKD3D_DATA_UINT, 1); + VKD3D_SHADER_PARAMETER_NAME_RASTERIZER_SAMPLE_COUNT, VSIR_DATA_U32, 1); } else { @@ -10316,7 +10316,7 @@ static void spirv_compiler_emit_quad_read_across(struct spirv_compiler *compiler type_id = vkd3d_spirv_get_type_id_for_data_type(builder, dst->reg.data_type, vsir_write_mask_component_count(dst->write_mask)); - direction_type_id = vkd3d_spirv_get_type_id_for_data_type(builder, VKD3D_DATA_UINT, 1); + direction_type_id = vkd3d_spirv_get_type_id_for_data_type(builder, VSIR_DATA_U32, 1); val_id = spirv_compiler_emit_load_src(compiler, src, dst->write_mask); direction_id = map_quad_read_across_direction(instruction->opcode); direction_id = vkd3d_spirv_get_op_constant(builder, direction_type_id, direction_id); diff --git a/libs/vkd3d-shader/tpf.c b/libs/vkd3d-shader/tpf.c index 15010b2cd..127a646a9 100644 --- a/libs/vkd3d-shader/tpf.c +++ b/libs/vkd3d-shader/tpf.c @@ -754,7 +754,7 @@ static const enum vsir_data_type data_type_table[] = /* VKD3D_SM4_DATA_UNORM */ VKD3D_DATA_UNORM, /* VKD3D_SM4_DATA_SNORM */ VKD3D_DATA_SNORM, /* VKD3D_SM4_DATA_INT */ VSIR_DATA_I32, - /* VKD3D_SM4_DATA_UINT */ VKD3D_DATA_UINT, + /* VKD3D_SM4_DATA_UINT */ VSIR_DATA_U32, /* VKD3D_SM4_DATA_FLOAT */ VSIR_DATA_F32, /* VKD3D_SM4_DATA_MIXED */ VKD3D_DATA_MIXED, /* VKD3D_SM4_DATA_DOUBLE */ VSIR_DATA_F64, @@ -795,7 +795,7 @@ static bool shader_sm4_read_register_space(struct vkd3d_shader_sm4_parser *priv, static void shader_sm4_read_conditional_op(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) { - shader_sm4_read_src_param(priv, &tokens, &tokens[token_count], VKD3D_DATA_UINT, &ins->src[0]); + shader_sm4_read_src_param(priv, &tokens, &tokens[token_count], VSIR_DATA_U32, &ins->src[0]); ins->flags = (opcode_token & VKD3D_SM4_CONDITIONAL_NZ) ? VKD3D_SHADER_CONDITIONAL_OP_NZ : VKD3D_SHADER_CONDITIONAL_OP_Z; } @@ -803,7 +803,7 @@ static void shader_sm4_read_conditional_op(struct vkd3d_shader_instruction *ins, static void shader_sm4_read_case_condition(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) { - shader_sm4_read_src_param(priv, &tokens, &tokens[token_count], VKD3D_DATA_UINT, &ins->src[0]); + shader_sm4_read_src_param(priv, &tokens, &tokens[token_count], VSIR_DATA_U32, &ins->src[0]); if (ins->src[0].reg.type != VKD3DSPR_IMMCONST) { FIXME("Switch case value is not a 32-bit constant.\n"); @@ -1433,7 +1433,7 @@ static void init_sm4_lookup_tables(struct vkd3d_sm4_lookup_tables *lookup) * d -> VSIR_DATA_F64 * f -> VSIR_DATA_F32 * i -> VSIR_DATA_I32 - * u -> VKD3D_DATA_UINT + * u -> VSIR_DATA_U32 * O -> VKD3D_DATA_OPAQUE * R -> VKD3D_DATA_RESOURCE * S -> VKD3D_DATA_SAMPLER @@ -1996,7 +1996,7 @@ static enum vsir_data_type map_data_type(char t) case 'i': return VSIR_DATA_I32; case 'u': - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; case 'O': return VKD3D_DATA_OPAQUE; case '*': diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c index fe29e7054..874a6281e 100644 --- a/libs/vkd3d-shader/vkd3d_shader_main.c +++ b/libs/vkd3d-shader/vkd3d_shader_main.c @@ -1120,7 +1120,7 @@ static void vkd3d_shader_scan_constant_buffer_declaration(struct vkd3d_shader_sc struct vkd3d_shader_descriptor_info1 *d; if (!(d = vkd3d_shader_scan_add_descriptor(context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV, - &cb->src.reg, &cb->range, VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT))) + &cb->src.reg, &cb->range, VKD3D_SHADER_RESOURCE_BUFFER, VSIR_DATA_U32))) return; d->buffer_size = cb->size; } @@ -1305,12 +1305,12 @@ static int vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_context *conte case VSIR_OP_DCL_RESOURCE_RAW: case VSIR_OP_DCL_UAV_RAW: vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.raw_resource.resource, - VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT, 0, 0, true, instruction->flags); + VKD3D_SHADER_RESOURCE_BUFFER, VSIR_DATA_U32, 0, 0, true, instruction->flags); break; case VSIR_OP_DCL_RESOURCE_STRUCTURED: case VSIR_OP_DCL_UAV_STRUCTURED: vkd3d_shader_scan_resource_declaration(context, &instruction->declaration.structured_resource.resource, - VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT, 0, + VKD3D_SHADER_RESOURCE_BUFFER, VSIR_DATA_U32, 0, instruction->declaration.structured_resource.byte_stride, false, instruction->flags); break; case VSIR_OP_DCL_TESSELLATOR_OUTPUT_PRIMITIVE: @@ -1530,8 +1530,6 @@ static enum vkd3d_shader_resource_data_type vkd3d_resource_data_type_from_data_t return VKD3D_SHADER_RESOURCE_DATA_UNORM; case VKD3D_DATA_SNORM: return VKD3D_SHADER_RESOURCE_DATA_SNORM; - case VKD3D_DATA_UINT: - return VKD3D_SHADER_RESOURCE_DATA_UINT; case VKD3D_DATA_MIXED: return VKD3D_SHADER_RESOURCE_DATA_MIXED; case VKD3D_DATA_CONTINUED: @@ -1544,6 +1542,8 @@ static enum vkd3d_shader_resource_data_type vkd3d_resource_data_type_from_data_t return VKD3D_SHADER_RESOURCE_DATA_DOUBLE; case VSIR_DATA_I32: return VKD3D_SHADER_RESOURCE_DATA_INT; + case VSIR_DATA_U32: + return VKD3D_SHADER_RESOURCE_DATA_UINT; default: ERR("Invalid resource data type %#x.\n", data_type); return VKD3D_SHADER_RESOURCE_DATA_FLOAT; @@ -1647,8 +1647,8 @@ static int vsir_program_scan(struct vsir_program *program, const struct vkd3d_sh if (size) { - if ((d = vkd3d_shader_scan_add_descriptor(&context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV, ®, - &range, VKD3D_SHADER_RESOURCE_BUFFER, VKD3D_DATA_UINT))) + if ((d = vkd3d_shader_scan_add_descriptor(&context, VKD3D_SHADER_DESCRIPTOR_TYPE_CBV, + ®, &range, VKD3D_SHADER_RESOURCE_BUFFER, VSIR_DATA_U32))) d->buffer_size = size * 16; } } diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index 202e5e77e..c1141693e 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -710,7 +710,6 @@ enum vkd3d_shader_register_precision enum vsir_data_type { - VKD3D_DATA_UINT, VKD3D_DATA_UNORM, VKD3D_DATA_SNORM, VKD3D_DATA_OPAQUE, @@ -728,6 +727,7 @@ enum vsir_data_type VSIR_DATA_U8, VSIR_DATA_U16, + VSIR_DATA_U32, VSIR_DATA_TYPE_COUNT, }; @@ -735,7 +735,7 @@ enum vsir_data_type static inline bool data_type_is_integer(enum vsir_data_type data_type) { return data_type == VSIR_DATA_I32 || data_type == VSIR_DATA_U8 || data_type == VSIR_DATA_U16 - || data_type == VKD3D_DATA_UINT || data_type == VKD3D_DATA_UINT64; + || data_type == VSIR_DATA_U32 || data_type == VKD3D_DATA_UINT64; } static inline bool data_type_is_bool(enum vsir_data_type data_type) @@ -1804,7 +1804,7 @@ static inline enum vkd3d_shader_component_type vkd3d_component_type_from_data_ty case VSIR_DATA_I32: return VKD3D_SHADER_COMPONENT_INT; case VSIR_DATA_U16: /* Minimum precision. TODO: native 16-bit */ - case VKD3D_DATA_UINT: + case VSIR_DATA_U32: return VKD3D_SHADER_COMPONENT_UINT; case VKD3D_DATA_UINT64: return VKD3D_SHADER_COMPONENT_UINT64; @@ -1825,7 +1825,7 @@ static inline enum vsir_data_type vsir_data_type_from_component_type(enum vkd3d_ case VKD3D_SHADER_COMPONENT_FLOAT: return VSIR_DATA_F32; case VKD3D_SHADER_COMPONENT_UINT: - return VKD3D_DATA_UINT; + return VSIR_DATA_U32; case VKD3D_SHADER_COMPONENT_INT: return VSIR_DATA_I32; case VKD3D_SHADER_COMPONENT_DOUBLE: