vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.

This commit is contained in:
Henri Verbeet
2025-06-24 13:11:57 +02:00
parent cd43ab1ca2
commit d219cccc99
Notes: Henri Verbeet 2025-06-25 17:08:56 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1599
11 changed files with 3121 additions and 3120 deletions

View File

@@ -851,7 +851,7 @@ static void shader_glsl_ld(struct vkd3d_glsl_generator *gen, const struct vkd3d_
if (resource_type != VKD3D_SHADER_RESOURCE_BUFFER)
{
vkd3d_string_buffer_printf(fetch, ", ");
if (ins->opcode != VKD3DSIH_LD2DMS)
if (ins->opcode != VSIR_OP_LD2DMS)
shader_glsl_print_src(fetch, gen, &ins->src[0], VKD3DSP_WRITEMASK_3, ins->src[0].reg.data_type);
else if (sample_count == 1)
/* If the resource isn't a true multisample resource, this is the
@@ -915,14 +915,14 @@ static void shader_glsl_sample(struct vkd3d_glsl_generator *gen, const struct vk
enum vkd3d_data_type data_type;
struct glsl_dst dst;
bias = ins->opcode == VKD3DSIH_SAMPLE_B;
dynamic_offset = ins->opcode == VKD3DSIH_GATHER4_PO;
gather = ins->opcode == VKD3DSIH_GATHER4 || ins->opcode == VKD3DSIH_GATHER4_PO;
grad = ins->opcode == VKD3DSIH_SAMPLE_GRAD;
lod = ins->opcode == VKD3DSIH_SAMPLE_LOD || ins->opcode == VKD3DSIH_SAMPLE_C_LZ;
lod_zero = ins->opcode == VKD3DSIH_SAMPLE_C_LZ;
bias = ins->opcode == VSIR_OP_SAMPLE_B;
dynamic_offset = ins->opcode == VSIR_OP_GATHER4_PO;
gather = ins->opcode == VSIR_OP_GATHER4 || ins->opcode == VSIR_OP_GATHER4_PO;
grad = ins->opcode == VSIR_OP_SAMPLE_GRAD;
lod = ins->opcode == VSIR_OP_SAMPLE_LOD || ins->opcode == VSIR_OP_SAMPLE_C_LZ;
lod_zero = ins->opcode == VSIR_OP_SAMPLE_C_LZ;
offset = dynamic_offset || vkd3d_shader_instruction_has_texel_offset(ins);
shadow = ins->opcode == VKD3DSIH_SAMPLE_C || ins->opcode == VKD3DSIH_SAMPLE_C_LZ;
shadow = ins->opcode == VSIR_OP_SAMPLE_C || ins->opcode == VSIR_OP_SAMPLE_C_LZ;
resource = &ins->src[1 + dynamic_offset];
sampler = &ins->src[2 + dynamic_offset];
@@ -1459,177 +1459,177 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen,
switch (ins->opcode)
{
case VKD3DSIH_ADD:
case VKD3DSIH_IADD:
case VSIR_OP_ADD:
case VSIR_OP_IADD:
shader_glsl_binop(gen, ins, "+");
break;
case VKD3DSIH_AND:
case VSIR_OP_AND:
shader_glsl_binop(gen, ins, "&");
break;
case VKD3DSIH_BREAK:
case VSIR_OP_BREAK:
shader_glsl_break(gen);
break;
case VKD3DSIH_CASE:
case VSIR_OP_CASE:
shader_glsl_case(gen, ins);
break;
case VKD3DSIH_CONTINUE:
case VSIR_OP_CONTINUE:
shader_glsl_continue(gen);
break;
case VKD3DSIH_DCL_INDEXABLE_TEMP:
case VSIR_OP_DCL_INDEXABLE_TEMP:
shader_glsl_dcl_indexable_temp(gen, ins);
break;
case VKD3DSIH_NOP:
case VSIR_OP_NOP:
break;
case VKD3DSIH_DEFAULT:
case VSIR_OP_DEFAULT:
shader_glsl_default(gen);
break;
case VKD3DSIH_DIV:
case VSIR_OP_DIV:
shader_glsl_binop(gen, ins, "/");
break;
case VKD3DSIH_DP2:
case VSIR_OP_DP2:
shader_glsl_dot(gen, ins, vkd3d_write_mask_from_component_count(2));
break;
case VKD3DSIH_DP3:
case VSIR_OP_DP3:
shader_glsl_dot(gen, ins, vkd3d_write_mask_from_component_count(3));
break;
case VKD3DSIH_DP4:
case VSIR_OP_DP4:
shader_glsl_dot(gen, ins, VKD3DSP_WRITEMASK_ALL);
break;
case VKD3DSIH_ELSE:
case VSIR_OP_ELSE:
shader_glsl_else(gen, ins);
break;
case VKD3DSIH_ENDIF:
case VKD3DSIH_ENDLOOP:
case VKD3DSIH_ENDSWITCH:
case VSIR_OP_ENDIF:
case VSIR_OP_ENDLOOP:
case VSIR_OP_ENDSWITCH:
shader_glsl_end_block(gen);
break;
case VKD3DSIH_EQO:
case VKD3DSIH_IEQ:
case VSIR_OP_EQO:
case VSIR_OP_IEQ:
shader_glsl_relop(gen, ins, "==", "equal");
break;
case VKD3DSIH_EXP:
case VSIR_OP_EXP:
shader_glsl_intrinsic(gen, ins, "exp2");
break;
case VKD3DSIH_FRC:
case VSIR_OP_FRC:
shader_glsl_intrinsic(gen, ins, "fract");
break;
case VKD3DSIH_FTOI:
case VSIR_OP_FTOI:
shader_glsl_cast(gen, ins, "int", "ivec");
break;
case VKD3DSIH_FTOU:
case VSIR_OP_FTOU:
shader_glsl_cast(gen, ins, "uint", "uvec");
break;
case VKD3DSIH_GATHER4:
case VKD3DSIH_GATHER4_PO:
case VKD3DSIH_SAMPLE:
case VKD3DSIH_SAMPLE_B:
case VKD3DSIH_SAMPLE_C:
case VKD3DSIH_SAMPLE_C_LZ:
case VKD3DSIH_SAMPLE_GRAD:
case VKD3DSIH_SAMPLE_LOD:
case VSIR_OP_GATHER4:
case VSIR_OP_GATHER4_PO:
case VSIR_OP_SAMPLE:
case VSIR_OP_SAMPLE_B:
case VSIR_OP_SAMPLE_C:
case VSIR_OP_SAMPLE_C_LZ:
case VSIR_OP_SAMPLE_GRAD:
case VSIR_OP_SAMPLE_LOD:
shader_glsl_sample(gen, ins);
break;
case VKD3DSIH_GEO:
case VKD3DSIH_IGE:
case VSIR_OP_GEO:
case VSIR_OP_IGE:
shader_glsl_relop(gen, ins, ">=", "greaterThanEqual");
break;
case VKD3DSIH_IF:
case VSIR_OP_IF:
shader_glsl_if(gen, ins);
break;
case VKD3DSIH_MAD:
case VSIR_OP_MAD:
shader_glsl_intrinsic(gen, ins, "fma");
break;
case VKD3DSIH_ILT:
case VKD3DSIH_LTO:
case VKD3DSIH_ULT:
case VSIR_OP_ILT:
case VSIR_OP_LTO:
case VSIR_OP_ULT:
shader_glsl_relop(gen, ins, "<", "lessThan");
break;
case VKD3DSIH_IMAX:
case VKD3DSIH_MAX:
case VKD3DSIH_UMAX:
case VSIR_OP_IMAX:
case VSIR_OP_MAX:
case VSIR_OP_UMAX:
shader_glsl_intrinsic(gen, ins, "max");
break;
case VKD3DSIH_MIN:
case VKD3DSIH_UMIN:
case VSIR_OP_MIN:
case VSIR_OP_UMIN:
shader_glsl_intrinsic(gen, ins, "min");
break;
case VKD3DSIH_IMUL_LOW:
case VSIR_OP_IMUL_LOW:
shader_glsl_binop(gen, ins, "*");
break;
case VKD3DSIH_INE:
case VKD3DSIH_NEU:
case VSIR_OP_INE:
case VSIR_OP_NEU:
shader_glsl_relop(gen, ins, "!=", "notEqual");
break;
case VKD3DSIH_INEG:
case VSIR_OP_INEG:
shader_glsl_unary_op(gen, ins, "-");
break;
case VKD3DSIH_ISHL:
case VSIR_OP_ISHL:
shader_glsl_binop(gen, ins, "<<");
break;
case VKD3DSIH_ISHR:
case VKD3DSIH_USHR:
case VSIR_OP_ISHR:
case VSIR_OP_USHR:
shader_glsl_binop(gen, ins, ">>");
break;
case VKD3DSIH_ITOF:
case VKD3DSIH_UTOF:
case VSIR_OP_ITOF:
case VSIR_OP_UTOF:
shader_glsl_cast(gen, ins, "float", "vec");
break;
case VKD3DSIH_LD:
case VKD3DSIH_LD2DMS:
case VSIR_OP_LD:
case VSIR_OP_LD2DMS:
shader_glsl_ld(gen, ins);
break;
case VKD3DSIH_LD_UAV_TYPED:
case VSIR_OP_LD_UAV_TYPED:
shader_glsl_load_uav_typed(gen, ins);
break;
case VKD3DSIH_LOG:
case VSIR_OP_LOG:
shader_glsl_intrinsic(gen, ins, "log2");
break;
case VKD3DSIH_LOOP:
case VSIR_OP_LOOP:
shader_glsl_loop(gen);
break;
case VKD3DSIH_MOV:
case VSIR_OP_MOV:
shader_glsl_mov(gen, ins);
break;
case VKD3DSIH_MOVC:
case VSIR_OP_MOVC:
shader_glsl_movc(gen, ins);
break;
case VKD3DSIH_MUL:
case VSIR_OP_MUL:
shader_glsl_binop(gen, ins, "*");
break;
case VKD3DSIH_NOT:
case VSIR_OP_NOT:
shader_glsl_unary_op(gen, ins, "~");
break;
case VKD3DSIH_OR:
case VSIR_OP_OR:
shader_glsl_binop(gen, ins, "|");
break;
case VKD3DSIH_RET:
case VSIR_OP_RET:
shader_glsl_ret(gen, ins);
break;
case VKD3DSIH_ROUND_NE:
case VSIR_OP_ROUND_NE:
shader_glsl_intrinsic(gen, ins, "roundEven");
break;
case VKD3DSIH_ROUND_NI:
case VSIR_OP_ROUND_NI:
shader_glsl_intrinsic(gen, ins, "floor");
break;
case VKD3DSIH_ROUND_PI:
case VSIR_OP_ROUND_PI:
shader_glsl_intrinsic(gen, ins, "ceil");
break;
case VKD3DSIH_ROUND_Z:
case VSIR_OP_ROUND_Z:
shader_glsl_intrinsic(gen, ins, "trunc");
break;
case VKD3DSIH_RSQ:
case VSIR_OP_RSQ:
shader_glsl_intrinsic(gen, ins, "inversesqrt");
break;
case VKD3DSIH_SQRT:
case VSIR_OP_SQRT:
shader_glsl_intrinsic(gen, ins, "sqrt");
break;
case VKD3DSIH_STORE_UAV_TYPED:
case VSIR_OP_STORE_UAV_TYPED:
shader_glsl_store_uav_typed(gen, ins);
break;
case VKD3DSIH_SWITCH:
case VSIR_OP_SWITCH:
shader_glsl_switch(gen, ins);
break;
case VKD3DSIH_XOR:
case VSIR_OP_XOR:
shader_glsl_binop(gen, ins, "^");
break;
default: