vkd3d-shader: Remove d3d9 clutter
All of this is entirely unused and just cluttering up. Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
parent
b65f6ad02c
commit
69bfad91a8
|
@ -1791,7 +1791,6 @@ static bool shader_sm4_read_dst_param(struct vkd3d_sm4_data *priv, const DWORD *
|
|||
if (!dst_param->write_mask && shader_sm4_is_scalar_register(&dst_param->reg))
|
||||
dst_param->write_mask = VKD3DSP_WRITEMASK_0;
|
||||
dst_param->modifiers = 0;
|
||||
dst_param->shift = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -38,7 +38,6 @@ struct vkd3d_string_buffer
|
|||
|
||||
static const char * const shader_opcode_names[] =
|
||||
{
|
||||
/* VKD3DSIH_ABS */ "abs",
|
||||
/* VKD3DSIH_ADD */ "add",
|
||||
/* VKD3DSIH_AND */ "and",
|
||||
/* VKD3DSIH_ATOMIC_AND */ "atomic_and",
|
||||
|
@ -60,12 +59,9 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_CALL */ "call",
|
||||
/* VKD3DSIH_CALLNZ */ "callnz",
|
||||
/* VKD3DSIH_CASE */ "case",
|
||||
/* VKD3DSIH_CMP */ "cmp",
|
||||
/* VKD3DSIH_CND */ "cnd",
|
||||
/* VKD3DSIH_CONTINUE */ "continue",
|
||||
/* VKD3DSIH_CONTINUEP */ "continuec",
|
||||
/* VKD3DSIH_COUNTBITS */ "countbits",
|
||||
/* VKD3DSIH_CRS */ "crs",
|
||||
/* VKD3DSIH_CUT */ "cut",
|
||||
/* VKD3DSIH_CUT_STREAM */ "cut_stream",
|
||||
/* VKD3DSIH_DCL */ "dcl",
|
||||
|
@ -108,16 +104,11 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_DCL_UAV_STRUCTURED */ "dcl_uav_structured",
|
||||
/* VKD3DSIH_DCL_UAV_TYPED */ "dcl_uav_typed",
|
||||
/* VKD3DSIH_DCL_VERTICES_OUT */ "dcl_maxOutputVertexCount",
|
||||
/* VKD3DSIH_DEF */ "def",
|
||||
/* VKD3DSIH_DEFAULT */ "default",
|
||||
/* VKD3DSIH_DEFB */ "defb",
|
||||
/* VKD3DSIH_DEFI */ "defi",
|
||||
/* VKD3DSIH_DIV */ "div",
|
||||
/* VKD3DSIH_DP2 */ "dp2",
|
||||
/* VKD3DSIH_DP2ADD */ "dp2add",
|
||||
/* VKD3DSIH_DP3 */ "dp3",
|
||||
/* VKD3DSIH_DP4 */ "dp4",
|
||||
/* VKD3DSIH_DST */ "dst",
|
||||
/* VKD3DSIH_DSX */ "dsx",
|
||||
/* VKD3DSIH_DSX_COARSE */ "deriv_rtx_coarse",
|
||||
/* VKD3DSIH_DSX_FINE */ "deriv_rtx_fine",
|
||||
|
@ -129,13 +120,11 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_EMIT_STREAM */ "emit_stream",
|
||||
/* VKD3DSIH_ENDIF */ "endif",
|
||||
/* VKD3DSIH_ENDLOOP */ "endloop",
|
||||
/* VKD3DSIH_ENDREP */ "endrep",
|
||||
/* VKD3DSIH_ENDSWITCH */ "endswitch",
|
||||
/* VKD3DSIH_EQ */ "eq",
|
||||
/* VKD3DSIH_EVAL_CENTROID */ "eval_centroid",
|
||||
/* VKD3DSIH_EVAL_SAMPLE_INDEX */ "eval_sample_index",
|
||||
/* VKD3DSIH_EXP */ "exp",
|
||||
/* VKD3DSIH_EXPP */ "expp",
|
||||
/* VKD3DSIH_F16TOF32 */ "f16tof32",
|
||||
/* VKD3DSIH_F32TOF16 */ "f32tof16",
|
||||
/* VKD3DSIH_FCALL */ "fcall",
|
||||
|
@ -188,34 +177,23 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_LD_RAW */ "ld_raw",
|
||||
/* VKD3DSIH_LD_STRUCTURED */ "ld_structured",
|
||||
/* VKD3DSIH_LD_UAV_TYPED */ "ld_uav_typed",
|
||||
/* VKD3DSIH_LIT */ "lit",
|
||||
/* VKD3DSIH_LOD */ "lod",
|
||||
/* VKD3DSIH_LOG */ "log",
|
||||
/* VKD3DSIH_LOGP */ "logp",
|
||||
/* VKD3DSIH_LOOP */ "loop",
|
||||
/* VKD3DSIH_LRP */ "lrp",
|
||||
/* VKD3DSIH_LT */ "lt",
|
||||
/* VKD3DSIH_M3x2 */ "m3x2",
|
||||
/* VKD3DSIH_M3x3 */ "m3x3",
|
||||
/* VKD3DSIH_M3x4 */ "m3x4",
|
||||
/* VKD3DSIH_M4x3 */ "m4x3",
|
||||
/* VKD3DSIH_M4x4 */ "m4x4",
|
||||
/* VKD3DSIH_MAD */ "mad",
|
||||
/* VKD3DSIH_MAX */ "max",
|
||||
/* VKD3DSIH_MIN */ "min",
|
||||
/* VKD3DSIH_MOV */ "mov",
|
||||
/* VKD3DSIH_MOVA */ "mova",
|
||||
/* VKD3DSIH_MOVC */ "movc",
|
||||
/* VKD3DSIH_MUL */ "mul",
|
||||
/* VKD3DSIH_NE */ "ne",
|
||||
/* VKD3DSIH_NOP */ "nop",
|
||||
/* VKD3DSIH_NOT */ "not",
|
||||
/* VKD3DSIH_NRM */ "nrm",
|
||||
/* VKD3DSIH_OR */ "or",
|
||||
/* VKD3DSIH_PHASE */ "phase",
|
||||
/* VKD3DSIH_POW */ "pow",
|
||||
/* VKD3DSIH_RCP */ "rcp",
|
||||
/* VKD3DSIH_REP */ "rep",
|
||||
/* VKD3DSIH_RESINFO */ "resinfo",
|
||||
/* VKD3DSIH_RET */ "ret",
|
||||
/* VKD3DSIH_RETP */ "retp",
|
||||
|
@ -232,7 +210,6 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_SAMPLE_INFO */ "sample_info",
|
||||
/* VKD3DSIH_SAMPLE_LOD */ "sample_l",
|
||||
/* VKD3DSIH_SAMPLE_POS */ "sample_pos",
|
||||
/* VKD3DSIH_SETP */ "setp",
|
||||
/* VKD3DSIH_SGE */ "sge",
|
||||
/* VKD3DSIH_SGN */ "sgn",
|
||||
/* VKD3DSIH_SINCOS */ "sincos",
|
||||
|
@ -245,28 +222,7 @@ static const char * const shader_opcode_names[] =
|
|||
/* VKD3DSIH_SWAPC */ "swapc",
|
||||
/* VKD3DSIH_SWITCH */ "switch",
|
||||
/* VKD3DSIH_SYNC */ "sync",
|
||||
/* VKD3DSIH_TEX */ "texld",
|
||||
/* VKD3DSIH_TEXBEM */ "texbem",
|
||||
/* VKD3DSIH_TEXBEML */ "texbeml",
|
||||
/* VKD3DSIH_TEXCOORD */ "texcrd",
|
||||
/* VKD3DSIH_TEXDEPTH */ "texdepth",
|
||||
/* VKD3DSIH_TEXDP3 */ "texdp3",
|
||||
/* VKD3DSIH_TEXDP3TEX */ "texdp3tex",
|
||||
/* VKD3DSIH_TEXKILL */ "texkill",
|
||||
/* VKD3DSIH_TEXLDD */ "texldd",
|
||||
/* VKD3DSIH_TEXLDL */ "texldl",
|
||||
/* VKD3DSIH_TEXM3x2DEPTH */ "texm3x2depth",
|
||||
/* VKD3DSIH_TEXM3x2PAD */ "texm3x2pad",
|
||||
/* VKD3DSIH_TEXM3x2TEX */ "texm3x2tex",
|
||||
/* VKD3DSIH_TEXM3x3 */ "texm3x3",
|
||||
/* VKD3DSIH_TEXM3x3DIFF */ "texm3x3diff",
|
||||
/* VKD3DSIH_TEXM3x3PAD */ "texm3x3pad",
|
||||
/* VKD3DSIH_TEXM3x3SPEC */ "texm3x3spec",
|
||||
/* VKD3DSIH_TEXM3x3TEX */ "texm3x3tex",
|
||||
/* VKD3DSIH_TEXM3x3VSPEC */ "texm3x3vspec",
|
||||
/* VKD3DSIH_TEXREG2AR */ "texreg2ar",
|
||||
/* VKD3DSIH_TEXREG2GB */ "texreg2gb",
|
||||
/* VKD3DSIH_TEXREG2RGB */ "texreg2rgb",
|
||||
/* VKD3DSIH_UBFE */ "ubfe",
|
||||
/* VKD3DSIH_UDIV */ "udiv",
|
||||
/* VKD3DSIH_UGE */ "uge",
|
||||
|
@ -383,22 +339,6 @@ static int shader_addline(struct vkd3d_string_buffer *buffer, const char *format
|
|||
}
|
||||
}
|
||||
|
||||
/* Convert floating point offset relative to a register file to an absolute
|
||||
* offset for float constants. */
|
||||
static unsigned int shader_get_float_offset(enum vkd3d_shader_register_type register_type, UINT register_idx)
|
||||
{
|
||||
switch (register_type)
|
||||
{
|
||||
case VKD3DSPR_CONST: return register_idx;
|
||||
case VKD3DSPR_CONST2: return 2048 + register_idx;
|
||||
case VKD3DSPR_CONST3: return 4096 + register_idx;
|
||||
case VKD3DSPR_CONST4: return 6144 + register_idx;
|
||||
default:
|
||||
FIXME("Unsupported register type: %u.\n", register_type);
|
||||
return register_idx;
|
||||
}
|
||||
}
|
||||
|
||||
static void shader_dump_global_flags(struct vkd3d_string_buffer *buffer, DWORD global_flags)
|
||||
{
|
||||
unsigned int i;
|
||||
|
@ -592,7 +532,7 @@ static void shader_dump_decl_usage(struct vkd3d_string_buffer *buffer,
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if (semantic->reg.reg.type == VKD3DSPR_RESOURCE || semantic->reg.reg.type == VKD3DSPR_UAV)
|
||||
else // if (semantic->reg.reg.type == VKD3DSPR_RESOURCE || semantic->reg.reg.type == VKD3DSPR_UAV)
|
||||
{
|
||||
if (semantic->reg.reg.type == VKD3DSPR_RESOURCE)
|
||||
shader_addline(buffer, "_resource_");
|
||||
|
@ -673,80 +613,6 @@ static void shader_dump_decl_usage(struct vkd3d_string_buffer *buffer,
|
|||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Pixel shaders 3.0 don't have usage semantics. */
|
||||
if (shader_version->major < 3 && shader_version->type == VKD3D_SHADER_TYPE_PIXEL)
|
||||
return;
|
||||
else
|
||||
shader_addline(buffer, "_");
|
||||
|
||||
switch (semantic->usage)
|
||||
{
|
||||
case VKD3D_DECL_USAGE_POSITION:
|
||||
shader_addline(buffer, "position%u", semantic->usage_idx);
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_BLEND_INDICES:
|
||||
shader_addline(buffer, "blend");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_BLEND_WEIGHT:
|
||||
shader_addline(buffer, "weight");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_NORMAL:
|
||||
shader_addline(buffer, "normal%u", semantic->usage_idx);
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_PSIZE:
|
||||
shader_addline(buffer, "psize");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_COLOR:
|
||||
if (!semantic->usage_idx)
|
||||
shader_addline(buffer, "color");
|
||||
else
|
||||
shader_addline(buffer, "specular%u", (semantic->usage_idx - 1));
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_TEXCOORD:
|
||||
shader_addline(buffer, "texture%u", semantic->usage_idx);
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_TANGENT:
|
||||
shader_addline(buffer, "tangent");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_BINORMAL:
|
||||
shader_addline(buffer, "binormal");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_TESS_FACTOR:
|
||||
shader_addline(buffer, "tessfactor");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_POSITIONT:
|
||||
shader_addline(buffer, "positionT%u", semantic->usage_idx);
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_FOG:
|
||||
shader_addline(buffer, "fog");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_DEPTH:
|
||||
shader_addline(buffer, "depth");
|
||||
break;
|
||||
|
||||
case VKD3D_DECL_USAGE_SAMPLE:
|
||||
shader_addline(buffer, "sample");
|
||||
break;
|
||||
|
||||
default:
|
||||
shader_addline(buffer, "<unknown_semantic(%#x)>", semantic->usage);
|
||||
FIXME("Unrecognised semantic usage %#x.\n", semantic->usage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void shader_dump_src_param(struct vkd3d_string_buffer *buffer,
|
||||
|
@ -755,8 +621,6 @@ static void shader_dump_src_param(struct vkd3d_string_buffer *buffer,
|
|||
static void shader_dump_register(struct vkd3d_string_buffer *buffer,
|
||||
const struct vkd3d_shader_register *reg, const struct vkd3d_shader_version *shader_version)
|
||||
{
|
||||
static const char * const rastout_reg_names[] = {"oPos", "oFog", "oPts"};
|
||||
static const char * const misctype_reg_names[] = {"vPos", "vFace"};
|
||||
unsigned int offset = reg->idx[0].offset;
|
||||
|
||||
switch (reg->type)
|
||||
|
@ -769,22 +633,6 @@ static void shader_dump_register(struct vkd3d_string_buffer *buffer,
|
|||
shader_addline(buffer, "v");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_CONST:
|
||||
case VKD3DSPR_CONST2:
|
||||
case VKD3DSPR_CONST3:
|
||||
case VKD3DSPR_CONST4:
|
||||
shader_addline(buffer, "c");
|
||||
offset = shader_get_float_offset(reg->type, offset);
|
||||
break;
|
||||
|
||||
case VKD3DSPR_TEXTURE: /* vs: case VKD3DSPR_ADDR */
|
||||
shader_addline(buffer, "%c", shader_version->type == VKD3D_SHADER_TYPE_PIXEL ? 't' : 'a');
|
||||
break;
|
||||
|
||||
case VKD3DSPR_RASTOUT:
|
||||
shader_addline(buffer, "%s", rastout_reg_names[offset]);
|
||||
break;
|
||||
|
||||
case VKD3DSPR_COLOROUT:
|
||||
shader_addline(buffer, "oC");
|
||||
break;
|
||||
|
@ -801,55 +649,14 @@ static void shader_dump_register(struct vkd3d_string_buffer *buffer,
|
|||
shader_addline(buffer, "oDepthLE");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_ATTROUT:
|
||||
shader_addline(buffer, "oD");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_TEXCRDOUT:
|
||||
/* Vertex shaders >= 3.0 use general purpose output registers
|
||||
* (VKD3DSPR_OUTPUT), which can include an address token. */
|
||||
if (shader_version->major >= 3)
|
||||
shader_addline(buffer, "o");
|
||||
else
|
||||
shader_addline(buffer, "oT");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_CONSTINT:
|
||||
shader_addline(buffer, "i");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_CONSTBOOL:
|
||||
shader_addline(buffer, "b");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_LABEL:
|
||||
shader_addline(buffer, "l");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_LOOP:
|
||||
shader_addline(buffer, "aL");
|
||||
case VKD3DSPR_OUTPUT:
|
||||
shader_addline(buffer, "o");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_SAMPLER:
|
||||
shader_addline(buffer, "s");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_MISCTYPE:
|
||||
if (offset > 1)
|
||||
{
|
||||
FIXME("Unhandled misctype register %u.\n", offset);
|
||||
shader_addline(buffer, "<unhandled misctype %#x>", offset);
|
||||
}
|
||||
else
|
||||
{
|
||||
shader_addline(buffer, "%s", misctype_reg_names[offset]);
|
||||
}
|
||||
break;
|
||||
|
||||
case VKD3DSPR_PREDICATE:
|
||||
shader_addline(buffer, "p");
|
||||
break;
|
||||
|
||||
case VKD3DSPR_IMMCONST:
|
||||
shader_addline(buffer, "l");
|
||||
break;
|
||||
|
@ -1020,9 +827,7 @@ static void shader_dump_register(struct vkd3d_string_buffer *buffer,
|
|||
}
|
||||
shader_addline(buffer, ")");
|
||||
}
|
||||
else if (reg->type != VKD3DSPR_RASTOUT
|
||||
&& reg->type != VKD3DSPR_MISCTYPE
|
||||
&& reg->type != VKD3DSPR_NULL)
|
||||
else if (reg->type != VKD3DSPR_NULL)
|
||||
{
|
||||
if (offset != ~0u)
|
||||
{
|
||||
|
@ -1091,16 +896,8 @@ static void shader_dump_src_param(struct vkd3d_string_buffer *buffer,
|
|||
enum vkd3d_shader_src_modifier src_modifier = param->modifiers;
|
||||
DWORD swizzle = param->swizzle;
|
||||
|
||||
if (src_modifier == VKD3DSPSM_NEG
|
||||
|| src_modifier == VKD3DSPSM_BIASNEG
|
||||
|| src_modifier == VKD3DSPSM_SIGNNEG
|
||||
|| src_modifier == VKD3DSPSM_X2NEG
|
||||
|| src_modifier == VKD3DSPSM_ABSNEG)
|
||||
if (src_modifier == VKD3DSPSM_NEG || src_modifier == VKD3DSPSM_ABSNEG)
|
||||
shader_addline(buffer, "-");
|
||||
else if (src_modifier == VKD3DSPSM_COMP)
|
||||
shader_addline(buffer, "1-");
|
||||
else if (src_modifier == VKD3DSPSM_NOT)
|
||||
shader_addline(buffer, "!");
|
||||
|
||||
if (src_modifier == VKD3DSPSM_ABS || src_modifier == VKD3DSPSM_ABSNEG)
|
||||
shader_addline(buffer, "abs(");
|
||||
|
@ -1111,16 +908,6 @@ static void shader_dump_src_param(struct vkd3d_string_buffer *buffer,
|
|||
{
|
||||
case VKD3DSPSM_NONE: break;
|
||||
case VKD3DSPSM_NEG: break;
|
||||
case VKD3DSPSM_NOT: break;
|
||||
case VKD3DSPSM_BIAS: shader_addline(buffer, "_bias"); break;
|
||||
case VKD3DSPSM_BIASNEG: shader_addline(buffer, "_bias"); break;
|
||||
case VKD3DSPSM_SIGN: shader_addline(buffer, "_bx2"); break;
|
||||
case VKD3DSPSM_SIGNNEG: shader_addline(buffer, "_bx2"); break;
|
||||
case VKD3DSPSM_COMP: break;
|
||||
case VKD3DSPSM_X2: shader_addline(buffer, "_x2"); break;
|
||||
case VKD3DSPSM_X2NEG: shader_addline(buffer, "_x2"); break;
|
||||
case VKD3DSPSM_DZ: shader_addline(buffer, "_dz"); break;
|
||||
case VKD3DSPSM_DW: shader_addline(buffer, "_dw"); break;
|
||||
case VKD3DSPSM_ABSNEG: shader_addline(buffer, ")"); break;
|
||||
case VKD3DSPSM_ABS: shader_addline(buffer, ")"); break;
|
||||
default: shader_addline(buffer, "_unknown_modifier(%#x)", src_modifier);
|
||||
|
@ -1153,23 +940,9 @@ static void shader_dump_ins_modifiers(struct vkd3d_string_buffer *buffer,
|
|||
{
|
||||
DWORD mmask = dst->modifiers;
|
||||
|
||||
switch (dst->shift)
|
||||
{
|
||||
case 0: break;
|
||||
case 13: shader_addline(buffer, "_d8"); break;
|
||||
case 14: shader_addline(buffer, "_d4"); break;
|
||||
case 15: shader_addline(buffer, "_d2"); break;
|
||||
case 1: shader_addline(buffer, "_x2"); break;
|
||||
case 2: shader_addline(buffer, "_x4"); break;
|
||||
case 3: shader_addline(buffer, "_x8"); break;
|
||||
default: shader_addline(buffer, "_unhandled_shift(%d)", dst->shift); break;
|
||||
}
|
||||
|
||||
if (mmask & VKD3DSPDM_SATURATE) shader_addline(buffer, "_sat");
|
||||
if (mmask & VKD3DSPDM_PARTIALPRECISION) shader_addline(buffer, "_pp");
|
||||
if (mmask & VKD3DSPDM_MSAMPCENTROID) shader_addline(buffer, "_centroid");
|
||||
|
||||
mmask &= ~(VKD3DSPDM_SATURATE | VKD3DSPDM_PARTIALPRECISION | VKD3DSPDM_MSAMPCENTROID);
|
||||
mmask &= ~(VKD3DSPDM_SATURATE);
|
||||
if (mmask) FIXME("Unrecognised modifier %#x.\n", mmask);
|
||||
}
|
||||
|
||||
|
@ -1335,11 +1108,6 @@ static void shader_dump_instruction_flags(struct vkd3d_string_buffer *buffer,
|
|||
shader_dump_sync_flags(buffer, ins->flags);
|
||||
break;
|
||||
|
||||
case VKD3DSIH_TEX:
|
||||
if (shader_version->major >= 2 && (ins->flags & VKD3DSI_TEXLD_PROJECT))
|
||||
shader_addline(buffer, "p");
|
||||
break;
|
||||
|
||||
default:
|
||||
shader_dump_precise_flags(buffer, ins->flags);
|
||||
break;
|
||||
|
@ -1552,24 +1320,6 @@ static void shader_dump_instruction(struct vkd3d_string_buffer *buffer,
|
|||
shader_dump_register_space(buffer, ins->declaration.structured_resource.register_space, shader_version);
|
||||
break;
|
||||
|
||||
case VKD3DSIH_DEF:
|
||||
shader_addline(buffer, "def c%u = %.8e, %.8e, %.8e, %.8e",
|
||||
shader_get_float_offset(ins->dst[0].reg.type, ins->dst[0].reg.idx[0].offset),
|
||||
ins->src[0].reg.immconst_float[0], ins->src[0].reg.immconst_float[1],
|
||||
ins->src[0].reg.immconst_float[2], ins->src[0].reg.immconst_float[3]);
|
||||
break;
|
||||
|
||||
case VKD3DSIH_DEFI:
|
||||
shader_addline(buffer, "defi i%u = %d, %d, %d, %d", ins->dst[0].reg.idx[0].offset,
|
||||
ins->src[0].reg.immconst_uint[0], ins->src[0].reg.immconst_uint[1],
|
||||
ins->src[0].reg.immconst_uint[2], ins->src[0].reg.immconst_uint[3]);
|
||||
break;
|
||||
|
||||
case VKD3DSIH_DEFB:
|
||||
shader_addline(buffer, "defb b%u = %s",
|
||||
ins->dst[0].reg.idx[0].offset, ins->src[0].reg.immconst_uint[0] ? "true" : "false");
|
||||
break;
|
||||
|
||||
default:
|
||||
if (ins->predicate)
|
||||
{
|
||||
|
|
|
@ -60,7 +60,6 @@
|
|||
|
||||
enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
||||
{
|
||||
VKD3DSIH_ABS,
|
||||
VKD3DSIH_ADD,
|
||||
VKD3DSIH_AND,
|
||||
VKD3DSIH_ATOMIC_AND,
|
||||
|
@ -83,12 +82,9 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_CALLNZ,
|
||||
VKD3DSIH_CASE,
|
||||
VKD3DSIH_CHECK_ACCESS_FULLY_MAPPED,
|
||||
VKD3DSIH_CMP,
|
||||
VKD3DSIH_CND,
|
||||
VKD3DSIH_CONTINUE,
|
||||
VKD3DSIH_CONTINUEP,
|
||||
VKD3DSIH_COUNTBITS,
|
||||
VKD3DSIH_CRS,
|
||||
VKD3DSIH_CUT,
|
||||
VKD3DSIH_CUT_STREAM,
|
||||
VKD3DSIH_DCL,
|
||||
|
@ -131,16 +127,11 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_DCL_UAV_STRUCTURED,
|
||||
VKD3DSIH_DCL_UAV_TYPED,
|
||||
VKD3DSIH_DCL_VERTICES_OUT,
|
||||
VKD3DSIH_DEF,
|
||||
VKD3DSIH_DEFAULT,
|
||||
VKD3DSIH_DEFB,
|
||||
VKD3DSIH_DEFI,
|
||||
VKD3DSIH_DIV,
|
||||
VKD3DSIH_DP2,
|
||||
VKD3DSIH_DP2ADD,
|
||||
VKD3DSIH_DP3,
|
||||
VKD3DSIH_DP4,
|
||||
VKD3DSIH_DST,
|
||||
VKD3DSIH_DSX,
|
||||
VKD3DSIH_DSX_COARSE,
|
||||
VKD3DSIH_DSX_FINE,
|
||||
|
@ -152,13 +143,11 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_EMIT_STREAM,
|
||||
VKD3DSIH_ENDIF,
|
||||
VKD3DSIH_ENDLOOP,
|
||||
VKD3DSIH_ENDREP,
|
||||
VKD3DSIH_ENDSWITCH,
|
||||
VKD3DSIH_EQ,
|
||||
VKD3DSIH_EVAL_CENTROID,
|
||||
VKD3DSIH_EVAL_SAMPLE_INDEX,
|
||||
VKD3DSIH_EXP,
|
||||
VKD3DSIH_EXPP,
|
||||
VKD3DSIH_F16TOF32,
|
||||
VKD3DSIH_F32TOF16,
|
||||
VKD3DSIH_FCALL,
|
||||
|
@ -220,34 +209,23 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_LD_STRUCTURED_FEEDBACK,
|
||||
VKD3DSIH_LD_UAV_TYPED,
|
||||
VKD3DSIH_LD_UAV_TYPED_FEEDBACK,
|
||||
VKD3DSIH_LIT,
|
||||
VKD3DSIH_LOD,
|
||||
VKD3DSIH_LOG,
|
||||
VKD3DSIH_LOGP,
|
||||
VKD3DSIH_LOOP,
|
||||
VKD3DSIH_LRP,
|
||||
VKD3DSIH_LT,
|
||||
VKD3DSIH_M3x2,
|
||||
VKD3DSIH_M3x3,
|
||||
VKD3DSIH_M3x4,
|
||||
VKD3DSIH_M4x3,
|
||||
VKD3DSIH_M4x4,
|
||||
VKD3DSIH_MAD,
|
||||
VKD3DSIH_MAX,
|
||||
VKD3DSIH_MIN,
|
||||
VKD3DSIH_MOV,
|
||||
VKD3DSIH_MOVA,
|
||||
VKD3DSIH_MOVC,
|
||||
VKD3DSIH_MUL,
|
||||
VKD3DSIH_NE,
|
||||
VKD3DSIH_NOP,
|
||||
VKD3DSIH_NOT,
|
||||
VKD3DSIH_NRM,
|
||||
VKD3DSIH_OR,
|
||||
VKD3DSIH_PHASE,
|
||||
VKD3DSIH_POW,
|
||||
VKD3DSIH_RCP,
|
||||
VKD3DSIH_REP,
|
||||
VKD3DSIH_RESINFO,
|
||||
VKD3DSIH_RET,
|
||||
VKD3DSIH_RETP,
|
||||
|
@ -270,7 +248,6 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_SAMPLE_LOD,
|
||||
VKD3DSIH_SAMPLE_LOD_FEEDBACK,
|
||||
VKD3DSIH_SAMPLE_POS,
|
||||
VKD3DSIH_SETP,
|
||||
VKD3DSIH_SGE,
|
||||
VKD3DSIH_SGN,
|
||||
VKD3DSIH_SINCOS,
|
||||
|
@ -283,28 +260,7 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
VKD3DSIH_SWAPC,
|
||||
VKD3DSIH_SWITCH,
|
||||
VKD3DSIH_SYNC,
|
||||
VKD3DSIH_TEX,
|
||||
VKD3DSIH_TEXBEM,
|
||||
VKD3DSIH_TEXBEML,
|
||||
VKD3DSIH_TEXCOORD,
|
||||
VKD3DSIH_TEXDEPTH,
|
||||
VKD3DSIH_TEXDP3,
|
||||
VKD3DSIH_TEXDP3TEX,
|
||||
VKD3DSIH_TEXKILL,
|
||||
VKD3DSIH_TEXLDD,
|
||||
VKD3DSIH_TEXLDL,
|
||||
VKD3DSIH_TEXM3x2DEPTH,
|
||||
VKD3DSIH_TEXM3x2PAD,
|
||||
VKD3DSIH_TEXM3x2TEX,
|
||||
VKD3DSIH_TEXM3x3,
|
||||
VKD3DSIH_TEXM3x3DIFF,
|
||||
VKD3DSIH_TEXM3x3PAD,
|
||||
VKD3DSIH_TEXM3x3SPEC,
|
||||
VKD3DSIH_TEXM3x3TEX,
|
||||
VKD3DSIH_TEXM3x3VSPEC,
|
||||
VKD3DSIH_TEXREG2AR,
|
||||
VKD3DSIH_TEXREG2GB,
|
||||
VKD3DSIH_TEXREG2RGB,
|
||||
VKD3DSIH_UBFE,
|
||||
VKD3DSIH_UDIV,
|
||||
VKD3DSIH_UGE,
|
||||
|
@ -321,28 +277,12 @@ enum VKD3D_SHADER_INSTRUCTION_HANDLER
|
|||
|
||||
enum vkd3d_shader_register_type
|
||||
{
|
||||
VKD3DSPR_TEMP = 0,
|
||||
VKD3DSPR_INPUT = 1,
|
||||
VKD3DSPR_CONST = 2,
|
||||
VKD3DSPR_ADDR = 3,
|
||||
VKD3DSPR_TEXTURE = 3,
|
||||
VKD3DSPR_RASTOUT = 4,
|
||||
VKD3DSPR_ATTROUT = 5,
|
||||
VKD3DSPR_TEXCRDOUT = 6,
|
||||
VKD3DSPR_OUTPUT = 6,
|
||||
VKD3DSPR_CONSTINT = 7,
|
||||
VKD3DSPR_COLOROUT = 8,
|
||||
VKD3DSPR_DEPTHOUT = 9,
|
||||
VKD3DSPR_SAMPLER = 10,
|
||||
VKD3DSPR_CONST2 = 11,
|
||||
VKD3DSPR_CONST3 = 12,
|
||||
VKD3DSPR_CONST4 = 13,
|
||||
VKD3DSPR_CONSTBOOL = 14,
|
||||
VKD3DSPR_LOOP = 15,
|
||||
VKD3DSPR_TEMPFLOAT16 = 16,
|
||||
VKD3DSPR_MISCTYPE = 17,
|
||||
VKD3DSPR_LABEL = 18,
|
||||
VKD3DSPR_PREDICATE = 19,
|
||||
VKD3DSPR_TEMP,
|
||||
VKD3DSPR_INPUT,
|
||||
VKD3DSPR_OUTPUT,
|
||||
VKD3DSPR_COLOROUT,
|
||||
VKD3DSPR_DEPTHOUT,
|
||||
VKD3DSPR_SAMPLER,
|
||||
VKD3DSPR_IMMCONST,
|
||||
VKD3DSPR_CONSTBUFFER,
|
||||
VKD3DSPR_IMMCONSTBUFFER,
|
||||
|
@ -421,18 +361,8 @@ enum vkd3d_shader_src_modifier
|
|||
{
|
||||
VKD3DSPSM_NONE = 0,
|
||||
VKD3DSPSM_NEG = 1,
|
||||
VKD3DSPSM_BIAS = 2,
|
||||
VKD3DSPSM_BIASNEG = 3,
|
||||
VKD3DSPSM_SIGN = 4,
|
||||
VKD3DSPSM_SIGNNEG = 5,
|
||||
VKD3DSPSM_COMP = 6,
|
||||
VKD3DSPSM_X2 = 7,
|
||||
VKD3DSPSM_X2NEG = 8,
|
||||
VKD3DSPSM_DZ = 9,
|
||||
VKD3DSPSM_DW = 10,
|
||||
VKD3DSPSM_ABS = 11,
|
||||
VKD3DSPSM_ABSNEG = 12,
|
||||
VKD3DSPSM_NOT = 13,
|
||||
VKD3DSPSM_ABS = 2,
|
||||
VKD3DSPSM_ABSNEG = 3
|
||||
};
|
||||
|
||||
#define VKD3DSP_WRITEMASK_0 0x1u /* .x r */
|
||||
|
@ -444,9 +374,7 @@ enum vkd3d_shader_src_modifier
|
|||
enum vkd3d_shader_dst_modifier
|
||||
{
|
||||
VKD3DSPDM_NONE = 0,
|
||||
VKD3DSPDM_SATURATE = 1,
|
||||
VKD3DSPDM_PARTIALPRECISION = 2,
|
||||
VKD3DSPDM_MSAMPCENTROID = 4,
|
||||
VKD3DSPDM_SATURATE = 1
|
||||
};
|
||||
|
||||
enum vkd3d_shader_interpolation_mode
|
||||
|
@ -489,7 +417,6 @@ enum vkd3d_tessellator_domain
|
|||
};
|
||||
|
||||
#define VKD3DSI_NONE 0x0
|
||||
#define VKD3DSI_TEXLD_PROJECT 0x1
|
||||
#define VKD3DSI_INDEXED_DYNAMIC 0x4
|
||||
#define VKD3DSI_RESINFO_RCP_FLOAT 0x1
|
||||
#define VKD3DSI_RESINFO_UINT 0x2
|
||||
|
@ -520,8 +447,6 @@ enum vkd3d_shader_conditional_op
|
|||
VKD3D_SHADER_CONDITIONAL_OP_Z = 1
|
||||
};
|
||||
|
||||
#define VKD3D_SM1_VS 0xfffeu
|
||||
#define VKD3D_SM1_PS 0xffffu
|
||||
#define VKD3D_SM4_PS 0x0000u
|
||||
#define VKD3D_SM4_VS 0x0001u
|
||||
#define VKD3D_SM4_GS 0x0002u
|
||||
|
@ -529,10 +454,6 @@ enum vkd3d_shader_conditional_op
|
|||
#define VKD3D_SM5_DS 0x0004u
|
||||
#define VKD3D_SM5_CS 0x0005u
|
||||
|
||||
/* Shader version tokens, and shader end tokens */
|
||||
#define VKD3DPS_VERSION(major, minor) ((VKD3D_SM1_PS << 16) | ((major) << 8) | (minor))
|
||||
#define VKD3DVS_VERSION(major, minor) ((VKD3D_SM1_VS << 16) | ((major) << 8) | (minor))
|
||||
|
||||
#define MAX_IMMEDIATE_CONSTANT_BUFFER_SIZE 4096
|
||||
#define MAX_REG_OUTPUT 32
|
||||
|
||||
|
@ -596,7 +517,6 @@ struct vkd3d_shader_dst_param
|
|||
struct vkd3d_shader_register reg;
|
||||
DWORD write_mask;
|
||||
DWORD modifiers;
|
||||
DWORD shift;
|
||||
};
|
||||
|
||||
struct vkd3d_shader_src_param
|
||||
|
@ -612,28 +532,8 @@ struct vkd3d_shader_index_range
|
|||
unsigned int register_count;
|
||||
};
|
||||
|
||||
enum vkd3d_decl_usage
|
||||
{
|
||||
VKD3D_DECL_USAGE_POSITION = 0,
|
||||
VKD3D_DECL_USAGE_BLEND_WEIGHT = 1,
|
||||
VKD3D_DECL_USAGE_BLEND_INDICES = 2,
|
||||
VKD3D_DECL_USAGE_NORMAL = 3,
|
||||
VKD3D_DECL_USAGE_PSIZE = 4,
|
||||
VKD3D_DECL_USAGE_TEXCOORD = 5,
|
||||
VKD3D_DECL_USAGE_TANGENT = 6,
|
||||
VKD3D_DECL_USAGE_BINORMAL = 7,
|
||||
VKD3D_DECL_USAGE_TESS_FACTOR = 8,
|
||||
VKD3D_DECL_USAGE_POSITIONT = 9,
|
||||
VKD3D_DECL_USAGE_COLOR = 10,
|
||||
VKD3D_DECL_USAGE_FOG = 11,
|
||||
VKD3D_DECL_USAGE_DEPTH = 12,
|
||||
VKD3D_DECL_USAGE_SAMPLE = 13
|
||||
};
|
||||
|
||||
struct vkd3d_shader_semantic
|
||||
{
|
||||
enum vkd3d_decl_usage usage;
|
||||
unsigned int usage_idx;
|
||||
enum vkd3d_shader_resource_type resource_type;
|
||||
enum vkd3d_data_type resource_data_type;
|
||||
struct vkd3d_shader_dst_param reg;
|
||||
|
|
Loading…
Reference in New Issue