aboutsummaryrefslogtreecommitdiff
path: root/disassembly/dwmcore_2146_10.asm
blob: 66edebb6a500c47f96fe31c25976446eed1ae494 (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
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.25.950.2675
//
//   using 3Dmigoto v1.3.16 on Wed Feb 09 18:55:48 2022
//
//
// Buffer Definitions:
//
// cbuffer cbPSUpdateEveryCall
// {
//
//   struct
//   {
//
//       struct
//       {
//
//           float4x4 mat4x4;           // Offset:    0
//           float4 matRow4;            // Offset:   64
//
//       } TransformColor_PS2_ConstantTable;// Offset:    0
//
//   } Data_PS;                         // Offset:    0 Size:    80
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SampleTextureFromInterpolatorUV1_Sampler    sampler      NA          NA    0        1
// SampleTextureFromInterpolatorUV1_Sampler    texture  float4          2d    0        1
// cbPSUpdateEveryCall               cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// TEXCOORD                 0   xyzw        1     NONE   float
// TEXCOORD                 1   xy          2     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
//
// Constant buffer to DX9 shader constant mappings:
//
// Target Reg Buffer  Start Reg # of Regs        Data Conversion
// ---------- ------- --------- --------- ----------------------
// c0         cb0             0         5  ( FLT, FLT, FLT, FLT)
//
//
// Sampler/Resource to DX9 shader sampler mappings:
//
// Target Sampler Source Sampler  Source Resource
// -------------- --------------- ----------------
// s0             s0              t0
//
//
// Level9 shader bytecode:
//
    ps_2_0
    def c5, 2.4000001, 1, 0, 0
    def c6, 0.0404499993, 0.0773993805, 0.0549999997, 0.947867274
    dcl t1.xy
    dcl_2d s0
    texld r0, t1, s0
    add r0.w, r0.x, c6.z
    mul r0.w, r0.w, c6.w
    pow r1.w, r0.w, c5.x
    add r0.w, -r0.x, c6.x
    mul r0.x, r0.x, c6.y
    cmp r1.x, r0.w, r0.x, r1.w
    add r0.x, r0.y, c6.z
    mul r0.x, r0.x, c6.w
    pow r2.w, r0.x, c5.x
    add r0.x, -r0.y, c6.x
    mul r0.y, r0.y, c6.y
    cmp r1.y, r0.x, r0.y, r2.w
    add r0.x, r0.z, c6.z
    mul r0.x, r0.x, c6.w
    pow r2.x, r0.x, c5.x
    add r0.x, -r0.z, c6.x
    mul r0.y, r0.z, c6.y
    cmp r1.z, r0.x, r0.y, r2.x
    mov r1.w, c5.y
    dp4 r0.x, r1, c0
    dp4 r0.y, r1, c1
    dp4 r0.z, r1, c2
    dp4 r0.w, r1, c3
    add r0, r0, c4
    mov oC0, r0

// approximately 32 instruction slots used (1 texture, 31 arithmetic)
ps_4_0
dcl_constantbuffer cb0[5], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 3
sample r0.xyzw, v2.xyxx, t0.xyzw, s0
add r1.xyz, r0.xyzx, l(0.055000, 0.055000, 0.055000, 0.000000)
mul r1.xyz, r1.xyzx, l(0.947867274, 0.947867274, 0.947867274, 0.000000)
log r1.xyz, r1.xyzx
mul r1.xyz, r1.xyzx, l(2.400000, 2.400000, 2.400000, 0.000000)
exp r1.xyz, r1.xyzx
ge r2.xyz, l(0.040450, 0.040450, 0.040450, 0.000000), r0.xyzx
mul r0.xyz, r0.xyzx, l(0.0773993805, 0.0773993805, 0.0773993805, 0.000000)
movc r0.xyz, r2.xyzx, r0.xyzx, r1.xyzx
mov r0.w, l(1.000000)
dp4 r1.x, r0.xyzw, cb0[0].xyzw
dp4 r1.y, r0.xyzw, cb0[1].xyzw
dp4 r1.z, r0.xyzw, cb0[2].xyzw
dp4 r1.w, r0.xyzw, cb0[3].xyzw
add o0.xyzw, r1.xyzw, cb0[4].xyzw
ret
// Approximately 16 instruction slots used