Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/windows/native/sun/java2d/d3d/D3DShaders.h
32288 views
1
/*
2
* Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
#if 0
26
//
27
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
28
//
29
// fxc /T ps_2_0 /Vn rescale0 /Fh tmp.h tmp.hlsl
30
//
31
//
32
// Parameters:
33
//
34
// sampler2D baseImage;
35
// float4 offsets;
36
// float4 scaleFactors;
37
//
38
//
39
// Registers:
40
//
41
// Name Reg Size
42
// ------------ ----- ----
43
// scaleFactors c0 1
44
// offsets c1 1
45
// baseImage s0 1
46
//
47
48
ps_2_0
49
dcl t0.xy
50
dcl v0
51
dcl_2d s0
52
texld r0, t0, s0
53
mov r1, c0
54
mad r0, r0, r1, c1
55
mul r0, r0, v0
56
mov oC0, r0
57
58
// approximately 5 instruction slots used (1 texture, 4 arithmetic)
59
#endif
60
61
const DWORD rescale0[] =
62
{
63
0xffff0200, 0x0036fffe, 0x42415443, 0x0000001c, 0x000000a0, 0xffff0200,
64
0x00000003, 0x0000001c, 0x20000100, 0x00000099, 0x00000058, 0x00000003,
65
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010002, 0x00060001,
66
0x0000007c, 0x00000000, 0x0000008c, 0x00000002, 0x00020001, 0x0000007c,
67
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
68
0x00000001, 0x00000000, 0x7366666f, 0x00737465, 0x00030001, 0x00040001,
69
0x00000001, 0x00000000, 0x6c616373, 0x63614665, 0x73726f74, 0x5f737000,
70
0x00305f32, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53,
71
0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39312e, 0x2e393439,
72
0x31313132, 0xababab00, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f,
73
0x80000000, 0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x03000042,
74
0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001, 0x800f0001, 0xa0e40000,
75
0x04000004, 0x800f0000, 0x80e40000, 0x80e40001, 0xa0e40001, 0x03000005,
76
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
77
0x0000ffff
78
};
79
#if 0
80
//
81
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
82
//
83
// fxc /T ps_2_0 /Vn rescale1 /Fh tmp.h tmp.hlsl
84
//
85
//
86
// Parameters:
87
//
88
// sampler2D baseImage;
89
// float4 offsets;
90
// float4 scaleFactors;
91
//
92
//
93
// Registers:
94
//
95
// Name Reg Size
96
// ------------ ----- ----
97
// scaleFactors c0 1
98
// offsets c1 1
99
// baseImage s0 1
100
//
101
102
ps_2_0
103
dcl t0.xy
104
dcl v0
105
dcl_2d s0
106
texld r0, t0, s0
107
rcp r1.w, r0.w
108
mul r0.xyz, r0, r1.w
109
mov r1, c0
110
mad r0, r0, r1, c1
111
mul r0.xyz, r0.w, r0
112
mul r0, r0, v0
113
mov oC0, r0
114
115
// approximately 8 instruction slots used (1 texture, 7 arithmetic)
116
#endif
117
118
const DWORD rescale1[] =
119
{
120
0xffff0200, 0x0036fffe, 0x42415443, 0x0000001c, 0x000000a0, 0xffff0200,
121
0x00000003, 0x0000001c, 0x20000100, 0x00000099, 0x00000058, 0x00000003,
122
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010002, 0x00060001,
123
0x0000007c, 0x00000000, 0x0000008c, 0x00000002, 0x00020001, 0x0000007c,
124
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
125
0x00000001, 0x00000000, 0x7366666f, 0x00737465, 0x00030001, 0x00040001,
126
0x00000001, 0x00000000, 0x6c616373, 0x63614665, 0x73726f74, 0x5f737000,
127
0x00305f32, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53,
128
0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39312e, 0x2e393439,
129
0x31313132, 0xababab00, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f,
130
0x80000000, 0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x03000042,
131
0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000006, 0x80080001, 0x80ff0000,
132
0x03000005, 0x80070000, 0x80e40000, 0x80ff0001, 0x02000001, 0x800f0001,
133
0xa0e40000, 0x04000004, 0x800f0000, 0x80e40000, 0x80e40001, 0xa0e40001,
134
0x03000005, 0x80070000, 0x80ff0000, 0x80e40000, 0x03000005, 0x800f0000,
135
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
136
};
137
const DWORD *rescaleShaders[] =
138
{
139
rescale0,
140
rescale1,
141
};
142
143
#if 0
144
//
145
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
146
//
147
// fxc /T ps_2_0 /Vn convolve0 /Fh tmp.h tmp.hlsl
148
//
149
//
150
// Parameters:
151
//
152
// sampler2D baseImage;
153
// float4 imgEdge;
154
// float3 kernelVals[9];
155
//
156
//
157
// Registers:
158
//
159
// Name Reg Size
160
// ------------ ----- ----
161
// imgEdge c0 1
162
// kernelVals c1 9
163
// baseImage s0 1
164
//
165
166
ps_2_0
167
def c10, 0, 1, 0, 0
168
dcl t0.xy
169
dcl v0
170
dcl_2d s0
171
add r0.xy, t0, c2
172
add r1.xy, t0, c1
173
add r2.xy, t0, c3
174
add r3.xy, t0, c4
175
add r4.xy, t0, c5
176
add r5.xy, t0, c6
177
add r6.xy, t0, c7
178
add r7.xy, t0, c8
179
add r8.xy, t0, c9
180
texld r0, r0, s0
181
texld r1, r1, s0
182
texld r2, r2, s0
183
texld r9, t0, s0
184
texld r3, r3, s0
185
texld r4, r4, s0
186
texld r5, r5, s0
187
texld r6, r6, s0
188
texld r7, r7, s0
189
texld r8, r8, s0
190
mul r0, r0, c2.z
191
mad r0, c1.z, r1, r0
192
mad r0, c3.z, r2, r0
193
mad r0, c4.z, r3, r0
194
mad r0, c5.z, r4, r0
195
mad r0, c6.z, r5, r0
196
mad r0, c7.z, r6, r0
197
mad r0, c8.z, r7, r0
198
mad r0, c9.z, r8, r0
199
mul r0, r0, v0
200
add r1.yw, -t0.y, c0
201
add r1.xz, -t0.x, c0
202
cmp r1.x, -r1.x, c10.x, c10.y
203
cmp r1.y, -r1.y, c10.x, c10.y
204
add r1.x, r1.x, r1.y
205
cmp r1.x, -r1.x, c10.x, c10.y
206
cmp r1.y, r1.z, c10.x, c10.y
207
cmp r1.z, r1.w, c10.x, c10.y
208
add r1.x, r1.x, r1.y
209
cmp r1.x, -r1.x, c10.x, c10.y
210
add r1.x, r1.z, r1.x
211
cmp r0, -r1.x, r0, r9
212
mov oC0, r0
213
214
// approximately 42 instruction slots used (10 texture, 32 arithmetic)
215
#endif
216
217
const DWORD convolve0[] =
218
{
219
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
220
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
221
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
222
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060009, 0x00000098,
223
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
224
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
225
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
226
0x00030001, 0x00000009, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
227
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
228
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
229
0xa00f000a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
230
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
231
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
232
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
233
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
234
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
235
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
236
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
237
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
238
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
239
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0009, 0xb0e40000, 0xa0e40800,
240
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
241
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
242
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
243
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
244
0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002, 0x04000004, 0x800f0000,
245
0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0003,
246
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0004, 0x80e40003,
247
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005, 0x80e40004, 0x80e40000,
248
0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005, 0x80e40000, 0x04000004,
249
0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
250
0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0009,
251
0x80e40008, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
252
0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000, 0x03000002, 0x80050001,
253
0xb1000000, 0xa0e40000, 0x04000058, 0x80010001, 0x81000001, 0xa000000a,
254
0xa055000a, 0x04000058, 0x80020001, 0x81550001, 0xa000000a, 0xa055000a,
255
0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001,
256
0x81000001, 0xa000000a, 0xa055000a, 0x04000058, 0x80020001, 0x80aa0001,
257
0xa000000a, 0xa055000a, 0x04000058, 0x80040001, 0x80ff0001, 0xa000000a,
258
0xa055000a, 0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058,
259
0x80010001, 0x81000001, 0xa000000a, 0xa055000a, 0x03000002, 0x80010001,
260
0x80aa0001, 0x80000001, 0x04000058, 0x800f0000, 0x81000001, 0x80e40000,
261
0x80e40009, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
262
};
263
#if 0
264
//
265
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
266
//
267
// fxc /T ps_2_0 /Vn convolve1 /Fh tmp.h tmp.hlsl
268
//
269
//
270
// Parameters:
271
//
272
// sampler2D baseImage;
273
// float4 imgEdge;
274
// float3 kernelVals[9];
275
//
276
//
277
// Registers:
278
//
279
// Name Reg Size
280
// ------------ ----- ----
281
// imgEdge c0 1
282
// kernelVals c1 9
283
// baseImage s0 1
284
//
285
286
ps_2_0
287
def c10, 0, 1, 0, 0
288
dcl t0.xy
289
dcl v0
290
dcl_2d s0
291
add r0.xy, t0, c2
292
add r1.xy, t0, c1
293
add r2.xy, t0, c3
294
add r3.xy, t0, c4
295
add r4.xy, t0, c5
296
add r5.xy, t0, c6
297
add r6.xy, t0, c7
298
add r7.xy, t0, c8
299
add r8.xy, t0, c9
300
texld r0, r0, s0
301
texld r1, r1, s0
302
texld r2, r2, s0
303
texld r3, r3, s0
304
texld r4, r4, s0
305
texld r5, r5, s0
306
texld r6, r6, s0
307
texld r7, r7, s0
308
texld r8, r8, s0
309
mul r0, r0, c2.z
310
mad r0, c1.z, r1, r0
311
mad r0, c3.z, r2, r0
312
mad r0, c4.z, r3, r0
313
mad r0, c5.z, r4, r0
314
mad r0, c6.z, r5, r0
315
mad r0, c7.z, r6, r0
316
mad r0, c8.z, r7, r0
317
mad r0, c9.z, r8, r0
318
mul r0, r0, v0
319
add r1.yw, -t0.y, c0
320
add r1.xz, -t0.x, c0
321
cmp r1.x, -r1.x, c10.x, c10.y
322
cmp r1.y, -r1.y, c10.x, c10.y
323
add r1.x, r1.x, r1.y
324
cmp r1.x, -r1.x, c10.x, c10.y
325
cmp r1.y, r1.z, c10.x, c10.y
326
cmp r1.z, r1.w, c10.x, c10.y
327
add r1.x, r1.x, r1.y
328
cmp r1.x, -r1.x, c10.x, c10.y
329
add r1.x, r1.z, r1.x
330
cmp r0, -r1.x, r0, c10.x
331
mov oC0, r0
332
333
// approximately 41 instruction slots used (9 texture, 32 arithmetic)
334
#endif
335
336
const DWORD convolve1[] =
337
{
338
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
339
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
340
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
341
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060009, 0x00000098,
342
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
343
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
344
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
345
0x00030001, 0x00000009, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
346
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
347
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
348
0xa00f000a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
349
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
350
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
351
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
352
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
353
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
354
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
355
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
356
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
357
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
358
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
359
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
360
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
361
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
362
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
363
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
364
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
365
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
366
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
367
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
368
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
369
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000005, 0x800f0000,
370
0x80e40000, 0x90e40000, 0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000,
371
0x03000002, 0x80050001, 0xb1000000, 0xa0e40000, 0x04000058, 0x80010001,
372
0x81000001, 0xa000000a, 0xa055000a, 0x04000058, 0x80020001, 0x81550001,
373
0xa000000a, 0xa055000a, 0x03000002, 0x80010001, 0x80000001, 0x80550001,
374
0x04000058, 0x80010001, 0x81000001, 0xa000000a, 0xa055000a, 0x04000058,
375
0x80020001, 0x80aa0001, 0xa000000a, 0xa055000a, 0x04000058, 0x80040001,
376
0x80ff0001, 0xa000000a, 0xa055000a, 0x03000002, 0x80010001, 0x80000001,
377
0x80550001, 0x04000058, 0x80010001, 0x81000001, 0xa000000a, 0xa055000a,
378
0x03000002, 0x80010001, 0x80aa0001, 0x80000001, 0x04000058, 0x800f0000,
379
0x81000001, 0x80e40000, 0xa000000a, 0x02000001, 0x800f0800, 0x80e40000,
380
0x0000ffff
381
};
382
#if 0
383
//
384
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
385
//
386
// fxc /T ps_2_0 /Vn convolve2 /Fh tmp.h tmp.hlsl
387
//
388
//
389
// Parameters:
390
//
391
// sampler2D baseImage;
392
// float4 imgEdge;
393
// float3 kernelVals[25];
394
//
395
//
396
// Registers:
397
//
398
// Name Reg Size
399
// ------------ ----- ----
400
// imgEdge c0 1
401
// kernelVals c1 25
402
// baseImage s0 1
403
//
404
405
ps_2_0
406
def c26, 0, 1, 0, 0
407
dcl t0.xy
408
dcl v0
409
dcl_2d s0
410
add r0.xy, t0, c2
411
add r1.xy, t0, c1
412
add r2.xy, t0, c3
413
add r3.xy, t0, c4
414
add r4.xy, t0, c5
415
add r5.xy, t0, c6
416
add r6.xy, t0, c7
417
add r7.xy, t0, c8
418
add r8.xy, t0, c9
419
texld r0, r0, s0
420
texld r1, r1, s0
421
texld r2, r2, s0
422
texld r3, r3, s0
423
texld r4, r4, s0
424
texld r5, r5, s0
425
texld r6, r6, s0
426
texld r7, r7, s0
427
texld r8, r8, s0
428
mul r0, r0, c2.z
429
mad r0, c1.z, r1, r0
430
mad r0, c3.z, r2, r0
431
mad r0, c4.z, r3, r0
432
mad r0, c5.z, r4, r0
433
mad r0, c6.z, r5, r0
434
mad r0, c7.z, r6, r0
435
mad r0, c8.z, r7, r0
436
mad r0, c9.z, r8, r0
437
add r1.xy, t0, c10
438
add r2.xy, t0, c11
439
add r3.xy, t0, c12
440
add r4.xy, t0, c13
441
add r5.xy, t0, c14
442
add r6.xy, t0, c15
443
add r7.xy, t0, c16
444
add r8.xy, t0, c17
445
add r9.xy, t0, c18
446
texld r1, r1, s0
447
texld r2, r2, s0
448
texld r3, r3, s0
449
texld r4, r4, s0
450
texld r5, r5, s0
451
texld r6, r6, s0
452
texld r7, r7, s0
453
texld r8, r8, s0
454
texld r9, r9, s0
455
mad r0, c10.z, r1, r0
456
mad r0, c11.z, r2, r0
457
mad r0, c12.z, r3, r0
458
mad r0, c13.z, r4, r0
459
mad r0, c14.z, r5, r0
460
mad r0, c15.z, r6, r0
461
mad r0, c16.z, r7, r0
462
mad r0, c17.z, r8, r0
463
mad r0, c18.z, r9, r0
464
add r1.xy, t0, c19
465
add r2.xy, t0, c20
466
add r3.xy, t0, c21
467
add r4.xy, t0, c22
468
add r5.xy, t0, c23
469
add r6.xy, t0, c24
470
add r7.xy, t0, c25
471
texld r1, r1, s0
472
texld r2, r2, s0
473
texld r3, r3, s0
474
texld r4, r4, s0
475
texld r5, r5, s0
476
texld r6, r6, s0
477
texld r7, r7, s0
478
texld r8, t0, s0
479
mad r0, c19.z, r1, r0
480
mad r0, c20.z, r2, r0
481
mad r0, c21.z, r3, r0
482
mad r0, c22.z, r4, r0
483
mad r0, c23.z, r5, r0
484
mad r0, c24.z, r6, r0
485
mad r0, c25.z, r7, r0
486
mul r0, r0, v0
487
add r1.yw, -t0.y, c0
488
add r1.xz, -t0.x, c0
489
cmp r1.x, -r1.x, c26.x, c26.y
490
cmp r1.y, -r1.y, c26.x, c26.y
491
add r1.x, r1.x, r1.y
492
cmp r1.x, -r1.x, c26.x, c26.y
493
cmp r1.y, r1.z, c26.x, c26.y
494
cmp r1.z, r1.w, c26.x, c26.y
495
add r1.x, r1.x, r1.y
496
cmp r1.x, -r1.x, c26.x, c26.y
497
add r1.x, r1.z, r1.x
498
cmp r0, -r1.x, r0, r8
499
mov oC0, r0
500
501
// approximately 90 instruction slots used (26 texture, 64 arithmetic)
502
#endif
503
504
const DWORD convolve2[] =
505
{
506
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
507
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
508
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
509
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060019, 0x00000098,
510
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
511
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
512
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
513
0x00030001, 0x00000019, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
514
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
515
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
516
0xa00f001a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
517
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
518
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
519
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
520
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
521
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
522
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
523
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
524
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
525
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
526
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
527
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
528
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
529
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
530
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
531
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
532
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
533
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
534
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
535
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
536
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
537
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000002, 0x80030001,
538
0xb0e40000, 0xa0e4000a, 0x03000002, 0x80030002, 0xb0e40000, 0xa0e4000b,
539
0x03000002, 0x80030003, 0xb0e40000, 0xa0e4000c, 0x03000002, 0x80030004,
540
0xb0e40000, 0xa0e4000d, 0x03000002, 0x80030005, 0xb0e40000, 0xa0e4000e,
541
0x03000002, 0x80030006, 0xb0e40000, 0xa0e4000f, 0x03000002, 0x80030007,
542
0xb0e40000, 0xa0e40010, 0x03000002, 0x80030008, 0xb0e40000, 0xa0e40011,
543
0x03000002, 0x80030009, 0xb0e40000, 0xa0e40012, 0x03000042, 0x800f0001,
544
0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
545
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
546
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
547
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
548
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
549
0x03000042, 0x800f0009, 0x80e40009, 0xa0e40800, 0x04000004, 0x800f0000,
550
0xa0aa000a, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000b,
551
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000c, 0x80e40003,
552
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000d, 0x80e40004, 0x80e40000,
553
0x04000004, 0x800f0000, 0xa0aa000e, 0x80e40005, 0x80e40000, 0x04000004,
554
0x800f0000, 0xa0aa000f, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
555
0xa0aa0010, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0011,
556
0x80e40008, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0012, 0x80e40009,
557
0x80e40000, 0x03000002, 0x80030001, 0xb0e40000, 0xa0e40013, 0x03000002,
558
0x80030002, 0xb0e40000, 0xa0e40014, 0x03000002, 0x80030003, 0xb0e40000,
559
0xa0e40015, 0x03000002, 0x80030004, 0xb0e40000, 0xa0e40016, 0x03000002,
560
0x80030005, 0xb0e40000, 0xa0e40017, 0x03000002, 0x80030006, 0xb0e40000,
561
0xa0e40018, 0x03000002, 0x80030007, 0xb0e40000, 0xa0e40019, 0x03000042,
562
0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
563
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042,
564
0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005,
565
0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042,
566
0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0xb0e40000,
567
0xa0e40800, 0x04000004, 0x800f0000, 0xa0aa0013, 0x80e40001, 0x80e40000,
568
0x04000004, 0x800f0000, 0xa0aa0014, 0x80e40002, 0x80e40000, 0x04000004,
569
0x800f0000, 0xa0aa0015, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000,
570
0xa0aa0016, 0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0017,
571
0x80e40005, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0018, 0x80e40006,
572
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0019, 0x80e40007, 0x80e40000,
573
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x03000002, 0x800a0001,
574
0xb1550000, 0xa0e40000, 0x03000002, 0x80050001, 0xb1000000, 0xa0e40000,
575
0x04000058, 0x80010001, 0x81000001, 0xa000001a, 0xa055001a, 0x04000058,
576
0x80020001, 0x81550001, 0xa000001a, 0xa055001a, 0x03000002, 0x80010001,
577
0x80000001, 0x80550001, 0x04000058, 0x80010001, 0x81000001, 0xa000001a,
578
0xa055001a, 0x04000058, 0x80020001, 0x80aa0001, 0xa000001a, 0xa055001a,
579
0x04000058, 0x80040001, 0x80ff0001, 0xa000001a, 0xa055001a, 0x03000002,
580
0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001, 0x81000001,
581
0xa000001a, 0xa055001a, 0x03000002, 0x80010001, 0x80aa0001, 0x80000001,
582
0x04000058, 0x800f0000, 0x81000001, 0x80e40000, 0x80e40008, 0x02000001,
583
0x800f0800, 0x80e40000, 0x0000ffff
584
};
585
#if 0
586
//
587
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
588
//
589
// fxc /T ps_2_0 /Vn convolve3 /Fh tmp.h tmp.hlsl
590
//
591
//
592
// Parameters:
593
//
594
// sampler2D baseImage;
595
// float4 imgEdge;
596
// float3 kernelVals[25];
597
//
598
//
599
// Registers:
600
//
601
// Name Reg Size
602
// ------------ ----- ----
603
// imgEdge c0 1
604
// kernelVals c1 25
605
// baseImage s0 1
606
//
607
608
ps_2_0
609
def c26, 0, 1, 0, 0
610
dcl t0.xy
611
dcl v0
612
dcl_2d s0
613
add r0.xy, t0, c2
614
add r1.xy, t0, c1
615
add r2.xy, t0, c3
616
add r3.xy, t0, c4
617
add r4.xy, t0, c5
618
add r5.xy, t0, c6
619
add r6.xy, t0, c7
620
add r7.xy, t0, c8
621
add r8.xy, t0, c9
622
texld r0, r0, s0
623
texld r1, r1, s0
624
texld r2, r2, s0
625
texld r3, r3, s0
626
texld r4, r4, s0
627
texld r5, r5, s0
628
texld r6, r6, s0
629
texld r7, r7, s0
630
texld r8, r8, s0
631
mul r0, r0, c2.z
632
mad r0, c1.z, r1, r0
633
mad r0, c3.z, r2, r0
634
mad r0, c4.z, r3, r0
635
mad r0, c5.z, r4, r0
636
mad r0, c6.z, r5, r0
637
mad r0, c7.z, r6, r0
638
mad r0, c8.z, r7, r0
639
mad r0, c9.z, r8, r0
640
add r1.xy, t0, c10
641
add r2.xy, t0, c11
642
add r3.xy, t0, c12
643
add r4.xy, t0, c13
644
add r5.xy, t0, c14
645
add r6.xy, t0, c15
646
add r7.xy, t0, c16
647
add r8.xy, t0, c17
648
add r9.xy, t0, c18
649
texld r1, r1, s0
650
texld r2, r2, s0
651
texld r3, r3, s0
652
texld r4, r4, s0
653
texld r5, r5, s0
654
texld r6, r6, s0
655
texld r7, r7, s0
656
texld r8, r8, s0
657
texld r9, r9, s0
658
mad r0, c10.z, r1, r0
659
mad r0, c11.z, r2, r0
660
mad r0, c12.z, r3, r0
661
mad r0, c13.z, r4, r0
662
mad r0, c14.z, r5, r0
663
mad r0, c15.z, r6, r0
664
mad r0, c16.z, r7, r0
665
mad r0, c17.z, r8, r0
666
mad r0, c18.z, r9, r0
667
add r1.xy, t0, c19
668
add r2.xy, t0, c20
669
add r3.xy, t0, c21
670
add r4.xy, t0, c22
671
add r5.xy, t0, c23
672
add r6.xy, t0, c24
673
add r7.xy, t0, c25
674
texld r1, r1, s0
675
texld r2, r2, s0
676
texld r3, r3, s0
677
texld r4, r4, s0
678
texld r5, r5, s0
679
texld r6, r6, s0
680
texld r7, r7, s0
681
mad r0, c19.z, r1, r0
682
mad r0, c20.z, r2, r0
683
mad r0, c21.z, r3, r0
684
mad r0, c22.z, r4, r0
685
mad r0, c23.z, r5, r0
686
mad r0, c24.z, r6, r0
687
mad r0, c25.z, r7, r0
688
mul r0, r0, v0
689
add r1.yw, -t0.y, c0
690
add r1.xz, -t0.x, c0
691
cmp r1.x, -r1.x, c26.x, c26.y
692
cmp r1.y, -r1.y, c26.x, c26.y
693
add r1.x, r1.x, r1.y
694
cmp r1.x, -r1.x, c26.x, c26.y
695
cmp r1.y, r1.z, c26.x, c26.y
696
cmp r1.z, r1.w, c26.x, c26.y
697
add r1.x, r1.x, r1.y
698
cmp r1.x, -r1.x, c26.x, c26.y
699
add r1.x, r1.z, r1.x
700
cmp r0, -r1.x, r0, c26.x
701
mov oC0, r0
702
703
// approximately 89 instruction slots used (25 texture, 64 arithmetic)
704
#endif
705
706
const DWORD convolve3[] =
707
{
708
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
709
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
710
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
711
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060019, 0x00000098,
712
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
713
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
714
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
715
0x00030001, 0x00000019, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
716
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
717
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
718
0xa00f001a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
719
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
720
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
721
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
722
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
723
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
724
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
725
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
726
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
727
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
728
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
729
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
730
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
731
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
732
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
733
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
734
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
735
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
736
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
737
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
738
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
739
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000002, 0x80030001,
740
0xb0e40000, 0xa0e4000a, 0x03000002, 0x80030002, 0xb0e40000, 0xa0e4000b,
741
0x03000002, 0x80030003, 0xb0e40000, 0xa0e4000c, 0x03000002, 0x80030004,
742
0xb0e40000, 0xa0e4000d, 0x03000002, 0x80030005, 0xb0e40000, 0xa0e4000e,
743
0x03000002, 0x80030006, 0xb0e40000, 0xa0e4000f, 0x03000002, 0x80030007,
744
0xb0e40000, 0xa0e40010, 0x03000002, 0x80030008, 0xb0e40000, 0xa0e40011,
745
0x03000002, 0x80030009, 0xb0e40000, 0xa0e40012, 0x03000042, 0x800f0001,
746
0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
747
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
748
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
749
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
750
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
751
0x03000042, 0x800f0009, 0x80e40009, 0xa0e40800, 0x04000004, 0x800f0000,
752
0xa0aa000a, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000b,
753
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000c, 0x80e40003,
754
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000d, 0x80e40004, 0x80e40000,
755
0x04000004, 0x800f0000, 0xa0aa000e, 0x80e40005, 0x80e40000, 0x04000004,
756
0x800f0000, 0xa0aa000f, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
757
0xa0aa0010, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0011,
758
0x80e40008, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0012, 0x80e40009,
759
0x80e40000, 0x03000002, 0x80030001, 0xb0e40000, 0xa0e40013, 0x03000002,
760
0x80030002, 0xb0e40000, 0xa0e40014, 0x03000002, 0x80030003, 0xb0e40000,
761
0xa0e40015, 0x03000002, 0x80030004, 0xb0e40000, 0xa0e40016, 0x03000002,
762
0x80030005, 0xb0e40000, 0xa0e40017, 0x03000002, 0x80030006, 0xb0e40000,
763
0xa0e40018, 0x03000002, 0x80030007, 0xb0e40000, 0xa0e40019, 0x03000042,
764
0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
765
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042,
766
0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005,
767
0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042,
768
0x800f0007, 0x80e40007, 0xa0e40800, 0x04000004, 0x800f0000, 0xa0aa0013,
769
0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0014, 0x80e40002,
770
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0015, 0x80e40003, 0x80e40000,
771
0x04000004, 0x800f0000, 0xa0aa0016, 0x80e40004, 0x80e40000, 0x04000004,
772
0x800f0000, 0xa0aa0017, 0x80e40005, 0x80e40000, 0x04000004, 0x800f0000,
773
0xa0aa0018, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0019,
774
0x80e40007, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
775
0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000, 0x03000002, 0x80050001,
776
0xb1000000, 0xa0e40000, 0x04000058, 0x80010001, 0x81000001, 0xa000001a,
777
0xa055001a, 0x04000058, 0x80020001, 0x81550001, 0xa000001a, 0xa055001a,
778
0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001,
779
0x81000001, 0xa000001a, 0xa055001a, 0x04000058, 0x80020001, 0x80aa0001,
780
0xa000001a, 0xa055001a, 0x04000058, 0x80040001, 0x80ff0001, 0xa000001a,
781
0xa055001a, 0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058,
782
0x80010001, 0x81000001, 0xa000001a, 0xa055001a, 0x03000002, 0x80010001,
783
0x80aa0001, 0x80000001, 0x04000058, 0x800f0000, 0x81000001, 0x80e40000,
784
0xa000001a, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
785
};
786
const DWORD *convolveShaders[] =
787
{
788
convolve0,
789
convolve1,
790
convolve2,
791
convolve3,
792
};
793
794
#if 0
795
//
796
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
797
//
798
// fxc /T ps_2_0 /Vn lookup0 /Fh tmp.h tmp.hlsl
799
//
800
//
801
// Parameters:
802
//
803
// sampler2D baseImage;
804
// sampler2D lookupTable;
805
// float4 offset;
806
//
807
//
808
// Registers:
809
//
810
// Name Reg Size
811
// ------------ ----- ----
812
// offset c0 1
813
// baseImage s0 1
814
// lookupTable s1 1
815
//
816
817
ps_2_0
818
def c1, 0.125, 0.375, 0.625, 0.875
819
dcl t0.xy
820
dcl v0
821
dcl_2d s0
822
dcl_2d s1
823
texld r0, t0, s0
824
mov r1.y, c1.x
825
add r0, r0, -c0
826
mov r1.x, r0.x
827
mov r0.x, r0.y
828
mov r0.y, c1.y
829
mov r2.x, r0.z
830
mov r3.x, r0.w
831
mov r2.y, c1.z
832
mov r3.y, c1.w
833
texld r1, r1, s1
834
texld r0, r0, s1
835
texld r2, r2, s1
836
texld r3, r3, s1
837
mov r1.y, r0.x
838
mov r1.z, r2.x
839
mov r1.w, r3.x
840
mul r0, r1, v0
841
mov oC0, r0
842
843
// approximately 19 instruction slots used (5 texture, 14 arithmetic)
844
#endif
845
846
const DWORD lookup0[] =
847
{
848
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
849
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
850
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
851
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
852
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
853
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
854
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
855
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
856
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
857
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
858
0x3f600000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
859
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
860
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
861
0x80020001, 0xa0000001, 0x03000002, 0x800f0000, 0x80e40000, 0xa1e40000,
862
0x02000001, 0x80010001, 0x80000000, 0x02000001, 0x80010000, 0x80550000,
863
0x02000001, 0x80020000, 0xa0550001, 0x02000001, 0x80010002, 0x80aa0000,
864
0x02000001, 0x80010003, 0x80ff0000, 0x02000001, 0x80020002, 0xa0aa0001,
865
0x02000001, 0x80020003, 0xa0ff0001, 0x03000042, 0x800f0001, 0x80e40001,
866
0xa0e40801, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40801, 0x03000042,
867
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
868
0xa0e40801, 0x02000001, 0x80020001, 0x80000000, 0x02000001, 0x80040001,
869
0x80000002, 0x02000001, 0x80080001, 0x80000003, 0x03000005, 0x800f0000,
870
0x80e40001, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
871
};
872
#if 0
873
//
874
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
875
//
876
// fxc /T ps_2_0 /Vn lookup1 /Fh tmp.h tmp.hlsl
877
//
878
//
879
// Parameters:
880
//
881
// sampler2D baseImage;
882
// sampler2D lookupTable;
883
// float4 offset;
884
//
885
//
886
// Registers:
887
//
888
// Name Reg Size
889
// ------------ ----- ----
890
// offset c0 1
891
// baseImage s0 1
892
// lookupTable s1 1
893
//
894
895
ps_2_0
896
def c1, 0.125, 0.375, 0.625, 0
897
dcl t0.xy
898
dcl v0
899
dcl_2d s0
900
dcl_2d s1
901
texld r0, t0, s0
902
mov r1.y, c1.x
903
add r2.xyz, r0, -c0
904
mov r1.x, r2.x
905
mov r2.x, r2.y
906
mov r3.x, r2.z
907
mov r2.y, c1.y
908
mov r3.y, c1.z
909
texld r1, r1, s1
910
texld r2, r2, s1
911
texld r3, r3, s1
912
mov r0.x, r1.x
913
mov r0.y, r2.x
914
mov r0.z, r3.x
915
mul r0, r0, v0
916
mov oC0, r0
917
918
// approximately 16 instruction slots used (4 texture, 12 arithmetic)
919
#endif
920
921
const DWORD lookup1[] =
922
{
923
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
924
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
925
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
926
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
927
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
928
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
929
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
930
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
931
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
932
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
933
0x00000000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
934
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
935
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
936
0x80020001, 0xa0000001, 0x03000002, 0x80070002, 0x80e40000, 0xa1e40000,
937
0x02000001, 0x80010001, 0x80000002, 0x02000001, 0x80010002, 0x80550002,
938
0x02000001, 0x80010003, 0x80aa0002, 0x02000001, 0x80020002, 0xa0550001,
939
0x02000001, 0x80020003, 0xa0aa0001, 0x03000042, 0x800f0001, 0x80e40001,
940
0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
941
0x800f0003, 0x80e40003, 0xa0e40801, 0x02000001, 0x80010000, 0x80000001,
942
0x02000001, 0x80020000, 0x80000002, 0x02000001, 0x80040000, 0x80000003,
943
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
944
0x80e40000, 0x0000ffff
945
};
946
#if 0
947
//
948
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
949
//
950
// fxc /T ps_2_0 /Vn lookup2 /Fh tmp.h tmp.hlsl
951
//
952
//
953
// Parameters:
954
//
955
// sampler2D baseImage;
956
// sampler2D lookupTable;
957
// float4 offset;
958
//
959
//
960
// Registers:
961
//
962
// Name Reg Size
963
// ------------ ----- ----
964
// offset c0 1
965
// baseImage s0 1
966
// lookupTable s1 1
967
//
968
969
ps_2_0
970
def c1, 0.125, 0.375, 0.625, 0.875
971
dcl t0.xy
972
dcl v0
973
dcl_2d s0
974
dcl_2d s1
975
texld r0, t0, s0
976
mov r1.y, c1.x
977
rcp r1.z, r0.w
978
mul r0.xyz, r0, r1.z
979
add r0, r0, -c0
980
mov r1.x, r0.x
981
mov r0.x, r0.y
982
mov r0.y, c1.y
983
mov r2.x, r0.z
984
mov r3.x, r0.w
985
mov r2.y, c1.z
986
mov r3.y, c1.w
987
texld r1, r1, s1
988
texld r0, r0, s1
989
texld r2, r2, s1
990
texld r3, r3, s1
991
mov r1.y, r0.x
992
mov r1.z, r2.x
993
mul r0.xyz, r3.x, r1
994
mov r0.w, r3.x
995
mul r0, r0, v0
996
mov oC0, r0
997
998
// approximately 22 instruction slots used (5 texture, 17 arithmetic)
999
#endif
1000
1001
const DWORD lookup2[] =
1002
{
1003
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
1004
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
1005
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
1006
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
1007
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
1008
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
1009
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
1010
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
1011
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
1012
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
1013
0x3f600000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
1014
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
1015
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
1016
0x80020001, 0xa0000001, 0x02000006, 0x80040001, 0x80ff0000, 0x03000005,
1017
0x80070000, 0x80e40000, 0x80aa0001, 0x03000002, 0x800f0000, 0x80e40000,
1018
0xa1e40000, 0x02000001, 0x80010001, 0x80000000, 0x02000001, 0x80010000,
1019
0x80550000, 0x02000001, 0x80020000, 0xa0550001, 0x02000001, 0x80010002,
1020
0x80aa0000, 0x02000001, 0x80010003, 0x80ff0000, 0x02000001, 0x80020002,
1021
0xa0aa0001, 0x02000001, 0x80020003, 0xa0ff0001, 0x03000042, 0x800f0001,
1022
0x80e40001, 0xa0e40801, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40801,
1023
0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003,
1024
0x80e40003, 0xa0e40801, 0x02000001, 0x80020001, 0x80000000, 0x02000001,
1025
0x80040001, 0x80000002, 0x03000005, 0x80070000, 0x80000003, 0x80e40001,
1026
0x02000001, 0x80080000, 0x80000003, 0x03000005, 0x800f0000, 0x80e40000,
1027
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1028
};
1029
#if 0
1030
//
1031
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1032
//
1033
// fxc /T ps_2_0 /Vn lookup3 /Fh tmp.h tmp.hlsl
1034
//
1035
//
1036
// Parameters:
1037
//
1038
// sampler2D baseImage;
1039
// sampler2D lookupTable;
1040
// float4 offset;
1041
//
1042
//
1043
// Registers:
1044
//
1045
// Name Reg Size
1046
// ------------ ----- ----
1047
// offset c0 1
1048
// baseImage s0 1
1049
// lookupTable s1 1
1050
//
1051
1052
ps_2_0
1053
def c1, 0.125, 0.375, 0.625, 0
1054
dcl t0.xy
1055
dcl v0
1056
dcl_2d s0
1057
dcl_2d s1
1058
texld r0, t0, s0
1059
mov r1.y, c1.x
1060
rcp r1.z, r0.w
1061
mad r2.xyz, r0, r1.z, -c0
1062
mov r1.x, r2.x
1063
mov r3.y, c1.y
1064
mov r3.x, r2.y
1065
mov r2.x, r2.z
1066
mov r2.y, c1.z
1067
texld r1, r1, s1
1068
texld r3, r3, s1
1069
texld r2, r2, s1
1070
mov r1.y, r3.x
1071
mov r1.z, r2.x
1072
mul r0.xyz, r0.w, r1
1073
mul r0, r0, v0
1074
mov oC0, r0
1075
1076
// approximately 17 instruction slots used (4 texture, 13 arithmetic)
1077
#endif
1078
1079
const DWORD lookup3[] =
1080
{
1081
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
1082
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
1083
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
1084
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
1085
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
1086
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
1087
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
1088
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
1089
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
1090
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
1091
0x00000000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
1092
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
1093
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
1094
0x80020001, 0xa0000001, 0x02000006, 0x80040001, 0x80ff0000, 0x04000004,
1095
0x80070002, 0x80e40000, 0x80aa0001, 0xa1e40000, 0x02000001, 0x80010001,
1096
0x80000002, 0x02000001, 0x80020003, 0xa0550001, 0x02000001, 0x80010003,
1097
0x80550002, 0x02000001, 0x80010002, 0x80aa0002, 0x02000001, 0x80020002,
1098
0xa0aa0001, 0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042,
1099
0x800f0003, 0x80e40003, 0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002,
1100
0xa0e40801, 0x02000001, 0x80020001, 0x80000003, 0x02000001, 0x80040001,
1101
0x80000002, 0x03000005, 0x80070000, 0x80ff0000, 0x80e40001, 0x03000005,
1102
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
1103
0x0000ffff
1104
};
1105
const DWORD *lookupShaders[] =
1106
{
1107
lookup0,
1108
lookup1,
1109
lookup2,
1110
lookup3,
1111
};
1112
1113
#if 0
1114
//
1115
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1116
//
1117
// fxc /T ps_2_0 /Vn grad0 /Fh tmp.h tmp.hlsl
1118
//
1119
//
1120
// Parameters:
1121
//
1122
// float4 color1;
1123
// float4 color2;
1124
// float3 params;
1125
//
1126
//
1127
// Registers:
1128
//
1129
// Name Reg Size
1130
// ------------ ----- ----
1131
// params c0 1
1132
// color1 c1 1
1133
// color2 c2 1
1134
//
1135
1136
ps_2_0
1137
def c3, 1, -0.25, 0, 0
1138
dcl t0.xy
1139
dcl v0
1140
mov r0.xy, t0
1141
mov r0.z, c3.x
1142
dp3 r0.x, c0, r0
1143
add r0.x, r0.x, c3.y
1144
add_sat r0.x, r0.x, r0.x
1145
mov r1, c1
1146
add r1, -r1, c2
1147
mad r0, r0.x, r1, c1
1148
mul r0, r0, v0
1149
mov oC0, r0
1150
1151
// approximately 10 instruction slots used
1152
#endif
1153
1154
const DWORD grad0[] =
1155
{
1156
0xffff0200, 0x0033fffe, 0x42415443, 0x0000001c, 0x00000097, 0xffff0200,
1157
0x00000003, 0x0000001c, 0x20000100, 0x00000090, 0x00000058, 0x00010002,
1158
0x00060001, 0x00000060, 0x00000000, 0x00000070, 0x00020002, 0x000a0001,
1159
0x00000060, 0x00000000, 0x00000077, 0x00000002, 0x00020001, 0x00000080,
1160
0x00000000, 0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001,
1161
0x00000000, 0x6f6c6f63, 0x70003272, 0x6d617261, 0xabab0073, 0x00030001,
1162
0x00030001, 0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
1163
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
1164
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
1165
0xa00f0003, 0x3f800000, 0xbe800000, 0x00000000, 0x00000000, 0x0200001f,
1166
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x02000001,
1167
0x80030000, 0xb0e40000, 0x02000001, 0x80040000, 0xa0000003, 0x03000008,
1168
0x80010000, 0xa0e40000, 0x80e40000, 0x03000002, 0x80010000, 0x80000000,
1169
0xa0550003, 0x03000002, 0x80110000, 0x80000000, 0x80000000, 0x02000001,
1170
0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001, 0xa0e40002,
1171
0x04000004, 0x800f0000, 0x80000000, 0x80e40001, 0xa0e40001, 0x03000005,
1172
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
1173
0x0000ffff
1174
};
1175
#if 0
1176
//
1177
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1178
//
1179
// fxc /T ps_2_0 /Vn grad1 /Fh tmp.h tmp.hlsl
1180
//
1181
//
1182
// Parameters:
1183
//
1184
// float4 color1;
1185
// float4 color2;
1186
// float3 params;
1187
//
1188
//
1189
// Registers:
1190
//
1191
// Name Reg Size
1192
// ------------ ----- ----
1193
// params c0 1
1194
// color1 c1 1
1195
// color2 c2 1
1196
//
1197
1198
ps_2_0
1199
def c3, 1, -0.25, -0.5, 2
1200
dcl t0.xy
1201
dcl v0
1202
mov r0.xy, t0
1203
mov r0.z, c3.x
1204
dp3 r0.x, c0, r0
1205
add r0.x, r0.x, c3.y
1206
frc r0.x, r0.x
1207
add r0.x, r0.x, c3.z
1208
abs r0.x, r0.x
1209
mad r0.x, r0.x, -c3.w, c3.x
1210
mov r1, c1
1211
add r1, -r1, c2
1212
mad r0, r0.x, r1, c1
1213
mul r0, r0, v0
1214
mov oC0, r0
1215
1216
// approximately 13 instruction slots used
1217
#endif
1218
1219
const DWORD grad1[] =
1220
{
1221
0xffff0200, 0x0033fffe, 0x42415443, 0x0000001c, 0x00000097, 0xffff0200,
1222
0x00000003, 0x0000001c, 0x20000100, 0x00000090, 0x00000058, 0x00010002,
1223
0x00060001, 0x00000060, 0x00000000, 0x00000070, 0x00020002, 0x000a0001,
1224
0x00000060, 0x00000000, 0x00000077, 0x00000002, 0x00020001, 0x00000080,
1225
0x00000000, 0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001,
1226
0x00000000, 0x6f6c6f63, 0x70003272, 0x6d617261, 0xabab0073, 0x00030001,
1227
0x00030001, 0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
1228
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
1229
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
1230
0xa00f0003, 0x3f800000, 0xbe800000, 0xbf000000, 0x40000000, 0x0200001f,
1231
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x02000001,
1232
0x80030000, 0xb0e40000, 0x02000001, 0x80040000, 0xa0000003, 0x03000008,
1233
0x80010000, 0xa0e40000, 0x80e40000, 0x03000002, 0x80010000, 0x80000000,
1234
0xa0550003, 0x02000013, 0x80010000, 0x80000000, 0x03000002, 0x80010000,
1235
0x80000000, 0xa0aa0003, 0x02000023, 0x80010000, 0x80000000, 0x04000004,
1236
0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003, 0x02000001, 0x800f0001,
1237
0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001, 0xa0e40002, 0x04000004,
1238
0x800f0000, 0x80000000, 0x80e40001, 0xa0e40001, 0x03000005, 0x800f0000,
1239
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1240
};
1241
#if 0
1242
//
1243
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1244
//
1245
// fxc /T ps_2_0 /Vn grad2 /Fh tmp.h tmp.hlsl
1246
//
1247
//
1248
// Parameters:
1249
//
1250
// float4 color1;
1251
// float4 color2;
1252
// sampler2D mask;
1253
// float3 params;
1254
//
1255
//
1256
// Registers:
1257
//
1258
// Name Reg Size
1259
// ------------ ----- ----
1260
// params c0 1
1261
// color1 c1 1
1262
// color2 c2 1
1263
// mask s0 1
1264
//
1265
1266
ps_2_0
1267
def c3, 1, -0.25, 0, 0
1268
dcl t0.xy
1269
dcl t1.xy
1270
dcl v0
1271
dcl_2d s0
1272
texld r0, t0, s0
1273
mov r0.xy, t1
1274
mov r0.z, c3.x
1275
dp3 r0.x, c0, r0
1276
add r0.x, r0.x, c3.y
1277
add_sat r0.x, r0.x, r0.x
1278
mov r1, c1
1279
add r1, -r1, c2
1280
mad r1, r0.x, r1, c1
1281
mul r0, r0.w, r1
1282
mul r0, r0, v0
1283
mov oC0, r0
1284
1285
// approximately 12 instruction slots used (1 texture, 11 arithmetic)
1286
#endif
1287
1288
const DWORD grad2[] =
1289
{
1290
0xffff0200, 0x003dfffe, 0x42415443, 0x0000001c, 0x000000bf, 0xffff0200,
1291
0x00000004, 0x0000001c, 0x20000100, 0x000000b8, 0x0000006c, 0x00010002,
1292
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00020002, 0x000a0001,
1293
0x00000074, 0x00000000, 0x0000008b, 0x00000003, 0x00020001, 0x00000090,
1294
0x00000000, 0x000000a0, 0x00000002, 0x00020001, 0x000000a8, 0x00000000,
1295
0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001, 0x00000000,
1296
0x6f6c6f63, 0x6d003272, 0x006b7361, 0x000c0004, 0x00010001, 0x00000001,
1297
0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001, 0x00000001,
1298
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
1299
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072,
1300
0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003, 0x3f800000,
1301
0xbe800000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000, 0xb0030000,
1302
0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000, 0x900f0000,
1303
0x0200001f, 0x90000000, 0xa00f0800, 0x03000042, 0x800f0000, 0xb0e40000,
1304
0xa0e40800, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
1305
0xa0000003, 0x03000008, 0x80010000, 0xa0e40000, 0x80e40000, 0x03000002,
1306
0x80010000, 0x80000000, 0xa0550003, 0x03000002, 0x80110000, 0x80000000,
1307
0x80000000, 0x02000001, 0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001,
1308
0x81e40001, 0xa0e40002, 0x04000004, 0x800f0001, 0x80000000, 0x80e40001,
1309
0xa0e40001, 0x03000005, 0x800f0000, 0x80ff0000, 0x80e40001, 0x03000005,
1310
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
1311
0x0000ffff
1312
};
1313
#if 0
1314
//
1315
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1316
//
1317
// fxc /T ps_2_0 /Vn grad3 /Fh tmp.h tmp.hlsl
1318
//
1319
//
1320
// Parameters:
1321
//
1322
// float4 color1;
1323
// float4 color2;
1324
// sampler2D mask;
1325
// float3 params;
1326
//
1327
//
1328
// Registers:
1329
//
1330
// Name Reg Size
1331
// ------------ ----- ----
1332
// params c0 1
1333
// color1 c1 1
1334
// color2 c2 1
1335
// mask s0 1
1336
//
1337
1338
ps_2_0
1339
def c3, 1, -0.25, -0.5, 2
1340
dcl t0.xy
1341
dcl t1.xy
1342
dcl v0
1343
dcl_2d s0
1344
texld r0, t0, s0
1345
mov r0.xy, t1
1346
mov r0.z, c3.x
1347
dp3 r0.x, c0, r0
1348
add r0.x, r0.x, c3.y
1349
frc r0.x, r0.x
1350
add r0.x, r0.x, c3.z
1351
abs r0.x, r0.x
1352
mad r0.x, r0.x, -c3.w, c3.x
1353
mov r1, c1
1354
add r1, -r1, c2
1355
mad r1, r0.x, r1, c1
1356
mul r0, r0.w, r1
1357
mul r0, r0, v0
1358
mov oC0, r0
1359
1360
// approximately 15 instruction slots used (1 texture, 14 arithmetic)
1361
#endif
1362
1363
const DWORD grad3[] =
1364
{
1365
0xffff0200, 0x003dfffe, 0x42415443, 0x0000001c, 0x000000bf, 0xffff0200,
1366
0x00000004, 0x0000001c, 0x20000100, 0x000000b8, 0x0000006c, 0x00010002,
1367
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00020002, 0x000a0001,
1368
0x00000074, 0x00000000, 0x0000008b, 0x00000003, 0x00020001, 0x00000090,
1369
0x00000000, 0x000000a0, 0x00000002, 0x00020001, 0x000000a8, 0x00000000,
1370
0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001, 0x00000000,
1371
0x6f6c6f63, 0x6d003272, 0x006b7361, 0x000c0004, 0x00010001, 0x00000001,
1372
0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001, 0x00000001,
1373
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
1374
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072,
1375
0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003, 0x3f800000,
1376
0xbe800000, 0xbf000000, 0x40000000, 0x0200001f, 0x80000000, 0xb0030000,
1377
0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000, 0x900f0000,
1378
0x0200001f, 0x90000000, 0xa00f0800, 0x03000042, 0x800f0000, 0xb0e40000,
1379
0xa0e40800, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
1380
0xa0000003, 0x03000008, 0x80010000, 0xa0e40000, 0x80e40000, 0x03000002,
1381
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
1382
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
1383
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
1384
0x02000001, 0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001,
1385
0xa0e40002, 0x04000004, 0x800f0001, 0x80000000, 0x80e40001, 0xa0e40001,
1386
0x03000005, 0x800f0000, 0x80ff0000, 0x80e40001, 0x03000005, 0x800f0000,
1387
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1388
};
1389
const DWORD *gradShaders[] =
1390
{
1391
grad0,
1392
grad1,
1393
grad2,
1394
grad3,
1395
};
1396
1397
#if 0
1398
//
1399
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1400
//
1401
// fxc /T ps_2_0 /Vn linear0 /Fh tmp.h tmp.hlsl
1402
//
1403
//
1404
// Parameters:
1405
//
1406
// sampler2D colors;
1407
// float2 fractions[4];
1408
// float3 params;
1409
//
1410
//
1411
// Registers:
1412
//
1413
// Name Reg Size
1414
// ------------ ----- ----
1415
// fractions c0 3
1416
// params c16 1
1417
// colors s0 1
1418
//
1419
1420
ps_2_0
1421
def c3, 1, 0, 0.5, -1
1422
def c4, 1, 0.5, 0.0625, 0.03125
1423
dcl t0.xy
1424
dcl v0
1425
dcl_2d s0
1426
mov r0.z, c3.x
1427
mov r0.xy, t0
1428
dp3 r0.x, c16, r0
1429
add r0.y, r0.x, -c0.x
1430
mul_sat r0.y, r0.y, c0.y
1431
add r0.z, r0.x, -c1.x
1432
mul_sat r0.z, r0.z, c1.y
1433
add r0.y, r0.y, r0.z
1434
add r0.z, r0.x, -c2.x
1435
mul_sat r0.z, r0.z, c2.y
1436
add r0.y, r0.y, r0.z
1437
frc r0.z, r0.y
1438
add r0.y, r0.y, -r0.z
1439
add r0.w, r0.y, c3.x
1440
mad r1.x, r0.w, c4.z, c4.w
1441
add r0.w, r0.x, c3.w
1442
mad r2.x, r0.y, c4.z, c4.w
1443
mov r2.y, c3.z
1444
mov r1.y, c3.z
1445
mov r3.xy, c4
1446
mov r4.xy, c3.yzxw
1447
texld r2, r2, s0
1448
texld r1, r1, s0
1449
texld r3, r3, s0
1450
texld r4, r4, s0
1451
lrp r5, r0.z, r1, r2
1452
cmp r1, r0.w, r3, r5
1453
cmp r0, -r0.x, r4, r1
1454
mul r0, r0, v0
1455
mov oC0, r0
1456
1457
// approximately 30 instruction slots used (4 texture, 26 arithmetic)
1458
#endif
1459
1460
const DWORD linear0[] =
1461
{
1462
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1463
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1464
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
1465
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1466
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1467
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1468
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1469
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1470
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1471
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
1472
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
1473
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
1474
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1475
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
1476
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
1477
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
1478
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
1479
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
1480
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
1481
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
1482
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
1483
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
1484
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
1485
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
1486
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
1487
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
1488
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
1489
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
1490
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
1491
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
1492
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
1493
0x81000000, 0x80e40004, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40000,
1494
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1495
};
1496
#if 0
1497
//
1498
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1499
//
1500
// fxc /T ps_2_0 /Vn linear1 /Fh tmp.h tmp.hlsl
1501
//
1502
//
1503
// Parameters:
1504
//
1505
// sampler2D colors;
1506
// float2 fractions[4];
1507
// float3 params;
1508
//
1509
//
1510
// Registers:
1511
//
1512
// Name Reg Size
1513
// ------------ ----- ----
1514
// fractions c0 3
1515
// params c16 1
1516
// colors s0 1
1517
//
1518
1519
ps_2_0
1520
def c3, 1, 0.5, -0.5, 2
1521
def c4, 0.0625, 0.03125, 0, 0
1522
dcl t0.xy
1523
dcl v0
1524
dcl_2d s0
1525
mov r0.xy, t0
1526
mov r0.z, c3.x
1527
dp3 r0.x, c16, r0
1528
mul r0.x, r0.x, c3.y
1529
frc r0.x, r0.x
1530
add r0.x, r0.x, c3.z
1531
abs r0.x, r0.x
1532
mad r0.x, r0.x, -c3.w, c3.x
1533
add r0.y, r0.x, -c0.x
1534
mul_sat r0.y, r0.y, c0.y
1535
add r0.z, r0.x, -c1.x
1536
add r0.x, r0.x, -c2.x
1537
mul_sat r0.z, r0.z, c1.y
1538
add r0.y, r0.y, r0.z
1539
mul_sat r0.x, r0.x, c2.y
1540
add r0.x, r0.y, r0.x
1541
frc r0.y, r0.x
1542
add r0.x, r0.x, -r0.y
1543
add r0.z, r0.x, c3.x
1544
mad r1.x, r0.x, c4.x, c4.y
1545
mad r2.x, r0.z, c4.x, c4.y
1546
mov r2.y, c3.y
1547
mov r1.y, c3.y
1548
texld r2, r2, s0
1549
texld r1, r1, s0
1550
lrp r3, r0.y, r2, r1
1551
mul r0, r3, v0
1552
mov oC0, r0
1553
1554
// approximately 28 instruction slots used (2 texture, 26 arithmetic)
1555
#endif
1556
1557
const DWORD linear1[] =
1558
{
1559
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1560
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1561
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
1562
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1563
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1564
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1565
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1566
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1567
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1568
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
1569
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
1570
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
1571
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1572
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
1573
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
1574
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
1575
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
1576
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
1577
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
1578
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
1579
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
1580
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
1581
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
1582
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
1583
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
1584
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
1585
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
1586
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
1587
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
1588
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
1589
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
1590
0x80e40000, 0x0000ffff
1591
};
1592
#if 0
1593
//
1594
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1595
//
1596
// fxc /T ps_2_0 /Vn linear2 /Fh tmp.h tmp.hlsl
1597
//
1598
//
1599
// Parameters:
1600
//
1601
// sampler2D colors;
1602
// float2 fractions[4];
1603
// float3 params;
1604
//
1605
//
1606
// Registers:
1607
//
1608
// Name Reg Size
1609
// ------------ ----- ----
1610
// fractions c0 3
1611
// params c16 1
1612
// colors s0 1
1613
//
1614
1615
ps_2_0
1616
def c3, 1, 0.0625, 0.03125, 0.5
1617
dcl t0.xy
1618
dcl v0
1619
dcl_2d s0
1620
mov r0.xy, t0
1621
mov r0.z, c3.x
1622
dp3 r0.x, c16, r0
1623
frc r0.x, r0.x
1624
add r0.y, r0.x, -c0.x
1625
mul_sat r0.y, r0.y, c0.y
1626
add r0.z, r0.x, -c1.x
1627
add r0.x, r0.x, -c2.x
1628
mul_sat r0.z, r0.z, c1.y
1629
add r0.y, r0.y, r0.z
1630
mul_sat r0.x, r0.x, c2.y
1631
add r0.x, r0.y, r0.x
1632
frc r0.y, r0.x
1633
add r0.x, r0.x, -r0.y
1634
add r0.z, r0.x, c3.x
1635
mad r1.x, r0.x, c3.y, c3.z
1636
mad r2.x, r0.z, c3.y, c3.z
1637
mov r2.y, c3.w
1638
mov r1.y, c3.w
1639
texld r2, r2, s0
1640
texld r1, r1, s0
1641
lrp r3, r0.y, r2, r1
1642
mul r0, r3, v0
1643
mov oC0, r0
1644
1645
// approximately 24 instruction slots used (2 texture, 22 arithmetic)
1646
#endif
1647
1648
const DWORD linear2[] =
1649
{
1650
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1651
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1652
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
1653
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1654
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1655
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1656
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1657
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1658
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1659
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
1660
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
1661
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1662
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
1663
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
1664
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
1665
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
1666
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
1667
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
1668
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
1669
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
1670
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
1671
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
1672
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
1673
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
1674
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
1675
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
1676
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
1677
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1678
};
1679
#if 0
1680
//
1681
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1682
//
1683
// fxc /T ps_2_0 /Vn linear4 /Fh tmp.h tmp.hlsl
1684
//
1685
//
1686
// Parameters:
1687
//
1688
// sampler2D colors;
1689
// float2 fractions[8];
1690
// float3 params;
1691
//
1692
//
1693
// Registers:
1694
//
1695
// Name Reg Size
1696
// ------------ ----- ----
1697
// fractions c0 7
1698
// params c16 1
1699
// colors s0 1
1700
//
1701
1702
ps_2_0
1703
def c7, 1, 0, 0.5, -1
1704
def c8, 1, 0.5, 0.0625, 0.03125
1705
dcl t0.xy
1706
dcl v0
1707
dcl_2d s0
1708
mov r0.z, c7.x
1709
mov r0.xy, t0
1710
dp3 r0.x, c16, r0
1711
add r0.y, r0.x, -c0.x
1712
mul_sat r0.y, r0.y, c0.y
1713
add r0.z, r0.x, -c1.x
1714
mul_sat r0.z, r0.z, c1.y
1715
add r0.y, r0.y, r0.z
1716
add r0.z, r0.x, -c2.x
1717
mul_sat r0.z, r0.z, c2.y
1718
add r0.y, r0.y, r0.z
1719
add r0.z, r0.x, -c3.x
1720
mul_sat r0.z, r0.z, c3.y
1721
add r0.y, r0.y, r0.z
1722
add r0.z, r0.x, -c4.x
1723
mul_sat r0.z, r0.z, c4.y
1724
add r0.y, r0.y, r0.z
1725
add r0.z, r0.x, -c5.x
1726
mul_sat r0.z, r0.z, c5.y
1727
add r0.y, r0.y, r0.z
1728
add r0.z, r0.x, -c6.x
1729
mul_sat r0.z, r0.z, c6.y
1730
add r0.y, r0.y, r0.z
1731
frc r0.z, r0.y
1732
add r0.y, r0.y, -r0.z
1733
add r0.w, r0.y, c7.x
1734
mad r1.x, r0.w, c8.z, c8.w
1735
add r0.w, r0.x, c7.w
1736
mad r2.x, r0.y, c8.z, c8.w
1737
mov r2.y, c7.z
1738
mov r1.y, c7.z
1739
mov r3.xy, c8
1740
mov r4.xy, c7.yzxw
1741
texld r2, r2, s0
1742
texld r1, r1, s0
1743
texld r3, r3, s0
1744
texld r4, r4, s0
1745
lrp r5, r0.z, r1, r2
1746
cmp r1, r0.w, r3, r5
1747
cmp r0, -r0.x, r4, r1
1748
mul r0, r0, v0
1749
mov oC0, r0
1750
1751
// approximately 42 instruction slots used (4 texture, 38 arithmetic)
1752
#endif
1753
1754
const DWORD linear4[] =
1755
{
1756
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1757
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1758
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
1759
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1760
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1761
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1762
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1763
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1764
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1765
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
1766
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
1767
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
1768
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1769
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
1770
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
1771
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
1772
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
1773
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
1774
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
1775
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
1776
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
1777
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
1778
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
1779
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
1780
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
1781
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
1782
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
1783
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
1784
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
1785
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
1786
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
1787
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
1788
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
1789
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
1790
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
1791
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
1792
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
1793
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
1794
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
1795
0x81000000, 0x80e40004, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40000,
1796
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
1797
};
1798
#if 0
1799
//
1800
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1801
//
1802
// fxc /T ps_2_0 /Vn linear5 /Fh tmp.h tmp.hlsl
1803
//
1804
//
1805
// Parameters:
1806
//
1807
// sampler2D colors;
1808
// float2 fractions[8];
1809
// float3 params;
1810
//
1811
//
1812
// Registers:
1813
//
1814
// Name Reg Size
1815
// ------------ ----- ----
1816
// fractions c0 7
1817
// params c16 1
1818
// colors s0 1
1819
//
1820
1821
ps_2_0
1822
def c7, 1, 0.5, -0.5, 2
1823
def c8, 0.0625, 0.03125, 0, 0
1824
dcl t0.xy
1825
dcl v0
1826
dcl_2d s0
1827
mov r0.xy, t0
1828
mov r0.z, c7.x
1829
dp3 r0.x, c16, r0
1830
mul r0.x, r0.x, c7.y
1831
frc r0.x, r0.x
1832
add r0.x, r0.x, c7.z
1833
abs r0.x, r0.x
1834
mad r0.x, r0.x, -c7.w, c7.x
1835
add r0.y, r0.x, -c0.x
1836
mul_sat r0.y, r0.y, c0.y
1837
add r0.z, r0.x, -c1.x
1838
mul_sat r0.z, r0.z, c1.y
1839
add r0.y, r0.y, r0.z
1840
add r0.z, r0.x, -c2.x
1841
mul_sat r0.z, r0.z, c2.y
1842
add r0.y, r0.y, r0.z
1843
add r0.z, r0.x, -c3.x
1844
mul_sat r0.z, r0.z, c3.y
1845
add r0.y, r0.y, r0.z
1846
add r0.z, r0.x, -c4.x
1847
mul_sat r0.z, r0.z, c4.y
1848
add r0.y, r0.y, r0.z
1849
add r0.z, r0.x, -c5.x
1850
add r0.x, r0.x, -c6.x
1851
mul_sat r0.z, r0.z, c5.y
1852
add r0.y, r0.y, r0.z
1853
mul_sat r0.x, r0.x, c6.y
1854
add r0.x, r0.y, r0.x
1855
frc r0.y, r0.x
1856
add r0.x, r0.x, -r0.y
1857
add r0.z, r0.x, c7.x
1858
mad r1.x, r0.x, c8.x, c8.y
1859
mad r2.x, r0.z, c8.x, c8.y
1860
mov r2.y, c7.y
1861
mov r1.y, c7.y
1862
texld r2, r2, s0
1863
texld r1, r1, s0
1864
lrp r3, r0.y, r2, r1
1865
mul r0, r3, v0
1866
mov oC0, r0
1867
1868
// approximately 40 instruction slots used (2 texture, 38 arithmetic)
1869
#endif
1870
1871
const DWORD linear5[] =
1872
{
1873
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1874
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1875
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
1876
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1877
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1878
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1879
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1880
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1881
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1882
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
1883
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
1884
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
1885
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1886
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
1887
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
1888
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
1889
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
1890
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
1891
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
1892
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
1893
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
1894
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
1895
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
1896
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
1897
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
1898
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
1899
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
1900
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
1901
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
1902
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
1903
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
1904
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
1905
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
1906
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
1907
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
1908
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
1909
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
1910
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
1911
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
1912
0x80e40000, 0x0000ffff
1913
};
1914
#if 0
1915
//
1916
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
1917
//
1918
// fxc /T ps_2_0 /Vn linear6 /Fh tmp.h tmp.hlsl
1919
//
1920
//
1921
// Parameters:
1922
//
1923
// sampler2D colors;
1924
// float2 fractions[8];
1925
// float3 params;
1926
//
1927
//
1928
// Registers:
1929
//
1930
// Name Reg Size
1931
// ------------ ----- ----
1932
// fractions c0 7
1933
// params c16 1
1934
// colors s0 1
1935
//
1936
1937
ps_2_0
1938
def c7, 1, 0.0625, 0.03125, 0.5
1939
dcl t0.xy
1940
dcl v0
1941
dcl_2d s0
1942
mov r0.xy, t0
1943
mov r0.z, c7.x
1944
dp3 r0.x, c16, r0
1945
frc r0.x, r0.x
1946
add r0.y, r0.x, -c0.x
1947
mul_sat r0.y, r0.y, c0.y
1948
add r0.z, r0.x, -c1.x
1949
mul_sat r0.z, r0.z, c1.y
1950
add r0.y, r0.y, r0.z
1951
add r0.z, r0.x, -c2.x
1952
mul_sat r0.z, r0.z, c2.y
1953
add r0.y, r0.y, r0.z
1954
add r0.z, r0.x, -c3.x
1955
mul_sat r0.z, r0.z, c3.y
1956
add r0.y, r0.y, r0.z
1957
add r0.z, r0.x, -c4.x
1958
mul_sat r0.z, r0.z, c4.y
1959
add r0.y, r0.y, r0.z
1960
add r0.z, r0.x, -c5.x
1961
add r0.x, r0.x, -c6.x
1962
mul_sat r0.z, r0.z, c5.y
1963
add r0.y, r0.y, r0.z
1964
mul_sat r0.x, r0.x, c6.y
1965
add r0.x, r0.y, r0.x
1966
frc r0.y, r0.x
1967
add r0.x, r0.x, -r0.y
1968
add r0.z, r0.x, c7.x
1969
mad r1.x, r0.x, c7.y, c7.z
1970
mad r2.x, r0.z, c7.y, c7.z
1971
mov r2.y, c7.w
1972
mov r1.y, c7.w
1973
texld r2, r2, s0
1974
texld r1, r1, s0
1975
lrp r3, r0.y, r2, r1
1976
mul r0, r3, v0
1977
mov oC0, r0
1978
1979
// approximately 36 instruction slots used (2 texture, 34 arithmetic)
1980
#endif
1981
1982
const DWORD linear6[] =
1983
{
1984
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
1985
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
1986
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
1987
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
1988
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
1989
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
1990
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
1991
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
1992
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
1993
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
1994
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
1995
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
1996
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
1997
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
1998
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
1999
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
2000
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
2001
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2002
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
2003
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2004
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
2005
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2006
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
2007
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2008
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
2009
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
2010
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
2011
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
2012
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
2013
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
2014
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
2015
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
2016
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
2017
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
2018
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
2019
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2020
};
2021
#if 0
2022
//
2023
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2024
//
2025
// fxc /T ps_2_0 /Vn linear8 /Fh tmp.h tmp.hlsl
2026
//
2027
//
2028
// Parameters:
2029
//
2030
// sampler2D colors;
2031
// float2 fractions[4];
2032
// sampler2D mask;
2033
// float3 params;
2034
//
2035
//
2036
// Registers:
2037
//
2038
// Name Reg Size
2039
// ------------ ----- ----
2040
// fractions c0 3
2041
// params c16 1
2042
// mask s0 1
2043
// colors s1 1
2044
//
2045
2046
ps_2_0
2047
def c3, 1, 0, 0.5, -1
2048
def c4, 1, 0.5, 0.0625, 0.03125
2049
dcl t0.xy
2050
dcl t1.xy
2051
dcl v0
2052
dcl_2d s0
2053
dcl_2d s1
2054
mov r0.z, c3.x
2055
mov r0.xy, t1
2056
dp3 r0.x, c16, r0
2057
add r0.y, r0.x, -c0.x
2058
mul_sat r0.y, r0.y, c0.y
2059
add r0.z, r0.x, -c1.x
2060
mul_sat r0.z, r0.z, c1.y
2061
add r0.y, r0.y, r0.z
2062
add r0.z, r0.x, -c2.x
2063
mul_sat r0.z, r0.z, c2.y
2064
add r0.y, r0.y, r0.z
2065
frc r0.z, r0.y
2066
add r0.y, r0.y, -r0.z
2067
add r0.w, r0.y, c3.x
2068
mad r1.x, r0.w, c4.z, c4.w
2069
add r0.w, r0.x, c3.w
2070
mad r2.x, r0.y, c4.z, c4.w
2071
mov r2.y, c3.z
2072
mov r1.y, c3.z
2073
mov r3.xy, c4
2074
mov r4.xy, c3.yzxw
2075
texld r2, r2, s1
2076
texld r1, r1, s1
2077
texld r3, r3, s1
2078
texld r4, r4, s1
2079
texld r5, t0, s0
2080
lrp r6, r0.z, r1, r2
2081
cmp r1, r0.w, r3, r6
2082
cmp r0, -r0.x, r4, r1
2083
mul r0, r5.w, r0
2084
mul r0, r0, v0
2085
mov oC0, r0
2086
2087
// approximately 32 instruction slots used (5 texture, 27 arithmetic)
2088
#endif
2089
2090
const DWORD linear8[] =
2091
{
2092
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2093
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2094
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
2095
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2096
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2097
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2098
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
2099
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2100
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2101
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2102
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
2103
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
2104
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
2105
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2106
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2107
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
2108
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
2109
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
2110
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
2111
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
2112
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
2113
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
2114
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
2115
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
2116
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
2117
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
2118
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
2119
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
2120
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
2121
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
2122
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
2123
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
2124
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
2125
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
2126
0x80e40001, 0x03000005, 0x800f0000, 0x80ff0005, 0x80e40000, 0x03000005,
2127
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
2128
0x0000ffff
2129
};
2130
#if 0
2131
//
2132
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2133
//
2134
// fxc /T ps_2_0 /Vn linear9 /Fh tmp.h tmp.hlsl
2135
//
2136
//
2137
// Parameters:
2138
//
2139
// sampler2D colors;
2140
// float2 fractions[4];
2141
// sampler2D mask;
2142
// float3 params;
2143
//
2144
//
2145
// Registers:
2146
//
2147
// Name Reg Size
2148
// ------------ ----- ----
2149
// fractions c0 3
2150
// params c16 1
2151
// mask s0 1
2152
// colors s1 1
2153
//
2154
2155
ps_2_0
2156
def c3, 1, 0.5, -0.5, 2
2157
def c4, 0.0625, 0.03125, 0, 0
2158
dcl t0.xy
2159
dcl t1.xy
2160
dcl v0
2161
dcl_2d s0
2162
dcl_2d s1
2163
mov r0.xy, t1
2164
mov r0.z, c3.x
2165
dp3 r0.x, c16, r0
2166
mul r0.x, r0.x, c3.y
2167
frc r0.x, r0.x
2168
add r0.x, r0.x, c3.z
2169
abs r0.x, r0.x
2170
mad r0.x, r0.x, -c3.w, c3.x
2171
add r0.y, r0.x, -c0.x
2172
mul_sat r0.y, r0.y, c0.y
2173
add r0.z, r0.x, -c1.x
2174
add r0.x, r0.x, -c2.x
2175
mul_sat r0.z, r0.z, c1.y
2176
add r0.y, r0.y, r0.z
2177
mul_sat r0.x, r0.x, c2.y
2178
add r0.x, r0.y, r0.x
2179
frc r0.y, r0.x
2180
add r0.x, r0.x, -r0.y
2181
add r0.z, r0.x, c3.x
2182
mad r1.x, r0.x, c4.x, c4.y
2183
mad r2.x, r0.z, c4.x, c4.y
2184
mov r2.y, c3.y
2185
mov r1.y, c3.y
2186
texld r2, r2, s1
2187
texld r1, r1, s1
2188
texld r3, t0, s0
2189
lrp r4, r0.y, r2, r1
2190
mul r0, r3.w, r4
2191
mul r0, r0, v0
2192
mov oC0, r0
2193
2194
// approximately 30 instruction slots used (3 texture, 27 arithmetic)
2195
#endif
2196
2197
const DWORD linear9[] =
2198
{
2199
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2200
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2201
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
2202
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2203
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2204
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2205
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
2206
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2207
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2208
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2209
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
2210
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
2211
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
2212
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2213
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2214
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
2215
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
2216
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
2217
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
2218
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
2219
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
2220
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
2221
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
2222
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
2223
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
2224
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
2225
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
2226
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
2227
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
2228
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
2229
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
2230
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
2231
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
2232
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
2233
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2234
};
2235
#if 0
2236
//
2237
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2238
//
2239
// fxc /T ps_2_0 /Vn linear10 /Fh tmp.h tmp.hlsl
2240
//
2241
//
2242
// Parameters:
2243
//
2244
// sampler2D colors;
2245
// float2 fractions[4];
2246
// sampler2D mask;
2247
// float3 params;
2248
//
2249
//
2250
// Registers:
2251
//
2252
// Name Reg Size
2253
// ------------ ----- ----
2254
// fractions c0 3
2255
// params c16 1
2256
// mask s0 1
2257
// colors s1 1
2258
//
2259
2260
ps_2_0
2261
def c3, 1, 0.0625, 0.03125, 0.5
2262
dcl t0.xy
2263
dcl t1.xy
2264
dcl v0
2265
dcl_2d s0
2266
dcl_2d s1
2267
mov r0.xy, t1
2268
mov r0.z, c3.x
2269
dp3 r0.x, c16, r0
2270
frc r0.x, r0.x
2271
add r0.y, r0.x, -c0.x
2272
mul_sat r0.y, r0.y, c0.y
2273
add r0.z, r0.x, -c1.x
2274
add r0.x, r0.x, -c2.x
2275
mul_sat r0.z, r0.z, c1.y
2276
add r0.y, r0.y, r0.z
2277
mul_sat r0.x, r0.x, c2.y
2278
add r0.x, r0.y, r0.x
2279
frc r0.y, r0.x
2280
add r0.x, r0.x, -r0.y
2281
add r0.z, r0.x, c3.x
2282
mad r1.x, r0.x, c3.y, c3.z
2283
mad r2.x, r0.z, c3.y, c3.z
2284
mov r2.y, c3.w
2285
mov r1.y, c3.w
2286
texld r2, r2, s1
2287
texld r1, r1, s1
2288
texld r3, t0, s0
2289
lrp r4, r0.y, r2, r1
2290
mul r0, r3.w, r4
2291
mul r0, r0, v0
2292
mov oC0, r0
2293
2294
// approximately 26 instruction slots used (3 texture, 23 arithmetic)
2295
#endif
2296
2297
const DWORD linear10[] =
2298
{
2299
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2300
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2301
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
2302
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2303
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2304
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2305
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
2306
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2307
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2308
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2309
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
2310
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
2311
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2312
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2313
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
2314
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
2315
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
2316
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
2317
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
2318
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
2319
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
2320
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
2321
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
2322
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
2323
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
2324
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
2325
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
2326
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
2327
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
2328
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
2329
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2330
};
2331
#if 0
2332
//
2333
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2334
//
2335
// fxc /T ps_2_0 /Vn linear12 /Fh tmp.h tmp.hlsl
2336
//
2337
//
2338
// Parameters:
2339
//
2340
// sampler2D colors;
2341
// float2 fractions[8];
2342
// sampler2D mask;
2343
// float3 params;
2344
//
2345
//
2346
// Registers:
2347
//
2348
// Name Reg Size
2349
// ------------ ----- ----
2350
// fractions c0 7
2351
// params c16 1
2352
// mask s0 1
2353
// colors s1 1
2354
//
2355
2356
ps_2_0
2357
def c7, 1, 0, 0.5, -1
2358
def c8, 1, 0.5, 0.0625, 0.03125
2359
dcl t0.xy
2360
dcl t1.xy
2361
dcl v0
2362
dcl_2d s0
2363
dcl_2d s1
2364
mov r0.z, c7.x
2365
mov r0.xy, t1
2366
dp3 r0.x, c16, r0
2367
add r0.y, r0.x, -c0.x
2368
mul_sat r0.y, r0.y, c0.y
2369
add r0.z, r0.x, -c1.x
2370
mul_sat r0.z, r0.z, c1.y
2371
add r0.y, r0.y, r0.z
2372
add r0.z, r0.x, -c2.x
2373
mul_sat r0.z, r0.z, c2.y
2374
add r0.y, r0.y, r0.z
2375
add r0.z, r0.x, -c3.x
2376
mul_sat r0.z, r0.z, c3.y
2377
add r0.y, r0.y, r0.z
2378
add r0.z, r0.x, -c4.x
2379
mul_sat r0.z, r0.z, c4.y
2380
add r0.y, r0.y, r0.z
2381
add r0.z, r0.x, -c5.x
2382
mul_sat r0.z, r0.z, c5.y
2383
add r0.y, r0.y, r0.z
2384
add r0.z, r0.x, -c6.x
2385
mul_sat r0.z, r0.z, c6.y
2386
add r0.y, r0.y, r0.z
2387
frc r0.z, r0.y
2388
add r0.y, r0.y, -r0.z
2389
add r0.w, r0.y, c7.x
2390
mad r1.x, r0.w, c8.z, c8.w
2391
add r0.w, r0.x, c7.w
2392
mad r2.x, r0.y, c8.z, c8.w
2393
mov r2.y, c7.z
2394
mov r1.y, c7.z
2395
mov r3.xy, c8
2396
mov r4.xy, c7.yzxw
2397
texld r2, r2, s1
2398
texld r1, r1, s1
2399
texld r3, r3, s1
2400
texld r4, r4, s1
2401
texld r5, t0, s0
2402
lrp r6, r0.z, r1, r2
2403
cmp r1, r0.w, r3, r6
2404
cmp r0, -r0.x, r4, r1
2405
mul r0, r5.w, r0
2406
mul r0, r0, v0
2407
mov oC0, r0
2408
2409
// approximately 44 instruction slots used (5 texture, 39 arithmetic)
2410
#endif
2411
2412
const DWORD linear12[] =
2413
{
2414
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2415
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2416
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
2417
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2418
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2419
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2420
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
2421
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2422
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2423
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2424
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
2425
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
2426
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
2427
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2428
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2429
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
2430
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
2431
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
2432
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
2433
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
2434
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
2435
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
2436
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
2437
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
2438
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
2439
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
2440
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
2441
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
2442
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
2443
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
2444
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
2445
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
2446
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
2447
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
2448
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
2449
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
2450
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
2451
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
2452
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
2453
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
2454
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
2455
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
2456
0x80e40001, 0x03000005, 0x800f0000, 0x80ff0005, 0x80e40000, 0x03000005,
2457
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
2458
0x0000ffff
2459
};
2460
#if 0
2461
//
2462
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2463
//
2464
// fxc /T ps_2_0 /Vn linear13 /Fh tmp.h tmp.hlsl
2465
//
2466
//
2467
// Parameters:
2468
//
2469
// sampler2D colors;
2470
// float2 fractions[8];
2471
// sampler2D mask;
2472
// float3 params;
2473
//
2474
//
2475
// Registers:
2476
//
2477
// Name Reg Size
2478
// ------------ ----- ----
2479
// fractions c0 7
2480
// params c16 1
2481
// mask s0 1
2482
// colors s1 1
2483
//
2484
2485
ps_2_0
2486
def c7, 1, 0.5, -0.5, 2
2487
def c8, 0.0625, 0.03125, 0, 0
2488
dcl t0.xy
2489
dcl t1.xy
2490
dcl v0
2491
dcl_2d s0
2492
dcl_2d s1
2493
mov r0.xy, t1
2494
mov r0.z, c7.x
2495
dp3 r0.x, c16, r0
2496
mul r0.x, r0.x, c7.y
2497
frc r0.x, r0.x
2498
add r0.x, r0.x, c7.z
2499
abs r0.x, r0.x
2500
mad r0.x, r0.x, -c7.w, c7.x
2501
add r0.y, r0.x, -c0.x
2502
mul_sat r0.y, r0.y, c0.y
2503
add r0.z, r0.x, -c1.x
2504
mul_sat r0.z, r0.z, c1.y
2505
add r0.y, r0.y, r0.z
2506
add r0.z, r0.x, -c2.x
2507
mul_sat r0.z, r0.z, c2.y
2508
add r0.y, r0.y, r0.z
2509
add r0.z, r0.x, -c3.x
2510
mul_sat r0.z, r0.z, c3.y
2511
add r0.y, r0.y, r0.z
2512
add r0.z, r0.x, -c4.x
2513
mul_sat r0.z, r0.z, c4.y
2514
add r0.y, r0.y, r0.z
2515
add r0.z, r0.x, -c5.x
2516
add r0.x, r0.x, -c6.x
2517
mul_sat r0.z, r0.z, c5.y
2518
add r0.y, r0.y, r0.z
2519
mul_sat r0.x, r0.x, c6.y
2520
add r0.x, r0.y, r0.x
2521
frc r0.y, r0.x
2522
add r0.x, r0.x, -r0.y
2523
add r0.z, r0.x, c7.x
2524
mad r1.x, r0.x, c8.x, c8.y
2525
mad r2.x, r0.z, c8.x, c8.y
2526
mov r2.y, c7.y
2527
mov r1.y, c7.y
2528
texld r2, r2, s1
2529
texld r1, r1, s1
2530
texld r3, t0, s0
2531
lrp r4, r0.y, r2, r1
2532
mul r0, r3.w, r4
2533
mul r0, r0, v0
2534
mov oC0, r0
2535
2536
// approximately 42 instruction slots used (3 texture, 39 arithmetic)
2537
#endif
2538
2539
const DWORD linear13[] =
2540
{
2541
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2542
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2543
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
2544
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2545
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2546
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2547
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
2548
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2549
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2550
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2551
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
2552
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
2553
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
2554
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2555
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2556
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
2557
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
2558
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
2559
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
2560
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
2561
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
2562
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
2563
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
2564
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
2565
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
2566
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
2567
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
2568
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
2569
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
2570
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
2571
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
2572
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
2573
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
2574
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
2575
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
2576
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
2577
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
2578
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
2579
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
2580
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
2581
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
2582
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
2583
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2584
};
2585
#if 0
2586
//
2587
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2588
//
2589
// fxc /T ps_2_0 /Vn linear14 /Fh tmp.h tmp.hlsl
2590
//
2591
//
2592
// Parameters:
2593
//
2594
// sampler2D colors;
2595
// float2 fractions[8];
2596
// sampler2D mask;
2597
// float3 params;
2598
//
2599
//
2600
// Registers:
2601
//
2602
// Name Reg Size
2603
// ------------ ----- ----
2604
// fractions c0 7
2605
// params c16 1
2606
// mask s0 1
2607
// colors s1 1
2608
//
2609
2610
ps_2_0
2611
def c7, 1, 0.0625, 0.03125, 0.5
2612
dcl t0.xy
2613
dcl t1.xy
2614
dcl v0
2615
dcl_2d s0
2616
dcl_2d s1
2617
mov r0.xy, t1
2618
mov r0.z, c7.x
2619
dp3 r0.x, c16, r0
2620
frc r0.x, r0.x
2621
add r0.y, r0.x, -c0.x
2622
mul_sat r0.y, r0.y, c0.y
2623
add r0.z, r0.x, -c1.x
2624
mul_sat r0.z, r0.z, c1.y
2625
add r0.y, r0.y, r0.z
2626
add r0.z, r0.x, -c2.x
2627
mul_sat r0.z, r0.z, c2.y
2628
add r0.y, r0.y, r0.z
2629
add r0.z, r0.x, -c3.x
2630
mul_sat r0.z, r0.z, c3.y
2631
add r0.y, r0.y, r0.z
2632
add r0.z, r0.x, -c4.x
2633
mul_sat r0.z, r0.z, c4.y
2634
add r0.y, r0.y, r0.z
2635
add r0.z, r0.x, -c5.x
2636
add r0.x, r0.x, -c6.x
2637
mul_sat r0.z, r0.z, c5.y
2638
add r0.y, r0.y, r0.z
2639
mul_sat r0.x, r0.x, c6.y
2640
add r0.x, r0.y, r0.x
2641
frc r0.y, r0.x
2642
add r0.x, r0.x, -r0.y
2643
add r0.z, r0.x, c7.x
2644
mad r1.x, r0.x, c7.y, c7.z
2645
mad r2.x, r0.z, c7.y, c7.z
2646
mov r2.y, c7.w
2647
mov r1.y, c7.w
2648
texld r2, r2, s1
2649
texld r1, r1, s1
2650
texld r3, t0, s0
2651
lrp r4, r0.y, r2, r1
2652
mul r0, r3.w, r4
2653
mul r0, r0, v0
2654
mov oC0, r0
2655
2656
// approximately 38 instruction slots used (3 texture, 35 arithmetic)
2657
#endif
2658
2659
const DWORD linear14[] =
2660
{
2661
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
2662
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
2663
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
2664
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
2665
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
2666
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
2667
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
2668
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
2669
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2670
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2671
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
2672
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
2673
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
2674
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
2675
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
2676
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
2677
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
2678
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
2679
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
2680
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2681
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
2682
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2683
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
2684
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2685
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
2686
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
2687
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
2688
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
2689
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
2690
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
2691
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
2692
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
2693
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
2694
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
2695
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
2696
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
2697
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
2698
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
2699
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2700
};
2701
#if 0
2702
//
2703
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2704
//
2705
// fxc /T ps_2_0 /Vn linear16 /Fh tmp.h tmp.hlsl
2706
//
2707
//
2708
// Parameters:
2709
//
2710
// sampler2D colors;
2711
// float2 fractions[4];
2712
// float3 params;
2713
//
2714
//
2715
// Registers:
2716
//
2717
// Name Reg Size
2718
// ------------ ----- ----
2719
// fractions c0 3
2720
// params c16 1
2721
// colors s0 1
2722
//
2723
2724
ps_2_0
2725
def c3, 1, 0, 0.5, -1
2726
def c4, 1, 0.5, 0.0625, 0.03125
2727
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
2728
dcl t0.xy
2729
dcl v0
2730
dcl_2d s0
2731
mov r0.z, c3.x
2732
mov r0.xy, t0
2733
dp3 r0.x, c16, r0
2734
add r0.y, r0.x, -c0.x
2735
mul_sat r0.y, r0.y, c0.y
2736
add r0.z, r0.x, -c1.x
2737
mul_sat r0.z, r0.z, c1.y
2738
add r0.y, r0.y, r0.z
2739
add r0.z, r0.x, -c2.x
2740
mul_sat r0.z, r0.z, c2.y
2741
add r0.y, r0.y, r0.z
2742
frc r0.z, r0.y
2743
add r0.y, r0.y, -r0.z
2744
add r0.w, r0.y, c3.x
2745
mad r1.x, r0.w, c4.z, c4.w
2746
add r0.w, r0.x, c3.w
2747
mad r2.x, r0.y, c4.z, c4.w
2748
mov r2.y, c3.z
2749
mov r1.y, c3.z
2750
mov r3.xy, c4
2751
mov r4.xy, c3.yzxw
2752
texld r2, r2, s0
2753
texld r1, r1, s0
2754
texld r3, r3, s0
2755
texld r4, r4, s0
2756
lrp r5, r0.z, r1, r2
2757
cmp r1, r0.w, r3, r5
2758
cmp r0, -r0.x, r4, r1
2759
log r1.x, r0.x
2760
log r1.y, r0.y
2761
log r1.z, r0.z
2762
mul r1.xyz, r1, c5.x
2763
exp r2.x, r1.x
2764
exp r2.y, r1.y
2765
exp r2.z, r1.z
2766
mad r0.xyz, r2, c5.y, c5.z
2767
mul r0, r0, v0
2768
mov oC0, r0
2769
2770
// approximately 38 instruction slots used (4 texture, 34 arithmetic)
2771
#endif
2772
2773
const DWORD linear16[] =
2774
{
2775
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
2776
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
2777
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
2778
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
2779
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
2780
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
2781
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
2782
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2783
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2784
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
2785
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
2786
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
2787
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
2788
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
2789
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
2790
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
2791
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
2792
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
2793
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
2794
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
2795
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
2796
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
2797
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
2798
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
2799
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
2800
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
2801
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
2802
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
2803
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
2804
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
2805
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
2806
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
2807
0x81000000, 0x80e40004, 0x80e40001, 0x0200000f, 0x80010001, 0x80000000,
2808
0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000,
2809
0x03000005, 0x80070001, 0x80e40001, 0xa0000005, 0x0200000e, 0x80010002,
2810
0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002,
2811
0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005,
2812
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
2813
0x80e40000, 0x0000ffff
2814
};
2815
#if 0
2816
//
2817
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2818
//
2819
// fxc /T ps_2_0 /Vn linear17 /Fh tmp.h tmp.hlsl
2820
//
2821
//
2822
// Parameters:
2823
//
2824
// sampler2D colors;
2825
// float2 fractions[4];
2826
// float3 params;
2827
//
2828
//
2829
// Registers:
2830
//
2831
// Name Reg Size
2832
// ------------ ----- ----
2833
// fractions c0 3
2834
// params c16 1
2835
// colors s0 1
2836
//
2837
2838
ps_2_0
2839
def c3, 1, 0.5, -0.5, 2
2840
def c4, 0.0625, 0.03125, 0.416667014, 0
2841
def c5, 1.05499995, -0.0549999997, 0, 0
2842
dcl t0.xy
2843
dcl v0
2844
dcl_2d s0
2845
mov r0.xy, t0
2846
mov r0.z, c3.x
2847
dp3 r0.x, c16, r0
2848
mul r0.x, r0.x, c3.y
2849
frc r0.x, r0.x
2850
add r0.x, r0.x, c3.z
2851
abs r0.x, r0.x
2852
mad r0.x, r0.x, -c3.w, c3.x
2853
add r0.y, r0.x, -c0.x
2854
mul_sat r0.y, r0.y, c0.y
2855
add r0.z, r0.x, -c1.x
2856
add r0.x, r0.x, -c2.x
2857
mul_sat r0.z, r0.z, c1.y
2858
add r0.y, r0.y, r0.z
2859
mul_sat r0.x, r0.x, c2.y
2860
add r0.x, r0.y, r0.x
2861
frc r0.y, r0.x
2862
add r0.x, r0.x, -r0.y
2863
add r0.z, r0.x, c3.x
2864
mad r1.x, r0.x, c4.x, c4.y
2865
mad r2.x, r0.z, c4.x, c4.y
2866
mov r2.y, c3.y
2867
mov r1.y, c3.y
2868
texld r2, r2, s0
2869
texld r1, r1, s0
2870
lrp r3, r0.y, r2, r1
2871
log r0.x, r3.x
2872
log r0.y, r3.y
2873
log r0.z, r3.z
2874
mul r0.xyz, r0, c4.z
2875
exp r1.x, r0.x
2876
exp r1.y, r0.y
2877
exp r1.z, r0.z
2878
mad r3.xyz, r1, c5.x, c5.y
2879
mul r0, r3, v0
2880
mov oC0, r0
2881
2882
// approximately 36 instruction slots used (2 texture, 34 arithmetic)
2883
#endif
2884
2885
const DWORD linear17[] =
2886
{
2887
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
2888
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
2889
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
2890
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
2891
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
2892
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
2893
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
2894
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
2895
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
2896
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
2897
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
2898
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
2899
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
2900
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
2901
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
2902
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
2903
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
2904
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
2905
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
2906
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
2907
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
2908
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
2909
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
2910
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
2911
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
2912
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
2913
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
2914
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
2915
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
2916
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
2917
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
2918
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
2919
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
2920
0xa0aa0004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
2921
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
2922
0x80e40001, 0xa0000005, 0xa0550005, 0x03000005, 0x800f0000, 0x80e40003,
2923
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
2924
};
2925
#if 0
2926
//
2927
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
2928
//
2929
// fxc /T ps_2_0 /Vn linear18 /Fh tmp.h tmp.hlsl
2930
//
2931
//
2932
// Parameters:
2933
//
2934
// sampler2D colors;
2935
// float2 fractions[4];
2936
// float3 params;
2937
//
2938
//
2939
// Registers:
2940
//
2941
// Name Reg Size
2942
// ------------ ----- ----
2943
// fractions c0 3
2944
// params c16 1
2945
// colors s0 1
2946
//
2947
2948
ps_2_0
2949
def c3, 1, 0.0625, 0.03125, 0.5
2950
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
2951
dcl t0.xy
2952
dcl v0
2953
dcl_2d s0
2954
mov r0.xy, t0
2955
mov r0.z, c3.x
2956
dp3 r0.x, c16, r0
2957
frc r0.x, r0.x
2958
add r0.y, r0.x, -c0.x
2959
mul_sat r0.y, r0.y, c0.y
2960
add r0.z, r0.x, -c1.x
2961
add r0.x, r0.x, -c2.x
2962
mul_sat r0.z, r0.z, c1.y
2963
add r0.y, r0.y, r0.z
2964
mul_sat r0.x, r0.x, c2.y
2965
add r0.x, r0.y, r0.x
2966
frc r0.y, r0.x
2967
add r0.x, r0.x, -r0.y
2968
add r0.z, r0.x, c3.x
2969
mad r1.x, r0.x, c3.y, c3.z
2970
mad r2.x, r0.z, c3.y, c3.z
2971
mov r2.y, c3.w
2972
mov r1.y, c3.w
2973
texld r2, r2, s0
2974
texld r1, r1, s0
2975
lrp r3, r0.y, r2, r1
2976
log r0.x, r3.x
2977
log r0.y, r3.y
2978
log r0.z, r3.z
2979
mul r0.xyz, r0, c4.x
2980
exp r1.x, r0.x
2981
exp r1.y, r0.y
2982
exp r1.z, r0.z
2983
mad r3.xyz, r1, c4.y, c4.z
2984
mul r0, r3, v0
2985
mov oC0, r0
2986
2987
// approximately 32 instruction slots used (2 texture, 30 arithmetic)
2988
#endif
2989
2990
const DWORD linear18[] =
2991
{
2992
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
2993
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
2994
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
2995
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
2996
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
2997
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
2998
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
2999
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3000
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3001
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
3002
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
3003
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3004
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
3005
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
3006
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
3007
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
3008
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
3009
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
3010
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
3011
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
3012
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
3013
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
3014
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
3015
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
3016
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
3017
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
3018
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
3019
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
3020
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
3021
0x80070000, 0x80e40000, 0xa0000004, 0x0200000e, 0x80010001, 0x80000000,
3022
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
3023
0x04000004, 0x80070003, 0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005,
3024
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
3025
0x0000ffff
3026
};
3027
#if 0
3028
//
3029
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3030
//
3031
// fxc /T ps_2_0 /Vn linear20 /Fh tmp.h tmp.hlsl
3032
//
3033
//
3034
// Parameters:
3035
//
3036
// sampler2D colors;
3037
// float2 fractions[8];
3038
// float3 params;
3039
//
3040
//
3041
// Registers:
3042
//
3043
// Name Reg Size
3044
// ------------ ----- ----
3045
// fractions c0 7
3046
// params c16 1
3047
// colors s0 1
3048
//
3049
3050
ps_2_0
3051
def c7, 1, 0, 0.5, -1
3052
def c8, 1, 0.5, 0.0625, 0.03125
3053
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
3054
dcl t0.xy
3055
dcl v0
3056
dcl_2d s0
3057
mov r0.z, c7.x
3058
mov r0.xy, t0
3059
dp3 r0.x, c16, r0
3060
add r0.y, r0.x, -c0.x
3061
mul_sat r0.y, r0.y, c0.y
3062
add r0.z, r0.x, -c1.x
3063
mul_sat r0.z, r0.z, c1.y
3064
add r0.y, r0.y, r0.z
3065
add r0.z, r0.x, -c2.x
3066
mul_sat r0.z, r0.z, c2.y
3067
add r0.y, r0.y, r0.z
3068
add r0.z, r0.x, -c3.x
3069
mul_sat r0.z, r0.z, c3.y
3070
add r0.y, r0.y, r0.z
3071
add r0.z, r0.x, -c4.x
3072
mul_sat r0.z, r0.z, c4.y
3073
add r0.y, r0.y, r0.z
3074
add r0.z, r0.x, -c5.x
3075
mul_sat r0.z, r0.z, c5.y
3076
add r0.y, r0.y, r0.z
3077
add r0.z, r0.x, -c6.x
3078
mul_sat r0.z, r0.z, c6.y
3079
add r0.y, r0.y, r0.z
3080
frc r0.z, r0.y
3081
add r0.y, r0.y, -r0.z
3082
add r0.w, r0.y, c7.x
3083
mad r1.x, r0.w, c8.z, c8.w
3084
add r0.w, r0.x, c7.w
3085
mad r2.x, r0.y, c8.z, c8.w
3086
mov r2.y, c7.z
3087
mov r1.y, c7.z
3088
mov r3.xy, c8
3089
mov r4.xy, c7.yzxw
3090
texld r2, r2, s0
3091
texld r1, r1, s0
3092
texld r3, r3, s0
3093
texld r4, r4, s0
3094
lrp r5, r0.z, r1, r2
3095
cmp r1, r0.w, r3, r5
3096
cmp r0, -r0.x, r4, r1
3097
log r1.x, r0.x
3098
log r1.y, r0.y
3099
log r1.z, r0.z
3100
mul r1.xyz, r1, c9.x
3101
exp r2.x, r1.x
3102
exp r2.y, r1.y
3103
exp r2.z, r1.z
3104
mad r0.xyz, r2, c9.y, c9.z
3105
mul r0, r0, v0
3106
mov oC0, r0
3107
3108
// approximately 50 instruction slots used (4 texture, 46 arithmetic)
3109
#endif
3110
3111
const DWORD linear20[] =
3112
{
3113
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
3114
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
3115
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
3116
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
3117
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
3118
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
3119
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
3120
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3121
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3122
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
3123
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
3124
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
3125
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3126
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
3127
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
3128
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
3129
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
3130
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
3131
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
3132
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
3133
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
3134
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
3135
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
3136
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
3137
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
3138
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
3139
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
3140
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
3141
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
3142
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
3143
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
3144
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
3145
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
3146
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
3147
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
3148
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
3149
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
3150
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
3151
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
3152
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
3153
0x81000000, 0x80e40004, 0x80e40001, 0x0200000f, 0x80010001, 0x80000000,
3154
0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000,
3155
0x03000005, 0x80070001, 0x80e40001, 0xa0000009, 0x0200000e, 0x80010002,
3156
0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002,
3157
0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009,
3158
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
3159
0x80e40000, 0x0000ffff
3160
};
3161
#if 0
3162
//
3163
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3164
//
3165
// fxc /T ps_2_0 /Vn linear21 /Fh tmp.h tmp.hlsl
3166
//
3167
//
3168
// Parameters:
3169
//
3170
// sampler2D colors;
3171
// float2 fractions[8];
3172
// float3 params;
3173
//
3174
//
3175
// Registers:
3176
//
3177
// Name Reg Size
3178
// ------------ ----- ----
3179
// fractions c0 7
3180
// params c16 1
3181
// colors s0 1
3182
//
3183
3184
ps_2_0
3185
def c7, 1, 0.5, -0.5, 2
3186
def c8, 0.0625, 0.03125, 0.416667014, 0
3187
def c9, 1.05499995, -0.0549999997, 0, 0
3188
dcl t0.xy
3189
dcl v0
3190
dcl_2d s0
3191
mov r0.xy, t0
3192
mov r0.z, c7.x
3193
dp3 r0.x, c16, r0
3194
mul r0.x, r0.x, c7.y
3195
frc r0.x, r0.x
3196
add r0.x, r0.x, c7.z
3197
abs r0.x, r0.x
3198
mad r0.x, r0.x, -c7.w, c7.x
3199
add r0.y, r0.x, -c0.x
3200
mul_sat r0.y, r0.y, c0.y
3201
add r0.z, r0.x, -c1.x
3202
mul_sat r0.z, r0.z, c1.y
3203
add r0.y, r0.y, r0.z
3204
add r0.z, r0.x, -c2.x
3205
mul_sat r0.z, r0.z, c2.y
3206
add r0.y, r0.y, r0.z
3207
add r0.z, r0.x, -c3.x
3208
mul_sat r0.z, r0.z, c3.y
3209
add r0.y, r0.y, r0.z
3210
add r0.z, r0.x, -c4.x
3211
mul_sat r0.z, r0.z, c4.y
3212
add r0.y, r0.y, r0.z
3213
add r0.z, r0.x, -c5.x
3214
add r0.x, r0.x, -c6.x
3215
mul_sat r0.z, r0.z, c5.y
3216
add r0.y, r0.y, r0.z
3217
mul_sat r0.x, r0.x, c6.y
3218
add r0.x, r0.y, r0.x
3219
frc r0.y, r0.x
3220
add r0.x, r0.x, -r0.y
3221
add r0.z, r0.x, c7.x
3222
mad r1.x, r0.x, c8.x, c8.y
3223
mad r2.x, r0.z, c8.x, c8.y
3224
mov r2.y, c7.y
3225
mov r1.y, c7.y
3226
texld r2, r2, s0
3227
texld r1, r1, s0
3228
lrp r3, r0.y, r2, r1
3229
log r0.x, r3.x
3230
log r0.y, r3.y
3231
log r0.z, r3.z
3232
mul r0.xyz, r0, c8.z
3233
exp r1.x, r0.x
3234
exp r1.y, r0.y
3235
exp r1.z, r0.z
3236
mad r3.xyz, r1, c9.x, c9.y
3237
mul r0, r3, v0
3238
mov oC0, r0
3239
3240
// approximately 48 instruction slots used (2 texture, 46 arithmetic)
3241
#endif
3242
3243
const DWORD linear21[] =
3244
{
3245
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
3246
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
3247
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
3248
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
3249
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
3250
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
3251
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
3252
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3253
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3254
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
3255
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
3256
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
3257
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
3258
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
3259
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
3260
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
3261
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
3262
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
3263
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
3264
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
3265
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
3266
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
3267
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
3268
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
3269
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
3270
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
3271
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
3272
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
3273
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
3274
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
3275
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
3276
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
3277
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
3278
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
3279
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
3280
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
3281
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
3282
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
3283
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
3284
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
3285
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
3286
0xa0aa0008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
3287
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
3288
0x80e40001, 0xa0000009, 0xa0550009, 0x03000005, 0x800f0000, 0x80e40003,
3289
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
3290
};
3291
#if 0
3292
//
3293
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3294
//
3295
// fxc /T ps_2_0 /Vn linear22 /Fh tmp.h tmp.hlsl
3296
//
3297
//
3298
// Parameters:
3299
//
3300
// sampler2D colors;
3301
// float2 fractions[8];
3302
// float3 params;
3303
//
3304
//
3305
// Registers:
3306
//
3307
// Name Reg Size
3308
// ------------ ----- ----
3309
// fractions c0 7
3310
// params c16 1
3311
// colors s0 1
3312
//
3313
3314
ps_2_0
3315
def c7, 1, 0.0625, 0.03125, 0.5
3316
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
3317
dcl t0.xy
3318
dcl v0
3319
dcl_2d s0
3320
mov r0.xy, t0
3321
mov r0.z, c7.x
3322
dp3 r0.x, c16, r0
3323
frc r0.x, r0.x
3324
add r0.y, r0.x, -c0.x
3325
mul_sat r0.y, r0.y, c0.y
3326
add r0.z, r0.x, -c1.x
3327
mul_sat r0.z, r0.z, c1.y
3328
add r0.y, r0.y, r0.z
3329
add r0.z, r0.x, -c2.x
3330
mul_sat r0.z, r0.z, c2.y
3331
add r0.y, r0.y, r0.z
3332
add r0.z, r0.x, -c3.x
3333
mul_sat r0.z, r0.z, c3.y
3334
add r0.y, r0.y, r0.z
3335
add r0.z, r0.x, -c4.x
3336
mul_sat r0.z, r0.z, c4.y
3337
add r0.y, r0.y, r0.z
3338
add r0.z, r0.x, -c5.x
3339
add r0.x, r0.x, -c6.x
3340
mul_sat r0.z, r0.z, c5.y
3341
add r0.y, r0.y, r0.z
3342
mul_sat r0.x, r0.x, c6.y
3343
add r0.x, r0.y, r0.x
3344
frc r0.y, r0.x
3345
add r0.x, r0.x, -r0.y
3346
add r0.z, r0.x, c7.x
3347
mad r1.x, r0.x, c7.y, c7.z
3348
mad r2.x, r0.z, c7.y, c7.z
3349
mov r2.y, c7.w
3350
mov r1.y, c7.w
3351
texld r2, r2, s0
3352
texld r1, r1, s0
3353
lrp r3, r0.y, r2, r1
3354
log r0.x, r3.x
3355
log r0.y, r3.y
3356
log r0.z, r3.z
3357
mul r0.xyz, r0, c8.x
3358
exp r1.x, r0.x
3359
exp r1.y, r0.y
3360
exp r1.z, r0.z
3361
mad r3.xyz, r1, c8.y, c8.z
3362
mul r0, r3, v0
3363
mov oC0, r0
3364
3365
// approximately 44 instruction slots used (2 texture, 42 arithmetic)
3366
#endif
3367
3368
const DWORD linear22[] =
3369
{
3370
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
3371
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
3372
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
3373
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
3374
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
3375
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
3376
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
3377
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3378
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3379
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
3380
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
3381
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3382
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
3383
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
3384
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
3385
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
3386
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
3387
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
3388
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
3389
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
3390
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
3391
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
3392
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
3393
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
3394
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
3395
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
3396
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
3397
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
3398
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
3399
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
3400
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
3401
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
3402
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
3403
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
3404
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
3405
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
3406
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
3407
0x80070000, 0x80e40000, 0xa0000008, 0x0200000e, 0x80010001, 0x80000000,
3408
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
3409
0x04000004, 0x80070003, 0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005,
3410
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
3411
0x0000ffff
3412
};
3413
#if 0
3414
//
3415
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3416
//
3417
// fxc /T ps_2_0 /Vn linear24 /Fh tmp.h tmp.hlsl
3418
//
3419
//
3420
// Parameters:
3421
//
3422
// sampler2D colors;
3423
// float2 fractions[4];
3424
// sampler2D mask;
3425
// float3 params;
3426
//
3427
//
3428
// Registers:
3429
//
3430
// Name Reg Size
3431
// ------------ ----- ----
3432
// fractions c0 3
3433
// params c16 1
3434
// mask s0 1
3435
// colors s1 1
3436
//
3437
3438
ps_2_0
3439
def c3, 1, 0, 0.5, -1
3440
def c4, 1, 0.5, 0.0625, 0.03125
3441
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
3442
dcl t0.xy
3443
dcl t1.xy
3444
dcl v0
3445
dcl_2d s0
3446
dcl_2d s1
3447
mov r0.z, c3.x
3448
mov r0.xy, t1
3449
dp3 r0.x, c16, r0
3450
add r0.y, r0.x, -c0.x
3451
mul_sat r0.y, r0.y, c0.y
3452
add r0.z, r0.x, -c1.x
3453
mul_sat r0.z, r0.z, c1.y
3454
add r0.y, r0.y, r0.z
3455
add r0.z, r0.x, -c2.x
3456
mul_sat r0.z, r0.z, c2.y
3457
add r0.y, r0.y, r0.z
3458
frc r0.z, r0.y
3459
add r0.y, r0.y, -r0.z
3460
add r0.w, r0.y, c3.x
3461
mad r1.x, r0.w, c4.z, c4.w
3462
add r0.w, r0.x, c3.w
3463
mad r2.x, r0.y, c4.z, c4.w
3464
mov r2.y, c3.z
3465
mov r1.y, c3.z
3466
mov r3.xy, c4
3467
mov r4.xy, c3.yzxw
3468
texld r2, r2, s1
3469
texld r1, r1, s1
3470
texld r3, r3, s1
3471
texld r4, r4, s1
3472
texld r5, t0, s0
3473
lrp r6, r0.z, r1, r2
3474
cmp r1, r0.w, r3, r6
3475
cmp r0, -r0.x, r4, r1
3476
log r1.x, r0.x
3477
log r1.y, r0.y
3478
log r1.z, r0.z
3479
mul r1.xyz, r1, c5.x
3480
exp r2.x, r1.x
3481
exp r2.y, r1.y
3482
exp r2.z, r1.z
3483
mad r0.xyz, r2, c5.y, c5.z
3484
mul r0, r5.w, r0
3485
mul r0, r0, v0
3486
mov oC0, r0
3487
3488
// approximately 40 instruction slots used (5 texture, 35 arithmetic)
3489
#endif
3490
3491
const DWORD linear24[] =
3492
{
3493
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
3494
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
3495
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
3496
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
3497
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
3498
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
3499
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
3500
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
3501
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3502
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3503
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
3504
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
3505
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
3506
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3507
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
3508
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
3509
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
3510
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
3511
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
3512
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
3513
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
3514
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
3515
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
3516
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
3517
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
3518
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
3519
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
3520
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
3521
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
3522
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
3523
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
3524
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
3525
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
3526
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
3527
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
3528
0x80e40001, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f, 0x80020001,
3529
0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005, 0x80070001,
3530
0x80e40001, 0xa0000005, 0x0200000e, 0x80010002, 0x80000001, 0x0200000e,
3531
0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001, 0x04000004,
3532
0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005, 0x03000005, 0x800f0000,
3533
0x80ff0005, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
3534
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
3535
};
3536
#if 0
3537
//
3538
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3539
//
3540
// fxc /T ps_2_0 /Vn linear25 /Fh tmp.h tmp.hlsl
3541
//
3542
//
3543
// Parameters:
3544
//
3545
// sampler2D colors;
3546
// float2 fractions[4];
3547
// sampler2D mask;
3548
// float3 params;
3549
//
3550
//
3551
// Registers:
3552
//
3553
// Name Reg Size
3554
// ------------ ----- ----
3555
// fractions c0 3
3556
// params c16 1
3557
// mask s0 1
3558
// colors s1 1
3559
//
3560
3561
ps_2_0
3562
def c3, 1, 0.5, -0.5, 2
3563
def c4, 0.0625, 0.03125, 0.416667014, 0
3564
def c5, 1.05499995, -0.0549999997, 0, 0
3565
dcl t0.xy
3566
dcl t1.xy
3567
dcl v0
3568
dcl_2d s0
3569
dcl_2d s1
3570
mov r0.xy, t1
3571
mov r0.z, c3.x
3572
dp3 r0.x, c16, r0
3573
mul r0.x, r0.x, c3.y
3574
frc r0.x, r0.x
3575
add r0.x, r0.x, c3.z
3576
abs r0.x, r0.x
3577
mad r0.x, r0.x, -c3.w, c3.x
3578
add r0.y, r0.x, -c0.x
3579
mul_sat r0.y, r0.y, c0.y
3580
add r0.z, r0.x, -c1.x
3581
add r0.x, r0.x, -c2.x
3582
mul_sat r0.z, r0.z, c1.y
3583
add r0.y, r0.y, r0.z
3584
mul_sat r0.x, r0.x, c2.y
3585
add r0.x, r0.y, r0.x
3586
frc r0.y, r0.x
3587
add r0.x, r0.x, -r0.y
3588
add r0.z, r0.x, c3.x
3589
mad r1.x, r0.x, c4.x, c4.y
3590
mad r2.x, r0.z, c4.x, c4.y
3591
mov r2.y, c3.y
3592
mov r1.y, c3.y
3593
texld r2, r2, s1
3594
texld r1, r1, s1
3595
texld r3, t0, s0
3596
lrp r4, r0.y, r2, r1
3597
log r0.x, r4.x
3598
log r0.y, r4.y
3599
log r0.z, r4.z
3600
mul r0.xyz, r0, c4.z
3601
exp r1.x, r0.x
3602
exp r1.y, r0.y
3603
exp r1.z, r0.z
3604
mad r4.xyz, r1, c5.x, c5.y
3605
mul r0, r3.w, r4
3606
mul r0, r0, v0
3607
mov oC0, r0
3608
3609
// approximately 38 instruction slots used (3 texture, 35 arithmetic)
3610
#endif
3611
3612
const DWORD linear25[] =
3613
{
3614
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
3615
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
3616
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
3617
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
3618
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
3619
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
3620
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
3621
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
3622
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3623
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3624
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
3625
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
3626
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
3627
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
3628
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
3629
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
3630
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
3631
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
3632
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
3633
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
3634
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
3635
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
3636
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
3637
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
3638
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
3639
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
3640
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
3641
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
3642
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
3643
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
3644
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
3645
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
3646
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
3647
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
3648
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
3649
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0004, 0x0200000e,
3650
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
3651
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000005,
3652
0xa0550005, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
3653
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
3654
0x0000ffff
3655
};
3656
#if 0
3657
//
3658
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3659
//
3660
// fxc /T ps_2_0 /Vn linear26 /Fh tmp.h tmp.hlsl
3661
//
3662
//
3663
// Parameters:
3664
//
3665
// sampler2D colors;
3666
// float2 fractions[4];
3667
// sampler2D mask;
3668
// float3 params;
3669
//
3670
//
3671
// Registers:
3672
//
3673
// Name Reg Size
3674
// ------------ ----- ----
3675
// fractions c0 3
3676
// params c16 1
3677
// mask s0 1
3678
// colors s1 1
3679
//
3680
3681
ps_2_0
3682
def c3, 1, 0.0625, 0.03125, 0.5
3683
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
3684
dcl t0.xy
3685
dcl t1.xy
3686
dcl v0
3687
dcl_2d s0
3688
dcl_2d s1
3689
mov r0.xy, t1
3690
mov r0.z, c3.x
3691
dp3 r0.x, c16, r0
3692
frc r0.x, r0.x
3693
add r0.y, r0.x, -c0.x
3694
mul_sat r0.y, r0.y, c0.y
3695
add r0.z, r0.x, -c1.x
3696
add r0.x, r0.x, -c2.x
3697
mul_sat r0.z, r0.z, c1.y
3698
add r0.y, r0.y, r0.z
3699
mul_sat r0.x, r0.x, c2.y
3700
add r0.x, r0.y, r0.x
3701
frc r0.y, r0.x
3702
add r0.x, r0.x, -r0.y
3703
add r0.z, r0.x, c3.x
3704
mad r1.x, r0.x, c3.y, c3.z
3705
mad r2.x, r0.z, c3.y, c3.z
3706
mov r2.y, c3.w
3707
mov r1.y, c3.w
3708
texld r2, r2, s1
3709
texld r1, r1, s1
3710
texld r3, t0, s0
3711
lrp r4, r0.y, r2, r1
3712
log r0.x, r4.x
3713
log r0.y, r4.y
3714
log r0.z, r4.z
3715
mul r0.xyz, r0, c4.x
3716
exp r1.x, r0.x
3717
exp r1.y, r0.y
3718
exp r1.z, r0.z
3719
mad r4.xyz, r1, c4.y, c4.z
3720
mul r0, r3.w, r4
3721
mul r0, r0, v0
3722
mov oC0, r0
3723
3724
// approximately 34 instruction slots used (3 texture, 31 arithmetic)
3725
#endif
3726
3727
const DWORD linear26[] =
3728
{
3729
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
3730
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
3731
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
3732
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
3733
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
3734
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
3735
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
3736
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
3737
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3738
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3739
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
3740
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
3741
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3742
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
3743
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
3744
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
3745
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
3746
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
3747
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
3748
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
3749
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
3750
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
3751
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
3752
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
3753
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
3754
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
3755
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
3756
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
3757
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
3758
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
3759
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
3760
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
3761
0xa0000004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
3762
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
3763
0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005, 0x800f0000, 0x80ff0003,
3764
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
3765
0x800f0800, 0x80e40000, 0x0000ffff
3766
};
3767
#if 0
3768
//
3769
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3770
//
3771
// fxc /T ps_2_0 /Vn linear28 /Fh tmp.h tmp.hlsl
3772
//
3773
//
3774
// Parameters:
3775
//
3776
// sampler2D colors;
3777
// float2 fractions[8];
3778
// sampler2D mask;
3779
// float3 params;
3780
//
3781
//
3782
// Registers:
3783
//
3784
// Name Reg Size
3785
// ------------ ----- ----
3786
// fractions c0 7
3787
// params c16 1
3788
// mask s0 1
3789
// colors s1 1
3790
//
3791
3792
ps_2_0
3793
def c7, 1, 0, 0.5, -1
3794
def c8, 1, 0.5, 0.0625, 0.03125
3795
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
3796
dcl t0.xy
3797
dcl t1.xy
3798
dcl v0
3799
dcl_2d s0
3800
dcl_2d s1
3801
mov r0.z, c7.x
3802
mov r0.xy, t1
3803
dp3 r0.x, c16, r0
3804
add r0.y, r0.x, -c0.x
3805
mul_sat r0.y, r0.y, c0.y
3806
add r0.z, r0.x, -c1.x
3807
mul_sat r0.z, r0.z, c1.y
3808
add r0.y, r0.y, r0.z
3809
add r0.z, r0.x, -c2.x
3810
mul_sat r0.z, r0.z, c2.y
3811
add r0.y, r0.y, r0.z
3812
add r0.z, r0.x, -c3.x
3813
mul_sat r0.z, r0.z, c3.y
3814
add r0.y, r0.y, r0.z
3815
add r0.z, r0.x, -c4.x
3816
mul_sat r0.z, r0.z, c4.y
3817
add r0.y, r0.y, r0.z
3818
add r0.z, r0.x, -c5.x
3819
mul_sat r0.z, r0.z, c5.y
3820
add r0.y, r0.y, r0.z
3821
add r0.z, r0.x, -c6.x
3822
mul_sat r0.z, r0.z, c6.y
3823
add r0.y, r0.y, r0.z
3824
frc r0.z, r0.y
3825
add r0.y, r0.y, -r0.z
3826
add r0.w, r0.y, c7.x
3827
mad r1.x, r0.w, c8.z, c8.w
3828
add r0.w, r0.x, c7.w
3829
mad r2.x, r0.y, c8.z, c8.w
3830
mov r2.y, c7.z
3831
mov r1.y, c7.z
3832
mov r3.xy, c8
3833
mov r4.xy, c7.yzxw
3834
texld r2, r2, s1
3835
texld r1, r1, s1
3836
texld r3, r3, s1
3837
texld r4, r4, s1
3838
texld r5, t0, s0
3839
lrp r6, r0.z, r1, r2
3840
cmp r1, r0.w, r3, r6
3841
cmp r0, -r0.x, r4, r1
3842
log r1.x, r0.x
3843
log r1.y, r0.y
3844
log r1.z, r0.z
3845
mul r1.xyz, r1, c9.x
3846
exp r2.x, r1.x
3847
exp r2.y, r1.y
3848
exp r2.z, r1.z
3849
mad r0.xyz, r2, c9.y, c9.z
3850
mul r0, r5.w, r0
3851
mul r0, r0, v0
3852
mov oC0, r0
3853
3854
// approximately 52 instruction slots used (5 texture, 47 arithmetic)
3855
#endif
3856
3857
const DWORD linear28[] =
3858
{
3859
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
3860
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
3861
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
3862
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
3863
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
3864
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
3865
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
3866
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
3867
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
3868
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
3869
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
3870
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
3871
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
3872
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
3873
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
3874
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
3875
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
3876
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
3877
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
3878
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
3879
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
3880
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
3881
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
3882
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
3883
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
3884
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
3885
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
3886
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
3887
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
3888
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
3889
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
3890
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
3891
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
3892
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
3893
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
3894
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
3895
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
3896
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
3897
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
3898
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
3899
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
3900
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
3901
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
3902
0x80e40001, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f, 0x80020001,
3903
0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005, 0x80070001,
3904
0x80e40001, 0xa0000009, 0x0200000e, 0x80010002, 0x80000001, 0x0200000e,
3905
0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001, 0x04000004,
3906
0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009, 0x03000005, 0x800f0000,
3907
0x80ff0005, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
3908
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
3909
};
3910
#if 0
3911
//
3912
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
3913
//
3914
// fxc /T ps_2_0 /Vn linear29 /Fh tmp.h tmp.hlsl
3915
//
3916
//
3917
// Parameters:
3918
//
3919
// sampler2D colors;
3920
// float2 fractions[8];
3921
// sampler2D mask;
3922
// float3 params;
3923
//
3924
//
3925
// Registers:
3926
//
3927
// Name Reg Size
3928
// ------------ ----- ----
3929
// fractions c0 7
3930
// params c16 1
3931
// mask s0 1
3932
// colors s1 1
3933
//
3934
3935
ps_2_0
3936
def c7, 1, 0.5, -0.5, 2
3937
def c8, 0.0625, 0.03125, 0.416667014, 0
3938
def c9, 1.05499995, -0.0549999997, 0, 0
3939
dcl t0.xy
3940
dcl t1.xy
3941
dcl v0
3942
dcl_2d s0
3943
dcl_2d s1
3944
mov r0.xy, t1
3945
mov r0.z, c7.x
3946
dp3 r0.x, c16, r0
3947
mul r0.x, r0.x, c7.y
3948
frc r0.x, r0.x
3949
add r0.x, r0.x, c7.z
3950
abs r0.x, r0.x
3951
mad r0.x, r0.x, -c7.w, c7.x
3952
add r0.y, r0.x, -c0.x
3953
mul_sat r0.y, r0.y, c0.y
3954
add r0.z, r0.x, -c1.x
3955
mul_sat r0.z, r0.z, c1.y
3956
add r0.y, r0.y, r0.z
3957
add r0.z, r0.x, -c2.x
3958
mul_sat r0.z, r0.z, c2.y
3959
add r0.y, r0.y, r0.z
3960
add r0.z, r0.x, -c3.x
3961
mul_sat r0.z, r0.z, c3.y
3962
add r0.y, r0.y, r0.z
3963
add r0.z, r0.x, -c4.x
3964
mul_sat r0.z, r0.z, c4.y
3965
add r0.y, r0.y, r0.z
3966
add r0.z, r0.x, -c5.x
3967
add r0.x, r0.x, -c6.x
3968
mul_sat r0.z, r0.z, c5.y
3969
add r0.y, r0.y, r0.z
3970
mul_sat r0.x, r0.x, c6.y
3971
add r0.x, r0.y, r0.x
3972
frc r0.y, r0.x
3973
add r0.x, r0.x, -r0.y
3974
add r0.z, r0.x, c7.x
3975
mad r1.x, r0.x, c8.x, c8.y
3976
mad r2.x, r0.z, c8.x, c8.y
3977
mov r2.y, c7.y
3978
mov r1.y, c7.y
3979
texld r2, r2, s1
3980
texld r1, r1, s1
3981
texld r3, t0, s0
3982
lrp r4, r0.y, r2, r1
3983
log r0.x, r4.x
3984
log r0.y, r4.y
3985
log r0.z, r4.z
3986
mul r0.xyz, r0, c8.z
3987
exp r1.x, r0.x
3988
exp r1.y, r0.y
3989
exp r1.z, r0.z
3990
mad r4.xyz, r1, c9.x, c9.y
3991
mul r0, r3.w, r4
3992
mul r0, r0, v0
3993
mov oC0, r0
3994
3995
// approximately 50 instruction slots used (3 texture, 47 arithmetic)
3996
#endif
3997
3998
const DWORD linear29[] =
3999
{
4000
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
4001
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
4002
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
4003
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
4004
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
4005
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
4006
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
4007
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
4008
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
4009
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
4010
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
4011
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
4012
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
4013
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
4014
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
4015
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
4016
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
4017
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
4018
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
4019
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
4020
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
4021
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
4022
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
4023
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
4024
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
4025
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
4026
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
4027
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
4028
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
4029
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
4030
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
4031
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
4032
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
4033
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
4034
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
4035
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
4036
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
4037
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
4038
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
4039
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
4040
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
4041
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
4042
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
4043
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0008, 0x0200000e,
4044
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
4045
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000009,
4046
0xa0550009, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
4047
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
4048
0x0000ffff
4049
};
4050
#if 0
4051
//
4052
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4053
//
4054
// fxc /T ps_2_0 /Vn linear30 /Fh tmp.h tmp.hlsl
4055
//
4056
//
4057
// Parameters:
4058
//
4059
// sampler2D colors;
4060
// float2 fractions[8];
4061
// sampler2D mask;
4062
// float3 params;
4063
//
4064
//
4065
// Registers:
4066
//
4067
// Name Reg Size
4068
// ------------ ----- ----
4069
// fractions c0 7
4070
// params c16 1
4071
// mask s0 1
4072
// colors s1 1
4073
//
4074
4075
ps_2_0
4076
def c7, 1, 0.0625, 0.03125, 0.5
4077
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
4078
dcl t0.xy
4079
dcl t1.xy
4080
dcl v0
4081
dcl_2d s0
4082
dcl_2d s1
4083
mov r0.xy, t1
4084
mov r0.z, c7.x
4085
dp3 r0.x, c16, r0
4086
frc r0.x, r0.x
4087
add r0.y, r0.x, -c0.x
4088
mul_sat r0.y, r0.y, c0.y
4089
add r0.z, r0.x, -c1.x
4090
mul_sat r0.z, r0.z, c1.y
4091
add r0.y, r0.y, r0.z
4092
add r0.z, r0.x, -c2.x
4093
mul_sat r0.z, r0.z, c2.y
4094
add r0.y, r0.y, r0.z
4095
add r0.z, r0.x, -c3.x
4096
mul_sat r0.z, r0.z, c3.y
4097
add r0.y, r0.y, r0.z
4098
add r0.z, r0.x, -c4.x
4099
mul_sat r0.z, r0.z, c4.y
4100
add r0.y, r0.y, r0.z
4101
add r0.z, r0.x, -c5.x
4102
add r0.x, r0.x, -c6.x
4103
mul_sat r0.z, r0.z, c5.y
4104
add r0.y, r0.y, r0.z
4105
mul_sat r0.x, r0.x, c6.y
4106
add r0.x, r0.y, r0.x
4107
frc r0.y, r0.x
4108
add r0.x, r0.x, -r0.y
4109
add r0.z, r0.x, c7.x
4110
mad r1.x, r0.x, c7.y, c7.z
4111
mad r2.x, r0.z, c7.y, c7.z
4112
mov r2.y, c7.w
4113
mov r1.y, c7.w
4114
texld r2, r2, s1
4115
texld r1, r1, s1
4116
texld r3, t0, s0
4117
lrp r4, r0.y, r2, r1
4118
log r0.x, r4.x
4119
log r0.y, r4.y
4120
log r0.z, r4.z
4121
mul r0.xyz, r0, c8.x
4122
exp r1.x, r0.x
4123
exp r1.y, r0.y
4124
exp r1.z, r0.z
4125
mad r4.xyz, r1, c8.y, c8.z
4126
mul r0, r3.w, r4
4127
mul r0, r0, v0
4128
mov oC0, r0
4129
4130
// approximately 46 instruction slots used (3 texture, 43 arithmetic)
4131
#endif
4132
4133
const DWORD linear30[] =
4134
{
4135
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
4136
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
4137
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
4138
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
4139
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
4140
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
4141
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
4142
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
4143
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
4144
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
4145
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
4146
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
4147
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
4148
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
4149
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
4150
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
4151
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
4152
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
4153
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
4154
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
4155
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4156
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
4157
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4158
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
4159
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4160
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
4161
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4162
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
4163
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
4164
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
4165
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
4166
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
4167
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
4168
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
4169
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
4170
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
4171
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
4172
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
4173
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
4174
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
4175
0xa0000008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
4176
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
4177
0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005, 0x800f0000, 0x80ff0003,
4178
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
4179
0x800f0800, 0x80e40000, 0x0000ffff
4180
};
4181
const DWORD *linearShaders[] =
4182
{
4183
linear0,
4184
linear1,
4185
linear2,
4186
NULL,
4187
linear4,
4188
linear5,
4189
linear6,
4190
NULL,
4191
linear8,
4192
linear9,
4193
linear10,
4194
NULL,
4195
linear12,
4196
linear13,
4197
linear14,
4198
NULL,
4199
linear16,
4200
linear17,
4201
linear18,
4202
NULL,
4203
linear20,
4204
linear21,
4205
linear22,
4206
NULL,
4207
linear24,
4208
linear25,
4209
linear26,
4210
NULL,
4211
linear28,
4212
linear29,
4213
linear30,
4214
NULL,
4215
};
4216
4217
#if 0
4218
//
4219
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4220
//
4221
// fxc /T ps_2_0 /Vn radial0 /Fh tmp.h tmp.hlsl
4222
//
4223
//
4224
// Parameters:
4225
//
4226
// sampler2D colors;
4227
// float2 fractions[4];
4228
// float3 m0;
4229
// float3 m1;
4230
// float3 precalc;
4231
//
4232
//
4233
// Registers:
4234
//
4235
// Name Reg Size
4236
// ------------ ----- ----
4237
// fractions c0 3
4238
// m0 c16 1
4239
// m1 c17 1
4240
// precalc c18 1
4241
// colors s0 1
4242
//
4243
4244
ps_2_0
4245
def c3, 1, 0, 0.5, -1
4246
def c4, 1, 0.5, 0.0625, 0.03125
4247
dcl t0.xy
4248
dcl v0
4249
dcl_2d s0
4250
mov r0.z, c3.x
4251
mov r0.xy, t0
4252
dp3 r0.w, r0, c17
4253
mul r0.w, r0.w, r0.w
4254
mul r0.w, r0.w, c18.y
4255
dp3 r0.x, r0, c16
4256
add r0.x, r0.x, -c18.x
4257
mad r0.y, r0.x, r0.x, r0.w
4258
rsq r0.y, r0.y
4259
rcp r0.y, r0.y
4260
mad r0.x, c18.x, r0.x, r0.y
4261
mov r0.z, c18.z
4262
mad r0.y, r0.x, r0.z, -c0.x
4263
mul_sat r0.y, r0.y, c0.y
4264
mad r0.w, r0.x, r0.z, -c1.x
4265
mul_sat r0.w, r0.w, c1.y
4266
add r0.y, r0.y, r0.w
4267
mad r0.w, r0.x, r0.z, -c2.x
4268
mul_sat r0.w, r0.w, c2.y
4269
add r0.y, r0.y, r0.w
4270
frc r0.w, r0.y
4271
add r0.y, r0.y, -r0.w
4272
add r1.w, r0.y, c3.x
4273
mad r1.x, r1.w, c4.z, c4.w
4274
mul r1.z, r0.x, c18.z
4275
mad r1.w, r0.x, r0.z, c3.w
4276
mad r0.x, r0.y, c4.z, c4.w
4277
mov r0.y, c3.z
4278
mov r1.y, c3.z
4279
mov r2.xy, c4
4280
mov r3.xy, c3.yzxw
4281
texld r4, r0, s0
4282
texld r5, r1, s0
4283
texld r2, r2, s0
4284
texld r3, r3, s0
4285
lrp r6, r0.w, r5, r4
4286
cmp r0, r1.w, r2, r6
4287
cmp r0, -r1.z, r3, r0
4288
mul r0, r0, v0
4289
mov oC0, r0
4290
4291
// approximately 40 instruction slots used (4 texture, 36 arithmetic)
4292
#endif
4293
4294
const DWORD radial0[] =
4295
{
4296
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4297
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4298
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
4299
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4300
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4301
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4302
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4303
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
4304
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4305
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4306
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4307
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
4308
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
4309
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
4310
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4311
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
4312
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
4313
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
4314
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
4315
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4316
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4317
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4318
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
4319
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
4320
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
4321
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
4322
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
4323
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
4324
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
4325
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
4326
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
4327
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
4328
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
4329
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
4330
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
4331
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
4332
0xa0e40800, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042,
4333
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003,
4334
0xa0e40800, 0x04000012, 0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004,
4335
0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058,
4336
0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000, 0x03000005, 0x800f0000,
4337
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
4338
};
4339
#if 0
4340
//
4341
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4342
//
4343
// fxc /T ps_2_0 /Vn radial1 /Fh tmp.h tmp.hlsl
4344
//
4345
//
4346
// Parameters:
4347
//
4348
// sampler2D colors;
4349
// float2 fractions[4];
4350
// float3 m0;
4351
// float3 m1;
4352
// float3 precalc;
4353
//
4354
//
4355
// Registers:
4356
//
4357
// Name Reg Size
4358
// ------------ ----- ----
4359
// fractions c0 3
4360
// m0 c16 1
4361
// m1 c17 1
4362
// precalc c18 1
4363
// colors s0 1
4364
//
4365
4366
ps_2_0
4367
def c3, 1, 0.5, -0.5, 2
4368
def c4, 0.0625, 0.03125, 0, 0
4369
dcl t0.xy
4370
dcl v0
4371
dcl_2d s0
4372
mov r0.xy, t0
4373
mov r0.z, c3.x
4374
dp3 r0.w, r0, c17
4375
dp3 r0.x, r0, c16
4376
mul r0.y, r0.w, r0.w
4377
mul r0.y, r0.y, c18.y
4378
add r0.x, r0.x, -c18.x
4379
mad r0.y, r0.x, r0.x, r0.y
4380
rsq r0.y, r0.y
4381
rcp r0.y, r0.y
4382
mad r0.x, c18.x, r0.x, r0.y
4383
mul r0.x, r0.x, c18.z
4384
mul r0.x, r0.x, c3.y
4385
frc r0.x, r0.x
4386
add r0.x, r0.x, c3.z
4387
abs r0.x, r0.x
4388
mad r0.x, r0.x, -c3.w, c3.x
4389
add r0.y, r0.x, -c0.x
4390
mul_sat r0.y, r0.y, c0.y
4391
add r0.z, r0.x, -c1.x
4392
add r0.x, r0.x, -c2.x
4393
mul_sat r0.z, r0.z, c1.y
4394
add r0.y, r0.y, r0.z
4395
mul_sat r0.x, r0.x, c2.y
4396
add r0.x, r0.y, r0.x
4397
frc r0.y, r0.x
4398
add r0.x, r0.x, -r0.y
4399
add r0.z, r0.x, c3.x
4400
mad r1.x, r0.x, c4.x, c4.y
4401
mad r2.x, r0.z, c4.x, c4.y
4402
mov r2.y, c3.y
4403
mov r1.y, c3.y
4404
texld r2, r2, s0
4405
texld r1, r1, s0
4406
lrp r3, r0.y, r2, r1
4407
mul r0, r3, v0
4408
mov oC0, r0
4409
4410
// approximately 37 instruction slots used (2 texture, 35 arithmetic)
4411
#endif
4412
4413
const DWORD radial1[] =
4414
{
4415
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4416
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4417
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
4418
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4419
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4420
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4421
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4422
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
4423
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4424
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4425
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4426
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
4427
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
4428
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
4429
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4430
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
4431
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
4432
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
4433
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
4434
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4435
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4436
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4437
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
4438
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
4439
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
4440
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
4441
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
4442
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
4443
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
4444
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
4445
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
4446
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
4447
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
4448
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
4449
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
4450
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
4451
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
4452
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
4453
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
4454
0x80e40000, 0x0000ffff
4455
};
4456
#if 0
4457
//
4458
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4459
//
4460
// fxc /T ps_2_0 /Vn radial2 /Fh tmp.h tmp.hlsl
4461
//
4462
//
4463
// Parameters:
4464
//
4465
// sampler2D colors;
4466
// float2 fractions[4];
4467
// float3 m0;
4468
// float3 m1;
4469
// float3 precalc;
4470
//
4471
//
4472
// Registers:
4473
//
4474
// Name Reg Size
4475
// ------------ ----- ----
4476
// fractions c0 3
4477
// m0 c16 1
4478
// m1 c17 1
4479
// precalc c18 1
4480
// colors s0 1
4481
//
4482
4483
ps_2_0
4484
def c3, 1, 0.0625, 0.03125, 0.5
4485
dcl t0.xy
4486
dcl v0
4487
dcl_2d s0
4488
mov r0.xy, t0
4489
mov r0.z, c3.x
4490
dp3 r0.w, r0, c17
4491
dp3 r0.x, r0, c16
4492
mul r0.y, r0.w, r0.w
4493
mul r0.y, r0.y, c18.y
4494
add r0.x, r0.x, -c18.x
4495
mad r0.y, r0.x, r0.x, r0.y
4496
rsq r0.y, r0.y
4497
rcp r0.y, r0.y
4498
mad r0.x, c18.x, r0.x, r0.y
4499
mul r0.x, r0.x, c18.z
4500
frc r0.x, r0.x
4501
add r0.y, r0.x, -c0.x
4502
mul_sat r0.y, r0.y, c0.y
4503
add r0.z, r0.x, -c1.x
4504
add r0.x, r0.x, -c2.x
4505
mul_sat r0.z, r0.z, c1.y
4506
add r0.y, r0.y, r0.z
4507
mul_sat r0.x, r0.x, c2.y
4508
add r0.x, r0.y, r0.x
4509
frc r0.y, r0.x
4510
add r0.x, r0.x, -r0.y
4511
add r0.z, r0.x, c3.x
4512
mad r1.x, r0.x, c3.y, c3.z
4513
mad r2.x, r0.z, c3.y, c3.z
4514
mov r2.y, c3.w
4515
mov r1.y, c3.w
4516
texld r2, r2, s0
4517
texld r1, r1, s0
4518
lrp r3, r0.y, r2, r1
4519
mul r0, r3, v0
4520
mov oC0, r0
4521
4522
// approximately 33 instruction slots used (2 texture, 31 arithmetic)
4523
#endif
4524
4525
const DWORD radial2[] =
4526
{
4527
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4528
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4529
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
4530
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4531
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4532
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4533
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4534
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
4535
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4536
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4537
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4538
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
4539
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
4540
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4541
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
4542
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
4543
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
4544
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
4545
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4546
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4547
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4548
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
4549
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
4550
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
4551
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
4552
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
4553
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
4554
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
4555
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
4556
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
4557
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
4558
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
4559
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
4560
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
4561
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
4562
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
4563
};
4564
#if 0
4565
//
4566
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4567
//
4568
// fxc /T ps_2_0 /Vn radial4 /Fh tmp.h tmp.hlsl
4569
//
4570
//
4571
// Parameters:
4572
//
4573
// sampler2D colors;
4574
// float2 fractions[8];
4575
// float3 m0;
4576
// float3 m1;
4577
// float3 precalc;
4578
//
4579
//
4580
// Registers:
4581
//
4582
// Name Reg Size
4583
// ------------ ----- ----
4584
// fractions c0 7
4585
// m0 c16 1
4586
// m1 c17 1
4587
// precalc c18 1
4588
// colors s0 1
4589
//
4590
4591
ps_2_0
4592
def c7, 1, 0, 0.5, -1
4593
def c8, 1, 0.5, 0.0625, 0.03125
4594
dcl t0.xy
4595
dcl v0
4596
dcl_2d s0
4597
mov r0.z, c7.x
4598
mov r0.xy, t0
4599
dp3 r0.w, r0, c17
4600
mul r0.w, r0.w, r0.w
4601
mul r0.w, r0.w, c18.y
4602
dp3 r0.x, r0, c16
4603
add r0.x, r0.x, -c18.x
4604
mad r0.y, r0.x, r0.x, r0.w
4605
rsq r0.y, r0.y
4606
rcp r0.y, r0.y
4607
mad r0.x, c18.x, r0.x, r0.y
4608
mov r0.z, c18.z
4609
mad r0.y, r0.x, r0.z, -c0.x
4610
mul_sat r0.y, r0.y, c0.y
4611
mad r0.w, r0.x, r0.z, -c1.x
4612
mul_sat r0.w, r0.w, c1.y
4613
add r0.y, r0.y, r0.w
4614
mad r0.w, r0.x, r0.z, -c2.x
4615
mul_sat r0.w, r0.w, c2.y
4616
add r0.y, r0.y, r0.w
4617
mad r0.w, r0.x, r0.z, -c3.x
4618
mul_sat r0.w, r0.w, c3.y
4619
add r0.y, r0.y, r0.w
4620
mad r0.w, r0.x, r0.z, -c4.x
4621
mul_sat r0.w, r0.w, c4.y
4622
add r0.y, r0.y, r0.w
4623
mad r0.w, r0.x, r0.z, -c5.x
4624
mul_sat r0.w, r0.w, c5.y
4625
add r0.y, r0.y, r0.w
4626
mad r0.w, r0.x, r0.z, -c6.x
4627
mul_sat r0.w, r0.w, c6.y
4628
add r0.y, r0.y, r0.w
4629
frc r0.w, r0.y
4630
add r0.y, r0.y, -r0.w
4631
add r1.w, r0.y, c7.x
4632
mad r1.x, r1.w, c8.z, c8.w
4633
mul r1.z, r0.x, c18.z
4634
mad r1.w, r0.x, r0.z, c7.w
4635
mad r0.x, r0.y, c8.z, c8.w
4636
mov r0.y, c7.z
4637
mov r1.y, c7.z
4638
mov r2.xy, c8
4639
mov r3.xy, c7.yzxw
4640
texld r4, r0, s0
4641
texld r5, r1, s0
4642
texld r2, r2, s0
4643
texld r3, r3, s0
4644
lrp r6, r0.w, r5, r4
4645
cmp r0, r1.w, r2, r6
4646
cmp r0, -r1.z, r3, r0
4647
mul r0, r0, v0
4648
mov oC0, r0
4649
4650
// approximately 52 instruction slots used (4 texture, 48 arithmetic)
4651
#endif
4652
4653
const DWORD radial4[] =
4654
{
4655
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4656
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4657
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
4658
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4659
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4660
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4661
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4662
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
4663
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4664
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4665
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4666
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
4667
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
4668
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
4669
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4670
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
4671
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
4672
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
4673
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
4674
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4675
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4676
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4677
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
4678
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
4679
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
4680
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
4681
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
4682
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
4683
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
4684
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
4685
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
4686
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
4687
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
4688
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
4689
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
4690
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
4691
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
4692
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
4693
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
4694
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
4695
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
4696
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
4697
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
4698
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
4699
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40800, 0x03000042,
4700
0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
4701
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x04000012,
4702
0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
4703
0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058, 0x800f0000, 0x81aa0001,
4704
0x80e40003, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
4705
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
4706
};
4707
#if 0
4708
//
4709
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4710
//
4711
// fxc /T ps_2_0 /Vn radial5 /Fh tmp.h tmp.hlsl
4712
//
4713
//
4714
// Parameters:
4715
//
4716
// sampler2D colors;
4717
// float2 fractions[8];
4718
// float3 m0;
4719
// float3 m1;
4720
// float3 precalc;
4721
//
4722
//
4723
// Registers:
4724
//
4725
// Name Reg Size
4726
// ------------ ----- ----
4727
// fractions c0 7
4728
// m0 c16 1
4729
// m1 c17 1
4730
// precalc c18 1
4731
// colors s0 1
4732
//
4733
4734
ps_2_0
4735
def c7, 1, 0.5, -0.5, 2
4736
def c8, 0.0625, 0.03125, 0, 0
4737
dcl t0.xy
4738
dcl v0
4739
dcl_2d s0
4740
mov r0.xy, t0
4741
mov r0.z, c7.x
4742
dp3 r0.w, r0, c17
4743
dp3 r0.x, r0, c16
4744
mul r0.y, r0.w, r0.w
4745
mul r0.y, r0.y, c18.y
4746
add r0.x, r0.x, -c18.x
4747
mad r0.y, r0.x, r0.x, r0.y
4748
rsq r0.y, r0.y
4749
rcp r0.y, r0.y
4750
mad r0.x, c18.x, r0.x, r0.y
4751
mul r0.x, r0.x, c18.z
4752
mul r0.x, r0.x, c7.y
4753
frc r0.x, r0.x
4754
add r0.x, r0.x, c7.z
4755
abs r0.x, r0.x
4756
mad r0.x, r0.x, -c7.w, c7.x
4757
add r0.y, r0.x, -c0.x
4758
mul_sat r0.y, r0.y, c0.y
4759
add r0.z, r0.x, -c1.x
4760
mul_sat r0.z, r0.z, c1.y
4761
add r0.y, r0.y, r0.z
4762
add r0.z, r0.x, -c2.x
4763
mul_sat r0.z, r0.z, c2.y
4764
add r0.y, r0.y, r0.z
4765
add r0.z, r0.x, -c3.x
4766
mul_sat r0.z, r0.z, c3.y
4767
add r0.y, r0.y, r0.z
4768
add r0.z, r0.x, -c4.x
4769
mul_sat r0.z, r0.z, c4.y
4770
add r0.y, r0.y, r0.z
4771
add r0.z, r0.x, -c5.x
4772
add r0.x, r0.x, -c6.x
4773
mul_sat r0.z, r0.z, c5.y
4774
add r0.y, r0.y, r0.z
4775
mul_sat r0.x, r0.x, c6.y
4776
add r0.x, r0.y, r0.x
4777
frc r0.y, r0.x
4778
add r0.x, r0.x, -r0.y
4779
add r0.z, r0.x, c7.x
4780
mad r1.x, r0.x, c8.x, c8.y
4781
mad r2.x, r0.z, c8.x, c8.y
4782
mov r2.y, c7.y
4783
mov r1.y, c7.y
4784
texld r2, r2, s0
4785
texld r1, r1, s0
4786
lrp r3, r0.y, r2, r1
4787
mul r0, r3, v0
4788
mov oC0, r0
4789
4790
// approximately 49 instruction slots used (2 texture, 47 arithmetic)
4791
#endif
4792
4793
const DWORD radial5[] =
4794
{
4795
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4796
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4797
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
4798
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4799
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4800
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4801
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4802
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
4803
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4804
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4805
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4806
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
4807
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
4808
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
4809
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4810
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
4811
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
4812
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
4813
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
4814
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4815
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4816
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4817
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
4818
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
4819
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
4820
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
4821
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
4822
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
4823
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
4824
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
4825
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
4826
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
4827
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
4828
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
4829
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
4830
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
4831
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
4832
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
4833
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
4834
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
4835
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
4836
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
4837
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
4838
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
4839
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
4840
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
4841
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
4842
0x80e40000, 0x0000ffff
4843
};
4844
#if 0
4845
//
4846
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4847
//
4848
// fxc /T ps_2_0 /Vn radial6 /Fh tmp.h tmp.hlsl
4849
//
4850
//
4851
// Parameters:
4852
//
4853
// sampler2D colors;
4854
// float2 fractions[8];
4855
// float3 m0;
4856
// float3 m1;
4857
// float3 precalc;
4858
//
4859
//
4860
// Registers:
4861
//
4862
// Name Reg Size
4863
// ------------ ----- ----
4864
// fractions c0 7
4865
// m0 c16 1
4866
// m1 c17 1
4867
// precalc c18 1
4868
// colors s0 1
4869
//
4870
4871
ps_2_0
4872
def c7, 1, 0.0625, 0.03125, 0.5
4873
dcl t0.xy
4874
dcl v0
4875
dcl_2d s0
4876
mov r0.xy, t0
4877
mov r0.z, c7.x
4878
dp3 r0.w, r0, c17
4879
dp3 r0.x, r0, c16
4880
mul r0.y, r0.w, r0.w
4881
mul r0.y, r0.y, c18.y
4882
add r0.x, r0.x, -c18.x
4883
mad r0.y, r0.x, r0.x, r0.y
4884
rsq r0.y, r0.y
4885
rcp r0.y, r0.y
4886
mad r0.x, c18.x, r0.x, r0.y
4887
mul r0.x, r0.x, c18.z
4888
frc r0.x, r0.x
4889
add r0.y, r0.x, -c0.x
4890
mul_sat r0.y, r0.y, c0.y
4891
add r0.z, r0.x, -c1.x
4892
mul_sat r0.z, r0.z, c1.y
4893
add r0.y, r0.y, r0.z
4894
add r0.z, r0.x, -c2.x
4895
mul_sat r0.z, r0.z, c2.y
4896
add r0.y, r0.y, r0.z
4897
add r0.z, r0.x, -c3.x
4898
mul_sat r0.z, r0.z, c3.y
4899
add r0.y, r0.y, r0.z
4900
add r0.z, r0.x, -c4.x
4901
mul_sat r0.z, r0.z, c4.y
4902
add r0.y, r0.y, r0.z
4903
add r0.z, r0.x, -c5.x
4904
add r0.x, r0.x, -c6.x
4905
mul_sat r0.z, r0.z, c5.y
4906
add r0.y, r0.y, r0.z
4907
mul_sat r0.x, r0.x, c6.y
4908
add r0.x, r0.y, r0.x
4909
frc r0.y, r0.x
4910
add r0.x, r0.x, -r0.y
4911
add r0.z, r0.x, c7.x
4912
mad r1.x, r0.x, c7.y, c7.z
4913
mad r2.x, r0.z, c7.y, c7.z
4914
mov r2.y, c7.w
4915
mov r1.y, c7.w
4916
texld r2, r2, s0
4917
texld r1, r1, s0
4918
lrp r3, r0.y, r2, r1
4919
mul r0, r3, v0
4920
mov oC0, r0
4921
4922
// approximately 45 instruction slots used (2 texture, 43 arithmetic)
4923
#endif
4924
4925
const DWORD radial6[] =
4926
{
4927
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
4928
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
4929
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
4930
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
4931
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
4932
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
4933
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
4934
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
4935
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
4936
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
4937
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
4938
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
4939
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
4940
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
4941
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
4942
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
4943
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
4944
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
4945
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
4946
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
4947
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
4948
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
4949
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
4950
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
4951
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
4952
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4953
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
4954
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4955
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
4956
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4957
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
4958
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
4959
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
4960
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
4961
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
4962
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
4963
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
4964
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
4965
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
4966
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
4967
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
4968
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
4969
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
4970
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
4971
};
4972
#if 0
4973
//
4974
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
4975
//
4976
// fxc /T ps_2_0 /Vn radial8 /Fh tmp.h tmp.hlsl
4977
//
4978
//
4979
// Parameters:
4980
//
4981
// sampler2D colors;
4982
// float2 fractions[4];
4983
// float3 m0;
4984
// float3 m1;
4985
// sampler2D mask;
4986
// float3 precalc;
4987
//
4988
//
4989
// Registers:
4990
//
4991
// Name Reg Size
4992
// ------------ ----- ----
4993
// fractions c0 3
4994
// m0 c16 1
4995
// m1 c17 1
4996
// precalc c18 1
4997
// mask s0 1
4998
// colors s1 1
4999
//
5000
5001
ps_2_0
5002
def c3, 1, 0, 0.5, -1
5003
def c4, 1, 0.5, 0.0625, 0.03125
5004
dcl t0.xy
5005
dcl t1.xy
5006
dcl v0
5007
dcl_2d s0
5008
dcl_2d s1
5009
mov r0.z, c3.x
5010
mov r0.xy, t1
5011
dp3 r0.w, r0, c17
5012
mul r0.w, r0.w, r0.w
5013
mul r0.w, r0.w, c18.y
5014
dp3 r0.x, r0, c16
5015
add r0.x, r0.x, -c18.x
5016
mad r0.y, r0.x, r0.x, r0.w
5017
rsq r0.y, r0.y
5018
rcp r0.y, r0.y
5019
mad r0.x, c18.x, r0.x, r0.y
5020
mov r0.z, c18.z
5021
mad r0.y, r0.x, r0.z, -c0.x
5022
mul_sat r0.y, r0.y, c0.y
5023
mad r0.w, r0.x, r0.z, -c1.x
5024
mul_sat r0.w, r0.w, c1.y
5025
add r0.y, r0.y, r0.w
5026
mad r0.w, r0.x, r0.z, -c2.x
5027
mul_sat r0.w, r0.w, c2.y
5028
add r0.y, r0.y, r0.w
5029
frc r0.w, r0.y
5030
add r0.y, r0.y, -r0.w
5031
add r1.w, r0.y, c3.x
5032
mad r1.x, r1.w, c4.z, c4.w
5033
mul r1.z, r0.x, c18.z
5034
mad r1.w, r0.x, r0.z, c3.w
5035
mad r0.x, r0.y, c4.z, c4.w
5036
mov r0.y, c3.z
5037
mov r1.y, c3.z
5038
mov r2.xy, c4
5039
mov r3.xy, c3.yzxw
5040
texld r4, r0, s1
5041
texld r5, r1, s1
5042
texld r2, r2, s1
5043
texld r3, r3, s1
5044
texld r6, t0, s0
5045
lrp r7, r0.w, r5, r4
5046
cmp r0, r1.w, r2, r7
5047
cmp r0, -r1.z, r3, r0
5048
mul r0, r6.w, r0
5049
mul r0, r0, v0
5050
mov oC0, r0
5051
5052
// approximately 42 instruction slots used (5 texture, 37 arithmetic)
5053
#endif
5054
5055
const DWORD radial8[] =
5056
{
5057
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5058
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5059
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
5060
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5061
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5062
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5063
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5064
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5065
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
5066
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5067
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5068
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5069
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
5070
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
5071
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
5072
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5073
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5074
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
5075
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
5076
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
5077
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
5078
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5079
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5080
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5081
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
5082
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
5083
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
5084
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
5085
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
5086
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
5087
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
5088
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
5089
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
5090
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
5091
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
5092
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
5093
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
5094
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
5095
0xa0e40801, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042,
5096
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
5097
0xa0e40801, 0x03000042, 0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012,
5098
0x800f0007, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
5099
0x80ff0001, 0x80e40002, 0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001,
5100
0x80e40003, 0x80e40000, 0x03000005, 0x800f0000, 0x80ff0006, 0x80e40000,
5101
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
5102
0x80e40000, 0x0000ffff
5103
};
5104
#if 0
5105
//
5106
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5107
//
5108
// fxc /T ps_2_0 /Vn radial9 /Fh tmp.h tmp.hlsl
5109
//
5110
//
5111
// Parameters:
5112
//
5113
// sampler2D colors;
5114
// float2 fractions[4];
5115
// float3 m0;
5116
// float3 m1;
5117
// sampler2D mask;
5118
// float3 precalc;
5119
//
5120
//
5121
// Registers:
5122
//
5123
// Name Reg Size
5124
// ------------ ----- ----
5125
// fractions c0 3
5126
// m0 c16 1
5127
// m1 c17 1
5128
// precalc c18 1
5129
// mask s0 1
5130
// colors s1 1
5131
//
5132
5133
ps_2_0
5134
def c3, 1, 0.5, -0.5, 2
5135
def c4, 0.0625, 0.03125, 0, 0
5136
dcl t0.xy
5137
dcl t1.xy
5138
dcl v0
5139
dcl_2d s0
5140
dcl_2d s1
5141
mov r0.xy, t1
5142
mov r0.z, c3.x
5143
dp3 r0.w, r0, c17
5144
dp3 r0.x, r0, c16
5145
mul r0.y, r0.w, r0.w
5146
mul r0.y, r0.y, c18.y
5147
add r0.x, r0.x, -c18.x
5148
mad r0.y, r0.x, r0.x, r0.y
5149
rsq r0.y, r0.y
5150
rcp r0.y, r0.y
5151
mad r0.x, c18.x, r0.x, r0.y
5152
mul r0.x, r0.x, c18.z
5153
mul r0.x, r0.x, c3.y
5154
frc r0.x, r0.x
5155
add r0.x, r0.x, c3.z
5156
abs r0.x, r0.x
5157
mad r0.x, r0.x, -c3.w, c3.x
5158
add r0.y, r0.x, -c0.x
5159
mul_sat r0.y, r0.y, c0.y
5160
add r0.z, r0.x, -c1.x
5161
add r0.x, r0.x, -c2.x
5162
mul_sat r0.z, r0.z, c1.y
5163
add r0.y, r0.y, r0.z
5164
mul_sat r0.x, r0.x, c2.y
5165
add r0.x, r0.y, r0.x
5166
frc r0.y, r0.x
5167
add r0.x, r0.x, -r0.y
5168
add r0.z, r0.x, c3.x
5169
mad r1.x, r0.x, c4.x, c4.y
5170
mad r2.x, r0.z, c4.x, c4.y
5171
mov r2.y, c3.y
5172
mov r1.y, c3.y
5173
texld r2, r2, s1
5174
texld r1, r1, s1
5175
texld r3, t0, s0
5176
lrp r4, r0.y, r2, r1
5177
mul r0, r3.w, r4
5178
mul r0, r0, v0
5179
mov oC0, r0
5180
5181
// approximately 39 instruction slots used (3 texture, 36 arithmetic)
5182
#endif
5183
5184
const DWORD radial9[] =
5185
{
5186
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5187
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5188
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
5189
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5190
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5191
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5192
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5193
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5194
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
5195
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5196
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5197
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5198
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
5199
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
5200
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
5201
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5202
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5203
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
5204
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
5205
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
5206
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
5207
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5208
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5209
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5210
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
5211
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
5212
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
5213
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
5214
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
5215
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
5216
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
5217
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
5218
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
5219
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
5220
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
5221
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
5222
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
5223
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
5224
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
5225
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
5226
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
5227
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
5228
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
5229
};
5230
#if 0
5231
//
5232
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5233
//
5234
// fxc /T ps_2_0 /Vn radial10 /Fh tmp.h tmp.hlsl
5235
//
5236
//
5237
// Parameters:
5238
//
5239
// sampler2D colors;
5240
// float2 fractions[4];
5241
// float3 m0;
5242
// float3 m1;
5243
// sampler2D mask;
5244
// float3 precalc;
5245
//
5246
//
5247
// Registers:
5248
//
5249
// Name Reg Size
5250
// ------------ ----- ----
5251
// fractions c0 3
5252
// m0 c16 1
5253
// m1 c17 1
5254
// precalc c18 1
5255
// mask s0 1
5256
// colors s1 1
5257
//
5258
5259
ps_2_0
5260
def c3, 1, 0.0625, 0.03125, 0.5
5261
dcl t0.xy
5262
dcl t1.xy
5263
dcl v0
5264
dcl_2d s0
5265
dcl_2d s1
5266
mov r0.xy, t1
5267
mov r0.z, c3.x
5268
dp3 r0.w, r0, c17
5269
dp3 r0.x, r0, c16
5270
mul r0.y, r0.w, r0.w
5271
mul r0.y, r0.y, c18.y
5272
add r0.x, r0.x, -c18.x
5273
mad r0.y, r0.x, r0.x, r0.y
5274
rsq r0.y, r0.y
5275
rcp r0.y, r0.y
5276
mad r0.x, c18.x, r0.x, r0.y
5277
mul r0.x, r0.x, c18.z
5278
frc r0.x, r0.x
5279
add r0.y, r0.x, -c0.x
5280
mul_sat r0.y, r0.y, c0.y
5281
add r0.z, r0.x, -c1.x
5282
add r0.x, r0.x, -c2.x
5283
mul_sat r0.z, r0.z, c1.y
5284
add r0.y, r0.y, r0.z
5285
mul_sat r0.x, r0.x, c2.y
5286
add r0.x, r0.y, r0.x
5287
frc r0.y, r0.x
5288
add r0.x, r0.x, -r0.y
5289
add r0.z, r0.x, c3.x
5290
mad r1.x, r0.x, c3.y, c3.z
5291
mad r2.x, r0.z, c3.y, c3.z
5292
mov r2.y, c3.w
5293
mov r1.y, c3.w
5294
texld r2, r2, s1
5295
texld r1, r1, s1
5296
texld r3, t0, s0
5297
lrp r4, r0.y, r2, r1
5298
mul r0, r3.w, r4
5299
mul r0, r0, v0
5300
mov oC0, r0
5301
5302
// approximately 35 instruction slots used (3 texture, 32 arithmetic)
5303
#endif
5304
5305
const DWORD radial10[] =
5306
{
5307
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5308
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5309
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
5310
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5311
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5312
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5313
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5314
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5315
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
5316
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5317
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5318
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5319
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
5320
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
5321
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5322
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5323
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
5324
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
5325
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
5326
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
5327
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5328
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5329
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5330
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
5331
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
5332
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
5333
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
5334
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
5335
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
5336
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
5337
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
5338
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
5339
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
5340
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
5341
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
5342
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
5343
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
5344
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
5345
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
5346
};
5347
#if 0
5348
//
5349
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5350
//
5351
// fxc /T ps_2_0 /Vn radial12 /Fh tmp.h tmp.hlsl
5352
//
5353
//
5354
// Parameters:
5355
//
5356
// sampler2D colors;
5357
// float2 fractions[8];
5358
// float3 m0;
5359
// float3 m1;
5360
// sampler2D mask;
5361
// float3 precalc;
5362
//
5363
//
5364
// Registers:
5365
//
5366
// Name Reg Size
5367
// ------------ ----- ----
5368
// fractions c0 7
5369
// m0 c16 1
5370
// m1 c17 1
5371
// precalc c18 1
5372
// mask s0 1
5373
// colors s1 1
5374
//
5375
5376
ps_2_0
5377
def c7, 1, 0, 0.5, -1
5378
def c8, 1, 0.5, 0.0625, 0.03125
5379
dcl t0.xy
5380
dcl t1.xy
5381
dcl v0
5382
dcl_2d s0
5383
dcl_2d s1
5384
mov r0.z, c7.x
5385
mov r0.xy, t1
5386
dp3 r0.w, r0, c17
5387
mul r0.w, r0.w, r0.w
5388
mul r0.w, r0.w, c18.y
5389
dp3 r0.x, r0, c16
5390
add r0.x, r0.x, -c18.x
5391
mad r0.y, r0.x, r0.x, r0.w
5392
rsq r0.y, r0.y
5393
rcp r0.y, r0.y
5394
mad r0.x, c18.x, r0.x, r0.y
5395
mov r0.z, c18.z
5396
mad r0.y, r0.x, r0.z, -c0.x
5397
mul_sat r0.y, r0.y, c0.y
5398
mad r0.w, r0.x, r0.z, -c1.x
5399
mul_sat r0.w, r0.w, c1.y
5400
add r0.y, r0.y, r0.w
5401
mad r0.w, r0.x, r0.z, -c2.x
5402
mul_sat r0.w, r0.w, c2.y
5403
add r0.y, r0.y, r0.w
5404
mad r0.w, r0.x, r0.z, -c3.x
5405
mul_sat r0.w, r0.w, c3.y
5406
add r0.y, r0.y, r0.w
5407
mad r0.w, r0.x, r0.z, -c4.x
5408
mul_sat r0.w, r0.w, c4.y
5409
add r0.y, r0.y, r0.w
5410
mad r0.w, r0.x, r0.z, -c5.x
5411
mul_sat r0.w, r0.w, c5.y
5412
add r0.y, r0.y, r0.w
5413
mad r0.w, r0.x, r0.z, -c6.x
5414
mul_sat r0.w, r0.w, c6.y
5415
add r0.y, r0.y, r0.w
5416
frc r0.w, r0.y
5417
add r0.y, r0.y, -r0.w
5418
add r1.w, r0.y, c7.x
5419
mad r1.x, r1.w, c8.z, c8.w
5420
mul r1.z, r0.x, c18.z
5421
mad r1.w, r0.x, r0.z, c7.w
5422
mad r0.x, r0.y, c8.z, c8.w
5423
mov r0.y, c7.z
5424
mov r1.y, c7.z
5425
mov r2.xy, c8
5426
mov r3.xy, c7.yzxw
5427
texld r4, r0, s1
5428
texld r5, r1, s1
5429
texld r2, r2, s1
5430
texld r3, r3, s1
5431
texld r6, t0, s0
5432
lrp r7, r0.w, r5, r4
5433
cmp r0, r1.w, r2, r7
5434
cmp r0, -r1.z, r3, r0
5435
mul r0, r6.w, r0
5436
mul r0, r0, v0
5437
mov oC0, r0
5438
5439
// approximately 54 instruction slots used (5 texture, 49 arithmetic)
5440
#endif
5441
5442
const DWORD radial12[] =
5443
{
5444
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5445
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5446
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
5447
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5448
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5449
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5450
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5451
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5452
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
5453
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5454
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5455
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5456
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
5457
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
5458
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
5459
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5460
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5461
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
5462
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
5463
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
5464
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
5465
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5466
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5467
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5468
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
5469
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
5470
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
5471
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
5472
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
5473
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
5474
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
5475
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
5476
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
5477
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
5478
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
5479
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
5480
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
5481
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
5482
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
5483
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
5484
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
5485
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
5486
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
5487
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
5488
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
5489
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
5490
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40801, 0x03000042,
5491
0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002,
5492
0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40801, 0x03000042,
5493
0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0007, 0x80ff0000,
5494
0x80e40005, 0x80e40004, 0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002,
5495
0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000,
5496
0x03000005, 0x800f0000, 0x80ff0006, 0x80e40000, 0x03000005, 0x800f0000,
5497
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
5498
};
5499
#if 0
5500
//
5501
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5502
//
5503
// fxc /T ps_2_0 /Vn radial13 /Fh tmp.h tmp.hlsl
5504
//
5505
//
5506
// Parameters:
5507
//
5508
// sampler2D colors;
5509
// float2 fractions[8];
5510
// float3 m0;
5511
// float3 m1;
5512
// sampler2D mask;
5513
// float3 precalc;
5514
//
5515
//
5516
// Registers:
5517
//
5518
// Name Reg Size
5519
// ------------ ----- ----
5520
// fractions c0 7
5521
// m0 c16 1
5522
// m1 c17 1
5523
// precalc c18 1
5524
// mask s0 1
5525
// colors s1 1
5526
//
5527
5528
ps_2_0
5529
def c7, 1, 0.5, -0.5, 2
5530
def c8, 0.0625, 0.03125, 0, 0
5531
dcl t0.xy
5532
dcl t1.xy
5533
dcl v0
5534
dcl_2d s0
5535
dcl_2d s1
5536
mov r0.xy, t1
5537
mov r0.z, c7.x
5538
dp3 r0.w, r0, c17
5539
dp3 r0.x, r0, c16
5540
mul r0.y, r0.w, r0.w
5541
mul r0.y, r0.y, c18.y
5542
add r0.x, r0.x, -c18.x
5543
mad r0.y, r0.x, r0.x, r0.y
5544
rsq r0.y, r0.y
5545
rcp r0.y, r0.y
5546
mad r0.x, c18.x, r0.x, r0.y
5547
mul r0.x, r0.x, c18.z
5548
mul r0.x, r0.x, c7.y
5549
frc r0.x, r0.x
5550
add r0.x, r0.x, c7.z
5551
abs r0.x, r0.x
5552
mad r0.x, r0.x, -c7.w, c7.x
5553
add r0.y, r0.x, -c0.x
5554
mul_sat r0.y, r0.y, c0.y
5555
add r0.z, r0.x, -c1.x
5556
mul_sat r0.z, r0.z, c1.y
5557
add r0.y, r0.y, r0.z
5558
add r0.z, r0.x, -c2.x
5559
mul_sat r0.z, r0.z, c2.y
5560
add r0.y, r0.y, r0.z
5561
add r0.z, r0.x, -c3.x
5562
mul_sat r0.z, r0.z, c3.y
5563
add r0.y, r0.y, r0.z
5564
add r0.z, r0.x, -c4.x
5565
mul_sat r0.z, r0.z, c4.y
5566
add r0.y, r0.y, r0.z
5567
add r0.z, r0.x, -c5.x
5568
add r0.x, r0.x, -c6.x
5569
mul_sat r0.z, r0.z, c5.y
5570
add r0.y, r0.y, r0.z
5571
mul_sat r0.x, r0.x, c6.y
5572
add r0.x, r0.y, r0.x
5573
frc r0.y, r0.x
5574
add r0.x, r0.x, -r0.y
5575
add r0.z, r0.x, c7.x
5576
mad r1.x, r0.x, c8.x, c8.y
5577
mad r2.x, r0.z, c8.x, c8.y
5578
mov r2.y, c7.y
5579
mov r1.y, c7.y
5580
texld r2, r2, s1
5581
texld r1, r1, s1
5582
texld r3, t0, s0
5583
lrp r4, r0.y, r2, r1
5584
mul r0, r3.w, r4
5585
mul r0, r0, v0
5586
mov oC0, r0
5587
5588
// approximately 51 instruction slots used (3 texture, 48 arithmetic)
5589
#endif
5590
5591
const DWORD radial13[] =
5592
{
5593
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5594
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5595
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
5596
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5597
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5598
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5599
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5600
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5601
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
5602
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5603
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5604
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5605
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
5606
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
5607
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
5608
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5609
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5610
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
5611
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
5612
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
5613
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
5614
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5615
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5616
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5617
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
5618
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
5619
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
5620
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
5621
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
5622
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
5623
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
5624
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
5625
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
5626
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
5627
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
5628
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
5629
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
5630
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
5631
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
5632
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
5633
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
5634
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
5635
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
5636
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
5637
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
5638
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
5639
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
5640
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
5641
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
5642
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
5643
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
5644
};
5645
#if 0
5646
//
5647
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5648
//
5649
// fxc /T ps_2_0 /Vn radial14 /Fh tmp.h tmp.hlsl
5650
//
5651
//
5652
// Parameters:
5653
//
5654
// sampler2D colors;
5655
// float2 fractions[8];
5656
// float3 m0;
5657
// float3 m1;
5658
// sampler2D mask;
5659
// float3 precalc;
5660
//
5661
//
5662
// Registers:
5663
//
5664
// Name Reg Size
5665
// ------------ ----- ----
5666
// fractions c0 7
5667
// m0 c16 1
5668
// m1 c17 1
5669
// precalc c18 1
5670
// mask s0 1
5671
// colors s1 1
5672
//
5673
5674
ps_2_0
5675
def c7, 1, 0.0625, 0.03125, 0.5
5676
dcl t0.xy
5677
dcl t1.xy
5678
dcl v0
5679
dcl_2d s0
5680
dcl_2d s1
5681
mov r0.xy, t1
5682
mov r0.z, c7.x
5683
dp3 r0.w, r0, c17
5684
dp3 r0.x, r0, c16
5685
mul r0.y, r0.w, r0.w
5686
mul r0.y, r0.y, c18.y
5687
add r0.x, r0.x, -c18.x
5688
mad r0.y, r0.x, r0.x, r0.y
5689
rsq r0.y, r0.y
5690
rcp r0.y, r0.y
5691
mad r0.x, c18.x, r0.x, r0.y
5692
mul r0.x, r0.x, c18.z
5693
frc r0.x, r0.x
5694
add r0.y, r0.x, -c0.x
5695
mul_sat r0.y, r0.y, c0.y
5696
add r0.z, r0.x, -c1.x
5697
mul_sat r0.z, r0.z, c1.y
5698
add r0.y, r0.y, r0.z
5699
add r0.z, r0.x, -c2.x
5700
mul_sat r0.z, r0.z, c2.y
5701
add r0.y, r0.y, r0.z
5702
add r0.z, r0.x, -c3.x
5703
mul_sat r0.z, r0.z, c3.y
5704
add r0.y, r0.y, r0.z
5705
add r0.z, r0.x, -c4.x
5706
mul_sat r0.z, r0.z, c4.y
5707
add r0.y, r0.y, r0.z
5708
add r0.z, r0.x, -c5.x
5709
add r0.x, r0.x, -c6.x
5710
mul_sat r0.z, r0.z, c5.y
5711
add r0.y, r0.y, r0.z
5712
mul_sat r0.x, r0.x, c6.y
5713
add r0.x, r0.y, r0.x
5714
frc r0.y, r0.x
5715
add r0.x, r0.x, -r0.y
5716
add r0.z, r0.x, c7.x
5717
mad r1.x, r0.x, c7.y, c7.z
5718
mad r2.x, r0.z, c7.y, c7.z
5719
mov r2.y, c7.w
5720
mov r1.y, c7.w
5721
texld r2, r2, s1
5722
texld r1, r1, s1
5723
texld r3, t0, s0
5724
lrp r4, r0.y, r2, r1
5725
mul r0, r3.w, r4
5726
mul r0, r0, v0
5727
mov oC0, r0
5728
5729
// approximately 47 instruction slots used (3 texture, 44 arithmetic)
5730
#endif
5731
5732
const DWORD radial14[] =
5733
{
5734
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
5735
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
5736
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
5737
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
5738
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
5739
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
5740
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
5741
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
5742
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
5743
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
5744
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
5745
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
5746
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
5747
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
5748
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
5749
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
5750
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
5751
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
5752
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
5753
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
5754
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5755
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5756
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5757
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
5758
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
5759
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
5760
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
5761
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
5762
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
5763
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
5764
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
5765
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
5766
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
5767
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
5768
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
5769
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
5770
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
5771
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
5772
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
5773
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
5774
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
5775
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
5776
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
5777
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
5778
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
5779
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
5780
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
5781
};
5782
#if 0
5783
//
5784
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5785
//
5786
// fxc /T ps_2_0 /Vn radial16 /Fh tmp.h tmp.hlsl
5787
//
5788
//
5789
// Parameters:
5790
//
5791
// sampler2D colors;
5792
// float2 fractions[4];
5793
// float3 m0;
5794
// float3 m1;
5795
// float3 precalc;
5796
//
5797
//
5798
// Registers:
5799
//
5800
// Name Reg Size
5801
// ------------ ----- ----
5802
// fractions c0 3
5803
// m0 c16 1
5804
// m1 c17 1
5805
// precalc c18 1
5806
// colors s0 1
5807
//
5808
5809
ps_2_0
5810
def c3, 1, 0, 0.5, -1
5811
def c4, 1, 0.5, 0.0625, 0.03125
5812
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
5813
dcl t0.xy
5814
dcl v0
5815
dcl_2d s0
5816
mov r0.z, c3.x
5817
mov r0.xy, t0
5818
dp3 r0.w, r0, c17
5819
mul r0.w, r0.w, r0.w
5820
mul r0.w, r0.w, c18.y
5821
dp3 r0.x, r0, c16
5822
add r0.x, r0.x, -c18.x
5823
mad r0.y, r0.x, r0.x, r0.w
5824
rsq r0.y, r0.y
5825
rcp r0.y, r0.y
5826
mad r0.x, c18.x, r0.x, r0.y
5827
mov r0.z, c18.z
5828
mad r0.y, r0.x, r0.z, -c0.x
5829
mul_sat r0.y, r0.y, c0.y
5830
mad r0.w, r0.x, r0.z, -c1.x
5831
mul_sat r0.w, r0.w, c1.y
5832
add r0.y, r0.y, r0.w
5833
mad r0.w, r0.x, r0.z, -c2.x
5834
mul_sat r0.w, r0.w, c2.y
5835
add r0.y, r0.y, r0.w
5836
frc r0.w, r0.y
5837
add r0.y, r0.y, -r0.w
5838
add r1.w, r0.y, c3.x
5839
mad r1.x, r1.w, c4.z, c4.w
5840
mul r1.z, r0.x, c18.z
5841
mad r1.w, r0.x, r0.z, c3.w
5842
mad r0.x, r0.y, c4.z, c4.w
5843
mov r0.y, c3.z
5844
mov r1.y, c3.z
5845
mov r2.xy, c4
5846
mov r3.xy, c3.yzxw
5847
texld r4, r0, s0
5848
texld r5, r1, s0
5849
texld r2, r2, s0
5850
texld r3, r3, s0
5851
lrp r6, r0.w, r5, r4
5852
cmp r0, r1.w, r2, r6
5853
cmp r0, -r1.z, r3, r0
5854
log r1.x, r0.x
5855
log r1.y, r0.y
5856
log r1.z, r0.z
5857
mul r1.xyz, r1, c5.x
5858
exp r2.x, r1.x
5859
exp r2.y, r1.y
5860
exp r2.z, r1.z
5861
mad r0.xyz, r2, c5.y, c5.z
5862
mul r0, r0, v0
5863
mov oC0, r0
5864
5865
// approximately 48 instruction slots used (4 texture, 44 arithmetic)
5866
#endif
5867
5868
const DWORD radial16[] =
5869
{
5870
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
5871
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
5872
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
5873
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
5874
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
5875
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
5876
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
5877
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
5878
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
5879
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
5880
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
5881
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
5882
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
5883
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
5884
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
5885
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
5886
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
5887
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
5888
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
5889
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
5890
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
5891
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
5892
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
5893
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
5894
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
5895
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
5896
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
5897
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
5898
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
5899
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
5900
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
5901
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
5902
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
5903
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
5904
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
5905
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
5906
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
5907
0xa0e40800, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042,
5908
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003,
5909
0xa0e40800, 0x04000012, 0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004,
5910
0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058,
5911
0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000, 0x0200000f, 0x80010001,
5912
0x80000000, 0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001,
5913
0x80aa0000, 0x03000005, 0x80070001, 0x80e40001, 0xa0000005, 0x0200000e,
5914
0x80010002, 0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e,
5915
0x80040002, 0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550005,
5916
0xa0aa0005, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
5917
0x800f0800, 0x80e40000, 0x0000ffff
5918
};
5919
#if 0
5920
//
5921
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
5922
//
5923
// fxc /T ps_2_0 /Vn radial17 /Fh tmp.h tmp.hlsl
5924
//
5925
//
5926
// Parameters:
5927
//
5928
// sampler2D colors;
5929
// float2 fractions[4];
5930
// float3 m0;
5931
// float3 m1;
5932
// float3 precalc;
5933
//
5934
//
5935
// Registers:
5936
//
5937
// Name Reg Size
5938
// ------------ ----- ----
5939
// fractions c0 3
5940
// m0 c16 1
5941
// m1 c17 1
5942
// precalc c18 1
5943
// colors s0 1
5944
//
5945
5946
ps_2_0
5947
def c3, 1, 0.5, -0.5, 2
5948
def c4, 0.0625, 0.03125, 0.416667014, 0
5949
def c5, 1.05499995, -0.0549999997, 0, 0
5950
dcl t0.xy
5951
dcl v0
5952
dcl_2d s0
5953
mov r0.xy, t0
5954
mov r0.z, c3.x
5955
dp3 r0.w, r0, c17
5956
dp3 r0.x, r0, c16
5957
mul r0.y, r0.w, r0.w
5958
mul r0.y, r0.y, c18.y
5959
add r0.x, r0.x, -c18.x
5960
mad r0.y, r0.x, r0.x, r0.y
5961
rsq r0.y, r0.y
5962
rcp r0.y, r0.y
5963
mad r0.x, c18.x, r0.x, r0.y
5964
mul r0.x, r0.x, c18.z
5965
mul r0.x, r0.x, c3.y
5966
frc r0.x, r0.x
5967
add r0.x, r0.x, c3.z
5968
abs r0.x, r0.x
5969
mad r0.x, r0.x, -c3.w, c3.x
5970
add r0.y, r0.x, -c0.x
5971
mul_sat r0.y, r0.y, c0.y
5972
add r0.z, r0.x, -c1.x
5973
add r0.x, r0.x, -c2.x
5974
mul_sat r0.z, r0.z, c1.y
5975
add r0.y, r0.y, r0.z
5976
mul_sat r0.x, r0.x, c2.y
5977
add r0.x, r0.y, r0.x
5978
frc r0.y, r0.x
5979
add r0.x, r0.x, -r0.y
5980
add r0.z, r0.x, c3.x
5981
mad r1.x, r0.x, c4.x, c4.y
5982
mad r2.x, r0.z, c4.x, c4.y
5983
mov r2.y, c3.y
5984
mov r1.y, c3.y
5985
texld r2, r2, s0
5986
texld r1, r1, s0
5987
lrp r3, r0.y, r2, r1
5988
log r0.x, r3.x
5989
log r0.y, r3.y
5990
log r0.z, r3.z
5991
mul r0.xyz, r0, c4.z
5992
exp r1.x, r0.x
5993
exp r1.y, r0.y
5994
exp r1.z, r0.z
5995
mad r3.xyz, r1, c5.x, c5.y
5996
mul r0, r3, v0
5997
mov oC0, r0
5998
5999
// approximately 45 instruction slots used (2 texture, 43 arithmetic)
6000
#endif
6001
6002
const DWORD radial17[] =
6003
{
6004
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
6005
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
6006
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
6007
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
6008
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
6009
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
6010
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
6011
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
6012
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
6013
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
6014
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
6015
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
6016
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
6017
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
6018
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
6019
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
6020
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
6021
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
6022
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
6023
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
6024
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6025
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6026
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6027
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
6028
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
6029
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
6030
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
6031
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
6032
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
6033
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
6034
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
6035
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
6036
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
6037
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
6038
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
6039
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
6040
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
6041
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
6042
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
6043
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
6044
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
6045
0xa0aa0004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
6046
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
6047
0x80e40001, 0xa0000005, 0xa0550005, 0x03000005, 0x800f0000, 0x80e40003,
6048
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
6049
};
6050
#if 0
6051
//
6052
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6053
//
6054
// fxc /T ps_2_0 /Vn radial18 /Fh tmp.h tmp.hlsl
6055
//
6056
//
6057
// Parameters:
6058
//
6059
// sampler2D colors;
6060
// float2 fractions[4];
6061
// float3 m0;
6062
// float3 m1;
6063
// float3 precalc;
6064
//
6065
//
6066
// Registers:
6067
//
6068
// Name Reg Size
6069
// ------------ ----- ----
6070
// fractions c0 3
6071
// m0 c16 1
6072
// m1 c17 1
6073
// precalc c18 1
6074
// colors s0 1
6075
//
6076
6077
ps_2_0
6078
def c3, 1, 0.0625, 0.03125, 0.5
6079
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
6080
dcl t0.xy
6081
dcl v0
6082
dcl_2d s0
6083
mov r0.xy, t0
6084
mov r0.z, c3.x
6085
dp3 r0.w, r0, c17
6086
dp3 r0.x, r0, c16
6087
mul r0.y, r0.w, r0.w
6088
mul r0.y, r0.y, c18.y
6089
add r0.x, r0.x, -c18.x
6090
mad r0.y, r0.x, r0.x, r0.y
6091
rsq r0.y, r0.y
6092
rcp r0.y, r0.y
6093
mad r0.x, c18.x, r0.x, r0.y
6094
mul r0.x, r0.x, c18.z
6095
frc r0.x, r0.x
6096
add r0.y, r0.x, -c0.x
6097
mul_sat r0.y, r0.y, c0.y
6098
add r0.z, r0.x, -c1.x
6099
add r0.x, r0.x, -c2.x
6100
mul_sat r0.z, r0.z, c1.y
6101
add r0.y, r0.y, r0.z
6102
mul_sat r0.x, r0.x, c2.y
6103
add r0.x, r0.y, r0.x
6104
frc r0.y, r0.x
6105
add r0.x, r0.x, -r0.y
6106
add r0.z, r0.x, c3.x
6107
mad r1.x, r0.x, c3.y, c3.z
6108
mad r2.x, r0.z, c3.y, c3.z
6109
mov r2.y, c3.w
6110
mov r1.y, c3.w
6111
texld r2, r2, s0
6112
texld r1, r1, s0
6113
lrp r3, r0.y, r2, r1
6114
log r0.x, r3.x
6115
log r0.y, r3.y
6116
log r0.z, r3.z
6117
mul r0.xyz, r0, c4.x
6118
exp r1.x, r0.x
6119
exp r1.y, r0.y
6120
exp r1.z, r0.z
6121
mad r3.xyz, r1, c4.y, c4.z
6122
mul r0, r3, v0
6123
mov oC0, r0
6124
6125
// approximately 41 instruction slots used (2 texture, 39 arithmetic)
6126
#endif
6127
6128
const DWORD radial18[] =
6129
{
6130
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
6131
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
6132
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
6133
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
6134
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
6135
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
6136
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
6137
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
6138
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
6139
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
6140
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
6141
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
6142
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
6143
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
6144
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
6145
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
6146
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
6147
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
6148
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
6149
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6150
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6151
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6152
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
6153
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
6154
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
6155
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
6156
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
6157
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
6158
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
6159
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
6160
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
6161
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
6162
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
6163
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
6164
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
6165
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
6166
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
6167
0x80070000, 0x80e40000, 0xa0000004, 0x0200000e, 0x80010001, 0x80000000,
6168
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
6169
0x04000004, 0x80070003, 0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005,
6170
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
6171
0x0000ffff
6172
};
6173
#if 0
6174
//
6175
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6176
//
6177
// fxc /T ps_2_0 /Vn radial20 /Fh tmp.h tmp.hlsl
6178
//
6179
//
6180
// Parameters:
6181
//
6182
// sampler2D colors;
6183
// float2 fractions[8];
6184
// float3 m0;
6185
// float3 m1;
6186
// float3 precalc;
6187
//
6188
//
6189
// Registers:
6190
//
6191
// Name Reg Size
6192
// ------------ ----- ----
6193
// fractions c0 7
6194
// m0 c16 1
6195
// m1 c17 1
6196
// precalc c18 1
6197
// colors s0 1
6198
//
6199
6200
ps_2_0
6201
def c7, 1, 0, 0.5, -1
6202
def c8, 1, 0.5, 0.0625, 0.03125
6203
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
6204
dcl t0.xy
6205
dcl v0
6206
dcl_2d s0
6207
mov r0.z, c7.x
6208
mov r0.xy, t0
6209
dp3 r0.w, r0, c17
6210
mul r0.w, r0.w, r0.w
6211
mul r0.w, r0.w, c18.y
6212
dp3 r0.x, r0, c16
6213
add r0.x, r0.x, -c18.x
6214
mad r0.y, r0.x, r0.x, r0.w
6215
rsq r0.y, r0.y
6216
rcp r0.y, r0.y
6217
mad r0.x, c18.x, r0.x, r0.y
6218
mov r0.z, c18.z
6219
mad r0.y, r0.x, r0.z, -c0.x
6220
mul_sat r0.y, r0.y, c0.y
6221
mad r0.w, r0.x, r0.z, -c1.x
6222
mul_sat r0.w, r0.w, c1.y
6223
add r0.y, r0.y, r0.w
6224
mad r0.w, r0.x, r0.z, -c2.x
6225
mul_sat r0.w, r0.w, c2.y
6226
add r0.y, r0.y, r0.w
6227
mad r0.w, r0.x, r0.z, -c3.x
6228
mul_sat r0.w, r0.w, c3.y
6229
add r0.y, r0.y, r0.w
6230
mad r0.w, r0.x, r0.z, -c4.x
6231
mul_sat r0.w, r0.w, c4.y
6232
add r0.y, r0.y, r0.w
6233
mad r0.w, r0.x, r0.z, -c5.x
6234
mul_sat r0.w, r0.w, c5.y
6235
add r0.y, r0.y, r0.w
6236
mad r0.w, r0.x, r0.z, -c6.x
6237
mul_sat r0.w, r0.w, c6.y
6238
add r0.y, r0.y, r0.w
6239
frc r0.w, r0.y
6240
add r0.y, r0.y, -r0.w
6241
add r1.w, r0.y, c7.x
6242
mad r1.x, r1.w, c8.z, c8.w
6243
mul r1.z, r0.x, c18.z
6244
mad r1.w, r0.x, r0.z, c7.w
6245
mad r0.x, r0.y, c8.z, c8.w
6246
mov r0.y, c7.z
6247
mov r1.y, c7.z
6248
mov r2.xy, c8
6249
mov r3.xy, c7.yzxw
6250
texld r4, r0, s0
6251
texld r5, r1, s0
6252
texld r2, r2, s0
6253
texld r3, r3, s0
6254
lrp r6, r0.w, r5, r4
6255
cmp r0, r1.w, r2, r6
6256
cmp r0, -r1.z, r3, r0
6257
log r1.x, r0.x
6258
log r1.y, r0.y
6259
log r1.z, r0.z
6260
mul r1.xyz, r1, c9.x
6261
exp r2.x, r1.x
6262
exp r2.y, r1.y
6263
exp r2.z, r1.z
6264
mad r0.xyz, r2, c9.y, c9.z
6265
mul r0, r0, v0
6266
mov oC0, r0
6267
6268
// approximately 60 instruction slots used (4 texture, 56 arithmetic)
6269
#endif
6270
6271
const DWORD radial20[] =
6272
{
6273
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
6274
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
6275
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
6276
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
6277
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
6278
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
6279
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
6280
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
6281
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
6282
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
6283
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
6284
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
6285
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
6286
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
6287
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
6288
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
6289
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
6290
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
6291
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
6292
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
6293
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6294
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6295
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6296
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
6297
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
6298
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
6299
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
6300
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
6301
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
6302
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
6303
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
6304
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
6305
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
6306
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
6307
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
6308
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
6309
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
6310
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
6311
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
6312
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
6313
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
6314
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
6315
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
6316
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
6317
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
6318
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40800, 0x03000042,
6319
0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
6320
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x04000012,
6321
0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
6322
0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058, 0x800f0000, 0x81aa0001,
6323
0x80e40003, 0x80e40000, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f,
6324
0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005,
6325
0x80070001, 0x80e40001, 0xa0000009, 0x0200000e, 0x80010002, 0x80000001,
6326
0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001,
6327
0x04000004, 0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009, 0x03000005,
6328
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
6329
0x0000ffff
6330
};
6331
#if 0
6332
//
6333
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6334
//
6335
// fxc /T ps_2_0 /Vn radial21 /Fh tmp.h tmp.hlsl
6336
//
6337
//
6338
// Parameters:
6339
//
6340
// sampler2D colors;
6341
// float2 fractions[8];
6342
// float3 m0;
6343
// float3 m1;
6344
// float3 precalc;
6345
//
6346
//
6347
// Registers:
6348
//
6349
// Name Reg Size
6350
// ------------ ----- ----
6351
// fractions c0 7
6352
// m0 c16 1
6353
// m1 c17 1
6354
// precalc c18 1
6355
// colors s0 1
6356
//
6357
6358
ps_2_0
6359
def c7, 1, 0.5, -0.5, 2
6360
def c8, 0.0625, 0.03125, 0.416667014, 0
6361
def c9, 1.05499995, -0.0549999997, 0, 0
6362
dcl t0.xy
6363
dcl v0
6364
dcl_2d s0
6365
mov r0.xy, t0
6366
mov r0.z, c7.x
6367
dp3 r0.w, r0, c17
6368
dp3 r0.x, r0, c16
6369
mul r0.y, r0.w, r0.w
6370
mul r0.y, r0.y, c18.y
6371
add r0.x, r0.x, -c18.x
6372
mad r0.y, r0.x, r0.x, r0.y
6373
rsq r0.y, r0.y
6374
rcp r0.y, r0.y
6375
mad r0.x, c18.x, r0.x, r0.y
6376
mul r0.x, r0.x, c18.z
6377
mul r0.x, r0.x, c7.y
6378
frc r0.x, r0.x
6379
add r0.x, r0.x, c7.z
6380
abs r0.x, r0.x
6381
mad r0.x, r0.x, -c7.w, c7.x
6382
add r0.y, r0.x, -c0.x
6383
mul_sat r0.y, r0.y, c0.y
6384
add r0.z, r0.x, -c1.x
6385
mul_sat r0.z, r0.z, c1.y
6386
add r0.y, r0.y, r0.z
6387
add r0.z, r0.x, -c2.x
6388
mul_sat r0.z, r0.z, c2.y
6389
add r0.y, r0.y, r0.z
6390
add r0.z, r0.x, -c3.x
6391
mul_sat r0.z, r0.z, c3.y
6392
add r0.y, r0.y, r0.z
6393
add r0.z, r0.x, -c4.x
6394
mul_sat r0.z, r0.z, c4.y
6395
add r0.y, r0.y, r0.z
6396
add r0.z, r0.x, -c5.x
6397
add r0.x, r0.x, -c6.x
6398
mul_sat r0.z, r0.z, c5.y
6399
add r0.y, r0.y, r0.z
6400
mul_sat r0.x, r0.x, c6.y
6401
add r0.x, r0.y, r0.x
6402
frc r0.y, r0.x
6403
add r0.x, r0.x, -r0.y
6404
add r0.z, r0.x, c7.x
6405
mad r1.x, r0.x, c8.x, c8.y
6406
mad r2.x, r0.z, c8.x, c8.y
6407
mov r2.y, c7.y
6408
mov r1.y, c7.y
6409
texld r2, r2, s0
6410
texld r1, r1, s0
6411
lrp r3, r0.y, r2, r1
6412
log r0.x, r3.x
6413
log r0.y, r3.y
6414
log r0.z, r3.z
6415
mul r0.xyz, r0, c8.z
6416
exp r1.x, r0.x
6417
exp r1.y, r0.y
6418
exp r1.z, r0.z
6419
mad r3.xyz, r1, c9.x, c9.y
6420
mul r0, r3, v0
6421
mov oC0, r0
6422
6423
// approximately 57 instruction slots used (2 texture, 55 arithmetic)
6424
#endif
6425
6426
const DWORD radial21[] =
6427
{
6428
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
6429
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
6430
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
6431
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
6432
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
6433
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
6434
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
6435
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
6436
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
6437
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
6438
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
6439
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
6440
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
6441
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
6442
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
6443
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
6444
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
6445
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
6446
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
6447
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
6448
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6449
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6450
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6451
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
6452
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
6453
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
6454
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
6455
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
6456
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
6457
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
6458
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
6459
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
6460
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
6461
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
6462
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
6463
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
6464
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
6465
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
6466
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
6467
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
6468
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
6469
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
6470
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
6471
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
6472
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
6473
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
6474
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
6475
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
6476
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
6477
0xa0aa0008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
6478
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
6479
0x80e40001, 0xa0000009, 0xa0550009, 0x03000005, 0x800f0000, 0x80e40003,
6480
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
6481
};
6482
#if 0
6483
//
6484
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6485
//
6486
// fxc /T ps_2_0 /Vn radial22 /Fh tmp.h tmp.hlsl
6487
//
6488
//
6489
// Parameters:
6490
//
6491
// sampler2D colors;
6492
// float2 fractions[8];
6493
// float3 m0;
6494
// float3 m1;
6495
// float3 precalc;
6496
//
6497
//
6498
// Registers:
6499
//
6500
// Name Reg Size
6501
// ------------ ----- ----
6502
// fractions c0 7
6503
// m0 c16 1
6504
// m1 c17 1
6505
// precalc c18 1
6506
// colors s0 1
6507
//
6508
6509
ps_2_0
6510
def c7, 1, 0.0625, 0.03125, 0.5
6511
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
6512
dcl t0.xy
6513
dcl v0
6514
dcl_2d s0
6515
mov r0.xy, t0
6516
mov r0.z, c7.x
6517
dp3 r0.w, r0, c17
6518
dp3 r0.x, r0, c16
6519
mul r0.y, r0.w, r0.w
6520
mul r0.y, r0.y, c18.y
6521
add r0.x, r0.x, -c18.x
6522
mad r0.y, r0.x, r0.x, r0.y
6523
rsq r0.y, r0.y
6524
rcp r0.y, r0.y
6525
mad r0.x, c18.x, r0.x, r0.y
6526
mul r0.x, r0.x, c18.z
6527
frc r0.x, r0.x
6528
add r0.y, r0.x, -c0.x
6529
mul_sat r0.y, r0.y, c0.y
6530
add r0.z, r0.x, -c1.x
6531
mul_sat r0.z, r0.z, c1.y
6532
add r0.y, r0.y, r0.z
6533
add r0.z, r0.x, -c2.x
6534
mul_sat r0.z, r0.z, c2.y
6535
add r0.y, r0.y, r0.z
6536
add r0.z, r0.x, -c3.x
6537
mul_sat r0.z, r0.z, c3.y
6538
add r0.y, r0.y, r0.z
6539
add r0.z, r0.x, -c4.x
6540
mul_sat r0.z, r0.z, c4.y
6541
add r0.y, r0.y, r0.z
6542
add r0.z, r0.x, -c5.x
6543
add r0.x, r0.x, -c6.x
6544
mul_sat r0.z, r0.z, c5.y
6545
add r0.y, r0.y, r0.z
6546
mul_sat r0.x, r0.x, c6.y
6547
add r0.x, r0.y, r0.x
6548
frc r0.y, r0.x
6549
add r0.x, r0.x, -r0.y
6550
add r0.z, r0.x, c7.x
6551
mad r1.x, r0.x, c7.y, c7.z
6552
mad r2.x, r0.z, c7.y, c7.z
6553
mov r2.y, c7.w
6554
mov r1.y, c7.w
6555
texld r2, r2, s0
6556
texld r1, r1, s0
6557
lrp r3, r0.y, r2, r1
6558
log r0.x, r3.x
6559
log r0.y, r3.y
6560
log r0.z, r3.z
6561
mul r0.xyz, r0, c8.x
6562
exp r1.x, r0.x
6563
exp r1.y, r0.y
6564
exp r1.z, r0.z
6565
mad r3.xyz, r1, c8.y, c8.z
6566
mul r0, r3, v0
6567
mov oC0, r0
6568
6569
// approximately 53 instruction slots used (2 texture, 51 arithmetic)
6570
#endif
6571
6572
const DWORD radial22[] =
6573
{
6574
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
6575
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
6576
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
6577
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
6578
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
6579
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
6580
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
6581
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
6582
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
6583
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
6584
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
6585
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
6586
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
6587
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
6588
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
6589
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
6590
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
6591
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
6592
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
6593
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6594
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6595
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6596
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
6597
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
6598
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
6599
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
6600
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
6601
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
6602
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
6603
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
6604
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
6605
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
6606
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
6607
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
6608
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
6609
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
6610
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
6611
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
6612
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
6613
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
6614
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
6615
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
6616
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
6617
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
6618
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
6619
0x80070000, 0x80e40000, 0xa0000008, 0x0200000e, 0x80010001, 0x80000000,
6620
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
6621
0x04000004, 0x80070003, 0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005,
6622
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
6623
0x0000ffff
6624
};
6625
#if 0
6626
//
6627
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6628
//
6629
// fxc /T ps_2_0 /Vn radial24 /Fh tmp.h tmp.hlsl
6630
//
6631
//
6632
// Parameters:
6633
//
6634
// sampler2D colors;
6635
// float2 fractions[4];
6636
// float3 m0;
6637
// float3 m1;
6638
// sampler2D mask;
6639
// float3 precalc;
6640
//
6641
//
6642
// Registers:
6643
//
6644
// Name Reg Size
6645
// ------------ ----- ----
6646
// fractions c0 3
6647
// m0 c16 1
6648
// m1 c17 1
6649
// precalc c18 1
6650
// mask s0 1
6651
// colors s1 1
6652
//
6653
6654
ps_2_0
6655
def c3, 1, 0, 0.5, -1
6656
def c4, 1, 0.5, 0.0625, 0.03125
6657
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
6658
dcl t0.xy
6659
dcl t1.xy
6660
dcl v0
6661
dcl_2d s0
6662
dcl_2d s1
6663
mov r0.z, c3.x
6664
mov r0.xy, t1
6665
dp3 r0.w, r0, c17
6666
mul r0.w, r0.w, r0.w
6667
mul r0.w, r0.w, c18.y
6668
dp3 r0.x, r0, c16
6669
add r0.x, r0.x, -c18.x
6670
mad r0.y, r0.x, r0.x, r0.w
6671
rsq r0.y, r0.y
6672
rcp r0.y, r0.y
6673
mad r0.x, c18.x, r0.x, r0.y
6674
mov r0.z, c18.z
6675
mad r0.y, r0.x, r0.z, -c0.x
6676
mul_sat r0.y, r0.y, c0.y
6677
mad r0.w, r0.x, r0.z, -c1.x
6678
mul_sat r0.w, r0.w, c1.y
6679
add r0.y, r0.y, r0.w
6680
mad r0.w, r0.x, r0.z, -c2.x
6681
mul_sat r0.w, r0.w, c2.y
6682
add r0.y, r0.y, r0.w
6683
frc r0.w, r0.y
6684
add r0.y, r0.y, -r0.w
6685
add r1.w, r0.y, c3.x
6686
mad r1.x, r1.w, c4.z, c4.w
6687
mul r1.z, r0.x, c18.z
6688
mad r1.w, r0.x, r0.z, c3.w
6689
mad r0.x, r0.y, c4.z, c4.w
6690
mov r0.y, c3.z
6691
mov r1.y, c3.z
6692
mov r2.xy, c4
6693
mov r3.xy, c3.yzxw
6694
texld r4, r0, s1
6695
texld r5, r1, s1
6696
texld r2, r2, s1
6697
texld r3, r3, s1
6698
texld r6, t0, s0
6699
lrp r7, r0.w, r5, r4
6700
cmp r0, r1.w, r2, r7
6701
cmp r0, -r1.z, r3, r0
6702
log r1.x, r0.x
6703
log r1.y, r0.y
6704
log r1.z, r0.z
6705
mul r1.xyz, r1, c5.x
6706
exp r2.x, r1.x
6707
exp r2.y, r1.y
6708
exp r2.z, r1.z
6709
mad r0.xyz, r2, c5.y, c5.z
6710
mul r0, r6.w, r0
6711
mul r0, r0, v0
6712
mov oC0, r0
6713
6714
// approximately 50 instruction slots used (5 texture, 45 arithmetic)
6715
#endif
6716
6717
const DWORD radial24[] =
6718
{
6719
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
6720
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
6721
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
6722
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
6723
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
6724
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
6725
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
6726
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
6727
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
6728
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
6729
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
6730
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
6731
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
6732
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
6733
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
6734
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
6735
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
6736
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
6737
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
6738
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
6739
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
6740
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
6741
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6742
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6743
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6744
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
6745
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
6746
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
6747
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
6748
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
6749
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
6750
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
6751
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
6752
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
6753
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
6754
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
6755
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
6756
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
6757
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
6758
0xa0e40801, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042,
6759
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
6760
0xa0e40801, 0x03000042, 0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012,
6761
0x800f0007, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
6762
0x80ff0001, 0x80e40002, 0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001,
6763
0x80e40003, 0x80e40000, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f,
6764
0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005,
6765
0x80070001, 0x80e40001, 0xa0000005, 0x0200000e, 0x80010002, 0x80000001,
6766
0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001,
6767
0x04000004, 0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005, 0x03000005,
6768
0x800f0000, 0x80ff0006, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000,
6769
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
6770
};
6771
#if 0
6772
//
6773
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6774
//
6775
// fxc /T ps_2_0 /Vn radial25 /Fh tmp.h tmp.hlsl
6776
//
6777
//
6778
// Parameters:
6779
//
6780
// sampler2D colors;
6781
// float2 fractions[4];
6782
// float3 m0;
6783
// float3 m1;
6784
// sampler2D mask;
6785
// float3 precalc;
6786
//
6787
//
6788
// Registers:
6789
//
6790
// Name Reg Size
6791
// ------------ ----- ----
6792
// fractions c0 3
6793
// m0 c16 1
6794
// m1 c17 1
6795
// precalc c18 1
6796
// mask s0 1
6797
// colors s1 1
6798
//
6799
6800
ps_2_0
6801
def c3, 1, 0.5, -0.5, 2
6802
def c4, 0.0625, 0.03125, 0.416667014, 0
6803
def c5, 1.05499995, -0.0549999997, 0, 0
6804
dcl t0.xy
6805
dcl t1.xy
6806
dcl v0
6807
dcl_2d s0
6808
dcl_2d s1
6809
mov r0.xy, t1
6810
mov r0.z, c3.x
6811
dp3 r0.w, r0, c17
6812
dp3 r0.x, r0, c16
6813
mul r0.y, r0.w, r0.w
6814
mul r0.y, r0.y, c18.y
6815
add r0.x, r0.x, -c18.x
6816
mad r0.y, r0.x, r0.x, r0.y
6817
rsq r0.y, r0.y
6818
rcp r0.y, r0.y
6819
mad r0.x, c18.x, r0.x, r0.y
6820
mul r0.x, r0.x, c18.z
6821
mul r0.x, r0.x, c3.y
6822
frc r0.x, r0.x
6823
add r0.x, r0.x, c3.z
6824
abs r0.x, r0.x
6825
mad r0.x, r0.x, -c3.w, c3.x
6826
add r0.y, r0.x, -c0.x
6827
mul_sat r0.y, r0.y, c0.y
6828
add r0.z, r0.x, -c1.x
6829
add r0.x, r0.x, -c2.x
6830
mul_sat r0.z, r0.z, c1.y
6831
add r0.y, r0.y, r0.z
6832
mul_sat r0.x, r0.x, c2.y
6833
add r0.x, r0.y, r0.x
6834
frc r0.y, r0.x
6835
add r0.x, r0.x, -r0.y
6836
add r0.z, r0.x, c3.x
6837
mad r1.x, r0.x, c4.x, c4.y
6838
mad r2.x, r0.z, c4.x, c4.y
6839
mov r2.y, c3.y
6840
mov r1.y, c3.y
6841
texld r2, r2, s1
6842
texld r1, r1, s1
6843
texld r3, t0, s0
6844
lrp r4, r0.y, r2, r1
6845
log r0.x, r4.x
6846
log r0.y, r4.y
6847
log r0.z, r4.z
6848
mul r0.xyz, r0, c4.z
6849
exp r1.x, r0.x
6850
exp r1.y, r0.y
6851
exp r1.z, r0.z
6852
mad r4.xyz, r1, c5.x, c5.y
6853
mul r0, r3.w, r4
6854
mul r0, r0, v0
6855
mov oC0, r0
6856
6857
// approximately 47 instruction slots used (3 texture, 44 arithmetic)
6858
#endif
6859
6860
const DWORD radial25[] =
6861
{
6862
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
6863
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
6864
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
6865
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
6866
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
6867
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
6868
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
6869
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
6870
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
6871
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
6872
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
6873
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
6874
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
6875
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
6876
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
6877
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
6878
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
6879
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
6880
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
6881
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
6882
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
6883
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
6884
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
6885
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
6886
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
6887
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
6888
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
6889
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
6890
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
6891
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
6892
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
6893
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
6894
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
6895
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
6896
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
6897
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
6898
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
6899
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
6900
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
6901
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
6902
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
6903
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
6904
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
6905
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0004, 0x0200000e,
6906
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
6907
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000005,
6908
0xa0550005, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
6909
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
6910
0x0000ffff
6911
};
6912
#if 0
6913
//
6914
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
6915
//
6916
// fxc /T ps_2_0 /Vn radial26 /Fh tmp.h tmp.hlsl
6917
//
6918
//
6919
// Parameters:
6920
//
6921
// sampler2D colors;
6922
// float2 fractions[4];
6923
// float3 m0;
6924
// float3 m1;
6925
// sampler2D mask;
6926
// float3 precalc;
6927
//
6928
//
6929
// Registers:
6930
//
6931
// Name Reg Size
6932
// ------------ ----- ----
6933
// fractions c0 3
6934
// m0 c16 1
6935
// m1 c17 1
6936
// precalc c18 1
6937
// mask s0 1
6938
// colors s1 1
6939
//
6940
6941
ps_2_0
6942
def c3, 1, 0.0625, 0.03125, 0.5
6943
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
6944
dcl t0.xy
6945
dcl t1.xy
6946
dcl v0
6947
dcl_2d s0
6948
dcl_2d s1
6949
mov r0.xy, t1
6950
mov r0.z, c3.x
6951
dp3 r0.w, r0, c17
6952
dp3 r0.x, r0, c16
6953
mul r0.y, r0.w, r0.w
6954
mul r0.y, r0.y, c18.y
6955
add r0.x, r0.x, -c18.x
6956
mad r0.y, r0.x, r0.x, r0.y
6957
rsq r0.y, r0.y
6958
rcp r0.y, r0.y
6959
mad r0.x, c18.x, r0.x, r0.y
6960
mul r0.x, r0.x, c18.z
6961
frc r0.x, r0.x
6962
add r0.y, r0.x, -c0.x
6963
mul_sat r0.y, r0.y, c0.y
6964
add r0.z, r0.x, -c1.x
6965
add r0.x, r0.x, -c2.x
6966
mul_sat r0.z, r0.z, c1.y
6967
add r0.y, r0.y, r0.z
6968
mul_sat r0.x, r0.x, c2.y
6969
add r0.x, r0.y, r0.x
6970
frc r0.y, r0.x
6971
add r0.x, r0.x, -r0.y
6972
add r0.z, r0.x, c3.x
6973
mad r1.x, r0.x, c3.y, c3.z
6974
mad r2.x, r0.z, c3.y, c3.z
6975
mov r2.y, c3.w
6976
mov r1.y, c3.w
6977
texld r2, r2, s1
6978
texld r1, r1, s1
6979
texld r3, t0, s0
6980
lrp r4, r0.y, r2, r1
6981
log r0.x, r4.x
6982
log r0.y, r4.y
6983
log r0.z, r4.z
6984
mul r0.xyz, r0, c4.x
6985
exp r1.x, r0.x
6986
exp r1.y, r0.y
6987
exp r1.z, r0.z
6988
mad r4.xyz, r1, c4.y, c4.z
6989
mul r0, r3.w, r4
6990
mul r0, r0, v0
6991
mov oC0, r0
6992
6993
// approximately 43 instruction slots used (3 texture, 40 arithmetic)
6994
#endif
6995
6996
const DWORD radial26[] =
6997
{
6998
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
6999
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
7000
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
7001
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
7002
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
7003
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
7004
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
7005
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
7006
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
7007
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
7008
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
7009
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
7010
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
7011
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
7012
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
7013
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
7014
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
7015
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
7016
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
7017
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
7018
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
7019
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
7020
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
7021
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
7022
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
7023
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
7024
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
7025
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
7026
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
7027
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
7028
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
7029
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
7030
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
7031
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
7032
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
7033
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
7034
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
7035
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
7036
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
7037
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
7038
0xa0000004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
7039
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
7040
0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005, 0x800f0000, 0x80ff0003,
7041
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
7042
0x800f0800, 0x80e40000, 0x0000ffff
7043
};
7044
#if 0
7045
//
7046
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
7047
//
7048
// fxc /T ps_2_0 /Vn radial28 /Fh tmp.h tmp.hlsl
7049
//
7050
//
7051
// Parameters:
7052
//
7053
// sampler2D colors;
7054
// float2 fractions[8];
7055
// float3 m0;
7056
// float3 m1;
7057
// sampler2D mask;
7058
// float3 precalc;
7059
//
7060
//
7061
// Registers:
7062
//
7063
// Name Reg Size
7064
// ------------ ----- ----
7065
// fractions c0 7
7066
// m0 c16 1
7067
// m1 c17 1
7068
// precalc c18 1
7069
// mask s0 1
7070
// colors s1 1
7071
//
7072
7073
ps_2_0
7074
def c7, 1, 0, 0.5, -1
7075
def c8, 1, 0.5, 0.0625, 0.03125
7076
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
7077
dcl t0.xy
7078
dcl t1.xy
7079
dcl v0
7080
dcl_2d s0
7081
dcl_2d s1
7082
mov r0.z, c7.x
7083
mov r0.xy, t1
7084
dp3 r0.w, r0, c17
7085
mul r0.w, r0.w, r0.w
7086
mul r0.w, r0.w, c18.y
7087
dp3 r0.x, r0, c16
7088
add r0.x, r0.x, -c18.x
7089
mad r0.y, r0.x, r0.x, r0.w
7090
rsq r0.y, r0.y
7091
rcp r0.y, r0.y
7092
mad r0.x, c18.x, r0.x, r0.y
7093
mov r0.z, c18.z
7094
mad r0.y, r0.x, r0.z, -c0.x
7095
mul_sat r0.y, r0.y, c0.y
7096
mad r0.w, r0.x, r0.z, -c1.x
7097
mul_sat r0.w, r0.w, c1.y
7098
add r0.y, r0.y, r0.w
7099
mad r0.w, r0.x, r0.z, -c2.x
7100
mul_sat r0.w, r0.w, c2.y
7101
add r0.y, r0.y, r0.w
7102
mad r0.w, r0.x, r0.z, -c3.x
7103
mul_sat r0.w, r0.w, c3.y
7104
add r0.y, r0.y, r0.w
7105
mad r0.w, r0.x, r0.z, -c4.x
7106
mul_sat r0.w, r0.w, c4.y
7107
add r0.y, r0.y, r0.w
7108
mad r0.w, r0.x, r0.z, -c5.x
7109
mul_sat r0.w, r0.w, c5.y
7110
add r0.y, r0.y, r0.w
7111
mad r0.w, r0.x, r0.z, -c6.x
7112
mul_sat r0.w, r0.w, c6.y
7113
add r0.y, r0.y, r0.w
7114
frc r0.w, r0.y
7115
add r0.y, r0.y, -r0.w
7116
add r1.w, r0.y, c7.x
7117
mad r1.x, r1.w, c8.z, c8.w
7118
mul r1.z, r0.x, c18.z
7119
mad r1.w, r0.x, r0.z, c7.w
7120
mad r0.x, r0.y, c8.z, c8.w
7121
mov r0.y, c7.z
7122
mov r1.y, c7.z
7123
mov r2.xy, c8
7124
mov r3.xy, c7.yzxw
7125
texld r4, r0, s1
7126
texld r5, r1, s1
7127
texld r2, r2, s1
7128
texld r3, r3, s1
7129
texld r6, t0, s0
7130
lrp r7, r0.w, r5, r4
7131
cmp r0, r1.w, r2, r7
7132
cmp r0, -r1.z, r3, r0
7133
log r1.x, r0.x
7134
log r1.y, r0.y
7135
log r1.z, r0.z
7136
mul r1.xyz, r1, c9.x
7137
exp r2.x, r1.x
7138
exp r2.y, r1.y
7139
exp r2.z, r1.z
7140
mad r0.xyz, r2, c9.y, c9.z
7141
mul r0, r6.w, r0
7142
mul r0, r0, v0
7143
mov oC0, r0
7144
7145
// approximately 62 instruction slots used (5 texture, 57 arithmetic)
7146
#endif
7147
7148
const DWORD radial28[] =
7149
{
7150
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
7151
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
7152
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
7153
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
7154
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
7155
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
7156
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
7157
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
7158
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
7159
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
7160
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
7161
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
7162
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
7163
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
7164
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
7165
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
7166
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
7167
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
7168
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
7169
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
7170
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
7171
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
7172
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
7173
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
7174
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
7175
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
7176
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
7177
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
7178
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
7179
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
7180
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
7181
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
7182
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
7183
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
7184
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
7185
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
7186
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
7187
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
7188
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
7189
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
7190
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
7191
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
7192
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
7193
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
7194
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
7195
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
7196
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
7197
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40801, 0x03000042,
7198
0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002,
7199
0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40801, 0x03000042,
7200
0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0007, 0x80ff0000,
7201
0x80e40005, 0x80e40004, 0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002,
7202
0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000,
7203
0x0200000f, 0x80010001, 0x80000000, 0x0200000f, 0x80020001, 0x80550000,
7204
0x0200000f, 0x80040001, 0x80aa0000, 0x03000005, 0x80070001, 0x80e40001,
7205
0xa0000009, 0x0200000e, 0x80010002, 0x80000001, 0x0200000e, 0x80020002,
7206
0x80550001, 0x0200000e, 0x80040002, 0x80aa0001, 0x04000004, 0x80070000,
7207
0x80e40002, 0xa0550009, 0xa0aa0009, 0x03000005, 0x800f0000, 0x80ff0006,
7208
0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
7209
0x800f0800, 0x80e40000, 0x0000ffff
7210
};
7211
#if 0
7212
//
7213
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
7214
//
7215
// fxc /T ps_2_0 /Vn radial29 /Fh tmp.h tmp.hlsl
7216
//
7217
//
7218
// Parameters:
7219
//
7220
// sampler2D colors;
7221
// float2 fractions[8];
7222
// float3 m0;
7223
// float3 m1;
7224
// sampler2D mask;
7225
// float3 precalc;
7226
//
7227
//
7228
// Registers:
7229
//
7230
// Name Reg Size
7231
// ------------ ----- ----
7232
// fractions c0 7
7233
// m0 c16 1
7234
// m1 c17 1
7235
// precalc c18 1
7236
// mask s0 1
7237
// colors s1 1
7238
//
7239
7240
ps_2_0
7241
def c7, 1, 0.5, -0.5, 2
7242
def c8, 0.0625, 0.03125, 0.416667014, 0
7243
def c9, 1.05499995, -0.0549999997, 0, 0
7244
dcl t0.xy
7245
dcl t1.xy
7246
dcl v0
7247
dcl_2d s0
7248
dcl_2d s1
7249
mov r0.xy, t1
7250
mov r0.z, c7.x
7251
dp3 r0.w, r0, c17
7252
dp3 r0.x, r0, c16
7253
mul r0.y, r0.w, r0.w
7254
mul r0.y, r0.y, c18.y
7255
add r0.x, r0.x, -c18.x
7256
mad r0.y, r0.x, r0.x, r0.y
7257
rsq r0.y, r0.y
7258
rcp r0.y, r0.y
7259
mad r0.x, c18.x, r0.x, r0.y
7260
mul r0.x, r0.x, c18.z
7261
mul r0.x, r0.x, c7.y
7262
frc r0.x, r0.x
7263
add r0.x, r0.x, c7.z
7264
abs r0.x, r0.x
7265
mad r0.x, r0.x, -c7.w, c7.x
7266
add r0.y, r0.x, -c0.x
7267
mul_sat r0.y, r0.y, c0.y
7268
add r0.z, r0.x, -c1.x
7269
mul_sat r0.z, r0.z, c1.y
7270
add r0.y, r0.y, r0.z
7271
add r0.z, r0.x, -c2.x
7272
mul_sat r0.z, r0.z, c2.y
7273
add r0.y, r0.y, r0.z
7274
add r0.z, r0.x, -c3.x
7275
mul_sat r0.z, r0.z, c3.y
7276
add r0.y, r0.y, r0.z
7277
add r0.z, r0.x, -c4.x
7278
mul_sat r0.z, r0.z, c4.y
7279
add r0.y, r0.y, r0.z
7280
add r0.z, r0.x, -c5.x
7281
add r0.x, r0.x, -c6.x
7282
mul_sat r0.z, r0.z, c5.y
7283
add r0.y, r0.y, r0.z
7284
mul_sat r0.x, r0.x, c6.y
7285
add r0.x, r0.y, r0.x
7286
frc r0.y, r0.x
7287
add r0.x, r0.x, -r0.y
7288
add r0.z, r0.x, c7.x
7289
mad r1.x, r0.x, c8.x, c8.y
7290
mad r2.x, r0.z, c8.x, c8.y
7291
mov r2.y, c7.y
7292
mov r1.y, c7.y
7293
texld r2, r2, s1
7294
texld r1, r1, s1
7295
texld r3, t0, s0
7296
lrp r4, r0.y, r2, r1
7297
log r0.x, r4.x
7298
log r0.y, r4.y
7299
log r0.z, r4.z
7300
mul r0.xyz, r0, c8.z
7301
exp r1.x, r0.x
7302
exp r1.y, r0.y
7303
exp r1.z, r0.z
7304
mad r4.xyz, r1, c9.x, c9.y
7305
mul r0, r3.w, r4
7306
mul r0, r0, v0
7307
mov oC0, r0
7308
7309
// approximately 59 instruction slots used (3 texture, 56 arithmetic)
7310
#endif
7311
7312
const DWORD radial29[] =
7313
{
7314
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
7315
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
7316
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
7317
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
7318
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
7319
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
7320
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
7321
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
7322
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
7323
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
7324
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
7325
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
7326
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
7327
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
7328
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
7329
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
7330
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
7331
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
7332
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
7333
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
7334
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
7335
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
7336
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
7337
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
7338
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
7339
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
7340
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
7341
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
7342
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
7343
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
7344
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
7345
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
7346
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
7347
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
7348
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
7349
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
7350
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
7351
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
7352
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
7353
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
7354
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
7355
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
7356
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
7357
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
7358
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
7359
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
7360
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
7361
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
7362
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
7363
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
7364
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
7365
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0008, 0x0200000e,
7366
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
7367
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000009,
7368
0xa0550009, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
7369
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
7370
0x0000ffff
7371
};
7372
#if 0
7373
//
7374
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
7375
//
7376
// fxc /T ps_2_0 /Vn radial30 /Fh tmp.h tmp.hlsl
7377
//
7378
//
7379
// Parameters:
7380
//
7381
// sampler2D colors;
7382
// float2 fractions[8];
7383
// float3 m0;
7384
// float3 m1;
7385
// sampler2D mask;
7386
// float3 precalc;
7387
//
7388
//
7389
// Registers:
7390
//
7391
// Name Reg Size
7392
// ------------ ----- ----
7393
// fractions c0 7
7394
// m0 c16 1
7395
// m1 c17 1
7396
// precalc c18 1
7397
// mask s0 1
7398
// colors s1 1
7399
//
7400
7401
ps_2_0
7402
def c7, 1, 0.0625, 0.03125, 0.5
7403
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
7404
dcl t0.xy
7405
dcl t1.xy
7406
dcl v0
7407
dcl_2d s0
7408
dcl_2d s1
7409
mov r0.xy, t1
7410
mov r0.z, c7.x
7411
dp3 r0.w, r0, c17
7412
dp3 r0.x, r0, c16
7413
mul r0.y, r0.w, r0.w
7414
mul r0.y, r0.y, c18.y
7415
add r0.x, r0.x, -c18.x
7416
mad r0.y, r0.x, r0.x, r0.y
7417
rsq r0.y, r0.y
7418
rcp r0.y, r0.y
7419
mad r0.x, c18.x, r0.x, r0.y
7420
mul r0.x, r0.x, c18.z
7421
frc r0.x, r0.x
7422
add r0.y, r0.x, -c0.x
7423
mul_sat r0.y, r0.y, c0.y
7424
add r0.z, r0.x, -c1.x
7425
mul_sat r0.z, r0.z, c1.y
7426
add r0.y, r0.y, r0.z
7427
add r0.z, r0.x, -c2.x
7428
mul_sat r0.z, r0.z, c2.y
7429
add r0.y, r0.y, r0.z
7430
add r0.z, r0.x, -c3.x
7431
mul_sat r0.z, r0.z, c3.y
7432
add r0.y, r0.y, r0.z
7433
add r0.z, r0.x, -c4.x
7434
mul_sat r0.z, r0.z, c4.y
7435
add r0.y, r0.y, r0.z
7436
add r0.z, r0.x, -c5.x
7437
add r0.x, r0.x, -c6.x
7438
mul_sat r0.z, r0.z, c5.y
7439
add r0.y, r0.y, r0.z
7440
mul_sat r0.x, r0.x, c6.y
7441
add r0.x, r0.y, r0.x
7442
frc r0.y, r0.x
7443
add r0.x, r0.x, -r0.y
7444
add r0.z, r0.x, c7.x
7445
mad r1.x, r0.x, c7.y, c7.z
7446
mad r2.x, r0.z, c7.y, c7.z
7447
mov r2.y, c7.w
7448
mov r1.y, c7.w
7449
texld r2, r2, s1
7450
texld r1, r1, s1
7451
texld r3, t0, s0
7452
lrp r4, r0.y, r2, r1
7453
log r0.x, r4.x
7454
log r0.y, r4.y
7455
log r0.z, r4.z
7456
mul r0.xyz, r0, c8.x
7457
exp r1.x, r0.x
7458
exp r1.y, r0.y
7459
exp r1.z, r0.z
7460
mad r4.xyz, r1, c8.y, c8.z
7461
mul r0, r3.w, r4
7462
mul r0, r0, v0
7463
mov oC0, r0
7464
7465
// approximately 55 instruction slots used (3 texture, 52 arithmetic)
7466
#endif
7467
7468
const DWORD radial30[] =
7469
{
7470
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
7471
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
7472
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
7473
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
7474
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
7475
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
7476
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
7477
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
7478
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
7479
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
7480
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
7481
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
7482
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
7483
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
7484
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
7485
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
7486
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
7487
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
7488
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
7489
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
7490
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
7491
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
7492
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
7493
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
7494
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
7495
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
7496
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
7497
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
7498
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
7499
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
7500
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
7501
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
7502
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
7503
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
7504
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
7505
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
7506
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
7507
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
7508
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
7509
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
7510
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
7511
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
7512
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
7513
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
7514
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
7515
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
7516
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
7517
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
7518
0xa0000008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
7519
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
7520
0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005, 0x800f0000, 0x80ff0003,
7521
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
7522
0x800f0800, 0x80e40000, 0x0000ffff
7523
};
7524
const DWORD *radialShaders[] =
7525
{
7526
radial0,
7527
radial1,
7528
radial2,
7529
NULL,
7530
radial4,
7531
radial5,
7532
radial6,
7533
NULL,
7534
radial8,
7535
radial9,
7536
radial10,
7537
NULL,
7538
radial12,
7539
radial13,
7540
radial14,
7541
NULL,
7542
radial16,
7543
radial17,
7544
radial18,
7545
NULL,
7546
radial20,
7547
radial21,
7548
radial22,
7549
NULL,
7550
radial24,
7551
radial25,
7552
radial26,
7553
NULL,
7554
radial28,
7555
radial29,
7556
radial30,
7557
NULL,
7558
};
7559
7560
#if 0
7561
//
7562
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
7563
//
7564
// fxc /T ps_2_0 /Vn lcdtext0 /Fh tmp.h tmp.hlsl
7565
//
7566
//
7567
// Parameters:
7568
//
7569
// sampler2D dstTex;
7570
// float3 gamma;
7571
// sampler2D glyphTex;
7572
// float3 invgamma;
7573
// float3 srcAdj;
7574
//
7575
//
7576
// Registers:
7577
//
7578
// Name Reg Size
7579
// ------------ ----- ----
7580
// srcAdj c0 1
7581
// invgamma c1 1
7582
// gamma c2 1
7583
// glyphTex s0 1
7584
// dstTex s1 1
7585
//
7586
7587
ps_2_0
7588
def c3, -1, 0, 1, 0
7589
dcl t0.xy
7590
dcl t1.xy
7591
dcl_2d s0
7592
dcl_2d s1
7593
texld r0, t0, s0
7594
dp3 r0.w, r0, r0
7595
cmp r1, -r0.w, c3.x, c3.y
7596
texkill r1
7597
texld r1, t1, s1
7598
log r2.x, r1.x
7599
log r2.y, r1.y
7600
log r2.z, r1.z
7601
mul r1.xyz, r2, c1
7602
exp r2.x, r1.x
7603
exp r2.y, r1.y
7604
exp r2.z, r1.z
7605
lrp r1.xyz, r0, c0, r2
7606
log r0.x, r1.x
7607
log r0.y, r1.y
7608
log r0.z, r1.z
7609
mul r0.xyz, r0, c2
7610
exp r1.x, r0.x
7611
exp r1.y, r0.y
7612
exp r1.z, r0.z
7613
mov r1.w, c3.z
7614
mov oC0, r1
7615
7616
// approximately 22 instruction slots used (2 texture, 20 arithmetic)
7617
#endif
7618
7619
const DWORD lcdtext0[] =
7620
{
7621
0xffff0200, 0x0042fffe, 0x42415443, 0x0000001c, 0x000000d0, 0xffff0200,
7622
0x00000005, 0x0000001c, 0x20000100, 0x000000c9, 0x00000080, 0x00010003,
7623
0x00060001, 0x00000088, 0x00000000, 0x00000098, 0x00020002, 0x000a0001,
7624
0x000000a0, 0x00000000, 0x000000b0, 0x00000003, 0x00020001, 0x00000088,
7625
0x00000000, 0x000000b9, 0x00010002, 0x00060001, 0x000000a0, 0x00000000,
7626
0x000000c2, 0x00000002, 0x00020001, 0x000000a0, 0x00000000, 0x54747364,
7627
0xab007865, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x6d6d6167,
7628
0xabab0061, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x70796c67,
7629
0x78655468, 0x766e6900, 0x6d6d6167, 0x72730061, 0x6a644163, 0x5f737000,
7630
0x00305f32, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53,
7631
0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39312e, 0x2e393439,
7632
0x31313132, 0xababab00, 0x05000051, 0xa00f0003, 0xbf800000, 0x80000000,
7633
0x3f800000, 0x00000000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f,
7634
0x80000000, 0xb0030001, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f,
7635
0x90000000, 0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800,
7636
0x03000008, 0x80080000, 0x80e40000, 0x80e40000, 0x04000058, 0x800f0001,
7637
0x81ff0000, 0xa0000003, 0xa0550003, 0x01000041, 0x800f0001, 0x03000042,
7638
0x800f0001, 0xb0e40001, 0xa0e40801, 0x0200000f, 0x80010002, 0x80000001,
7639
0x0200000f, 0x80020002, 0x80550001, 0x0200000f, 0x80040002, 0x80aa0001,
7640
0x03000005, 0x80070001, 0x80e40002, 0xa0e40001, 0x0200000e, 0x80010002,
7641
0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002,
7642
0x80aa0001, 0x04000012, 0x80070001, 0x80e40000, 0xa0e40000, 0x80e40002,
7643
0x0200000f, 0x80010000, 0x80000001, 0x0200000f, 0x80020000, 0x80550001,
7644
0x0200000f, 0x80040000, 0x80aa0001, 0x03000005, 0x80070000, 0x80e40000,
7645
0xa0e40002, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
7646
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x02000001, 0x80080001,
7647
0xa0aa0003, 0x02000001, 0x800f0800, 0x80e40001, 0x0000ffff
7648
};
7649
#if 0
7650
//
7651
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
7652
//
7653
// fxc /T ps_2_a /Vn aapgram0 /Fh tmp.h tmp.hlsl
7654
//
7655
ps_2_x
7656
dcl t0.xy
7657
dcl t1.xy
7658
dcl v0
7659
dsx r0.xy, t1.yxzw
7660
add r0.xy, r0, t1.yxzw
7661
min r1.xy, r0, t1.yxzw
7662
dsy r0.zw, t1.xyyx
7663
add r1.zw, r0, t1.xyyx
7664
add r0.zw, r0.xyxy, r0
7665
max r2.xy, t1.yxzw, r0
7666
min r0.xy, r1.zwzw, r1
7667
max r3.xy, r2, r1.zwzw
7668
min r1.xy, r0.zwzw, r0
7669
max r1.zw, r3.xyxy, r0
7670
mov_sat r0.xy, r1
7671
add r0.zw, -r1.xyxy, r1
7672
mov_sat r1.zw, r1
7673
add r0.xy, -r0, r1.zwzw
7674
mul r0.xy, r0.ywzw, r0.xzzw
7675
rcp r0.y, r0.y
7676
mul r0.x, r0.x, r0.y
7677
dsx r0.yz, t0.xyxw
7678
add r0.yz, r0, t0.xyxw
7679
min r1.xy, r0.yzzw, t0.yxzw
7680
dsy r1.zw, t0.xyyx
7681
add r2.xy, r1.zwzw, t0.yxzw
7682
add r1.zw, r0.xyyz, r1
7683
max r2.zw, t0.xyyx, r0.xyyz
7684
min r0.yz, r2.xxyw, r1.xxyw
7685
max r1.xy, r2.zwzw, r2
7686
min r2.xy, r1.zwzw, r0.yzzw
7687
max r0.yz, r1.xxyw, r1.xzww
7688
mov_sat r1.xy, r2
7689
add r1.zw, -r2.xyxy, r0.xyyz
7690
mov_sat r0.yz, r0
7691
add r0.yz, -r1.xxyw, r0
7692
mul r0.y, r0.z, r0.y
7693
mul r0.z, r1.w, r1.z
7694
rcp r0.z, r0.z
7695
mad r0.x, r0.y, r0.z, -r0.x
7696
mul r0, r0.x, v0
7697
mov oC0, r0
7698
7699
// approximately 43 instruction slots used
7700
#endif
7701
7702
const DWORD aapgram0[] =
7703
{
7704
0xffff0201, 0x0016fffe, 0x42415443, 0x0000001c, 0x00000023, 0xffff0201,
7705
0x00000000, 0x00000000, 0x20000100, 0x0000001c, 0x325f7370, 0x4d00615f,
7706
0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461,
7707
0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131,
7708
0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0xb0030001,
7709
0x0200001f, 0x80000000, 0x900f0000, 0x0200005b, 0x80030000, 0xb0e10001,
7710
0x03000002, 0x80030000, 0x80e40000, 0xb0e10001, 0x0300000a, 0x80030001,
7711
0x80e40000, 0xb0e10001, 0x0200005c, 0x800c0000, 0xb0140001, 0x03000002,
7712
0x800c0001, 0x80e40000, 0xb0140001, 0x03000002, 0x800c0000, 0x80440000,
7713
0x80e40000, 0x0300000b, 0x80030002, 0xb0e10001, 0x80e40000, 0x0300000a,
7714
0x80030000, 0x80ee0001, 0x80e40001, 0x0300000b, 0x80030003, 0x80e40002,
7715
0x80ee0001, 0x0300000a, 0x80030001, 0x80ee0000, 0x80e40000, 0x0300000b,
7716
0x800c0001, 0x80440003, 0x80e40000, 0x02000001, 0x80130000, 0x80e40001,
7717
0x03000002, 0x800c0000, 0x81440001, 0x80e40001, 0x02000001, 0x801c0001,
7718
0x80e40001, 0x03000002, 0x80030000, 0x81e40000, 0x80ee0001, 0x03000005,
7719
0x80030000, 0x80ed0000, 0x80e80000, 0x02000006, 0x80020000, 0x80550000,
7720
0x03000005, 0x80010000, 0x80000000, 0x80550000, 0x0200005b, 0x80060000,
7721
0xb0c40000, 0x03000002, 0x80060000, 0x80e40000, 0xb0c40000, 0x0300000a,
7722
0x80030001, 0x80e90000, 0xb0e10000, 0x0200005c, 0x800c0001, 0xb0140000,
7723
0x03000002, 0x80030002, 0x80ee0001, 0xb0e10000, 0x03000002, 0x800c0001,
7724
0x80940000, 0x80e40001, 0x0300000b, 0x800c0002, 0xb0140000, 0x80940000,
7725
0x0300000a, 0x80060000, 0x80d00002, 0x80d00001, 0x0300000b, 0x80030001,
7726
0x80ee0002, 0x80e40002, 0x0300000a, 0x80030002, 0x80ee0001, 0x80e90000,
7727
0x0300000b, 0x80060000, 0x80d00001, 0x80f80001, 0x02000001, 0x80130001,
7728
0x80e40002, 0x03000002, 0x800c0001, 0x81440002, 0x80940000, 0x02000001,
7729
0x80160000, 0x80e40000, 0x03000002, 0x80060000, 0x81d00001, 0x80e40000,
7730
0x03000005, 0x80020000, 0x80aa0000, 0x80550000, 0x03000005, 0x80040000,
7731
0x80ff0001, 0x80aa0001, 0x02000006, 0x80040000, 0x80aa0000, 0x04000004,
7732
0x80010000, 0x80550000, 0x80aa0000, 0x81000000, 0x03000005, 0x800f0000,
7733
0x80000000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
7734
};
7735
7736