dxbc_reader
dxbc_reader copied to clipboard
Semantic Translate Error
src DXBC file : vs.txt
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyz 0 NONE float xyz
// NORMAL 0 xyz 1 NONE float xyz
// TANGENT 0 xyzw 2 NONE float xyzw
// TEXCOORD 0 xy 3 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyz 1 NONE float xyz
// TEXCOORD 1 xyz 2 NONE float xyz
// TEXCOORD 2 xyzw 3 NONE float xyzw
// TEXCOORD 3 xy 4 NONE float xy
// TEXCOORD 4 xyz 5 NONE float xyz
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[66], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xyz
dcl_input v2.xyzw
dcl_input v3.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyz
dcl_output o2.xyz
dcl_output o3.xyzw
dcl_output o4.xy
dcl_output o5.xyz
dcl_temps 2
mul r0.xyz, v0.yyyy, cb0[37].xyzx
mad r0.xyz, cb0[36].xyzx, v0.xxxx, r0.xyzx
mad r0.xyz, cb0[38].xyzx, v0.zzzz, r0.xyzx
add r0.xyz, r0.xyzx, cb0[39].xyzx
mul r1.xyzw, r0.yyyy, cb0[63].xyzw
mad r1.xyzw, cb0[62].xyzw, r0.xxxx, r1.xyzw
mad r1.xyzw, cb0[64].xyzw, r0.zzzz, r1.xyzw
mov o1.xyz, r0.xyzx
add r0.xyzw, r1.xyzw, cb0[65].xyzw
mov o0.xyzw, r0.xyzw
mul r1.xyz, v1.yyyy, cb0[37].xyzx
mad r1.xyz, cb0[36].xyzx, v1.xxxx, r1.xyzx
mad o2.xyz, cb0[38].xyzx, v1.zzzz, r1.xyzx
mul r1.xyz, v2.yyyy, cb0[37].xyzx
mad r1.xyz, cb0[36].xyzx, v2.xxxx, r1.xyzx
mad o3.xyz, cb0[38].xyzx, v2.zzzz, r1.xyzx
mov o3.w, v2.w
mov o4.xy, v3.xyxx
mul r0.y, r0.y, cb0[10].x
mul r1.xzw, r0.xxwy, l(0.500000, 0.000000, 0.500000, 0.500000)
mov o5.z, r0.w
add o5.xy, r1.zzzz, r1.xwxx
ret
// Approximately 0 instruction slots used
after .\lua\lua.exe .\dxbc_reader.lua .\vs.txt -o vs.hlsl output the vs.hlsl, the content like below:
class INPUT {
POSITION;
NORMAL;
TANGENT;
TEXCOORD1;
}
class OUT {
SV_POSITION;
TEXCOORD1;
TEXCOORD2;
TEXCOORD3;
TEXCOORD4;
TEXCOORD5;
}
void main(INPUT in) {
r0.xyz = in.POSITION.yyy * cb0[37].xyz;
r0.xyz = cb0[36].xyz*in.POSITION.xxx + r0.xyz;
r0.xyz = cb0[38].xyz*in.POSITION.zzz + r0.xyz;
r0.xyz = r0.xyz + cb0[39].xyz;
r1.xyzw = r0.yyyy * cb0[63].xyzw;
r1.xyzw = cb0[62].xyzw*r0.xxxx + r1.xyzw;
r1.xyzw = cb0[64].xyzw*r0.zzzz + r1.xyzw;
out.TEXCOORD1.xyz = r0.xyz;
r0.xyzw = r1.xyzw + cb0[65].xyzw;
out.SV_POSITION.xyzw = r0.xyzw;
r1.xyz = in.NORMAL.yyy * cb0[37].xyz;
r1.xyz = cb0[36].xyz*in.NORMAL.xxx + r1.xyz;
out.TEXCOORD2.xyz = cb0[38].xyz*in.NORMAL.zzz + r1.xyz;
r1.xyz = in.TANGENT.yyy * cb0[37].xyz;
r1.xyz = cb0[36].xyz*in.TANGENT.xxx + r1.xyz;
out.TEXCOORD3.xyz = cb0[38].xyz*in.TANGENT.zzz + r1.xyz;
out.TEXCOORD3.w = in.TANGENT.w;
out.TEXCOORD4.xy = in.TEXCOORD3.xy;
r0.y = r0.y * cb0[10].x;
r1.xzw = r0.xwy * float3(0.5, 0.5, 0.5);
out.TEXCOORD5.z = r0.w;
out.TEXCOORD5.xy = r1.zz + r1.xw;
return;
}
the Semantic Translate Error like the areas of red which below pic :
