aboutsummaryrefslogtreecommitdiff
path: root/disassembly/dwmcore_1040_10.asm
blob: 9a97684538a4926be9ac20c928cce3da012ef24e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.25.950.2675
//
//   using 3Dmigoto v1.3.16 on Wed Feb 09 18:55:49 2022
//
//
// Buffer Definitions:
//
// cbuffer cbVSUpdateEveryCall
// {
//
//   struct
//   {
//
//       struct
//       {
//
//           float4x4 mat4x4WorldViewTransform;// Offset:    0
//           float4x4 mat4x4WorldViewProjTransform;// Offset:   64
//
//       } Get3DTransforms_VS0_ConstantTable;// Offset:    0
//
//       struct
//       {
//
//           float4x2 mat3x2TextureTransform;// Offset:  128
//
//       } TransformVertexStageUV_VS1_ConstantTable;// Offset:  128
//
//       struct
//       {
//
//           float4x2 mat3x2TextureTransform;// Offset:  160
//
//       } TransformVertexStageUV_VS2_ConstantTable;// Offset:  160
//
//   } Data_VS;                         // Offset:    0 Size:   192
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// cbVSUpdateEveryCall               cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyz         0     NONE   float   xyz
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xy          2     NONE   float   xy
// TEXCOORD                 2   xy          3     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xy          2     NONE   float   xy
// TEXCOORD                 2     zw        2     NONE   float     zw
// TEXCOORD                 3   xyzw        3     NONE   float   xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer  Start Reg # of Regs        Data Conversion
// ---------- ------- --------- --------- ----------------------
// c1         cb0             4         8  ( FLT, FLT, FLT, FLT)
//
//
// Runtime generated constant mappings:
//
// Target Reg                               Constant Description
// ---------- --------------------------------------------------
// c0                              Vertex Shader position offset
//
//
// Level9 shader bytecode:
//
    vs_2_0
    def c9, 1, 0, 0, 0
    dcl_texcoord v0
    dcl_texcoord1 v1
    dcl_texcoord2 v2
    mad r0, v0.xyzx, c9.xxxy, c9.yyyx
    dp4 oPos.z, r0, c3
    mul r1.xy, v2, c5
    add r1.x, r1.y, r1.x
    add oT1.x, r1.x, c5.z
    mul r1.xy, v2, c6
    add r1.x, r1.y, r1.x
    add oT1.y, r1.x, c6.z
    mul r1.xy, v2, c7
    add r1.x, r1.y, r1.x
    add oT1.w, r1.x, c7.z
    mul r1.xy, v2, c8
    add r1.x, r1.y, r1.x
    add oT1.z, r1.x, c8.z
    dp4 r1.x, r0, c1
    dp4 r1.y, r0, c2
    dp4 r0.x, r0, c4
    mad oPos.xy, r0.x, c0, r1
    mov oPos.w, r0.x
    mov oT0, c9.y
    mov oT2, v1

// approximately 21 instruction slots used
vs_4_0
dcl_constantbuffer cb0[12], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_input v2.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xy
dcl_output o2.zw
dcl_output o3.xyzw
dcl_temps 1
mov r0.xyz, v0.xyzx
mov r0.w, l(1.000000)
dp4 o0.x, r0.xyzw, cb0[4].xyzw
dp4 o0.y, r0.xyzw, cb0[5].xyzw
dp4 o0.z, r0.xyzw, cb0[6].xyzw
dp4 o0.w, r0.xyzw, cb0[7].xyzw
mov o1.xyzw, l(0,0,0,0)
dp2 r0.x, v2.xyxx, cb0[8].xyxx
add o2.x, r0.x, cb0[8].z
dp2 r0.x, v2.xyxx, cb0[9].xyxx
add o2.y, r0.x, cb0[9].z
dp2 r0.x, v2.xyxx, cb0[10].xyxx
add o2.z, r0.x, cb0[10].z
dp2 r0.x, v2.xyxx, cb0[11].xyxx
add o2.w, r0.x, cb0[11].z
mov o3.xyzw, v1.xyzw
ret
// Approximately 17 instruction slots used