/*
* Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn rescale0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 offsets;
// float4 scaleFactors;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// scaleFactors c0 1
// offsets c1 1
// baseImage s0 1
//
ps_2_0
dcl t0.xy
dcl v0
dcl_2d s0
texld r0, t0, s0
mov r1, c0
mad r0, r0, r1, c1
mul r0, r0, v0
mov oC0, r0
// approximately 5 instruction slots used (1 texture, 4 arithmetic)
#endif
const DWORD rescale0[] =
{
0xffff0200, 0x0036fffe, 0x42415443, 0x0000001c, 0x000000a0, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000099, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010002, 0x00060001,
0x0000007c, 0x00000000, 0x0000008c, 0x00000002, 0x00020001, 0x0000007c,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x7366666f, 0x00737465, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6c616373, 0x63614665, 0x73726f74, 0x5f737000,
0x00305f32, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53,
0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39312e, 0x2e393439,
0x31313132, 0xababab00, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f,
0x80000000, 0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x03000042,
0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001, 0x800f0001, 0xa0e40000,
0x04000004, 0x800f0000, 0x80e40000, 0x80e40001, 0xa0e40001, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn rescale1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 offsets;
// float4 scaleFactors;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// scaleFactors c0 1
// offsets c1 1
// baseImage s0 1
//
ps_2_0
dcl t0.xy
dcl v0
dcl_2d s0
texld r0, t0, s0
rcp r1.w, r0.w
mul r0.xyz, r0, r1.w
mov r1, c0
mad r0, r0, r1, c1
mul r0.xyz, r0.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 8 instruction slots used (1 texture, 7 arithmetic)
#endif
const DWORD rescale1[] =
{
0xffff0200, 0x0036fffe, 0x42415443, 0x0000001c, 0x000000a0, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000099, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010002, 0x00060001,
0x0000007c, 0x00000000, 0x0000008c, 0x00000002, 0x00020001, 0x0000007c,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x7366666f, 0x00737465, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6c616373, 0x63614665, 0x73726f74, 0x5f737000,
0x00305f32, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53,
0x65646168, 0x6f432072, 0x6c69706d, 0x39207265, 0x2e39312e, 0x2e393439,
0x31313132, 0xababab00, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f,
0x80000000, 0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x03000042,
0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000006, 0x80080001, 0x80ff0000,
0x03000005, 0x80070000, 0x80e40000, 0x80ff0001, 0x02000001, 0x800f0001,
0xa0e40000, 0x04000004, 0x800f0000, 0x80e40000, 0x80e40001, 0xa0e40001,
0x03000005, 0x80070000, 0x80ff0000, 0x80e40000, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
const DWORD *rescaleShaders[] =
{
rescale0,
rescale1,
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn convolve0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 imgEdge;
// float3 kernelVals[9];
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// imgEdge c0 1
// kernelVals c1 9
// baseImage s0 1
//
ps_2_0
def c10, 0, 1, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
add r0.xy, t0, c2
add r1.xy, t0, c1
add r2.xy, t0, c3
add r3.xy, t0, c4
add r4.xy, t0, c5
add r5.xy, t0, c6
add r6.xy, t0, c7
add r7.xy, t0, c8
add r8.xy, t0, c9
texld r0, r0, s0
texld r1, r1, s0
texld r2, r2, s0
texld r9, t0, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
mul r0, r0, c2.z
mad r0, c1.z, r1, r0
mad r0, c3.z, r2, r0
mad r0, c4.z, r3, r0
mad r0, c5.z, r4, r0
mad r0, c6.z, r5, r0
mad r0, c7.z, r6, r0
mad r0, c8.z, r7, r0
mad r0, c9.z, r8, r0
mul r0, r0, v0
add r1.yw, -t0.y, c0
add r1.xz, -t0.x, c0
cmp r1.x, -r1.x, c10.x, c10.y
cmp r1.y, -r1.y, c10.x, c10.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c10.x, c10.y
cmp r1.y, r1.z, c10.x, c10.y
cmp r1.z, r1.w, c10.x, c10.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c10.x, c10.y
add r1.x, r1.z, r1.x
cmp r0, -r1.x, r0, r9
mov oC0, r0
// approximately 42 instruction slots used (10 texture, 32 arithmetic)
#endif
const DWORD convolve0[] =
{
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060009, 0x00000098,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
0x00030001, 0x00000009, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f000a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0009, 0xb0e40000, 0xa0e40800,
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002, 0x04000004, 0x800f0000,
0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0003,
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0004, 0x80e40003,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005, 0x80e40004, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0009,
0x80e40008, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000, 0x03000002, 0x80050001,
0xb1000000, 0xa0e40000, 0x04000058, 0x80010001, 0x81000001, 0xa000000a,
0xa055000a, 0x04000058, 0x80020001, 0x81550001, 0xa000000a, 0xa055000a,
0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001,
0x81000001, 0xa000000a, 0xa055000a, 0x04000058, 0x80020001, 0x80aa0001,
0xa000000a, 0xa055000a, 0x04000058, 0x80040001, 0x80ff0001, 0xa000000a,
0xa055000a, 0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058,
0x80010001, 0x81000001, 0xa000000a, 0xa055000a, 0x03000002, 0x80010001,
0x80aa0001, 0x80000001, 0x04000058, 0x800f0000, 0x81000001, 0x80e40000,
0x80e40009, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn convolve1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 imgEdge;
// float3 kernelVals[9];
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// imgEdge c0 1
// kernelVals c1 9
// baseImage s0 1
//
ps_2_0
def c10, 0, 1, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
add r0.xy, t0, c2
add r1.xy, t0, c1
add r2.xy, t0, c3
add r3.xy, t0, c4
add r4.xy, t0, c5
add r5.xy, t0, c6
add r6.xy, t0, c7
add r7.xy, t0, c8
add r8.xy, t0, c9
texld r0, r0, s0
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
mul r0, r0, c2.z
mad r0, c1.z, r1, r0
mad r0, c3.z, r2, r0
mad r0, c4.z, r3, r0
mad r0, c5.z, r4, r0
mad r0, c6.z, r5, r0
mad r0, c7.z, r6, r0
mad r0, c8.z, r7, r0
mad r0, c9.z, r8, r0
mul r0, r0, v0
add r1.yw, -t0.y, c0
add r1.xz, -t0.x, c0
cmp r1.x, -r1.x, c10.x, c10.y
cmp r1.y, -r1.y, c10.x, c10.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c10.x, c10.y
cmp r1.y, r1.z, c10.x, c10.y
cmp r1.z, r1.w, c10.x, c10.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c10.x, c10.y
add r1.x, r1.z, r1.x
cmp r0, -r1.x, r0, c10.x
mov oC0, r0
// approximately 41 instruction slots used (9 texture, 32 arithmetic)
#endif
const DWORD convolve1[] =
{
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060009, 0x00000098,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
0x00030001, 0x00000009, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f000a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000,
0x03000002, 0x80050001, 0xb1000000, 0xa0e40000, 0x04000058, 0x80010001,
0x81000001, 0xa000000a, 0xa055000a, 0x04000058, 0x80020001, 0x81550001,
0xa000000a, 0xa055000a, 0x03000002, 0x80010001, 0x80000001, 0x80550001,
0x04000058, 0x80010001, 0x81000001, 0xa000000a, 0xa055000a, 0x04000058,
0x80020001, 0x80aa0001, 0xa000000a, 0xa055000a, 0x04000058, 0x80040001,
0x80ff0001, 0xa000000a, 0xa055000a, 0x03000002, 0x80010001, 0x80000001,
0x80550001, 0x04000058, 0x80010001, 0x81000001, 0xa000000a, 0xa055000a,
0x03000002, 0x80010001, 0x80aa0001, 0x80000001, 0x04000058, 0x800f0000,
0x81000001, 0x80e40000, 0xa000000a, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn convolve2 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 imgEdge;
// float3 kernelVals[25];
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// imgEdge c0 1
// kernelVals c1 25
// baseImage s0 1
//
ps_2_0
def c26, 0, 1, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
add r0.xy, t0, c2
add r1.xy, t0, c1
add r2.xy, t0, c3
add r3.xy, t0, c4
add r4.xy, t0, c5
add r5.xy, t0, c6
add r6.xy, t0, c7
add r7.xy, t0, c8
add r8.xy, t0, c9
texld r0, r0, s0
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
mul r0, r0, c2.z
mad r0, c1.z, r1, r0
mad r0, c3.z, r2, r0
mad r0, c4.z, r3, r0
mad r0, c5.z, r4, r0
mad r0, c6.z, r5, r0
mad r0, c7.z, r6, r0
mad r0, c8.z, r7, r0
mad r0, c9.z, r8, r0
add r1.xy, t0, c10
add r2.xy, t0, c11
add r3.xy, t0, c12
add r4.xy, t0, c13
add r5.xy, t0, c14
add r6.xy, t0, c15
add r7.xy, t0, c16
add r8.xy, t0, c17
add r9.xy, t0, c18
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
texld r9, r9, s0
mad r0, c10.z, r1, r0
mad r0, c11.z, r2, r0
mad r0, c12.z, r3, r0
mad r0, c13.z, r4, r0
mad r0, c14.z, r5, r0
mad r0, c15.z, r6, r0
mad r0, c16.z, r7, r0
mad r0, c17.z, r8, r0
mad r0, c18.z, r9, r0
add r1.xy, t0, c19
add r2.xy, t0, c20
add r3.xy, t0, c21
add r4.xy, t0, c22
add r5.xy, t0, c23
add r6.xy, t0, c24
add r7.xy, t0, c25
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, t0, s0
mad r0, c19.z, r1, r0
mad r0, c20.z, r2, r0
mad r0, c21.z, r3, r0
mad r0, c22.z, r4, r0
mad r0, c23.z, r5, r0
mad r0, c24.z, r6, r0
mad r0, c25.z, r7, r0
mul r0, r0, v0
add r1.yw, -t0.y, c0
add r1.xz, -t0.x, c0
cmp r1.x, -r1.x, c26.x, c26.y
cmp r1.y, -r1.y, c26.x, c26.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c26.x, c26.y
cmp r1.y, r1.z, c26.x, c26.y
cmp r1.z, r1.w, c26.x, c26.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c26.x, c26.y
add r1.x, r1.z, r1.x
cmp r0, -r1.x, r0, r8
mov oC0, r0
// approximately 90 instruction slots used (26 texture, 64 arithmetic)
#endif
const DWORD convolve2[] =
{
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060019, 0x00000098,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
0x00030001, 0x00000019, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f001a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000002, 0x80030001,
0xb0e40000, 0xa0e4000a, 0x03000002, 0x80030002, 0xb0e40000, 0xa0e4000b,
0x03000002, 0x80030003, 0xb0e40000, 0xa0e4000c, 0x03000002, 0x80030004,
0xb0e40000, 0xa0e4000d, 0x03000002, 0x80030005, 0xb0e40000, 0xa0e4000e,
0x03000002, 0x80030006, 0xb0e40000, 0xa0e4000f, 0x03000002, 0x80030007,
0xb0e40000, 0xa0e40010, 0x03000002, 0x80030008, 0xb0e40000, 0xa0e40011,
0x03000002, 0x80030009, 0xb0e40000, 0xa0e40012, 0x03000042, 0x800f0001,
0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
0x03000042, 0x800f0009, 0x80e40009, 0xa0e40800, 0x04000004, 0x800f0000,
0xa0aa000a, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000b,
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000c, 0x80e40003,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000d, 0x80e40004, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa000e, 0x80e40005, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa000f, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0010, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0011,
0x80e40008, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0012, 0x80e40009,
0x80e40000, 0x03000002, 0x80030001, 0xb0e40000, 0xa0e40013, 0x03000002,
0x80030002, 0xb0e40000, 0xa0e40014, 0x03000002, 0x80030003, 0xb0e40000,
0xa0e40015, 0x03000002, 0x80030004, 0xb0e40000, 0xa0e40016, 0x03000002,
0x80030005, 0xb0e40000, 0xa0e40017, 0x03000002, 0x80030006, 0xb0e40000,
0xa0e40018, 0x03000002, 0x80030007, 0xb0e40000, 0xa0e40019, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042,
0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005,
0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042,
0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0xb0e40000,
0xa0e40800, 0x04000004, 0x800f0000, 0xa0aa0013, 0x80e40001, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0014, 0x80e40002, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0015, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0016, 0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0017,
0x80e40005, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0018, 0x80e40006,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0019, 0x80e40007, 0x80e40000,
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x03000002, 0x800a0001,
0xb1550000, 0xa0e40000, 0x03000002, 0x80050001, 0xb1000000, 0xa0e40000,
0x04000058, 0x80010001, 0x81000001, 0xa000001a, 0xa055001a, 0x04000058,
0x80020001, 0x81550001, 0xa000001a, 0xa055001a, 0x03000002, 0x80010001,
0x80000001, 0x80550001, 0x04000058, 0x80010001, 0x81000001, 0xa000001a,
0xa055001a, 0x04000058, 0x80020001, 0x80aa0001, 0xa000001a, 0xa055001a,
0x04000058, 0x80040001, 0x80ff0001, 0xa000001a, 0xa055001a, 0x03000002,
0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001, 0x81000001,
0xa000001a, 0xa055001a, 0x03000002, 0x80010001, 0x80aa0001, 0x80000001,
0x04000058, 0x800f0000, 0x81000001, 0x80e40000, 0x80e40008, 0x02000001,
0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn convolve3 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// float4 imgEdge;
// float3 kernelVals[25];
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// imgEdge c0 1
// kernelVals c1 25
// baseImage s0 1
//
ps_2_0
def c26, 0, 1, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
add r0.xy, t0, c2
add r1.xy, t0, c1
add r2.xy, t0, c3
add r3.xy, t0, c4
add r4.xy, t0, c5
add r5.xy, t0, c6
add r6.xy, t0, c7
add r7.xy, t0, c8
add r8.xy, t0, c9
texld r0, r0, s0
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
mul r0, r0, c2.z
mad r0, c1.z, r1, r0
mad r0, c3.z, r2, r0
mad r0, c4.z, r3, r0
mad r0, c5.z, r4, r0
mad r0, c6.z, r5, r0
mad r0, c7.z, r6, r0
mad r0, c8.z, r7, r0
mad r0, c9.z, r8, r0
add r1.xy, t0, c10
add r2.xy, t0, c11
add r3.xy, t0, c12
add r4.xy, t0, c13
add r5.xy, t0, c14
add r6.xy, t0, c15
add r7.xy, t0, c16
add r8.xy, t0, c17
add r9.xy, t0, c18
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
texld r8, r8, s0
texld r9, r9, s0
mad r0, c10.z, r1, r0
mad r0, c11.z, r2, r0
mad r0, c12.z, r3, r0
mad r0, c13.z, r4, r0
mad r0, c14.z, r5, r0
mad r0, c15.z, r6, r0
mad r0, c16.z, r7, r0
mad r0, c17.z, r8, r0
mad r0, c18.z, r9, r0
add r1.xy, t0, c19
add r2.xy, t0, c20
add r3.xy, t0, c21
add r4.xy, t0, c22
add r5.xy, t0, c23
add r6.xy, t0, c24
add r7.xy, t0, c25
texld r1, r1, s0
texld r2, r2, s0
texld r3, r3, s0
texld r4, r4, s0
texld r5, r5, s0
texld r6, r6, s0
texld r7, r7, s0
mad r0, c19.z, r1, r0
mad r0, c20.z, r2, r0
mad r0, c21.z, r3, r0
mad r0, c22.z, r4, r0
mad r0, c23.z, r5, r0
mad r0, c24.z, r6, r0
mad r0, c25.z, r7, r0
mul r0, r0, v0
add r1.yw, -t0.y, c0
add r1.xz, -t0.x, c0
cmp r1.x, -r1.x, c26.x, c26.y
cmp r1.y, -r1.y, c26.x, c26.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c26.x, c26.y
cmp r1.y, r1.z, c26.x, c26.y
cmp r1.z, r1.w, c26.x, c26.y
add r1.x, r1.x, r1.y
cmp r1.x, -r1.x, c26.x, c26.y
add r1.x, r1.z, r1.x
cmp r0, -r1.x, r0, c26.x
mov oC0, r0
// approximately 89 instruction slots used (25 texture, 64 arithmetic)
#endif
const DWORD convolve3[] =
{
0xffff0200, 0x0039fffe, 0x42415443, 0x0000001c, 0x000000af, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a8, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00000002, 0x00020001,
0x0000007c, 0x00000000, 0x0000008c, 0x00010002, 0x00060019, 0x00000098,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x45676d69, 0x00656764, 0x00030001, 0x00040001,
0x00000001, 0x00000000, 0x6e72656b, 0x61566c65, 0xab00736c, 0x00030001,
0x00030001, 0x00000019, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f001a, 0x00000000, 0x3f800000, 0x00000000, 0x00000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f,
0x90000000, 0xa00f0800, 0x03000002, 0x80030000, 0xb0e40000, 0xa0e40002,
0x03000002, 0x80030001, 0xb0e40000, 0xa0e40001, 0x03000002, 0x80030002,
0xb0e40000, 0xa0e40003, 0x03000002, 0x80030003, 0xb0e40000, 0xa0e40004,
0x03000002, 0x80030004, 0xb0e40000, 0xa0e40005, 0x03000002, 0x80030005,
0xb0e40000, 0xa0e40006, 0x03000002, 0x80030006, 0xb0e40000, 0xa0e40007,
0x03000002, 0x80030007, 0xb0e40000, 0xa0e40008, 0x03000002, 0x80030008,
0xb0e40000, 0xa0e40009, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002,
0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800,
0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005,
0x80e40005, 0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800,
0x03000042, 0x800f0007, 0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008,
0x80e40008, 0xa0e40800, 0x03000005, 0x800f0000, 0x80e40000, 0xa0aa0002,
0x04000004, 0x800f0000, 0xa0aa0001, 0x80e40001, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0003, 0x80e40002, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0004, 0x80e40003, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0005,
0x80e40004, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0006, 0x80e40005,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0007, 0x80e40006, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0008, 0x80e40007, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0009, 0x80e40008, 0x80e40000, 0x03000002, 0x80030001,
0xb0e40000, 0xa0e4000a, 0x03000002, 0x80030002, 0xb0e40000, 0xa0e4000b,
0x03000002, 0x80030003, 0xb0e40000, 0xa0e4000c, 0x03000002, 0x80030004,
0xb0e40000, 0xa0e4000d, 0x03000002, 0x80030005, 0xb0e40000, 0xa0e4000e,
0x03000002, 0x80030006, 0xb0e40000, 0xa0e4000f, 0x03000002, 0x80030007,
0xb0e40000, 0xa0e40010, 0x03000002, 0x80030008, 0xb0e40000, 0xa0e40011,
0x03000002, 0x80030009, 0xb0e40000, 0xa0e40012, 0x03000042, 0x800f0001,
0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004,
0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005, 0xa0e40800,
0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042, 0x800f0007,
0x80e40007, 0xa0e40800, 0x03000042, 0x800f0008, 0x80e40008, 0xa0e40800,
0x03000042, 0x800f0009, 0x80e40009, 0xa0e40800, 0x04000004, 0x800f0000,
0xa0aa000a, 0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000b,
0x80e40002, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000c, 0x80e40003,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa000d, 0x80e40004, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa000e, 0x80e40005, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa000f, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0010, 0x80e40007, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0011,
0x80e40008, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0012, 0x80e40009,
0x80e40000, 0x03000002, 0x80030001, 0xb0e40000, 0xa0e40013, 0x03000002,
0x80030002, 0xb0e40000, 0xa0e40014, 0x03000002, 0x80030003, 0xb0e40000,
0xa0e40015, 0x03000002, 0x80030004, 0xb0e40000, 0xa0e40016, 0x03000002,
0x80030005, 0xb0e40000, 0xa0e40017, 0x03000002, 0x80030006, 0xb0e40000,
0xa0e40018, 0x03000002, 0x80030007, 0xb0e40000, 0xa0e40019, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x03000042,
0x800f0004, 0x80e40004, 0xa0e40800, 0x03000042, 0x800f0005, 0x80e40005,
0xa0e40800, 0x03000042, 0x800f0006, 0x80e40006, 0xa0e40800, 0x03000042,
0x800f0007, 0x80e40007, 0xa0e40800, 0x04000004, 0x800f0000, 0xa0aa0013,
0x80e40001, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0014, 0x80e40002,
0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0015, 0x80e40003, 0x80e40000,
0x04000004, 0x800f0000, 0xa0aa0016, 0x80e40004, 0x80e40000, 0x04000004,
0x800f0000, 0xa0aa0017, 0x80e40005, 0x80e40000, 0x04000004, 0x800f0000,
0xa0aa0018, 0x80e40006, 0x80e40000, 0x04000004, 0x800f0000, 0xa0aa0019,
0x80e40007, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x03000002, 0x800a0001, 0xb1550000, 0xa0e40000, 0x03000002, 0x80050001,
0xb1000000, 0xa0e40000, 0x04000058, 0x80010001, 0x81000001, 0xa000001a,
0xa055001a, 0x04000058, 0x80020001, 0x81550001, 0xa000001a, 0xa055001a,
0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058, 0x80010001,
0x81000001, 0xa000001a, 0xa055001a, 0x04000058, 0x80020001, 0x80aa0001,
0xa000001a, 0xa055001a, 0x04000058, 0x80040001, 0x80ff0001, 0xa000001a,
0xa055001a, 0x03000002, 0x80010001, 0x80000001, 0x80550001, 0x04000058,
0x80010001, 0x81000001, 0xa000001a, 0xa055001a, 0x03000002, 0x80010001,
0x80aa0001, 0x80000001, 0x04000058, 0x800f0000, 0x81000001, 0x80e40000,
0xa000001a, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
const DWORD *convolveShaders[] =
{
convolve0,
convolve1,
convolve2,
convolve3,
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn lookup0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// sampler2D lookupTable;
// float4 offset;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// offset c0 1
// baseImage s0 1
// lookupTable s1 1
//
ps_2_0
def c1, 0.125, 0.375, 0.625, 0.875
dcl t0.xy
dcl v0
dcl_2d s0
dcl_2d s1
texld r0, t0, s0
mov r1.y, c1.x
add r0, r0, -c0
mov r1.x, r0.x
mov r0.x, r0.y
mov r0.y, c1.y
mov r2.x, r0.z
mov r3.x, r0.w
mov r2.y, c1.z
mov r3.y, c1.w
texld r1, r1, s1
texld r0, r0, s1
texld r2, r2, s1
texld r3, r3, s1
mov r1.y, r0.x
mov r1.z, r2.x
mov r1.w, r3.x
mul r0, r1, v0
mov oC0, r0
// approximately 19 instruction slots used (5 texture, 14 arithmetic)
#endif
const DWORD lookup0[] =
{
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
0x3f600000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
0x80020001, 0xa0000001, 0x03000002, 0x800f0000, 0x80e40000, 0xa1e40000,
0x02000001, 0x80010001, 0x80000000, 0x02000001, 0x80010000, 0x80550000,
0x02000001, 0x80020000, 0xa0550001, 0x02000001, 0x80010002, 0x80aa0000,
0x02000001, 0x80010003, 0x80ff0000, 0x02000001, 0x80020002, 0xa0aa0001,
0x02000001, 0x80020003, 0xa0ff0001, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40801, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
0xa0e40801, 0x02000001, 0x80020001, 0x80000000, 0x02000001, 0x80040001,
0x80000002, 0x02000001, 0x80080001, 0x80000003, 0x03000005, 0x800f0000,
0x80e40001, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn lookup1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// sampler2D lookupTable;
// float4 offset;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// offset c0 1
// baseImage s0 1
// lookupTable s1 1
//
ps_2_0
def c1, 0.125, 0.375, 0.625, 0
dcl t0.xy
dcl v0
dcl_2d s0
dcl_2d s1
texld r0, t0, s0
mov r1.y, c1.x
add r2.xyz, r0, -c0
mov r1.x, r2.x
mov r2.x, r2.y
mov r3.x, r2.z
mov r2.y, c1.y
mov r3.y, c1.z
texld r1, r1, s1
texld r2, r2, s1
texld r3, r3, s1
mov r0.x, r1.x
mov r0.y, r2.x
mov r0.z, r3.x
mul r0, r0, v0
mov oC0, r0
// approximately 16 instruction slots used (4 texture, 12 arithmetic)
#endif
const DWORD lookup1[] =
{
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
0x00000000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
0x80020001, 0xa0000001, 0x03000002, 0x80070002, 0x80e40000, 0xa1e40000,
0x02000001, 0x80010001, 0x80000002, 0x02000001, 0x80010002, 0x80550002,
0x02000001, 0x80010003, 0x80aa0002, 0x02000001, 0x80020002, 0xa0550001,
0x02000001, 0x80020003, 0xa0aa0001, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0003, 0x80e40003, 0xa0e40801, 0x02000001, 0x80010000, 0x80000001,
0x02000001, 0x80020000, 0x80000002, 0x02000001, 0x80040000, 0x80000003,
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn lookup2 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// sampler2D lookupTable;
// float4 offset;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// offset c0 1
// baseImage s0 1
// lookupTable s1 1
//
ps_2_0
def c1, 0.125, 0.375, 0.625, 0.875
dcl t0.xy
dcl v0
dcl_2d s0
dcl_2d s1
texld r0, t0, s0
mov r1.y, c1.x
rcp r1.z, r0.w
mul r0.xyz, r0, r1.z
add r0, r0, -c0
mov r1.x, r0.x
mov r0.x, r0.y
mov r0.y, c1.y
mov r2.x, r0.z
mov r3.x, r0.w
mov r2.y, c1.z
mov r3.y, c1.w
texld r1, r1, s1
texld r0, r0, s1
texld r2, r2, s1
texld r3, r3, s1
mov r1.y, r0.x
mov r1.z, r2.x
mul r0.xyz, r3.x, r1
mov r0.w, r3.x
mul r0, r0, v0
mov oC0, r0
// approximately 22 instruction slots used (5 texture, 17 arithmetic)
#endif
const DWORD lookup2[] =
{
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
0x3f600000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
0x80020001, 0xa0000001, 0x02000006, 0x80040001, 0x80ff0000, 0x03000005,
0x80070000, 0x80e40000, 0x80aa0001, 0x03000002, 0x800f0000, 0x80e40000,
0xa1e40000, 0x02000001, 0x80010001, 0x80000000, 0x02000001, 0x80010000,
0x80550000, 0x02000001, 0x80020000, 0xa0550001, 0x02000001, 0x80010002,
0x80aa0000, 0x02000001, 0x80010003, 0x80ff0000, 0x02000001, 0x80020002,
0xa0aa0001, 0x02000001, 0x80020003, 0xa0ff0001, 0x03000042, 0x800f0001,
0x80e40001, 0xa0e40801, 0x03000042, 0x800f0000, 0x80e40000, 0xa0e40801,
0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40801, 0x02000001, 0x80020001, 0x80000000, 0x02000001,
0x80040001, 0x80000002, 0x03000005, 0x80070000, 0x80000003, 0x80e40001,
0x02000001, 0x80080000, 0x80000003, 0x03000005, 0x800f0000, 0x80e40000,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn lookup3 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D baseImage;
// sampler2D lookupTable;
// float4 offset;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// offset c0 1
// baseImage s0 1
// lookupTable s1 1
//
ps_2_0
def c1, 0.125, 0.375, 0.625, 0
dcl t0.xy
dcl v0
dcl_2d s0
dcl_2d s1
texld r0, t0, s0
mov r1.y, c1.x
rcp r1.z, r0.w
mad r2.xyz, r0, r1.z, -c0
mov r1.x, r2.x
mov r3.y, c1.y
mov r3.x, r2.y
mov r2.x, r2.z
mov r2.y, c1.z
texld r1, r1, s1
texld r3, r3, s1
texld r2, r2, s1
mov r1.y, r3.x
mov r1.z, r2.x
mul r0.xyz, r0.w, r1
mul r0, r0, v0
mov oC0, r0
// approximately 17 instruction slots used (4 texture, 13 arithmetic)
#endif
const DWORD lookup3[] =
{
0xffff0200, 0x0035fffe, 0x42415443, 0x0000001c, 0x0000009f, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000098, 0x00000058, 0x00000003,
0x00020001, 0x00000064, 0x00000000, 0x00000074, 0x00010003, 0x00060001,
0x00000064, 0x00000000, 0x00000080, 0x00000002, 0x00020001, 0x00000088,
0x00000000, 0x65736162, 0x67616d49, 0xabab0065, 0x000c0004, 0x00010001,
0x00000001, 0x00000000, 0x6b6f6f6c, 0x61547075, 0x00656c62, 0x7366666f,
0xab007465, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x325f7370,
0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c,
0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934,
0x00313131, 0x05000051, 0xa00f0001, 0x3e000000, 0x3ec00000, 0x3f200000,
0x00000000, 0x0200001f, 0x80000000, 0xb0030000, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x03000042, 0x800f0000, 0xb0e40000, 0xa0e40800, 0x02000001,
0x80020001, 0xa0000001, 0x02000006, 0x80040001, 0x80ff0000, 0x04000004,
0x80070002, 0x80e40000, 0x80aa0001, 0xa1e40000, 0x02000001, 0x80010001,
0x80000002, 0x02000001, 0x80020003, 0xa0550001, 0x02000001, 0x80010003,
0x80550002, 0x02000001, 0x80010002, 0x80aa0002, 0x02000001, 0x80020002,
0xa0aa0001, 0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042,
0x800f0003, 0x80e40003, 0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40801, 0x02000001, 0x80020001, 0x80000003, 0x02000001, 0x80040001,
0x80000002, 0x03000005, 0x80070000, 0x80ff0000, 0x80e40001, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
const DWORD *lookupShaders[] =
{
lookup0,
lookup1,
lookup2,
lookup3,
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn grad0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// float4 color1;
// float4 color2;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// params c0 1
// color1 c1 1
// color2 c2 1
//
ps_2_0
def c3, 1, -0.25, 0, 0
dcl t0.xy
dcl v0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c0, r0
add r0.x, r0.x, c3.y
add_sat r0.x, r0.x, r0.x
mov r1, c1
add r1, -r1, c2
mad r0, r0.x, r1, c1
mul r0, r0, v0
mov oC0, r0
// approximately 10 instruction slots used
#endif
const DWORD grad0[] =
{
0xffff0200, 0x0033fffe, 0x42415443, 0x0000001c, 0x00000097, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000090, 0x00000058, 0x00010002,
0x00060001, 0x00000060, 0x00000000, 0x00000070, 0x00020002, 0x000a0001,
0x00000060, 0x00000000, 0x00000077, 0x00000002, 0x00020001, 0x00000080,
0x00000000, 0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001,
0x00000000, 0x6f6c6f63, 0x70003272, 0x6d617261, 0xabab0073, 0x00030001,
0x00030001, 0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f0003, 0x3f800000, 0xbe800000, 0x00000000, 0x00000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x02000001,
0x80030000, 0xb0e40000, 0x02000001, 0x80040000, 0xa0000003, 0x03000008,
0x80010000, 0xa0e40000, 0x80e40000, 0x03000002, 0x80010000, 0x80000000,
0xa0550003, 0x03000002, 0x80110000, 0x80000000, 0x80000000, 0x02000001,
0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001, 0xa0e40002,
0x04000004, 0x800f0000, 0x80000000, 0x80e40001, 0xa0e40001, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn grad1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// float4 color1;
// float4 color2;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// params c0 1
// color1 c1 1
// color2 c2 1
//
ps_2_0
def c3, 1, -0.25, -0.5, 2
dcl t0.xy
dcl v0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c0, r0
add r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
mov r1, c1
add r1, -r1, c2
mad r0, r0.x, r1, c1
mul r0, r0, v0
mov oC0, r0
// approximately 13 instruction slots used
#endif
const DWORD grad1[] =
{
0xffff0200, 0x0033fffe, 0x42415443, 0x0000001c, 0x00000097, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x00000090, 0x00000058, 0x00010002,
0x00060001, 0x00000060, 0x00000000, 0x00000070, 0x00020002, 0x000a0001,
0x00000060, 0x00000000, 0x00000077, 0x00000002, 0x00020001, 0x00000080,
0x00000000, 0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001,
0x00000000, 0x6f6c6f63, 0x70003272, 0x6d617261, 0xabab0073, 0x00030001,
0x00030001, 0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369,
0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320,
0x656c6970, 0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051,
0xa00f0003, 0x3f800000, 0xbe800000, 0xbf000000, 0x40000000, 0x0200001f,
0x80000000, 0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x02000001,
0x80030000, 0xb0e40000, 0x02000001, 0x80040000, 0xa0000003, 0x03000008,
0x80010000, 0xa0e40000, 0x80e40000, 0x03000002, 0x80010000, 0x80000000,
0xa0550003, 0x02000013, 0x80010000, 0x80000000, 0x03000002, 0x80010000,
0x80000000, 0xa0aa0003, 0x02000023, 0x80010000, 0x80000000, 0x04000004,
0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003, 0x02000001, 0x800f0001,
0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001, 0xa0e40002, 0x04000004,
0x800f0000, 0x80000000, 0x80e40001, 0xa0e40001, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn grad2 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// float4 color1;
// float4 color2;
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// params c0 1
// color1 c1 1
// color2 c2 1
// mask s0 1
//
ps_2_0
def c3, 1, -0.25, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
texld r0, t0, s0
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c0, r0
add r0.x, r0.x, c3.y
add_sat r0.x, r0.x, r0.x
mov r1, c1
add r1, -r1, c2
mad r1, r0.x, r1, c1
mul r0, r0.w, r1
mul r0, r0, v0
mov oC0, r0
// approximately 12 instruction slots used (1 texture, 11 arithmetic)
#endif
const DWORD grad2[] =
{
0xffff0200, 0x003dfffe, 0x42415443, 0x0000001c, 0x000000bf, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000b8, 0x0000006c, 0x00010002,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00020002, 0x000a0001,
0x00000074, 0x00000000, 0x0000008b, 0x00000003, 0x00020001, 0x00000090,
0x00000000, 0x000000a0, 0x00000002, 0x00020001, 0x000000a8, 0x00000000,
0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001, 0x00000000,
0x6f6c6f63, 0x6d003272, 0x006b7361, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001, 0x00000001,
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072,
0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003, 0x3f800000,
0xbe800000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000, 0xb0030000,
0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000, 0x900f0000,
0x0200001f, 0x90000000, 0xa00f0800, 0x03000042, 0x800f0000, 0xb0e40000,
0xa0e40800, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40000, 0x80e40000, 0x03000002,
0x80010000, 0x80000000, 0xa0550003, 0x03000002, 0x80110000, 0x80000000,
0x80000000, 0x02000001, 0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001,
0x81e40001, 0xa0e40002, 0x04000004, 0x800f0001, 0x80000000, 0x80e40001,
0xa0e40001, 0x03000005, 0x800f0000, 0x80ff0000, 0x80e40001, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn grad3 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// float4 color1;
// float4 color2;
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// params c0 1
// color1 c1 1
// color2 c2 1
// mask s0 1
//
ps_2_0
def c3, 1, -0.25, -0.5, 2
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
texld r0, t0, s0
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c0, r0
add r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
mov r1, c1
add r1, -r1, c2
mad r1, r0.x, r1, c1
mul r0, r0.w, r1
mul r0, r0, v0
mov oC0, r0
// approximately 15 instruction slots used (1 texture, 14 arithmetic)
#endif
const DWORD grad3[] =
{
0xffff0200, 0x003dfffe, 0x42415443, 0x0000001c, 0x000000bf, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000b8, 0x0000006c, 0x00010002,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00020002, 0x000a0001,
0x00000074, 0x00000000, 0x0000008b, 0x00000003, 0x00020001, 0x00000090,
0x00000000, 0x000000a0, 0x00000002, 0x00020001, 0x000000a8, 0x00000000,
0x6f6c6f63, 0xab003172, 0x00030001, 0x00040001, 0x00000001, 0x00000000,
0x6f6c6f63, 0x6d003272, 0x006b7361, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001, 0x00000001,
0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73, 0x29522820,
0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x2e392072,
0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003, 0x3f800000,
0xbe800000, 0xbf000000, 0x40000000, 0x0200001f, 0x80000000, 0xb0030000,
0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000, 0x900f0000,
0x0200001f, 0x90000000, 0xa00f0800, 0x03000042, 0x800f0000, 0xb0e40000,
0xa0e40800, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40000, 0x80e40000, 0x03000002,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x02000001, 0x800f0001, 0xa0e40001, 0x03000002, 0x800f0001, 0x81e40001,
0xa0e40002, 0x04000004, 0x800f0001, 0x80000000, 0x80e40001, 0xa0e40001,
0x03000005, 0x800f0000, 0x80ff0000, 0x80e40001, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
const DWORD *gradShaders[] =
{
grad0,
grad1,
grad2,
grad3,
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c3.x
mov r0.xy, t0
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c3.x
mad r1.x, r0.w, c4.z, c4.w
add r0.w, r0.x, c3.w
mad r2.x, r0.y, c4.z, c4.w
mov r2.y, c3.z
mov r1.y, c3.z
mov r3.xy, c4
mov r4.xy, c3.yzxw
texld r2, r2, s0
texld r1, r1, s0
texld r3, r3, s0
texld r4, r4, s0
lrp r5, r0.z, r1, r2
cmp r1, r0.w, r3, r5
cmp r0, -r0.x, r4, r1
mul r0, r0, v0
mov oC0, r0
// approximately 30 instruction slots used (4 texture, 26 arithmetic)
#endif
const DWORD linear0[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
0x81000000, 0x80e40004, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40000,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 28 instruction slots used (2 texture, 26 arithmetic)
#endif
const DWORD linear1[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear2 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 24 instruction slots used (2 texture, 22 arithmetic)
#endif
const DWORD linear2[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear4 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c7.x
mov r0.xy, t0
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c6.x
mul_sat r0.z, r0.z, c6.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c7.x
mad r1.x, r0.w, c8.z, c8.w
add r0.w, r0.x, c7.w
mad r2.x, r0.y, c8.z, c8.w
mov r2.y, c7.z
mov r1.y, c7.z
mov r3.xy, c8
mov r4.xy, c7.yzxw
texld r2, r2, s0
texld r1, r1, s0
texld r3, r3, s0
texld r4, r4, s0
lrp r5, r0.z, r1, r2
cmp r1, r0.w, r3, r5
cmp r0, -r0.x, r4, r1
mul r0, r0, v0
mov oC0, r0
// approximately 42 instruction slots used (4 texture, 38 arithmetic)
#endif
const DWORD linear4[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
0x81000000, 0x80e40004, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40000,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear5 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 40 instruction slots used (2 texture, 38 arithmetic)
#endif
const DWORD linear5[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear6 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 36 instruction slots used (2 texture, 34 arithmetic)
#endif
const DWORD linear6[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear8 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c3.x
mov r0.xy, t1
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c3.x
mad r1.x, r0.w, c4.z, c4.w
add r0.w, r0.x, c3.w
mad r2.x, r0.y, c4.z, c4.w
mov r2.y, c3.z
mov r1.y, c3.z
mov r3.xy, c4
mov r4.xy, c3.yzxw
texld r2, r2, s1
texld r1, r1, s1
texld r3, r3, s1
texld r4, r4, s1
texld r5, t0, s0
lrp r6, r0.z, r1, r2
cmp r1, r0.w, r3, r6
cmp r0, -r0.x, r4, r1
mul r0, r5.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 32 instruction slots used (5 texture, 27 arithmetic)
#endif
const DWORD linear8[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
0x80e40001, 0x03000005, 0x800f0000, 0x80ff0005, 0x80e40000, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear9 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 30 instruction slots used (3 texture, 27 arithmetic)
#endif
const DWORD linear9[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear10 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 26 instruction slots used (3 texture, 23 arithmetic)
#endif
const DWORD linear10[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear12 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c7.x
mov r0.xy, t1
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c6.x
mul_sat r0.z, r0.z, c6.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c7.x
mad r1.x, r0.w, c8.z, c8.w
add r0.w, r0.x, c7.w
mad r2.x, r0.y, c8.z, c8.w
mov r2.y, c7.z
mov r1.y, c7.z
mov r3.xy, c8
mov r4.xy, c7.yzxw
texld r2, r2, s1
texld r1, r1, s1
texld r3, r3, s1
texld r4, r4, s1
texld r5, t0, s0
lrp r6, r0.z, r1, r2
cmp r1, r0.w, r3, r6
cmp r0, -r0.x, r4, r1
mul r0, r5.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 44 instruction slots used (5 texture, 39 arithmetic)
#endif
const DWORD linear12[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
0x80e40001, 0x03000005, 0x800f0000, 0x80ff0005, 0x80e40000, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear13 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 42 instruction slots used (3 texture, 39 arithmetic)
#endif
const DWORD linear13[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear14 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 38 instruction slots used (3 texture, 35 arithmetic)
#endif
const DWORD linear14[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear16 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c3.x
mov r0.xy, t0
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c3.x
mad r1.x, r0.w, c4.z, c4.w
add r0.w, r0.x, c3.w
mad r2.x, r0.y, c4.z, c4.w
mov r2.y, c3.z
mov r1.y, c3.z
mov r3.xy, c4
mov r4.xy, c3.yzxw
texld r2, r2, s0
texld r1, r1, s0
texld r3, r3, s0
texld r4, r4, s0
lrp r5, r0.z, r1, r2
cmp r1, r0.w, r3, r5
cmp r0, -r0.x, r4, r1
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c5.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c5.y, c5.z
mul r0, r0, v0
mov oC0, r0
// approximately 38 instruction slots used (4 texture, 34 arithmetic)
#endif
const DWORD linear16[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
0x81000000, 0x80e40004, 0x80e40001, 0x0200000f, 0x80010001, 0x80000000,
0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000,
0x03000005, 0x80070001, 0x80e40001, 0xa0000005, 0x0200000e, 0x80010002,
0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002,
0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005,
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear17 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0.416667014, 0
def c5, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c4.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c5.x, c5.y
mul r0, r3, v0
mov oC0, r0
// approximately 36 instruction slots used (2 texture, 34 arithmetic)
#endif
const DWORD linear17[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
0xa0aa0004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
0x80e40001, 0xa0000005, 0xa0550005, 0x03000005, 0x800f0000, 0x80e40003,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear18 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c4.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c4.y, c4.z
mul r0, r3, v0
mov oC0, r0
// approximately 32 instruction slots used (2 texture, 30 arithmetic)
#endif
const DWORD linear18[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020003,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000004, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
0x80070000, 0x80e40000, 0xa0000004, 0x0200000e, 0x80010001, 0x80000000,
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
0x04000004, 0x80070003, 0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005,
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear20 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c7.x
mov r0.xy, t0
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c6.x
mul_sat r0.z, r0.z, c6.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c7.x
mad r1.x, r0.w, c8.z, c8.w
add r0.w, r0.x, c7.w
mad r2.x, r0.y, c8.z, c8.w
mov r2.y, c7.z
mov r1.y, c7.z
mov r3.xy, c8
mov r4.xy, c7.yzxw
texld r2, r2, s0
texld r1, r1, s0
texld r3, r3, s0
texld r4, r4, s0
lrp r5, r0.z, r1, r2
cmp r1, r0.w, r3, r5
cmp r0, -r0.x, r4, r1
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c9.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c9.y, c9.z
mul r0, r0, v0
mov oC0, r0
// approximately 50 instruction slots used (4 texture, 46 arithmetic)
#endif
const DWORD linear20[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40800, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40800,
0x04000012, 0x800f0005, 0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058,
0x800f0001, 0x80ff0000, 0x80e40003, 0x80e40005, 0x04000058, 0x800f0000,
0x81000000, 0x80e40004, 0x80e40001, 0x0200000f, 0x80010001, 0x80000000,
0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000,
0x03000005, 0x80070001, 0x80e40001, 0xa0000009, 0x0200000e, 0x80010002,
0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002,
0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009,
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear21 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0.416667014, 0
def c9, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c8.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c9.x, c9.y
mul r0, r3, v0
mov oC0, r0
// approximately 48 instruction slots used (2 texture, 46 arithmetic)
#endif
const DWORD linear21[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
0xa0aa0008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
0x80e40001, 0xa0000009, 0xa0550009, 0x03000005, 0x800f0000, 0x80e40003,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear22 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c8.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c8.y, c8.z
mul r0, r3, v0
mov oC0, r0
// approximately 44 instruction slots used (2 texture, 42 arithmetic)
#endif
const DWORD linear22[] =
{
0xffff0200, 0x0038fffe, 0x42415443, 0x0000001c, 0x000000ab, 0xffff0200,
0x00000003, 0x0000001c, 0x20000100, 0x000000a4, 0x00000058, 0x00000003,
0x00020001, 0x00000060, 0x00000000, 0x00000070, 0x00000002, 0x00020007,
0x0000007c, 0x00000000, 0x0000008c, 0x00100002, 0x00420001, 0x00000094,
0x00000000, 0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001,
0x00000000, 0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001,
0x00000008, 0x00000000, 0x61726170, 0xab00736d, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
0x80070000, 0x80e40000, 0xa0000008, 0x0200000e, 0x80010001, 0x80000000,
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
0x04000004, 0x80070003, 0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005,
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear24 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c3.x
mov r0.xy, t1
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c3.x
mad r1.x, r0.w, c4.z, c4.w
add r0.w, r0.x, c3.w
mad r2.x, r0.y, c4.z, c4.w
mov r2.y, c3.z
mov r1.y, c3.z
mov r3.xy, c4
mov r4.xy, c3.yzxw
texld r2, r2, s1
texld r1, r1, s1
texld r3, r3, s1
texld r4, r4, s1
texld r5, t0, s0
lrp r6, r0.z, r1, r2
cmp r1, r0.w, r3, r6
cmp r0, -r0.x, r4, r1
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c5.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c5.y, c5.z
mul r0, r5.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 40 instruction slots used (5 texture, 35 arithmetic)
#endif
const DWORD linear24[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000003,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0004, 0xa0ff0004, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0003, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020002, 0xa0aa0003, 0x02000001,
0x80020001, 0xa0aa0003, 0x02000001, 0x80030003, 0xa0e40004, 0x02000001,
0x80030004, 0xa0c90003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
0x80e40001, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f, 0x80020001,
0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005, 0x80070001,
0x80e40001, 0xa0000005, 0x0200000e, 0x80010002, 0x80000001, 0x0200000e,
0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001, 0x04000004,
0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005, 0x03000005, 0x800f0000,
0x80ff0005, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear25 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0.416667014, 0
def c5, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c4.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c5.x, c5.y
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 38 instruction slots used (3 texture, 35 arithmetic)
#endif
const DWORD linear25[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0004, 0x0200000e,
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000005,
0xa0550005, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear26 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c4.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c4.y, c4.z
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 34 instruction slots used (3 texture, 31 arithmetic)
#endif
const DWORD linear26[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020003,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
0xa0000004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005, 0x800f0000, 0x80ff0003,
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear28 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c7.x
mov r0.xy, t1
dp3 r0.x, c16, r0
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c6.x
mul_sat r0.z, r0.z, c6.y
add r0.y, r0.y, r0.z
frc r0.z, r0.y
add r0.y, r0.y, -r0.z
add r0.w, r0.y, c7.x
mad r1.x, r0.w, c8.z, c8.w
add r0.w, r0.x, c7.w
mad r2.x, r0.y, c8.z, c8.w
mov r2.y, c7.z
mov r1.y, c7.z
mov r3.xy, c8
mov r4.xy, c7.yzxw
texld r2, r2, s1
texld r1, r1, s1
texld r3, r3, s1
texld r4, r4, s1
texld r5, t0, s0
lrp r6, r0.z, r1, r2
cmp r1, r0.w, r3, r6
cmp r0, -r0.x, r4, r1
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c9.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c9.y, c9.z
mul r0, r5.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 52 instruction slots used (5 texture, 47 arithmetic)
#endif
const DWORD linear28[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000002,
0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000006, 0x03000005,
0x80140000, 0x80aa0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80aa0000, 0x02000013, 0x80040000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81aa0000, 0x03000002, 0x80080000, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0000, 0xa0aa0008, 0xa0ff0008, 0x03000002,
0x80080000, 0x80000000, 0xa0ff0007, 0x04000004, 0x80010002, 0x80550000,
0xa0aa0008, 0xa0ff0008, 0x02000001, 0x80020002, 0xa0aa0007, 0x02000001,
0x80020001, 0xa0aa0007, 0x02000001, 0x80030003, 0xa0e40008, 0x02000001,
0x80030004, 0xa0c90007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801,
0x03000042, 0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003,
0x80e40003, 0xa0e40801, 0x03000042, 0x800f0004, 0x80e40004, 0xa0e40801,
0x03000042, 0x800f0005, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0006,
0x80aa0000, 0x80e40001, 0x80e40002, 0x04000058, 0x800f0001, 0x80ff0000,
0x80e40003, 0x80e40006, 0x04000058, 0x800f0000, 0x81000000, 0x80e40004,
0x80e40001, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f, 0x80020001,
0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005, 0x80070001,
0x80e40001, 0xa0000009, 0x0200000e, 0x80010002, 0x80000001, 0x0200000e,
0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001, 0x04000004,
0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009, 0x03000005, 0x800f0000,
0x80ff0005, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear29 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0.416667014, 0
def c9, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.x, c16, r0
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c8.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c9.x, c9.y
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 50 instruction slots used (3 texture, 47 arithmetic)
#endif
const DWORD linear29[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0008, 0x0200000e,
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000009,
0xa0550009, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn linear30 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// sampler2D mask;
// float3 params;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// params c16 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.x, c16, r0
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c8.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c8.y, c8.z
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 46 instruction slots used (3 texture, 43 arithmetic)
#endif
const DWORD linear30[] =
{
0xffff0200, 0x003efffe, 0x42415443, 0x0000001c, 0x000000c3, 0xffff0200,
0x00000004, 0x0000001c, 0x20000100, 0x000000bc, 0x0000006c, 0x00010003,
0x00060001, 0x00000074, 0x00000000, 0x00000084, 0x00000002, 0x00020007,
0x00000090, 0x00000000, 0x000000a0, 0x00000003, 0x00020001, 0x00000074,
0x00000000, 0x000000a5, 0x00100002, 0x00420001, 0x000000ac, 0x00000000,
0x6f6c6f63, 0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000,
0x63617266, 0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008,
0x00000000, 0x6b73616d, 0x72617000, 0x00736d61, 0x00030001, 0x00030001,
0x00000001, 0x00000000, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80010000, 0xa0e40010, 0x80e40000, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000004, 0x0200000f, 0x80020000, 0x80550004,
0x0200000f, 0x80040000, 0x80aa0004, 0x03000005, 0x80070000, 0x80e40000,
0xa0000008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070004,
0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005, 0x800f0000, 0x80ff0003,
0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
0x800f0800, 0x80e40000, 0x0000ffff
};
const DWORD *linearShaders[] =
{
linear0,
linear1,
linear2,
NULL,
linear4,
linear5,
linear6,
NULL,
linear8,
linear9,
linear10,
NULL,
linear12,
linear13,
linear14,
NULL,
linear16,
linear17,
linear18,
NULL,
linear20,
linear21,
linear22,
NULL,
linear24,
linear25,
linear26,
NULL,
linear28,
linear29,
linear30,
NULL,
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial0 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c3.x
mov r0.xy, t0
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c3.x
mad r1.x, r1.w, c4.z, c4.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c3.w
mad r0.x, r0.y, c4.z, c4.w
mov r0.y, c3.z
mov r1.y, c3.z
mov r2.xy, c4
mov r3.xy, c3.yzxw
texld r4, r0, s0
texld r5, r1, s0
texld r2, r2, s0
texld r3, r3, s0
lrp r6, r0.w, r5, r4
cmp r0, r1.w, r2, r6
cmp r0, -r1.z, r3, r0
mul r0, r0, v0
mov oC0, r0
// approximately 40 instruction slots used (4 texture, 36 arithmetic)
#endif
const DWORD radial0[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
0xa0e40800, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003,
0xa0e40800, 0x04000012, 0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004,
0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058,
0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial1 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 37 instruction slots used (2 texture, 35 arithmetic)
#endif
const DWORD radial1[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial2 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 33 instruction slots used (2 texture, 31 arithmetic)
#endif
const DWORD radial2[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial4 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c7.x
mov r0.xy, t0
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c3.x
mul_sat r0.w, r0.w, c3.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c4.x
mul_sat r0.w, r0.w, c4.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c5.x
mul_sat r0.w, r0.w, c5.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c6.x
mul_sat r0.w, r0.w, c6.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c7.x
mad r1.x, r1.w, c8.z, c8.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c7.w
mad r0.x, r0.y, c8.z, c8.w
mov r0.y, c7.z
mov r1.y, c7.z
mov r2.xy, c8
mov r3.xy, c7.yzxw
texld r4, r0, s0
texld r5, r1, s0
texld r2, r2, s0
texld r3, r3, s0
lrp r6, r0.w, r5, r4
cmp r0, r1.w, r2, r6
cmp r0, -r1.z, r3, r0
mul r0, r0, v0
mov oC0, r0
// approximately 52 instruction slots used (4 texture, 48 arithmetic)
#endif
const DWORD radial4[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40800, 0x03000042,
0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x04000012,
0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058, 0x800f0000, 0x81aa0001,
0x80e40003, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial5 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 49 instruction slots used (2 texture, 47 arithmetic)
#endif
const DWORD radial5[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial6 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
mul r0, r3, v0
mov oC0, r0
// approximately 45 instruction slots used (2 texture, 43 arithmetic)
#endif
const DWORD radial6[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x03000005, 0x800f0000, 0x80e40003, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial8 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c3.x
mov r0.xy, t1
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c3.x
mad r1.x, r1.w, c4.z, c4.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c3.w
mad r0.x, r0.y, c4.z, c4.w
mov r0.y, c3.z
mov r1.y, c3.z
mov r2.xy, c4
mov r3.xy, c3.yzxw
texld r4, r0, s1
texld r5, r1, s1
texld r2, r2, s1
texld r3, r3, s1
texld r6, t0, s0
lrp r7, r0.w, r5, r4
cmp r0, r1.w, r2, r7
cmp r0, -r1.z, r3, r0
mul r0, r6.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 42 instruction slots used (5 texture, 37 arithmetic)
#endif
const DWORD radial8[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
0xa0e40801, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
0xa0e40801, 0x03000042, 0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0007, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
0x80ff0001, 0x80e40002, 0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001,
0x80e40003, 0x80e40000, 0x03000005, 0x800f0000, 0x80ff0006, 0x80e40000,
0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800,
0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial9 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 39 instruction slots used (3 texture, 36 arithmetic)
#endif
const DWORD radial9[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial10 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 35 instruction slots used (3 texture, 32 arithmetic)
#endif
const DWORD radial10[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial12 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c7.x
mov r0.xy, t1
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c3.x
mul_sat r0.w, r0.w, c3.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c4.x
mul_sat r0.w, r0.w, c4.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c5.x
mul_sat r0.w, r0.w, c5.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c6.x
mul_sat r0.w, r0.w, c6.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c7.x
mad r1.x, r1.w, c8.z, c8.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c7.w
mad r0.x, r0.y, c8.z, c8.w
mov r0.y, c7.z
mov r1.y, c7.z
mov r2.xy, c8
mov r3.xy, c7.yzxw
texld r4, r0, s1
texld r5, r1, s1
texld r2, r2, s1
texld r3, r3, s1
texld r6, t0, s0
lrp r7, r0.w, r5, r4
cmp r0, r1.w, r2, r7
cmp r0, -r1.z, r3, r0
mul r0, r6.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 54 instruction slots used (5 texture, 49 arithmetic)
#endif
const DWORD radial12[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40801, 0x03000042,
0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40801, 0x03000042,
0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012, 0x800f0007, 0x80ff0000,
0x80e40005, 0x80e40004, 0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002,
0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000,
0x03000005, 0x800f0000, 0x80ff0006, 0x80e40000, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial13 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 51 instruction slots used (3 texture, 48 arithmetic)
#endif
const DWORD radial13[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x03000005, 0x800f0000,
0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000,
0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial14 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 47 instruction slots used (3 texture, 44 arithmetic)
#endif
const DWORD radial14[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020007,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000,
0xa0e40800, 0x04000012, 0x800f0004, 0x80550000, 0x80e40002, 0x80e40001,
0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005, 0x800f0000,
0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial16 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c3.x
mov r0.xy, t0
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c3.x
mad r1.x, r1.w, c4.z, c4.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c3.w
mad r0.x, r0.y, c4.z, c4.w
mov r0.y, c3.z
mov r1.y, c3.z
mov r2.xy, c4
mov r3.xy, c3.yzxw
texld r4, r0, s0
texld r5, r1, s0
texld r2, r2, s0
texld r3, r3, s0
lrp r6, r0.w, r5, r4
cmp r0, r1.w, r2, r6
cmp r0, -r1.z, r3, r0
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c5.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c5.y, c5.z
mul r0, r0, v0
mov oC0, r0
// approximately 48 instruction slots used (4 texture, 44 arithmetic)
#endif
const DWORD radial16[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
0xa0e40800, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003,
0xa0e40800, 0x04000012, 0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004,
0x04000058, 0x800f0000, 0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058,
0x800f0000, 0x81aa0001, 0x80e40003, 0x80e40000, 0x0200000f, 0x80010001,
0x80000000, 0x0200000f, 0x80020001, 0x80550000, 0x0200000f, 0x80040001,
0x80aa0000, 0x03000005, 0x80070001, 0x80e40001, 0xa0000005, 0x0200000e,
0x80010002, 0x80000001, 0x0200000e, 0x80020002, 0x80550001, 0x0200000e,
0x80040002, 0x80aa0001, 0x04000004, 0x80070000, 0x80e40002, 0xa0550005,
0xa0aa0005, 0x03000005, 0x800f0000, 0x80e40000, 0x90e40000, 0x02000001,
0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial17 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0.416667014, 0
def c5, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c4.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c5.x, c5.y
mul r0, r3, v0
mov oC0, r0
// approximately 45 instruction slots used (2 texture, 43 arithmetic)
#endif
const DWORD radial17[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
0xa0aa0004, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
0x80e40001, 0xa0000005, 0xa0550005, 0x03000005, 0x800f0000, 0x80e40003,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial18 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c4.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c4.y, c4.z
mul r0, r3, v0
mov oC0, r0
// approximately 41 instruction slots used (2 texture, 39 arithmetic)
#endif
const DWORD radial18[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020003,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0004,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000002, 0x80010000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550002,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000003, 0x04000004, 0x80010001, 0x80000000,
0xa0550003, 0xa0aa0003, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550003,
0xa0aa0003, 0x02000001, 0x80020002, 0xa0ff0003, 0x02000001, 0x80020001,
0xa0ff0003, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
0x80070000, 0x80e40000, 0xa0000004, 0x0200000e, 0x80010001, 0x80000000,
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
0x04000004, 0x80070003, 0x80e40001, 0xa0550004, 0xa0aa0004, 0x03000005,
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial20 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0, 0.5, -1
def c8, 1, 0.5, 0.0625, 0.03125
def c9, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.z, c7.x
mov r0.xy, t0
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c3.x
mul_sat r0.w, r0.w, c3.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c4.x
mul_sat r0.w, r0.w, c4.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c5.x
mul_sat r0.w, r0.w, c5.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c6.x
mul_sat r0.w, r0.w, c6.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c7.x
mad r1.x, r1.w, c8.z, c8.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c7.w
mad r0.x, r0.y, c8.z, c8.w
mov r0.y, c7.z
mov r1.y, c7.z
mov r2.xy, c8
mov r3.xy, c7.yzxw
texld r4, r0, s0
texld r5, r1, s0
texld r2, r2, s0
texld r3, r3, s0
lrp r6, r0.w, r5, r4
cmp r0, r1.w, r2, r6
cmp r0, -r1.z, r3, r0
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c9.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c9.y, c9.z
mul r0, r0, v0
mov oC0, r0
// approximately 60 instruction slots used (4 texture, 56 arithmetic)
#endif
const DWORD radial20[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0008,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0009,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80040000, 0xa0000007, 0x02000001, 0x80030000,
0xb0e40000, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000,
0x80aa0000, 0xa1000003, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004, 0x80080000,
0x80000000, 0x80aa0000, 0xa1000004, 0x03000005, 0x80180000, 0x80ff0000,
0xa0550004, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000, 0x04000004,
0x80080000, 0x80000000, 0x80aa0000, 0xa1000005, 0x03000005, 0x80180000,
0x80ff0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80ff0000,
0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000006, 0x03000005,
0x80180000, 0x80ff0000, 0xa0550006, 0x03000002, 0x80020000, 0x80550000,
0x80ff0000, 0x02000013, 0x80080000, 0x80550000, 0x03000002, 0x80020000,
0x80550000, 0x81ff0000, 0x03000002, 0x80080001, 0x80550000, 0xa0000007,
0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0008, 0xa0ff0008, 0x03000005,
0x80040001, 0x80000000, 0xa0aa0012, 0x04000004, 0x80080001, 0x80000000,
0x80aa0000, 0xa0ff0007, 0x04000004, 0x80010000, 0x80550000, 0xa0aa0008,
0xa0ff0008, 0x02000001, 0x80020000, 0xa0aa0007, 0x02000001, 0x80020001,
0xa0aa0007, 0x02000001, 0x80030002, 0xa0e40008, 0x02000001, 0x80030003,
0xa0c90007, 0x03000042, 0x800f0004, 0x80e40000, 0xa0e40800, 0x03000042,
0x800f0005, 0x80e40001, 0xa0e40800, 0x03000042, 0x800f0002, 0x80e40002,
0xa0e40800, 0x03000042, 0x800f0003, 0x80e40003, 0xa0e40800, 0x04000012,
0x800f0006, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
0x80ff0001, 0x80e40002, 0x80e40006, 0x04000058, 0x800f0000, 0x81aa0001,
0x80e40003, 0x80e40000, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f,
0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005,
0x80070001, 0x80e40001, 0xa0000009, 0x0200000e, 0x80010002, 0x80000001,
0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001,
0x04000004, 0x80070000, 0x80e40002, 0xa0550009, 0xa0aa0009, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial21 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.5, -0.5, 2
def c8, 0.0625, 0.03125, 0.416667014, 0
def c9, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c7.y
frc r0.x, r0.x
add r0.x, r0.x, c7.z
abs r0.x, r0.x
mad r0.x, r0.x, -c7.w, c7.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c8.x, c8.y
mad r2.x, r0.z, c8.x, c8.y
mov r2.y, c7.y
mov r1.y, c7.y
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c8.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c9.x, c9.y
mul r0, r3, v0
mov oC0, r0
// approximately 57 instruction slots used (2 texture, 55 arithmetic)
#endif
const DWORD radial21[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0008,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0009,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550007, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0007, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0007, 0xa0000007,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000002,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550002, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000003,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550003, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000004,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550004, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000002, 0x80040000, 0x80000000, 0xa1000005,
0x03000002, 0x80010000, 0x80000000, 0xa1000006, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550005, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550006, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000007, 0x04000004, 0x80010001, 0x80000000, 0xa0000008, 0xa0550008,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000008, 0xa0550008, 0x02000001,
0x80020002, 0xa0550007, 0x02000001, 0x80020001, 0xa0550007, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40800, 0x04000012, 0x800f0003, 0x80550000, 0x80e40002, 0x80e40001,
0x0200000f, 0x80010000, 0x80000003, 0x0200000f, 0x80020000, 0x80550003,
0x0200000f, 0x80040000, 0x80aa0003, 0x03000005, 0x80070000, 0x80e40000,
0xa0aa0008, 0x0200000e, 0x80010001, 0x80000000, 0x0200000e, 0x80020001,
0x80550000, 0x0200000e, 0x80040001, 0x80aa0000, 0x04000004, 0x80070003,
0x80e40001, 0xa0000009, 0xa0550009, 0x03000005, 0x800f0000, 0x80e40003,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial22 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[8];
// float3 m0;
// float3 m1;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 7
// m0 c16 1
// m1 c17 1
// precalc c18 1
// colors s0 1
//
ps_2_0
def c7, 1, 0.0625, 0.03125, 0.5
def c8, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl v0
dcl_2d s0
mov r0.xy, t0
mov r0.z, c7.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c2.x
mul_sat r0.z, r0.z, c2.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c3.x
mul_sat r0.z, r0.z, c3.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c4.x
mul_sat r0.z, r0.z, c4.y
add r0.y, r0.y, r0.z
add r0.z, r0.x, -c5.x
add r0.x, r0.x, -c6.x
mul_sat r0.z, r0.z, c5.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c6.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c7.x
mad r1.x, r0.x, c7.y, c7.z
mad r2.x, r0.z, c7.y, c7.z
mov r2.y, c7.w
mov r1.y, c7.w
texld r2, r2, s0
texld r1, r1, s0
lrp r3, r0.y, r2, r1
log r0.x, r3.x
log r0.y, r3.y
log r0.z, r3.z
mul r0.xyz, r0, c8.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r3.xyz, r1, c8.y, c8.z
mul r0, r3, v0
mov oC0, r0
// approximately 53 instruction slots used (2 texture, 51 arithmetic)
#endif
const DWORD radial22[] =
{
0xffff0200, 0x0044fffe, 0x42415443, 0x0000001c, 0x000000da, 0xffff0200,
0x00000005, 0x0000001c, 0x20000100, 0x000000d3, 0x00000080, 0x00000003,
0x00020001, 0x00000088, 0x00000000, 0x00000098, 0x00000002, 0x00020007,
0x000000a4, 0x00000000, 0x000000b4, 0x00100002, 0x00420001, 0x000000b8,
0x00000000, 0x000000c8, 0x00110002, 0x00460001, 0x000000b8, 0x00000000,
0x000000cb, 0x00120002, 0x004a0001, 0x000000b8, 0x00000000, 0x6f6c6f63,
0xab007372, 0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266,
0x6e6f6974, 0xabab0073, 0x00030001, 0x00020001, 0x00000008, 0x00000000,
0xab00306d, 0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x7000316d,
0x61636572, 0x7000636c, 0x5f325f73, 0x694d0030, 0x736f7263, 0x2074666f,
0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69,
0x312e3920, 0x34392e39, 0x31322e39, 0xab003131, 0x05000051, 0xa00f0007,
0x3f800000, 0x3d800000, 0x3d000000, 0x3f000000, 0x05000051, 0xa00f0008,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0x900f0000, 0x0200001f, 0x90000000,
0xa00f0800, 0x02000001, 0x80030000, 0xb0e40000, 0x02000001, 0x80040000,
0xa0000007, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x02000013,
0x80010000, 0x80000000, 0x03000002, 0x80020000, 0x80000000, 0xa1000000,
0x03000005, 0x80120000, 0x80550000, 0xa0550000, 0x03000002, 0x80040000,
0x80000000, 0xa1000001, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550001,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000002, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550002,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000003, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550003,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000004, 0x03000005, 0x80140000, 0x80aa0000, 0xa0550004,
0x03000002, 0x80020000, 0x80550000, 0x80aa0000, 0x03000002, 0x80040000,
0x80000000, 0xa1000005, 0x03000002, 0x80010000, 0x80000000, 0xa1000006,
0x03000005, 0x80140000, 0x80aa0000, 0xa0550005, 0x03000002, 0x80020000,
0x80550000, 0x80aa0000, 0x03000005, 0x80110000, 0x80000000, 0xa0550006,
0x03000002, 0x80010000, 0x80550000, 0x80000000, 0x02000013, 0x80020000,
0x80000000, 0x03000002, 0x80010000, 0x80000000, 0x81550000, 0x03000002,
0x80040000, 0x80000000, 0xa0000007, 0x04000004, 0x80010001, 0x80000000,
0xa0550007, 0xa0aa0007, 0x04000004, 0x80010002, 0x80aa0000, 0xa0550007,
0xa0aa0007, 0x02000001, 0x80020002, 0xa0ff0007, 0x02000001, 0x80020001,
0xa0ff0007, 0x03000042, 0x800f0002, 0x80e40002, 0xa0e40800, 0x03000042,
0x800f0001, 0x80e40001, 0xa0e40800, 0x04000012, 0x800f0003, 0x80550000,
0x80e40002, 0x80e40001, 0x0200000f, 0x80010000, 0x80000003, 0x0200000f,
0x80020000, 0x80550003, 0x0200000f, 0x80040000, 0x80aa0003, 0x03000005,
0x80070000, 0x80e40000, 0xa0000008, 0x0200000e, 0x80010001, 0x80000000,
0x0200000e, 0x80020001, 0x80550000, 0x0200000e, 0x80040001, 0x80aa0000,
0x04000004, 0x80070003, 0x80e40001, 0xa0550008, 0xa0aa0008, 0x03000005,
0x800f0000, 0x80e40003, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial24 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0, 0.5, -1
def c4, 1, 0.5, 0.0625, 0.03125
def c5, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.z, c3.x
mov r0.xy, t1
dp3 r0.w, r0, c17
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, c18.y
dp3 r0.x, r0, c16
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.w
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mov r0.z, c18.z
mad r0.y, r0.x, r0.z, -c0.x
mul_sat r0.y, r0.y, c0.y
mad r0.w, r0.x, r0.z, -c1.x
mul_sat r0.w, r0.w, c1.y
add r0.y, r0.y, r0.w
mad r0.w, r0.x, r0.z, -c2.x
mul_sat r0.w, r0.w, c2.y
add r0.y, r0.y, r0.w
frc r0.w, r0.y
add r0.y, r0.y, -r0.w
add r1.w, r0.y, c3.x
mad r1.x, r1.w, c4.z, c4.w
mul r1.z, r0.x, c18.z
mad r1.w, r0.x, r0.z, c3.w
mad r0.x, r0.y, c4.z, c4.w
mov r0.y, c3.z
mov r1.y, c3.z
mov r2.xy, c4
mov r3.xy, c3.yzxw
texld r4, r0, s1
texld r5, r1, s1
texld r2, r2, s1
texld r3, r3, s1
texld r6, t0, s0
lrp r7, r0.w, r5, r4
cmp r0, r1.w, r2, r7
cmp r0, -r1.z, r3, r0
log r1.x, r0.x
log r1.y, r0.y
log r1.z, r0.z
mul r1.xyz, r1, c5.x
exp r2.x, r1.x
exp r2.y, r1.y
exp r2.z, r1.z
mad r0.xyz, r2, c5.y, c5.z
mul r0, r6.w, r0
mul r0, r0, v0
mov oC0, r0
// approximately 50 instruction slots used (5 texture, 45 arithmetic)
#endif
const DWORD radial24[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x00000000, 0x3f000000, 0xbf800000, 0x05000051, 0xa00f0004,
0x3f800000, 0x3f000000, 0x3d800000, 0x3d000000, 0x05000051, 0xa00f0005,
0x3ed55561, 0x3f870a3d, 0xbd6147ae, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80040000, 0xa0000003, 0x02000001, 0x80030000,
0xb0e40001, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000005,
0x80080000, 0x80ff0000, 0x80ff0000, 0x03000005, 0x80080000, 0x80ff0000,
0xa0550012, 0x03000008, 0x80010000, 0x80e40000, 0xa0e40010, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80ff0000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x02000001, 0x80040000, 0xa0aa0012, 0x04000004, 0x80020000,
0x80000000, 0x80aa0000, 0xa1000000, 0x03000005, 0x80120000, 0x80550000,
0xa0550000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000, 0xa1000001,
0x03000005, 0x80180000, 0x80ff0000, 0xa0550001, 0x03000002, 0x80020000,
0x80550000, 0x80ff0000, 0x04000004, 0x80080000, 0x80000000, 0x80aa0000,
0xa1000002, 0x03000005, 0x80180000, 0x80ff0000, 0xa0550002, 0x03000002,
0x80020000, 0x80550000, 0x80ff0000, 0x02000013, 0x80080000, 0x80550000,
0x03000002, 0x80020000, 0x80550000, 0x81ff0000, 0x03000002, 0x80080001,
0x80550000, 0xa0000003, 0x04000004, 0x80010001, 0x80ff0001, 0xa0aa0004,
0xa0ff0004, 0x03000005, 0x80040001, 0x80000000, 0xa0aa0012, 0x04000004,
0x80080001, 0x80000000, 0x80aa0000, 0xa0ff0003, 0x04000004, 0x80010000,
0x80550000, 0xa0aa0004, 0xa0ff0004, 0x02000001, 0x80020000, 0xa0aa0003,
0x02000001, 0x80020001, 0xa0aa0003, 0x02000001, 0x80030002, 0xa0e40004,
0x02000001, 0x80030003, 0xa0c90003, 0x03000042, 0x800f0004, 0x80e40000,
0xa0e40801, 0x03000042, 0x800f0005, 0x80e40001, 0xa0e40801, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0003, 0x80e40003,
0xa0e40801, 0x03000042, 0x800f0006, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0007, 0x80ff0000, 0x80e40005, 0x80e40004, 0x04000058, 0x800f0000,
0x80ff0001, 0x80e40002, 0x80e40007, 0x04000058, 0x800f0000, 0x81aa0001,
0x80e40003, 0x80e40000, 0x0200000f, 0x80010001, 0x80000000, 0x0200000f,
0x80020001, 0x80550000, 0x0200000f, 0x80040001, 0x80aa0000, 0x03000005,
0x80070001, 0x80e40001, 0xa0000005, 0x0200000e, 0x80010002, 0x80000001,
0x0200000e, 0x80020002, 0x80550001, 0x0200000e, 0x80040002, 0x80aa0001,
0x04000004, 0x80070000, 0x80e40002, 0xa0550005, 0xa0aa0005, 0x03000005,
0x800f0000, 0x80ff0006, 0x80e40000, 0x03000005, 0x800f0000, 0x80e40000,
0x90e40000, 0x02000001, 0x800f0800, 0x80e40000, 0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial25 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.5, -0.5, 2
def c4, 0.0625, 0.03125, 0.416667014, 0
def c5, 1.05499995, -0.0549999997, 0, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
mul r0.x, r0.x, c3.y
frc r0.x, r0.x
add r0.x, r0.x, c3.z
abs r0.x, r0.x
mad r0.x, r0.x, -c3.w, c3.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c4.x, c4.y
mad r2.x, r0.z, c4.x, c4.y
mov r2.y, c3.y
mov r1.y, c3.y
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c4.z
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c5.x, c5.y
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
// approximately 47 instruction slots used (3 texture, 44 arithmetic)
#endif
const DWORD radial25[] =
{
0xffff0200, 0x004afffe, 0x42415443, 0x0000001c, 0x000000f3, 0xffff0200,
0x00000006, 0x0000001c, 0x20000100, 0x000000ec, 0x00000094, 0x00010003,
0x00060001, 0x0000009c, 0x00000000, 0x000000ac, 0x00000002, 0x00020003,
0x000000b8, 0x00000000, 0x000000c8, 0x00100002, 0x00420001, 0x000000cc,
0x00000000, 0x000000dc, 0x00110002, 0x00460001, 0x000000cc, 0x00000000,
0x000000df, 0x00000003, 0x00020001, 0x0000009c, 0x00000000, 0x000000e4,
0x00120002, 0x004a0001, 0x000000cc, 0x00000000, 0x6f6c6f63, 0xab007372,
0x000c0004, 0x00010001, 0x00000001, 0x00000000, 0x63617266, 0x6e6f6974,
0xabab0073, 0x00030001, 0x00020001, 0x00000004, 0x00000000, 0xab00306d,
0x00030001, 0x00030001, 0x00000001, 0x00000000, 0x6d00316d, 0x006b7361,
0x63657270, 0x00636c61, 0x325f7370, 0x4d00305f, 0x6f726369, 0x74666f73,
0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970,
0x2e392072, 0x392e3931, 0x322e3934, 0x00313131, 0x05000051, 0xa00f0003,
0x3f800000, 0x3f000000, 0xbf000000, 0x40000000, 0x05000051, 0xa00f0004,
0x3d800000, 0x3d000000, 0x3ed55561, 0x00000000, 0x05000051, 0xa00f0005,
0x3f870a3d, 0xbd6147ae, 0x00000000, 0x00000000, 0x0200001f, 0x80000000,
0xb0030000, 0x0200001f, 0x80000000, 0xb0030001, 0x0200001f, 0x80000000,
0x900f0000, 0x0200001f, 0x90000000, 0xa00f0800, 0x0200001f, 0x90000000,
0xa00f0801, 0x02000001, 0x80030000, 0xb0e40001, 0x02000001, 0x80040000,
0xa0000003, 0x03000008, 0x80080000, 0x80e40000, 0xa0e40011, 0x03000008,
0x80010000, 0x80e40000, 0xa0e40010, 0x03000005, 0x80020000, 0x80ff0000,
0x80ff0000, 0x03000005, 0x80020000, 0x80550000, 0xa0550012, 0x03000002,
0x80010000, 0x80000000, 0xa1000012, 0x04000004, 0x80020000, 0x80000000,
0x80000000, 0x80550000, 0x02000007, 0x80020000, 0x80550000, 0x02000006,
0x80020000, 0x80550000, 0x04000004, 0x80010000, 0xa0000012, 0x80000000,
0x80550000, 0x03000005, 0x80010000, 0x80000000, 0xa0aa0012, 0x03000005,
0x80010000, 0x80000000, 0xa0550003, 0x02000013, 0x80010000, 0x80000000,
0x03000002, 0x80010000, 0x80000000, 0xa0aa0003, 0x02000023, 0x80010000,
0x80000000, 0x04000004, 0x80010000, 0x80000000, 0xa1ff0003, 0xa0000003,
0x03000002, 0x80020000, 0x80000000, 0xa1000000, 0x03000005, 0x80120000,
0x80550000, 0xa0550000, 0x03000002, 0x80040000, 0x80000000, 0xa1000001,
0x03000002, 0x80010000, 0x80000000, 0xa1000002, 0x03000005, 0x80140000,
0x80aa0000, 0xa0550001, 0x03000002, 0x80020000, 0x80550000, 0x80aa0000,
0x03000005, 0x80110000, 0x80000000, 0xa0550002, 0x03000002, 0x80010000,
0x80550000, 0x80000000, 0x02000013, 0x80020000, 0x80000000, 0x03000002,
0x80010000, 0x80000000, 0x81550000, 0x03000002, 0x80040000, 0x80000000,
0xa0000003, 0x04000004, 0x80010001, 0x80000000, 0xa0000004, 0xa0550004,
0x04000004, 0x80010002, 0x80aa0000, 0xa0000004, 0xa0550004, 0x02000001,
0x80020002, 0xa0550003, 0x02000001, 0x80020001, 0xa0550003, 0x03000042,
0x800f0002, 0x80e40002, 0xa0e40801, 0x03000042, 0x800f0001, 0x80e40001,
0xa0e40801, 0x03000042, 0x800f0003, 0xb0e40000, 0xa0e40800, 0x04000012,
0x800f0004, 0x80550000, 0x80e40002, 0x80e40001, 0x0200000f, 0x80010000,
0x80000004, 0x0200000f, 0x80020000, 0x80550004, 0x0200000f, 0x80040000,
0x80aa0004, 0x03000005, 0x80070000, 0x80e40000, 0xa0aa0004, 0x0200000e,
0x80010001, 0x80000000, 0x0200000e, 0x80020001, 0x80550000, 0x0200000e,
0x80040001, 0x80aa0000, 0x04000004, 0x80070004, 0x80e40001, 0xa0000005,
0xa0550005, 0x03000005, 0x800f0000, 0x80ff0003, 0x80e40004, 0x03000005,
0x800f0000, 0x80e40000, 0x90e40000, 0x02000001, 0x800f0800, 0x80e40000,
0x0000ffff
};
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.2111
//
// fxc /T ps_2_0 /Vn radial26 /Fh tmp.h tmp.hlsl
//
//
// Parameters:
//
// sampler2D colors;
// float2 fractions[4];
// float3 m0;
// float3 m1;
// sampler2D mask;
// float3 precalc;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// fractions c0 3
// m0 c16 1
// m1 c17 1
// precalc c18 1
// mask s0 1
// colors s1 1
//
ps_2_0
def c3, 1, 0.0625, 0.03125, 0.5
def c4, 0.416667014, 1.05499995, -0.0549999997, 0
dcl t0.xy
dcl t1.xy
dcl v0
dcl_2d s0
dcl_2d s1
mov r0.xy, t1
mov r0.z, c3.x
dp3 r0.w, r0, c17
dp3 r0.x, r0, c16
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, c18.y
add r0.x, r0.x, -c18.x
mad r0.y, r0.x, r0.x, r0.y
rsq r0.y, r0.y
rcp r0.y, r0.y
mad r0.x, c18.x, r0.x, r0.y
mul r0.x, r0.x, c18.z
frc r0.x, r0.x
add r0.y, r0.x, -c0.x
mul_sat r0.y, r0.y, c0.y
add r0.z, r0.x, -c1.x
add r0.x, r0.x, -c2.x
mul_sat r0.z, r0.z, c1.y
add r0.y, r0.y, r0.z
mul_sat r0.x, r0.x, c2.y
add r0.x, r0.y, r0.x
frc r0.y, r0.x
add r0.x, r0.x, -r0.y
add r0.z, r0.x, c3.x
mad r1.x, r0.x, c3.y, c3.z
mad r2.x, r0.z, c3.y, c3.z
mov r2.y, c3.w
mov r1.y, c3.w
texld r2, r2, s1
texld r1, r1, s1
texld r3, t0, s0
lrp r4, r0.y, r2, r1
log r0.x, r4.x
log r0.y, r4.y
log r0.z, r4.z
mul r0.xyz, r0, c4.x
exp r1.x, r0.x
exp r1.y, r0.y
exp r1.z, r0.z
mad r4.xyz, r1, c4.y, c4.z
mul r0, r3.w, r4
mul r0, r0, v0
mov oC0, r0
/**代码未完, 请加载全部代码(NowJava.com).**/