mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.
This commit is contained in:
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
@@ -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:
|
||||
|
Reference in New Issue
Block a user