dxbc_reader icon indicating copy to clipboard operation
dxbc_reader copied to clipboard

Semantic Translate Error

Open javelinlin opened this issue 3 years ago • 0 comments

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 : image

javelinlin avatar Jun 11 '22 08:06 javelinlin