Generalize SDR white level handling into a color scale

This gives applications better control over how and when light levels are adjusted when working with HDR content and display.
This commit is contained in:
Sam Lantinga
2024-02-05 23:20:43 -08:00
parent 82d89ff4fb
commit d4caef5b89
34 changed files with 3279 additions and 3234 deletions

View File

@@ -8,10 +8,10 @@
// cbuffer Constants
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4
// float HDR_whitelevel; // Offset: 8 Size: 4 [unused]
// float maxCLL; // Offset: 12 Size: 4 [unused]
// float scRGB_output; // Offset: 0 Size: 4 [unused]
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16 [unused]
// float4 Rcoeff; // Offset: 32 Size: 16 [unused]
// float4 Gcoeff; // Offset: 48 Size: 16 [unused]
@@ -54,239 +54,199 @@
// Level9 shader bytecode:
//
ps_2_0
def c1, 0.0125000002, 1, 0, 0
dcl t1
mul r0.w, c0.x, c0.x
mov r0.x, c1.x
mul r0.x, r0.x, c0.y
cmp r0.xyz, -r0.w, c1.y, r0.x
mov r0.w, c1.y
mul r0, r0, t1
mul r0.xyz, t1, c0.y
mov r0.w, t1.w
mov oC0, r0
// approximately 7 instruction slots used
// approximately 3 instruction slots used
ps_4_0
dcl_constantbuffer CB0[1], immediateIndexed
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 1
ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x
mul r0.y, cb0[0].y, l(0.012500)
movc r0.xyz, r0.xxxx, r0.yyyy, l(1.000000,1.000000,1.000000,0)
mov r0.x, cb0[0].y
mov r0.w, l(1.000000)
mul o0.xyzw, r0.xyzw, v2.xyzw
mul o0.xyzw, r0.xxxw, v2.xyzw
ret
// Approximately 6 instruction slots used
// Approximately 4 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 132, 13,
165, 35, 17, 157, 163, 217,
158, 71, 117, 171, 46, 252,
9, 215, 1, 0, 0, 0,
224, 4, 0, 0, 6, 0,
68, 88, 66, 67, 76, 154,
233, 103, 201, 50, 167, 173,
112, 159, 134, 20, 133, 254,
166, 35, 1, 0, 0, 0,
24, 4, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
4, 1, 0, 0, 244, 1,
0, 0, 112, 2, 0, 0,
56, 4, 0, 0, 172, 4,
172, 0, 0, 0, 56, 1,
0, 0, 180, 1, 0, 0,
112, 3, 0, 0, 228, 3,
0, 0, 65, 111, 110, 57,
196, 0, 0, 0, 196, 0,
108, 0, 0, 0, 108, 0,
0, 0, 0, 2, 255, 255,
148, 0, 0, 0, 48, 0,
60, 0, 0, 0, 48, 0,
0, 0, 1, 0, 36, 0,
0, 0, 48, 0, 0, 0,
48, 0, 0, 0, 36, 0,
0, 0, 48, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 2,
255, 255, 81, 0, 0, 5,
1, 0, 15, 160, 205, 204,
76, 60, 0, 0, 128, 63,
0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 0, 2,
255, 255, 31, 0, 0, 2,
0, 0, 0, 128, 1, 0,
15, 176, 5, 0, 0, 3,
0, 0, 8, 128, 0, 0,
0, 160, 0, 0, 0, 160,
0, 0, 7, 128, 1, 0,
228, 176, 0, 0, 85, 160,
1, 0, 0, 2, 0, 0,
1, 128, 1, 0, 0, 160,
5, 0, 0, 3, 0, 0,
1, 128, 0, 0, 0, 128,
0, 0, 85, 160, 88, 0,
0, 4, 0, 0, 7, 128,
0, 0, 255, 129, 1, 0,
85, 160, 0, 0, 0, 128,
1, 0, 0, 2, 0, 0,
8, 128, 1, 0, 85, 160,
5, 0, 0, 3, 0, 0,
8, 128, 1, 0, 255, 176,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
1, 0, 228, 176, 1, 0,
0, 2, 0, 8, 15, 128,
0, 0, 228, 128, 255, 255,
0, 0, 83, 72, 68, 82,
232, 0, 0, 0, 64, 0,
0, 0, 58, 0, 0, 0,
89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 1, 0, 0, 0,
57, 0, 0, 11, 18, 0,
255, 255, 0, 0, 83, 72,
68, 82, 132, 0, 0, 0,
64, 0, 0, 0, 33, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
98, 16, 0, 3, 242, 16,
16, 0, 2, 0, 0, 0,
101, 0, 0, 3, 242, 32,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 10, 128, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 8,
34, 0, 16, 0, 0, 0,
104, 0, 0, 2, 1, 0,
0, 0, 54, 0, 0, 6,
18, 0, 16, 0, 0, 0,
0, 0, 26, 128, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
205, 204, 76, 60, 55, 0,
0, 12, 114, 0, 16, 0,
0, 0, 0, 0, 6, 0,
0, 0, 128, 63, 56, 0,
0, 7, 242, 32, 16, 0,
0, 0, 0, 0, 6, 12,
16, 0, 0, 0, 0, 0,
86, 5, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 128, 63, 0, 0,
128, 63, 0, 0, 128, 63,
0, 0, 0, 0, 54, 0,
0, 5, 130, 0, 16, 0,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 128, 63,
56, 0, 0, 7, 242, 32,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 0, 0,
0, 0, 70, 30, 16, 0,
2, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
116, 0, 0, 0, 6, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 2, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 68, 69, 70, 192, 1,
0, 0, 1, 0, 0, 0,
72, 0, 0, 0, 1, 0,
0, 0, 28, 0, 0, 0,
0, 4, 255, 255, 0, 1,
0, 0, 149, 1, 0, 0,
60, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 67, 111, 110, 115,
116, 97, 110, 116, 115, 0,
171, 171, 60, 0, 0, 0,
8, 0, 0, 0, 96, 0,
0, 0, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 32, 1, 0, 0,
0, 0, 0, 0, 4, 0,
0, 0, 2, 0, 0, 0,
48, 1, 0, 0, 0, 0,
0, 0, 64, 1, 0, 0,
4, 0, 0, 0, 4, 0,
0, 0, 2, 0, 0, 0,
48, 1, 0, 0, 0, 0,
0, 0, 79, 1, 0, 0,
8, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
48, 1, 0, 0, 0, 0,
0, 0, 94, 1, 0, 0,
12, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
48, 1, 0, 0, 0, 0,
0, 0, 101, 1, 0, 0,
16, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
112, 1, 0, 0, 0, 0,
0, 0, 128, 1, 0, 0,
32, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
112, 1, 0, 0, 0, 0,
0, 0, 135, 1, 0, 0,
48, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
112, 1, 0, 0, 0, 0,
0, 0, 142, 1, 0, 0,
64, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
112, 1, 0, 0, 0, 0,
0, 0, 115, 99, 82, 71,
66, 95, 111, 117, 116, 112,
117, 116, 0, 171, 171, 171,
0, 0, 3, 0, 1, 0,
70, 30, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 4, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 83, 68,
82, 95, 119, 104, 105, 116,
101, 108, 101, 118, 101, 108,
0, 72, 68, 82, 95, 119,
104, 105, 116, 101, 108, 101,
118, 101, 108, 0, 109, 97,
120, 67, 76, 76, 0, 89,
111, 102, 102, 115, 101, 116,
0, 171, 171, 171, 1, 0,
3, 0, 1, 0, 4, 0,
0, 0, 0, 0, 0, 0,
0, 0, 82, 99, 111, 101,
102, 102, 0, 71, 99, 111,
101, 102, 102, 0, 66, 99,
111, 101, 102, 102, 0, 77,
105, 99, 114, 111, 115, 111,
102, 116, 32, 40, 82, 41,
32, 72, 76, 83, 76, 32,
83, 104, 97, 100, 101, 114,
32, 67, 111, 109, 112, 105,
108, 101, 114, 32, 49, 48,
46, 49, 0, 171, 171, 171,
73, 83, 71, 78, 108, 0,
0, 0, 3, 0, 0, 0,
8, 0, 0, 0, 80, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 92, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
3, 0, 0, 0, 101, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0,
15, 15, 0, 0, 83, 86,
95, 80, 79, 83, 73, 84,
73, 79, 78, 0, 84, 69,
88, 67, 79, 79, 82, 68,
0, 67, 79, 76, 79, 82,
0, 171, 79, 83, 71, 78,
44, 0, 0, 0, 1, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 171, 171
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 82, 68,
69, 70, 180, 1, 0, 0,
1, 0, 0, 0, 72, 0,
0, 0, 1, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
137, 1, 0, 0, 60, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
67, 111, 110, 115, 116, 97,
110, 116, 115, 0, 171, 171,
60, 0, 0, 0, 8, 0,
0, 0, 96, 0, 0, 0,
80, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
32, 1, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 48, 1,
0, 0, 0, 0, 0, 0,
64, 1, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
2, 0, 0, 0, 48, 1,
0, 0, 0, 0, 0, 0,
76, 1, 0, 0, 8, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 48, 1,
0, 0, 0, 0, 0, 0,
84, 1, 0, 0, 12, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 48, 1,
0, 0, 0, 0, 0, 0,
92, 1, 0, 0, 16, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 100, 1,
0, 0, 0, 0, 0, 0,
116, 1, 0, 0, 32, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 100, 1,
0, 0, 0, 0, 0, 0,
123, 1, 0, 0, 48, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 100, 1,
0, 0, 0, 0, 0, 0,
130, 1, 0, 0, 64, 0,
0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 100, 1,
0, 0, 0, 0, 0, 0,
115, 99, 82, 71, 66, 95,
111, 117, 116, 112, 117, 116,
0, 171, 171, 171, 0, 0,
3, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 99, 111, 108, 111,
114, 95, 115, 99, 97, 108,
101, 0, 117, 110, 117, 115,
101, 100, 49, 0, 117, 110,
117, 115, 101, 100, 50, 0,
89, 111, 102, 102, 115, 101,
116, 0, 1, 0, 3, 0,
1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 99, 111, 101, 102, 102,
0, 71, 99, 111, 101, 102,
102, 0, 66, 99, 111, 101,
102, 102, 0, 77, 105, 99,
114, 111, 115, 111, 102, 116,
32, 40, 82, 41, 32, 72,
76, 83, 76, 32, 83, 104,
97, 100, 101, 114, 32, 67,
111, 109, 112, 105, 108, 101,
114, 32, 49, 48, 46, 49,
0, 171, 171, 171, 73, 83,
71, 78, 108, 0, 0, 0,
3, 0, 0, 0, 8, 0,
0, 0, 80, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 92, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 101, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
2, 0, 0, 0, 15, 15,
0, 0, 83, 86, 95, 80,
79, 83, 73, 84, 73, 79,
78, 0, 84, 69, 88, 67,
79, 79, 82, 68, 0, 67,
79, 76, 79, 82, 0, 171,
79, 83, 71, 78, 44, 0,
0, 0, 1, 0, 0, 0,
8, 0, 0, 0, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 83, 86,
95, 84, 65, 82, 71, 69,
84, 0, 171, 171
};

View File

@@ -8,9 +8,9 @@ struct PixelShaderInput
cbuffer Constants : register(b0)
{
float scRGB_output;
float SDR_whitelevel;
float HDR_whitelevel;
float maxCLL;
float color_scale;
float unused1;
float unused2;
float4 Yoffset;
float4 Rcoeff;
@@ -50,11 +50,12 @@ float sRGBfromLinear(float v)
float4 GetOutputColor(float4 rgba)
{
if (scRGB_output) {
rgba.rgb = scRGBfromNits(rgba.rgb * SDR_whitelevel);
}
float4 output;
return rgba;
output.rgb = rgba.rgb * color_scale;
output.a = rgba.a;
return output;
}
float4 GetOutputColorFromSRGB(float3 rgb)
@@ -62,14 +63,30 @@ float4 GetOutputColorFromSRGB(float3 rgb)
float4 output;
if (scRGB_output) {
output.r = sRGBtoLinear(rgb.r);
output.g = sRGBtoLinear(rgb.g);
output.b = sRGBtoLinear(rgb.b);
rgb = scRGBfromNits(rgb * SDR_whitelevel);
} else {
output.rgb = rgb.rgb;
rgb.r = sRGBtoLinear(rgb.r);
rgb.g = sRGBtoLinear(rgb.g);
rgb.b = sRGBtoLinear(rgb.b);
}
output.rgb = rgb * color_scale;
output.a = 1.0;
return output;
}
float4 GetOutputColorFromSCRGB(float3 rgb)
{
float4 output;
output.rgb = rgb * color_scale;
output.a = 1.0;
if (!scRGB_output) {
output.r = sRGBfromLinear(output.r);
output.g = sRGBfromLinear(output.g);
output.b = sRGBfromLinear(output.b);
output.rgb = clamp(output.rgb, 0.0, 1.0);
}
return output;
}

View File

@@ -9,9 +9,9 @@
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4 [unused]
// float HDR_whitelevel; // Offset: 8 Size: 4
// float maxCLL; // Offset: 12 Size: 4
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16
// float4 Rcoeff; // Offset: 32 Size: 16
// float4 Gcoeff; // Offset: 48 Size: 16
@@ -76,8 +76,7 @@ mul r0.xyz, r0.xyzx, l(10000.000000, 10000.000000, 10000.000000, 0.000000)
dp3 r1.x, l(1.660496, -0.587656, -0.072840, 0.000000), r0.xyzx
dp3 r1.y, l(-0.124547, 1.132895, -0.008348, 0.000000), r0.xyzx
dp3 r1.z, l(-0.018154, -0.100597, 1.118751, 0.000000), r0.xyzx
div r0.xyz, r1.xyzx, cb0[0].wwww
mul r0.xyz, r0.xyzx, cb0[0].zzzz
mul r0.xyz, r1.xyzx, cb0[0].yyyy
mul r1.xyz, r0.xyzx, l(0.012500, 0.012500, 0.012500, 0.000000)
ne r0.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x
if_z r0.w
@@ -92,26 +91,26 @@ endif
mov r1.w, l(1.000000)
mul o0.xyzw, r1.xyzw, v2.xyzw
ret
// Approximately 36 instruction slots used
// Approximately 35 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 39, 74,
221, 114, 82, 86, 93, 130,
9, 184, 52, 173, 245, 104,
96, 202, 1, 0, 0, 0,
184, 9, 0, 0, 5, 0,
68, 88, 66, 67, 95, 217,
108, 181, 38, 184, 86, 20,
51, 33, 123, 248, 135, 60,
0, 250, 1, 0, 0, 0,
144, 9, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0,
80, 3, 0, 0, 196, 3,
0, 0, 248, 3, 0, 0,
28, 9, 0, 0, 82, 68,
69, 70, 20, 3, 0, 0,
72, 3, 0, 0, 188, 3,
0, 0, 240, 3, 0, 0,
244, 8, 0, 0, 82, 68,
69, 70, 12, 3, 0, 0,
1, 0, 0, 0, 236, 0,
0, 0, 4, 0, 0, 0,
60, 0, 0, 0, 0, 5,
255, 255, 0, 1, 0, 0,
233, 2, 0, 0, 82, 68,
225, 2, 0, 0, 82, 68,
49, 49, 60, 0, 0, 0,
24, 0, 0, 0, 32, 0,
0, 0, 40, 0, 0, 0,
@@ -159,47 +158,47 @@ const BYTE g_main[] =
255, 255, 0, 0, 0, 0,
124, 2, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 88, 2,
2, 0, 0, 0, 88, 2,
0, 0, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 139, 2,
0, 0, 0, 0, 136, 2,
0, 0, 8, 0, 0, 0,
4, 0, 0, 0, 2, 0,
4, 0, 0, 0, 0, 0,
0, 0, 88, 2, 0, 0,
0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 154, 2, 0, 0,
0, 0, 144, 2, 0, 0,
12, 0, 0, 0, 4, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
88, 2, 0, 0, 0, 0,
0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0,
161, 2, 0, 0, 16, 0,
152, 2, 0, 0, 16, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 176, 2,
2, 0, 0, 0, 168, 2,
0, 0, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 212, 2,
0, 0, 0, 0, 204, 2,
0, 0, 32, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 176, 2, 0, 0,
0, 0, 168, 2, 0, 0,
0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 219, 2, 0, 0,
0, 0, 211, 2, 0, 0,
48, 0, 0, 0, 16, 0,
0, 0, 2, 0, 0, 0,
176, 2, 0, 0, 0, 0,
168, 2, 0, 0, 0, 0,
0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 255, 255,
255, 255, 0, 0, 0, 0,
226, 2, 0, 0, 64, 0,
218, 2, 0, 0, 64, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 176, 2,
2, 0, 0, 0, 168, 2,
0, 0, 0, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 255, 255, 255, 255,
@@ -213,303 +212,296 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 81, 2, 0, 0,
83, 68, 82, 95, 119, 104,
105, 116, 101, 108, 101, 118,
101, 108, 0, 72, 68, 82,
95, 119, 104, 105, 116, 101,
108, 101, 118, 101, 108, 0,
109, 97, 120, 67, 76, 76,
0, 89, 111, 102, 102, 115,
101, 116, 0, 102, 108, 111,
97, 116, 52, 0, 1, 0,
3, 0, 1, 0, 4, 0,
99, 111, 108, 111, 114, 95,
115, 99, 97, 108, 101, 0,
117, 110, 117, 115, 101, 100,
49, 0, 117, 110, 117, 115,
101, 100, 50, 0, 89, 111,
102, 102, 115, 101, 116, 0,
102, 108, 111, 97, 116, 52,
0, 171, 1, 0, 3, 0,
1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 160, 2,
0, 0, 82, 99, 111, 101,
102, 102, 0, 71, 99, 111,
101, 102, 102, 0, 66, 99,
111, 101, 102, 102, 0, 77,
105, 99, 114, 111, 115, 111,
102, 116, 32, 40, 82, 41,
32, 72, 76, 83, 76, 32,
83, 104, 97, 100, 101, 114,
32, 67, 111, 109, 112, 105,
108, 101, 114, 32, 49, 48,
46, 49, 0, 171, 171, 171,
73, 83, 71, 78, 108, 0,
0, 0, 3, 0, 0, 0,
8, 0, 0, 0, 80, 0,
0, 0, 0, 0, 0, 0,
169, 2, 0, 0, 82, 99,
111, 101, 102, 102, 0, 71,
99, 111, 101, 102, 102, 0,
66, 99, 111, 101, 102, 102,
0, 77, 105, 99, 114, 111,
115, 111, 102, 116, 32, 40,
82, 41, 32, 72, 76, 83,
76, 32, 83, 104, 97, 100,
101, 114, 32, 67, 111, 109,
112, 105, 108, 101, 114, 32,
49, 48, 46, 49, 0, 171,
171, 171, 73, 83, 71, 78,
108, 0, 0, 0, 3, 0,
0, 0, 8, 0, 0, 0,
80, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 92, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
3, 3, 0, 0, 101, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 2, 0, 0, 0,
15, 15, 0, 0, 83, 86,
95, 80, 79, 83, 73, 84,
73, 79, 78, 0, 84, 69,
88, 67, 79, 79, 82, 68,
0, 67, 79, 76, 79, 82,
0, 171, 79, 83, 71, 78,
44, 0, 0, 0, 1, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
92, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 1, 0,
0, 0, 3, 3, 0, 0,
101, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 2, 0,
0, 0, 15, 15, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
84, 69, 88, 67, 79, 79,
82, 68, 0, 67, 79, 76,
79, 82, 0, 171, 79, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 84,
65, 82, 71, 69, 84, 0,
171, 171, 83, 72, 69, 88,
28, 5, 0, 0, 80, 0,
0, 0, 71, 1, 0, 0,
106, 8, 0, 1, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 5, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 171, 171,
83, 72, 69, 88, 252, 4,
0, 0, 80, 0, 0, 0,
63, 1, 0, 0, 106, 8,
0, 1, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 5, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 1, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 4, 0, 0, 0,
16, 0, 0, 0, 0, 0,
85, 85, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
1, 0, 0, 0, 85, 85,
0, 0, 98, 16, 0, 3,
50, 16, 16, 0, 1, 0,
0, 0, 98, 16, 0, 3,
242, 16, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 104, 0, 0, 2,
4, 0, 0, 0, 69, 0,
0, 139, 194, 0, 0, 128,
67, 85, 21, 0, 18, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 139, 194, 0,
0, 128, 67, 85, 21, 0,
18, 0, 16, 0, 0, 0,
98, 0, 16, 0, 0, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
1, 0, 0, 0, 38, 125,
16, 0, 1, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 69, 0, 0, 139,
194, 0, 0, 128, 67, 85,
21, 0, 98, 0, 16, 0,
0, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
38, 125, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 0, 0,
0, 8, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
16, 0, 0, 8, 18, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 2, 0,
0, 0, 16, 0, 0, 8,
34, 0, 16, 0, 1, 0,
0, 0, 0, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
3, 0, 0, 0, 16, 0,
0, 8, 66, 0, 16, 0,
1, 0, 0, 0, 16, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 4, 0, 0, 0,
47, 0, 0, 6, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 128, 129, 0,
0, 0, 1, 0, 0, 0,
56, 0, 0, 10, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
172, 205, 79, 60, 172, 205,
79, 60, 172, 205, 79, 60,
0, 0, 0, 0, 25, 0,
0, 5, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
0, 0, 0, 10, 114, 0,
0, 0, 2, 0, 0, 0,
16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 86, 191, 0, 0,
86, 191, 0, 0, 86, 191,
0, 0, 0, 0, 52, 0,
0, 10, 114, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 50, 0, 0, 16,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 128,
65, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 128, 149, 65, 0, 128,
149, 65, 0, 128, 149, 65,
0, 0, 0, 0, 2, 64,
0, 0, 0, 208, 150, 65,
0, 208, 150, 65, 0, 208,
150, 65, 0, 0, 0, 0,
14, 0, 0, 7, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 16, 0, 0, 8,
66, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 47, 0,
0, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
4, 0, 0, 0, 47, 0,
0, 6, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 128, 129, 0, 0, 0,
0, 0, 0, 0, 56, 0,
1, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 107, 224,
200, 64, 107, 224, 200, 64,
107, 224, 200, 64, 0, 0,
2, 64, 0, 0, 172, 205,
79, 60, 172, 205, 79, 60,
172, 205, 79, 60, 0, 0,
0, 0, 25, 0, 0, 5,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0,
0, 10, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 64,
28, 70, 0, 64, 28, 70,
0, 64, 28, 70, 0, 0,
0, 0, 16, 0, 0, 10,
18, 0, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
34, 139, 212, 63, 160, 112,
22, 191, 35, 45, 149, 189,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
16, 0, 0, 10, 34, 0,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 127, 18,
255, 189, 180, 2, 145, 63,
13, 198, 8, 188, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 16, 0,
0, 10, 66, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 179, 183, 148, 188,
205, 5, 206, 189, 60, 51,
143, 63, 0, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 14, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 246, 143,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 56, 0,
0, 8, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
166, 138, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
56, 0, 0, 10, 114, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
205, 204, 76, 60, 205, 204,
76, 60, 205, 204, 76, 60,
0, 0, 0, 0, 57, 0,
0, 11, 130, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 0, 3, 58, 0,
16, 0, 0, 0, 0, 0,
29, 0, 0, 10, 114, 0,
16, 0, 2, 0, 0, 0,
2, 64, 0, 0, 209, 60,
128, 62, 209, 60, 128, 62,
209, 60, 128, 62, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 66, 96,
37, 62, 66, 96, 37, 62,
66, 96, 37, 62, 0, 0,
0, 0, 47, 0, 0, 6,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 128,
129, 0, 0, 0, 1, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 85, 85, 213, 62,
85, 85, 213, 62, 85, 85,
213, 62, 0, 0, 0, 0,
25, 0, 0, 5, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 50, 0, 0, 15,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 61, 10, 135, 63,
61, 10, 135, 63, 61, 10,
135, 63, 0, 0, 0, 0,
2, 64, 0, 0, 174, 71,
97, 189, 174, 71, 97, 189,
174, 71, 97, 189, 0, 0,
0, 0, 55, 32, 0, 9,
2, 64, 0, 0, 0, 0,
86, 191, 0, 0, 86, 191,
0, 0, 86, 191, 0, 0,
0, 0, 52, 0, 0, 10,
114, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 2,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
50, 0, 0, 16, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 21, 0, 0, 1,
54, 0, 0, 5, 130, 0,
70, 2, 16, 128, 65, 0,
0, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 128,
149, 65, 0, 128, 149, 65,
0, 128, 149, 65, 0, 0,
0, 0, 2, 64, 0, 0,
0, 208, 150, 65, 0, 208,
150, 65, 0, 208, 150, 65,
0, 0, 0, 0, 14, 0,
0, 7, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 0, 0,
128, 63, 56, 0, 0, 7,
242, 32, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
1, 0, 0, 0, 70, 30,
70, 2, 16, 0, 0, 0,
0, 0, 47, 0, 0, 6,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 128,
129, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 107, 224, 200, 64,
107, 224, 200, 64, 107, 224,
200, 64, 0, 0, 0, 0,
25, 0, 0, 5, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 64, 28, 70,
0, 64, 28, 70, 0, 64,
28, 70, 0, 0, 0, 0,
16, 0, 0, 10, 18, 0,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 34, 139,
212, 63, 160, 112, 22, 191,
35, 45, 149, 189, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 16, 0,
0, 10, 34, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 127, 18, 255, 189,
180, 2, 145, 63, 13, 198,
8, 188, 0, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 16, 0, 0, 10,
66, 0, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
179, 183, 148, 188, 205, 5,
206, 189, 60, 51, 143, 63,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
56, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 86, 133, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 205, 204, 76, 60,
205, 204, 76, 60, 205, 204,
76, 60, 0, 0, 0, 0,
57, 0, 0, 11, 130, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 10, 128, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 0, 3,
58, 0, 16, 0, 0, 0,
0, 0, 29, 0, 0, 10,
114, 0, 16, 0, 2, 0,
0, 0, 2, 64, 0, 0,
209, 60, 128, 62, 209, 60,
128, 62, 209, 60, 128, 62,
0, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
56, 0, 0, 10, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
66, 96, 37, 62, 66, 96,
37, 62, 66, 96, 37, 62,
0, 0, 0, 0, 47, 0,
0, 6, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 128, 129, 0, 0, 0,
1, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 85, 85,
213, 62, 85, 85, 213, 62,
85, 85, 213, 62, 0, 0,
0, 0, 25, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 50, 0,
0, 15, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 61, 10,
135, 63, 61, 10, 135, 63,
61, 10, 135, 63, 0, 0,
0, 0, 2, 64, 0, 0,
174, 71, 97, 189, 174, 71,
97, 189, 174, 71, 97, 189,
0, 0, 0, 0, 55, 32,
0, 9, 114, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0,
36, 0, 0, 0, 4, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 21, 0,
0, 1, 54, 0, 0, 5,
130, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 56, 0,
0, 7, 242, 32, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 1, 0, 0, 0,
70, 30, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 148, 0,
0, 0, 35, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
27, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 28, 0,
1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0
0, 0, 0, 0, 0, 0
};

View File

@@ -24,7 +24,6 @@ float4 main(PixelShaderInput input) : SV_TARGET
-0.124547, 1.132895, -0.008348,
-0.018154, -0.100597, 1.118751
};
float4 Output;
float3 yuv;
yuv.x = theTextureY.Sample(theSampler, input.tex).r;
@@ -40,19 +39,7 @@ float4 main(PixelShaderInput input) : SV_TARGET
rgb = mul(mat2020to709, rgb);
rgb = (rgb / maxCLL) * HDR_whitelevel;
rgb = scRGBfromNits(rgb);
if (!scRGB_output) {
rgb.r = sRGBfromLinear(rgb.r);
rgb.g = sRGBfromLinear(rgb.g);
rgb.b = sRGBfromLinear(rgb.b);
rgb.rgb = clamp(rgb.rgb, 0.0, 1.0);
}
Output.rgb = rgb.rgb;
Output.a = 1.0;
return Output * input.color;
return GetOutputColorFromSCRGB(rgb) * input.color;
}

View File

@@ -9,9 +9,9 @@
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4 [unused]
// float HDR_whitelevel; // Offset: 8 Size: 4 [unused]
// float maxCLL; // Offset: 12 Size: 4 [unused]
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16
// float4 Rcoeff; // Offset: 32 Size: 16
// float4 Gcoeff; // Offset: 48 Size: 16
@@ -101,11 +101,12 @@
cmp r2.z, r1.w, r0.x, r2.w
mul r1.w, c0.x, c0.x
cmp r0.xyz, -r1.w, r1, r2
mul r0.xyz, r0, c0.y
mov r0.w, c6.y
mul r0, r0, t1
mov oC0, r0
// approximately 39 instruction slots used (2 texture, 37 arithmetic)
// approximately 40 instruction slots used (2 texture, 38 arithmetic)
ps_4_0
dcl_constantbuffer CB0[5], immediateIndexed
dcl_sampler s0, mode_default
@@ -133,27 +134,28 @@ if_nz r0.x
exp r3.xyz, r3.xyzx
movc r1.xyz, r0.xyzx, r2.xyzx, r3.xyzx
endif
mov r1.w, l(1.000000)
mul o0.xyzw, r1.xyzw, v2.xyzw
mul r0.xyz, r1.xyzx, cb0[0].yyyy
mov r0.w, l(1.000000)
mul o0.xyzw, r0.xyzw, v2.xyzw
ret
// Approximately 21 instruction slots used
// Approximately 22 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 57, 206,
5, 226, 160, 185, 110, 25,
70, 167, 109, 22, 187, 226,
244, 122, 1, 0, 0, 0,
52, 9, 0, 0, 6, 0,
68, 88, 66, 67, 58, 20,
110, 34, 151, 86, 32, 17,
118, 15, 98, 32, 139, 247,
137, 113, 1, 0, 0, 0,
88, 9, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
232, 2, 0, 0, 196, 5,
0, 0, 64, 6, 0, 0,
140, 8, 0, 0, 0, 9,
248, 2, 0, 0, 244, 5,
0, 0, 112, 6, 0, 0,
176, 8, 0, 0, 36, 9,
0, 0, 65, 111, 110, 57,
168, 2, 0, 0, 168, 2,
184, 2, 0, 0, 184, 2,
0, 0, 0, 2, 255, 255,
112, 2, 0, 0, 56, 0,
128, 2, 0, 0, 56, 0,
0, 0, 1, 0, 44, 0,
0, 0, 56, 0, 0, 0,
56, 0, 2, 0, 36, 0,
@@ -257,141 +259,149 @@ const BYTE g_main[] =
0, 160, 88, 0, 0, 4,
0, 0, 7, 128, 1, 0,
255, 129, 1, 0, 228, 128,
2, 0, 228, 128, 1, 0,
0, 2, 0, 0, 8, 128,
6, 0, 85, 160, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 228, 128, 1, 0,
228, 176, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0,
83, 72, 68, 82, 212, 2,
0, 0, 64, 0, 0, 0,
181, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 5, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
2, 0, 228, 128, 5, 0,
0, 3, 0, 0, 7, 128,
0, 0, 228, 128, 0, 0,
85, 160, 1, 0, 0, 2,
0, 0, 8, 128, 6, 0,
85, 160, 5, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 128, 1, 0, 228, 176,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
255, 255, 0, 0, 83, 72,
68, 82, 244, 2, 0, 0,
64, 0, 0, 0, 189, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 5, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 1, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 4, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 9, 242, 0,
85, 85, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
1, 0, 0, 0, 85, 85,
0, 0, 98, 16, 0, 3,
50, 16, 16, 0, 1, 0,
0, 0, 98, 16, 0, 3,
242, 16, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 104, 0, 0, 2,
4, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
0, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 38, 125, 16, 0,
1, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
54, 0, 0, 5, 18, 0,
70, 126, 16, 0, 0, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
1, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 16, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 70, 2,
38, 125, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 54, 0,
0, 5, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 2, 0, 0, 0,
16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 1, 0,
0, 0, 16, 0, 0, 8,
66, 0, 16, 0, 1, 0,
18, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
4, 0, 0, 0, 57, 0,
0, 11, 18, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
29, 0, 0, 10, 114, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 230, 174,
37, 61, 230, 174, 37, 61,
230, 174, 37, 61, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 145, 131,
158, 61, 145, 131, 158, 61,
145, 131, 158, 61, 0, 0,
0, 0, 0, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 174, 71, 97, 61,
174, 71, 97, 61, 174, 71,
97, 61, 0, 0, 0, 0,
56, 0, 0, 11, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 128, 129, 0,
0, 0, 3, 0, 0, 0,
2, 64, 0, 0, 111, 167,
114, 63, 111, 167, 114, 63,
111, 167, 114, 63, 0, 0,
0, 0, 47, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 154, 153,
25, 64, 154, 153, 25, 64,
154, 153, 25, 64, 0, 0,
0, 0, 25, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 55, 0,
0, 9, 114, 0, 16, 0,
2, 0, 0, 0, 16, 0,
0, 8, 34, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 2, 0,
70, 130, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
16, 0, 0, 8, 66, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 4, 0,
0, 0, 57, 0, 0, 11,
18, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 10, 128,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 31, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 29, 0,
0, 10, 114, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 230, 174, 37, 61,
230, 174, 37, 61, 230, 174,
37, 61, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 2, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 21, 0,
0, 1, 54, 0, 0, 5,
130, 0, 16, 0, 1, 0,
1, 0, 0, 0, 2, 64,
0, 0, 145, 131, 158, 61,
145, 131, 158, 61, 145, 131,
158, 61, 0, 0, 0, 0,
0, 0, 0, 10, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
174, 71, 97, 61, 174, 71,
97, 61, 174, 71, 97, 61,
0, 0, 0, 0, 56, 0,
0, 11, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 128, 129, 0, 0, 0,
3, 0, 0, 0, 2, 64,
0, 0, 111, 167, 114, 63,
111, 167, 114, 63, 111, 167,
114, 63, 0, 0, 0, 0,
47, 0, 0, 5, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 154, 153, 25, 64,
154, 153, 25, 64, 154, 153,
25, 64, 0, 0, 0, 0,
25, 0, 0, 5, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 55, 0, 0, 9,
114, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 21, 0, 0, 1,
56, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 86, 133, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 56, 0,
0, 7, 242, 32, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 1, 0, 0, 0,
16, 0, 0, 0, 0, 0,
70, 30, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 21, 0, 0, 0,
0, 0, 22, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
12, 0, 0, 0, 0, 0,
13, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
@@ -408,12 +418,12 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 82, 68,
69, 70, 68, 2, 0, 0,
69, 70, 56, 2, 0, 0,
1, 0, 0, 0, 204, 0,
0, 0, 4, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
25, 2, 0, 0, 156, 0,
13, 2, 0, 0, 156, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@@ -453,46 +463,44 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
2, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
211, 1, 0, 0, 8, 0,
208, 1, 0, 0, 8, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
226, 1, 0, 0, 12, 0,
216, 1, 0, 0, 12, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
233, 1, 0, 0, 16, 0,
224, 1, 0, 0, 16, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
4, 2, 0, 0, 32, 0,
248, 1, 0, 0, 32, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
11, 2, 0, 0, 48, 0,
255, 1, 0, 0, 48, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
18, 2, 0, 0, 64, 0,
6, 2, 0, 0, 64, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
115, 99, 82, 71, 66, 95,
111, 117, 116, 112, 117, 116,
0, 171, 171, 171, 0, 0,
3, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 83, 68, 82, 95,
119, 104, 105, 116, 101, 108,
101, 118, 101, 108, 0, 72,
68, 82, 95, 119, 104, 105,
116, 101, 108, 101, 118, 101,
108, 0, 109, 97, 120, 67,
76, 76, 0, 89, 111, 102,
102, 115, 101, 116, 0, 171,
171, 171, 1, 0, 3, 0,
0, 0, 99, 111, 108, 111,
114, 95, 115, 99, 97, 108,
101, 0, 117, 110, 117, 115,
101, 100, 49, 0, 117, 110,
117, 115, 101, 100, 50, 0,
89, 111, 102, 102, 115, 101,
116, 0, 1, 0, 3, 0,
1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 99, 111, 101, 102, 102,

View File

@@ -9,9 +9,9 @@
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4 [unused]
// float HDR_whitelevel; // Offset: 8 Size: 4 [unused]
// float maxCLL; // Offset: 12 Size: 4 [unused]
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16
// float4 Rcoeff; // Offset: 32 Size: 16
// float4 Gcoeff; // Offset: 48 Size: 16
@@ -102,11 +102,12 @@
cmp r2.z, r1.w, r0.x, r2.w
mul r1.w, c0.x, c0.x
cmp r0.xyz, -r1.w, r1, r2
mul r0.xyz, r0, c0.y
mov r0.w, c6.y
mul r0, r0, t1
mov oC0, r0
// approximately 40 instruction slots used (2 texture, 38 arithmetic)
// approximately 41 instruction slots used (2 texture, 39 arithmetic)
ps_4_0
dcl_constantbuffer CB0[5], immediateIndexed
dcl_sampler s0, mode_default
@@ -134,27 +135,28 @@ if_nz r0.x
exp r3.xyz, r3.xyzx
movc r1.xyz, r0.xyzx, r2.xyzx, r3.xyzx
endif
mov r1.w, l(1.000000)
mul o0.xyzw, r1.xyzw, v2.xyzw
mul r0.xyz, r1.xyzx, cb0[0].yyyy
mov r0.w, l(1.000000)
mul o0.xyzw, r0.xyzw, v2.xyzw
ret
// Approximately 21 instruction slots used
// Approximately 22 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 103, 251,
56, 113, 174, 118, 96, 85,
191, 91, 87, 213, 153, 143,
217, 253, 1, 0, 0, 0,
64, 9, 0, 0, 6, 0,
68, 88, 66, 67, 150, 187,
194, 202, 50, 132, 111, 243,
88, 169, 196, 166, 186, 146,
56, 89, 1, 0, 0, 0,
100, 9, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
244, 2, 0, 0, 208, 5,
0, 0, 76, 6, 0, 0,
152, 8, 0, 0, 12, 9,
4, 3, 0, 0, 0, 6,
0, 0, 124, 6, 0, 0,
188, 8, 0, 0, 48, 9,
0, 0, 65, 111, 110, 57,
180, 2, 0, 0, 180, 2,
196, 2, 0, 0, 196, 2,
0, 0, 0, 2, 255, 255,
124, 2, 0, 0, 56, 0,
140, 2, 0, 0, 56, 0,
0, 0, 1, 0, 44, 0,
0, 0, 56, 0, 0, 0,
56, 0, 2, 0, 36, 0,
@@ -260,141 +262,149 @@ const BYTE g_main[] =
0, 160, 88, 0, 0, 4,
0, 0, 7, 128, 1, 0,
255, 129, 1, 0, 228, 128,
2, 0, 228, 128, 1, 0,
0, 2, 0, 0, 8, 128,
6, 0, 85, 160, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 228, 128, 1, 0,
228, 176, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0,
83, 72, 68, 82, 212, 2,
0, 0, 64, 0, 0, 0,
181, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 5, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
2, 0, 228, 128, 5, 0,
0, 3, 0, 0, 7, 128,
0, 0, 228, 128, 0, 0,
85, 160, 1, 0, 0, 2,
0, 0, 8, 128, 6, 0,
85, 160, 5, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 128, 1, 0, 228, 176,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
255, 255, 0, 0, 83, 72,
68, 82, 244, 2, 0, 0,
64, 0, 0, 0, 189, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 5, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 1, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 4, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 9, 242, 0,
85, 85, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
1, 0, 0, 0, 85, 85,
0, 0, 98, 16, 0, 3,
50, 16, 16, 0, 1, 0,
0, 0, 98, 16, 0, 3,
242, 16, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 104, 0, 0, 2,
4, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
0, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 102, 124, 16, 0,
1, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
54, 0, 0, 5, 18, 0,
70, 126, 16, 0, 0, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
1, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 16, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 70, 2,
102, 124, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 54, 0,
0, 5, 18, 0, 16, 0,
1, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 2, 0, 0, 0,
16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 1, 0,
0, 0, 16, 0, 0, 8,
66, 0, 16, 0, 1, 0,
18, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
4, 0, 0, 0, 57, 0,
0, 11, 18, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
29, 0, 0, 10, 114, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 230, 174,
37, 61, 230, 174, 37, 61,
230, 174, 37, 61, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 145, 131,
158, 61, 145, 131, 158, 61,
145, 131, 158, 61, 0, 0,
0, 0, 0, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 174, 71, 97, 61,
174, 71, 97, 61, 174, 71,
97, 61, 0, 0, 0, 0,
56, 0, 0, 11, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 128, 129, 0,
0, 0, 3, 0, 0, 0,
2, 64, 0, 0, 111, 167,
114, 63, 111, 167, 114, 63,
111, 167, 114, 63, 0, 0,
0, 0, 47, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 154, 153,
25, 64, 154, 153, 25, 64,
154, 153, 25, 64, 0, 0,
0, 0, 25, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 55, 0,
0, 9, 114, 0, 16, 0,
2, 0, 0, 0, 16, 0,
0, 8, 34, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 2, 0,
70, 130, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
16, 0, 0, 8, 66, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 4, 0,
0, 0, 57, 0, 0, 11,
18, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 10, 128,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 31, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 29, 0,
0, 10, 114, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 230, 174, 37, 61,
230, 174, 37, 61, 230, 174,
37, 61, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 2, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 21, 0,
0, 1, 54, 0, 0, 5,
130, 0, 16, 0, 1, 0,
1, 0, 0, 0, 2, 64,
0, 0, 145, 131, 158, 61,
145, 131, 158, 61, 145, 131,
158, 61, 0, 0, 0, 0,
0, 0, 0, 10, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
174, 71, 97, 61, 174, 71,
97, 61, 174, 71, 97, 61,
0, 0, 0, 0, 56, 0,
0, 11, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 128, 129, 0, 0, 0,
3, 0, 0, 0, 2, 64,
0, 0, 111, 167, 114, 63,
111, 167, 114, 63, 111, 167,
114, 63, 0, 0, 0, 0,
47, 0, 0, 5, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 56, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 154, 153, 25, 64,
154, 153, 25, 64, 154, 153,
25, 64, 0, 0, 0, 0,
25, 0, 0, 5, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 55, 0, 0, 9,
114, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 21, 0, 0, 1,
56, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 86, 133, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 54, 0, 0, 5,
130, 0, 16, 0, 0, 0,
0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 56, 0,
0, 7, 242, 32, 16, 0,
0, 0, 0, 0, 70, 14,
16, 0, 1, 0, 0, 0,
16, 0, 0, 0, 0, 0,
70, 30, 16, 0, 2, 0,
0, 0, 62, 0, 0, 1,
83, 84, 65, 84, 116, 0,
0, 0, 21, 0, 0, 0,
0, 0, 22, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
12, 0, 0, 0, 0, 0,
13, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
@@ -411,12 +421,12 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 82, 68,
69, 70, 68, 2, 0, 0,
69, 70, 56, 2, 0, 0,
1, 0, 0, 0, 204, 0,
0, 0, 4, 0, 0, 0,
28, 0, 0, 0, 0, 4,
255, 255, 0, 1, 0, 0,
25, 2, 0, 0, 156, 0,
13, 2, 0, 0, 156, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@@ -456,46 +466,44 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 4, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
2, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
211, 1, 0, 0, 8, 0,
208, 1, 0, 0, 8, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
226, 1, 0, 0, 12, 0,
216, 1, 0, 0, 12, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 180, 1,
0, 0, 0, 0, 0, 0,
233, 1, 0, 0, 16, 0,
224, 1, 0, 0, 16, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
4, 2, 0, 0, 32, 0,
248, 1, 0, 0, 32, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
11, 2, 0, 0, 48, 0,
255, 1, 0, 0, 48, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
18, 2, 0, 0, 64, 0,
6, 2, 0, 0, 64, 0,
0, 0, 16, 0, 0, 0,
2, 0, 0, 0, 244, 1,
2, 0, 0, 0, 232, 1,
0, 0, 0, 0, 0, 0,
115, 99, 82, 71, 66, 95,
111, 117, 116, 112, 117, 116,
0, 171, 171, 171, 0, 0,
3, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 83, 68, 82, 95,
119, 104, 105, 116, 101, 108,
101, 118, 101, 108, 0, 72,
68, 82, 95, 119, 104, 105,
116, 101, 108, 101, 118, 101,
108, 0, 109, 97, 120, 67,
76, 76, 0, 89, 111, 102,
102, 115, 101, 116, 0, 171,
171, 171, 1, 0, 3, 0,
0, 0, 99, 111, 108, 111,
114, 95, 115, 99, 97, 108,
101, 0, 117, 110, 117, 115,
101, 100, 49, 0, 117, 110,
117, 115, 101, 100, 50, 0,
89, 111, 102, 102, 115, 101,
116, 0, 1, 0, 3, 0,
1, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 99, 111, 101, 102, 102,

View File

@@ -8,10 +8,10 @@
// cbuffer Constants
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4
// float HDR_whitelevel; // Offset: 8 Size: 4 [unused]
// float maxCLL; // Offset: 12 Size: 4 [unused]
// float scRGB_output; // Offset: 0 Size: 4 [unused]
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16 [unused]
// float4 Rcoeff; // Offset: 32 Size: 16 [unused]
// float4 Gcoeff; // Offset: 48 Size: 16 [unused]
@@ -63,19 +63,15 @@
// Level9 shader bytecode:
//
ps_2_0
def c1, 0.0125000002, 0, 0, 0
dcl t0.xy
dcl t1
dcl_2d s0
texld r0, t0, s0
mul r1.w, c0.x, c0.x
mul r1.xyz, r0, c0.y
mul r1.xyz, r1, c1.x
cmp r0.xyz, -r1.w, r0, r1
mul r0.xyz, r0, c0.y
mul r0, r0, t1
mov oC0, r0
// approximately 7 instruction slots used (1 texture, 6 arithmetic)
// approximately 4 instruction slots used (1 texture, 3 arithmetic)
ps_4_0
dcl_constantbuffer CB0[1], immediateIndexed
dcl_sampler s0, mode_default
@@ -83,32 +79,29 @@ dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 2
ne r0.x, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[0].x
sample r1.xyzw, v1.xyxx, t0.xyzw, s0
mul r0.yzw, r1.xxyz, cb0[0].yyyy
mul r0.yzw, r0.yyzw, l(0.000000, 0.012500, 0.012500, 0.012500)
movc r1.xyz, r0.xxxx, r0.yzwy, r1.xyzx
mul o0.xyzw, r1.xyzw, v2.xyzw
dcl_temps 1
sample r0.xyzw, v1.xyxx, t0.xyzw, s0
mul r0.xyz, r0.xyzx, cb0[0].yyyy
mul o0.xyzw, r0.xyzw, v2.xyzw
ret
// Approximately 7 instruction slots used
// Approximately 4 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 129, 29,
250, 77, 23, 118, 4, 254,
122, 59, 184, 144, 253, 202,
233, 166, 1, 0, 0, 0,
172, 5, 0, 0, 6, 0,
68, 88, 66, 67, 159, 171,
49, 134, 139, 171, 105, 34,
166, 1, 101, 132, 110, 4,
121, 76, 1, 0, 0, 0,
220, 4, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
40, 1, 0, 0, 108, 2,
0, 0, 232, 2, 0, 0,
4, 5, 0, 0, 120, 5,
220, 0, 0, 0, 168, 1,
0, 0, 36, 2, 0, 0,
52, 4, 0, 0, 168, 4,
0, 0, 65, 111, 110, 57,
232, 0, 0, 0, 232, 0,
156, 0, 0, 0, 156, 0,
0, 0, 0, 2, 255, 255,
180, 0, 0, 0, 52, 0,
104, 0, 0, 0, 52, 0,
0, 0, 1, 0, 40, 0,
0, 0, 52, 0, 0, 0,
52, 0, 1, 0, 36, 0,
@@ -116,10 +109,6 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 2, 255, 255,
81, 0, 0, 5, 1, 0,
15, 160, 205, 204, 76, 60,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 0, 2, 0, 0,
0, 128, 0, 0, 3, 176,
31, 0, 0, 2, 0, 0,
@@ -129,213 +118,183 @@ const BYTE g_main[] =
66, 0, 0, 3, 0, 0,
15, 128, 0, 0, 228, 176,
0, 8, 228, 160, 5, 0,
0, 3, 1, 0, 8, 128,
0, 0, 0, 160, 0, 0,
0, 160, 5, 0, 0, 3,
1, 0, 7, 128, 0, 0,
228, 128, 0, 0, 85, 160,
5, 0, 0, 3, 1, 0,
7, 128, 1, 0, 228, 128,
1, 0, 0, 160, 88, 0,
0, 4, 0, 0, 7, 128,
1, 0, 255, 129, 0, 0,
228, 128, 1, 0, 228, 128,
5, 0, 0, 3, 0, 0,
0, 3, 0, 0, 7, 128,
0, 0, 228, 128, 0, 0,
85, 160, 5, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 128, 1, 0, 228, 176,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 128,
1, 0, 228, 176, 1, 0,
0, 2, 0, 8, 15, 128,
0, 0, 228, 128, 255, 255,
0, 0, 83, 72, 68, 82,
60, 1, 0, 0, 64, 0,
0, 0, 79, 0, 0, 0,
89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 90, 0,
0, 3, 0, 96, 16, 0,
0, 0, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
0, 0, 0, 0, 85, 85,
0, 0, 98, 16, 0, 3,
50, 16, 16, 0, 1, 0,
0, 0, 98, 16, 0, 3,
242, 16, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 104, 0, 0, 2,
2, 0, 0, 0, 57, 0,
0, 11, 18, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
255, 255, 0, 0, 83, 72,
68, 82, 196, 0, 0, 0,
64, 0, 0, 0, 49, 0,
0, 0, 89, 0, 0, 4,
70, 142, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
90, 0, 0, 3, 0, 96,
16, 0, 0, 0, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 0, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 1, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 1, 0, 0, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
56, 0, 0, 8, 226, 0,
56, 0, 0, 8, 114, 0,
16, 0, 0, 0, 0, 0,
6, 9, 16, 0, 1, 0,
70, 2, 16, 0, 0, 0,
0, 0, 86, 133, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 10,
226, 0, 16, 0, 0, 0,
0, 0, 86, 14, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
205, 204, 76, 60, 205, 204,
76, 60, 205, 204, 76, 60,
55, 0, 0, 9, 114, 0,
16, 0, 1, 0, 0, 0,
6, 0, 16, 0, 0, 0,
0, 0, 150, 7, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
56, 0, 0, 7, 242, 32,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 1, 0,
0, 0, 70, 30, 16, 0,
2, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
116, 0, 0, 0, 7, 0,
0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 68, 69, 70, 20, 2,
0, 0, 1, 0, 0, 0,
156, 0, 0, 0, 3, 0,
0, 0, 28, 0, 0, 0,
0, 4, 255, 255, 0, 1,
0, 0, 233, 1, 0, 0,
124, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 135, 0, 0, 0,
2, 0, 0, 0, 5, 0,
0, 0, 4, 0, 0, 0,
255, 255, 255, 255, 0, 0,
0, 0, 1, 0, 0, 0,
13, 0, 0, 0, 146, 0,
0, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 7,
242, 32, 16, 0, 0, 0,
0, 0, 70, 14, 16, 0,
0, 0, 0, 0, 70, 30,
16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84,
65, 84, 116, 0, 0, 0,
4, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
116, 104, 101, 83, 97, 109,
112, 108, 101, 114, 0, 116,
104, 101, 84, 101, 120, 116,
117, 114, 101, 0, 67, 111,
110, 115, 116, 97, 110, 116,
115, 0, 146, 0, 0, 0,
8, 0, 0, 0, 180, 0,
0, 0, 80, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 116, 1, 0, 0,
0, 0, 0, 0, 4, 0,
0, 0, 2, 0, 0, 0,
132, 1, 0, 0, 0, 0,
0, 0, 148, 1, 0, 0,
4, 0, 0, 0, 4, 0,
0, 0, 2, 0, 0, 0,
132, 1, 0, 0, 0, 0,
0, 0, 163, 1, 0, 0,
8, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
132, 1, 0, 0, 0, 0,
0, 0, 178, 1, 0, 0,
12, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0,
132, 1, 0, 0, 0, 0,
0, 0, 185, 1, 0, 0,
16, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 0, 0,
0, 0, 212, 1, 0, 0,
32, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 0, 0,
0, 0, 219, 1, 0, 0,
48, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 0, 0,
0, 0, 226, 1, 0, 0,
64, 0, 0, 0, 16, 0,
0, 0, 0, 0, 0, 0,
196, 1, 0, 0, 0, 0,
0, 0, 115, 99, 82, 71,
66, 95, 111, 117, 116, 112,
117, 116, 0, 171, 171, 171,
0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 83, 68,
82, 95, 119, 104, 105, 116,
101, 108, 101, 118, 101, 108,
0, 72, 68, 82, 95, 119,
104, 105, 116, 101, 108, 101,
118, 101, 108, 0, 109, 97,
120, 67, 76, 76, 0, 89,
111, 102, 102, 115, 101, 116,
0, 171, 171, 171, 1, 0,
3, 0, 1, 0, 4, 0,
0, 0, 0, 0, 0, 0,
0, 0, 82, 99, 111, 101,
102, 102, 0, 71, 99, 111,
101, 102, 102, 0, 66, 99,
111, 101, 102, 102, 0, 77,
105, 99, 114, 111, 115, 111,
102, 116, 32, 40, 82, 41,
32, 72, 76, 83, 76, 32,
83, 104, 97, 100, 101, 114,
32, 67, 111, 109, 112, 105,
108, 101, 114, 32, 49, 48,
46, 49, 0, 171, 171, 171,
73, 83, 71, 78, 108, 0,
0, 0, 3, 0, 0, 0,
8, 0, 0, 0, 80, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 3, 0,
0, 0, 82, 68, 69, 70,
8, 2, 0, 0, 1, 0,
0, 0, 156, 0, 0, 0,
3, 0, 0, 0, 28, 0,
0, 0, 0, 4, 255, 255,
0, 1, 0, 0, 221, 1,
0, 0, 124, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
15, 0, 0, 0, 92, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 1, 0, 0, 0,
3, 3, 0, 0, 101, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0,
1, 0, 0, 0, 135, 0,
0, 0, 2, 0, 0, 0,
15, 15, 0, 0, 83, 86,
95, 80, 79, 83, 73, 84,
73, 79, 78, 0, 84, 69,
88, 67, 79, 79, 82, 68,
0, 67, 79, 76, 79, 82,
0, 171, 79, 83, 71, 78,
44, 0, 0, 0, 1, 0,
5, 0, 0, 0, 4, 0,
0, 0, 255, 255, 255, 255,
0, 0, 0, 0, 1, 0,
0, 0, 13, 0, 0, 0,
146, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0,
0, 0, 116, 104, 101, 83,
97, 109, 112, 108, 101, 114,
0, 116, 104, 101, 84, 101,
120, 116, 117, 114, 101, 0,
67, 111, 110, 115, 116, 97,
110, 116, 115, 0, 146, 0,
0, 0, 8, 0, 0, 0,
32, 0, 0, 0, 0, 0,
180, 0, 0, 0, 80, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 116, 1,
0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 132, 1, 0, 0,
0, 0, 0, 0, 148, 1,
0, 0, 4, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 132, 1, 0, 0,
0, 0, 0, 0, 160, 1,
0, 0, 8, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 132, 1, 0, 0,
0, 0, 0, 0, 168, 1,
0, 0, 12, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 132, 1, 0, 0,
0, 0, 0, 0, 176, 1,
0, 0, 16, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 184, 1, 0, 0,
0, 0, 0, 0, 200, 1,
0, 0, 32, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 184, 1, 0, 0,
0, 0, 0, 0, 207, 1,
0, 0, 48, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 184, 1, 0, 0,
0, 0, 0, 0, 214, 1,
0, 0, 64, 0, 0, 0,
16, 0, 0, 0, 0, 0,
0, 0, 184, 1, 0, 0,
0, 0, 0, 0, 115, 99,
82, 71, 66, 95, 111, 117,
116, 112, 117, 116, 0, 171,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
99, 111, 108, 111, 114, 95,
115, 99, 97, 108, 101, 0,
117, 110, 117, 115, 101, 100,
49, 0, 117, 110, 117, 115,
101, 100, 50, 0, 89, 111,
102, 102, 115, 101, 116, 0,
1, 0, 3, 0, 1, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 82, 99,
111, 101, 102, 102, 0, 71,
99, 111, 101, 102, 102, 0,
66, 99, 111, 101, 102, 102,
0, 77, 105, 99, 114, 111,
115, 111, 102, 116, 32, 40,
82, 41, 32, 72, 76, 83,
76, 32, 83, 104, 97, 100,
101, 114, 32, 67, 111, 109,
112, 105, 108, 101, 114, 32,
49, 48, 46, 49, 0, 171,
171, 171, 73, 83, 71, 78,
108, 0, 0, 0, 3, 0,
0, 0, 8, 0, 0, 0,
80, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
3, 0, 0, 0, 0, 0,
0, 0, 15, 0, 0, 0,
83, 86, 95, 84, 65, 82,
71, 69, 84, 0, 171, 171
92, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 1, 0,
0, 0, 3, 3, 0, 0,
101, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 2, 0,
0, 0, 15, 15, 0, 0,
83, 86, 95, 80, 79, 83,
73, 84, 73, 79, 78, 0,
84, 69, 88, 67, 79, 79,
82, 68, 0, 67, 79, 76,
79, 82, 0, 171, 79, 83,
71, 78, 44, 0, 0, 0,
1, 0, 0, 0, 8, 0,
0, 0, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 15, 0,
0, 0, 83, 86, 95, 84,
65, 82, 71, 69, 84, 0,
171, 171
};

View File

@@ -9,9 +9,9 @@
// {
//
// float scRGB_output; // Offset: 0 Size: 4
// float SDR_whitelevel; // Offset: 4 Size: 4 [unused]
// float HDR_whitelevel; // Offset: 8 Size: 4 [unused]
// float maxCLL; // Offset: 12 Size: 4 [unused]
// float color_scale; // Offset: 4 Size: 4
// float unused1; // Offset: 8 Size: 4 [unused]
// float unused2; // Offset: 12 Size: 4 [unused]
// float4 Yoffset; // Offset: 16 Size: 16
// float4 Rcoeff; // Offset: 32 Size: 16
// float4 Gcoeff; // Offset: 48 Size: 16
@@ -106,11 +106,12 @@
cmp r2.z, r1.w, r0.x, r2.w
mul r1.w, c0.x, c0.x
cmp r0.xyz, -r1.w, r1, r2
mul r0.xyz, r0, c0.y
mov r0.w, c6.y
mul r0, r0, t1
mov oC0, r0
// approximately 41 instruction slots used (3 texture, 38 arithmetic)
// approximately 42 instruction slots used (3 texture, 39 arithmetic)
ps_4_0
dcl_constantbuffer CB0[5], immediateIndexed
dcl_sampler s0, mode_default
@@ -141,27 +142,28 @@ if_nz r0.x
exp r3.xyz, r3.xyzx
movc r1.xyz, r0.xyzx, r2.xyzx, r3.xyzx
endif
mov r1.w, l(1.000000)
mul o0.xyzw, r1.xyzw, v2.xyzw
mul r0.xyz, r1.xyzx, cb0[0].yyyy
mov r0.w, l(1.000000)
mul o0.xyzw, r0.xyzw, v2.xyzw
ret
// Approximately 23 instruction slots used
// Approximately 24 instruction slots used
#endif
const BYTE g_main[] =
{
68, 88, 66, 67, 9, 92,
101, 235, 212, 83, 42, 215,
158, 193, 215, 73, 102, 13,
226, 183, 1, 0, 0, 0,
212, 9, 0, 0, 6, 0,
68, 88, 66, 67, 84, 14,
232, 134, 42, 204, 66, 203,
56, 83, 173, 74, 161, 2,
47, 168, 1, 0, 0, 0,
248, 9, 0, 0, 6, 0,
0, 0, 56, 0, 0, 0,
20, 3, 0, 0, 56, 6,
0, 0, 180, 6, 0, 0,
44, 9, 0, 0, 160, 9,
36, 3, 0, 0, 104, 6,
0, 0, 228, 6, 0, 0,
80, 9, 0, 0, 196, 9,
0, 0, 65, 111, 110, 57,
212, 2, 0, 0, 212, 2,
228, 2, 0, 0, 228, 2,
0, 0, 0, 2, 255, 255,
152, 2, 0, 0, 60, 0,
168, 2, 0, 0, 60, 0,
0, 0, 1, 0, 48, 0,
0, 0, 60, 0, 0, 0,
60, 0, 3, 0, 36, 0,
@@ -273,152 +275,160 @@ const BYTE g_main[] =
0, 4, 0, 0, 7, 128,
1, 0, 255, 129, 1, 0,
228, 128, 2, 0, 228, 128,
1, 0, 0, 2, 0, 0,
8, 128, 6, 0, 85, 160,
5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 228, 128,
1, 0, 228, 176, 1, 0,
0, 2, 0, 8, 15, 128,
0, 0, 228, 128, 255, 255,
0, 0, 83, 72, 68, 82,
28, 3, 0, 0, 64, 0,
0, 0, 199, 0, 0, 0,
89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0,
5, 0, 0, 0, 90, 0,
0, 3, 0, 96, 16, 0,
0, 0, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
0, 0, 0, 0, 85, 85,
7, 128, 0, 0, 228, 128,
0, 0, 85, 160, 1, 0,
0, 2, 0, 0, 8, 128,
6, 0, 85, 160, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 228, 128, 1, 0,
228, 176, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0,
83, 72, 68, 82, 60, 3,
0, 0, 64, 0, 0, 0,
207, 0, 0, 0, 89, 0,
0, 4, 70, 142, 32, 0,
0, 0, 0, 0, 5, 0,
0, 0, 90, 0, 0, 3,
0, 96, 16, 0, 0, 0,
0, 0, 88, 24, 0, 4,
0, 112, 16, 0, 1, 0,
0, 112, 16, 0, 0, 0,
0, 0, 85, 85, 0, 0,
88, 24, 0, 4, 0, 112,
16, 0, 2, 0, 0, 0,
85, 85, 0, 0, 98, 16,
0, 3, 50, 16, 16, 0,
1, 0, 0, 0, 98, 16,
0, 3, 242, 16, 16, 0,
2, 0, 0, 0, 101, 0,
0, 3, 242, 32, 16, 0,
0, 0, 0, 0, 104, 0,
0, 2, 4, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 0, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 1, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
1, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 9, 242, 0,
16, 0, 2, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 150, 124, 16, 0,
2, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
54, 0, 0, 5, 18, 0,
16, 0, 2, 0, 0, 0,
10, 0, 16, 0, 0, 0,
0, 0, 54, 0, 0, 5,
34, 0, 16, 0, 2, 0,
0, 0, 10, 0, 16, 0,
1, 0, 0, 0, 0, 0,
0, 8, 114, 0, 16, 0,
0, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
16, 0, 0, 8, 18, 0,
85, 85, 0, 0, 88, 24,
0, 4, 0, 112, 16, 0,
2, 0, 0, 0, 85, 85,
0, 0, 98, 16, 0, 3,
50, 16, 16, 0, 1, 0,
0, 0, 98, 16, 0, 3,
242, 16, 16, 0, 2, 0,
0, 0, 101, 0, 0, 3,
242, 32, 16, 0, 0, 0,
0, 0, 104, 0, 0, 2,
4, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
0, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 2, 0,
0, 0, 16, 0, 0, 8,
34, 0, 16, 0, 1, 0,
70, 126, 16, 0, 0, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
1, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
70, 126, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 69, 0,
0, 9, 242, 0, 16, 0,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
150, 124, 16, 0, 2, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 54, 0,
0, 5, 18, 0, 16, 0,
2, 0, 0, 0, 10, 0,
16, 0, 0, 0, 0, 0,
54, 0, 0, 5, 34, 0,
16, 0, 2, 0, 0, 0,
10, 0, 16, 0, 1, 0,
0, 0, 0, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 130,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
3, 0, 0, 0, 16, 0,
0, 8, 66, 0, 16, 0,
1, 0, 0, 0, 16, 0,
0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 4, 0, 0, 0,
57, 0, 0, 11, 18, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 10, 128, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 4, 3,
10, 0, 16, 0, 0, 0,
0, 0, 29, 0, 0, 10,
114, 0, 16, 0, 0, 0,
0, 0, 2, 64, 0, 0,
230, 174, 37, 61, 230, 174,
37, 61, 230, 174, 37, 61,
0, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
56, 0, 0, 10, 114, 0,
16, 0, 2, 0, 0, 0,
70, 2, 16, 0, 1, 0,
0, 0, 2, 64, 0, 0,
145, 131, 158, 61, 145, 131,
158, 61, 145, 131, 158, 61,
0, 0, 0, 0, 0, 0,
0, 10, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 174, 71,
97, 61, 174, 71, 97, 61,
174, 71, 97, 61, 0, 0,
0, 0, 56, 0, 0, 11,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 128,
129, 0, 0, 0, 3, 0,
0, 0, 2, 64, 0, 0,
111, 167, 114, 63, 111, 167,
114, 63, 111, 167, 114, 63,
0, 0, 0, 0, 47, 0,
0, 5, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
56, 0, 0, 10, 114, 0,
16, 0, 3, 0, 0, 0,
70, 2, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
154, 153, 25, 64, 154, 153,
25, 64, 154, 153, 25, 64,
0, 0, 0, 0, 25, 0,
0, 5, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
55, 0, 0, 9, 114, 0,
0, 0, 2, 0, 0, 0,
16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 0, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 3, 0,
0, 0, 16, 0, 0, 8,
66, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
0, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
4, 0, 0, 0, 57, 0,
0, 11, 18, 0, 16, 0,
0, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
10, 128, 32, 0, 0, 0,
0, 0, 0, 0, 0, 0,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
29, 0, 0, 10, 114, 0,
16, 0, 0, 0, 0, 0,
2, 64, 0, 0, 230, 174,
37, 61, 230, 174, 37, 61,
230, 174, 37, 61, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 1, 0, 0, 0,
2, 64, 0, 0, 145, 131,
158, 61, 145, 131, 158, 61,
145, 131, 158, 61, 0, 0,
0, 0, 0, 0, 0, 10,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 174, 71, 97, 61,
174, 71, 97, 61, 174, 71,
97, 61, 0, 0, 0, 0,
56, 0, 0, 11, 114, 0,
16, 0, 3, 0, 0, 0,
21, 0, 0, 1, 54, 0,
70, 2, 16, 128, 129, 0,
0, 0, 3, 0, 0, 0,
2, 64, 0, 0, 111, 167,
114, 63, 111, 167, 114, 63,
111, 167, 114, 63, 0, 0,
0, 0, 47, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 56, 0,
0, 10, 114, 0, 16, 0,
3, 0, 0, 0, 70, 2,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 154, 153,
25, 64, 154, 153, 25, 64,
154, 153, 25, 64, 0, 0,
0, 0, 25, 0, 0, 5,
114, 0, 16, 0, 3, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 55, 0,
0, 9, 114, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 0, 0, 0, 0,
70, 2, 16, 0, 2, 0,
0, 0, 70, 2, 16, 0,
3, 0, 0, 0, 21, 0,
0, 1, 56, 0, 0, 8,
114, 0, 16, 0, 0, 0,
0, 0, 70, 2, 16, 0,
1, 0, 0, 0, 86, 133,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0,
0, 5, 130, 0, 16, 0,
1, 0, 0, 0, 1, 64,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 128, 63,
56, 0, 0, 7, 242, 32,
16, 0, 0, 0, 0, 0,
70, 14, 16, 0, 1, 0,
70, 14, 16, 0, 0, 0,
0, 0, 70, 30, 16, 0,
2, 0, 0, 0, 62, 0,
0, 1, 83, 84, 65, 84,
116, 0, 0, 0, 23, 0,
116, 0, 0, 0, 24, 0,
0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 3, 0,
0, 0, 12, 0, 0, 0,
0, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0,
@@ -435,12 +445,12 @@ const BYTE g_main[] =
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
82, 68, 69, 70, 112, 2,
82, 68, 69, 70, 100, 2,
0, 0, 1, 0, 0, 0,
248, 0, 0, 0, 5, 0,
0, 0, 28, 0, 0, 0,
0, 4, 255, 255, 0, 1,
0, 0, 69, 2, 0, 0,
0, 0, 57, 2, 0, 0,
188, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
@@ -487,46 +497,44 @@ const BYTE g_main[] =
0, 0, 224, 1, 0, 0,
0, 0, 0, 0, 240, 1,
0, 0, 4, 0, 0, 0,
4, 0, 0, 0, 0, 0,
4, 0, 0, 0, 2, 0,
0, 0, 224, 1, 0, 0,
0, 0, 0, 0, 255, 1,
0, 0, 0, 0, 252, 1,
0, 0, 8, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 224, 1, 0, 0,
0, 0, 0, 0, 14, 2,
0, 0, 0, 0, 4, 2,
0, 0, 12, 0, 0, 0,
4, 0, 0, 0, 0, 0,
0, 0, 224, 1, 0, 0,
0, 0, 0, 0, 21, 2,
0, 0, 0, 0, 12, 2,
0, 0, 16, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 32, 2, 0, 0,
0, 0, 0, 0, 48, 2,
0, 0, 20, 2, 0, 0,
0, 0, 0, 0, 36, 2,
0, 0, 32, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 32, 2, 0, 0,
0, 0, 0, 0, 55, 2,
0, 0, 20, 2, 0, 0,
0, 0, 0, 0, 43, 2,
0, 0, 48, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 32, 2, 0, 0,
0, 0, 0, 0, 62, 2,
0, 0, 20, 2, 0, 0,
0, 0, 0, 0, 50, 2,
0, 0, 64, 0, 0, 0,
16, 0, 0, 0, 2, 0,
0, 0, 32, 2, 0, 0,
0, 0, 20, 2, 0, 0,
0, 0, 0, 0, 115, 99,
82, 71, 66, 95, 111, 117,
116, 112, 117, 116, 0, 171,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0,
83, 68, 82, 95, 119, 104,
105, 116, 101, 108, 101, 118,
101, 108, 0, 72, 68, 82,
95, 119, 104, 105, 116, 101,
108, 101, 118, 101, 108, 0,
109, 97, 120, 67, 76, 76,
0, 89, 111, 102, 102, 115,
101, 116, 0, 171, 171, 171,
99, 111, 108, 111, 114, 95,
115, 99, 97, 108, 101, 0,
117, 110, 117, 115, 101, 100,
49, 0, 117, 110, 117, 115,
101, 100, 50, 0, 89, 111,
102, 102, 115, 101, 116, 0,
1, 0, 3, 0, 1, 0,
4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 82, 99,

View File

@@ -77,12 +77,20 @@ typedef struct
typedef struct
{
float scRGB_output;
float SDR_whitelevel;
float HDR_whitelevel;
float maxCLL;
float color_scale;
float unused1;
float unused2;
float YCbCr_matrix[16];
} PixelShaderConstants;
typedef struct
{
ID3D11Buffer *constants;
SDL_bool scRGB_output;
float color_scale;
const float *shader_params;
} PixelShaderState;
/* Per-vertex data */
typedef struct
{
@@ -147,7 +155,6 @@ typedef struct
size_t vertexBufferSizes[8];
ID3D11VertexShader *vertexShader;
ID3D11PixelShader *pixelShaders[NUM_SHADERS];
ID3D11Buffer *pixelShaderConstants[NUM_SHADERS];
int blendModesCount;
D3D11_BlendMode *blendModes;
ID3D11SamplerState *nearestPixelSampler;
@@ -155,11 +162,6 @@ typedef struct
D3D_FEATURE_LEVEL featureLevel;
SDL_bool pixelSizeChanged;
/* HDR state */
SDL_bool HDR_enabled;
int SDR_whitelevel;
int HDR_whitelevel;
/* Rasterizers */
ID3D11RasterizerState *mainRasterizer;
ID3D11RasterizerState *clippedRasterizer;
@@ -174,7 +176,7 @@ typedef struct
ID3D11RasterizerState *currentRasterizerState;
ID3D11BlendState *currentBlendState;
D3D11_Shader currentShader;
const float *currentShaderParams[NUM_SHADERS];
PixelShaderState currentShaderState[NUM_SHADERS];
ID3D11ShaderResourceView *currentShaderResource;
ID3D11SamplerState *currentSampler;
SDL_bool cliprectDirty;
@@ -325,8 +327,8 @@ static void D3D11_ReleaseAll(SDL_Renderer *renderer)
for (i = 0; i < SDL_arraysize(data->pixelShaders); ++i) {
SAFE_RELEASE(data->pixelShaders[i]);
}
for (i = 0; i < SDL_arraysize(data->pixelShaderConstants); ++i) {
SAFE_RELEASE(data->pixelShaderConstants[i]);
for (i = 0; i < SDL_arraysize(data->currentShaderState); ++i) {
SAFE_RELEASE(data->currentShaderState[i].constants);
}
SAFE_RELEASE(data->vertexShader);
for (i = 0; i < SDL_arraysize(data->vertexBuffers); ++i) {
@@ -352,7 +354,7 @@ static void D3D11_ReleaseAll(SDL_Renderer *renderer)
data->currentRasterizerState = NULL;
data->currentBlendState = NULL;
data->currentShader = SHADER_NONE;
SDL_zero(data->currentShaderParams);
SDL_zero(data->currentShaderState);
data->currentShaderResource = NULL;
data->currentSampler = NULL;
@@ -380,21 +382,6 @@ static void D3D11_DestroyRenderer(SDL_Renderer *renderer)
SDL_free(renderer);
}
static void D3D11_UpdateHDRState(SDL_Renderer *renderer)
{
D3D11_RenderData *data = (D3D11_RenderData *)renderer->driverdata;
/* Using some placeholder values here... */
data->HDR_enabled = SDL_TRUE;
if (renderer->output_colorspace == SDL_COLORSPACE_SCRGB && data->HDR_enabled) {
data->SDR_whitelevel = 200.0f;
data->HDR_whitelevel = 400.0f;
} else {
data->SDR_whitelevel = 80.0f;
data->HDR_whitelevel = 80.0f;
}
}
static D3D11_BLEND GetBlendFunc(SDL_BlendFactor factor)
{
switch (factor) {
@@ -736,8 +723,6 @@ static HRESULT D3D11_CreateDeviceResources(SDL_Renderer *renderer)
SDL_SetProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_D3D11_DEVICE_POINTER, data->d3dDevice);
D3D11_UpdateHDRState(renderer);
done:
SAFE_RELEASE(d3dDevice);
SAFE_RELEASE(d3dContext);
@@ -2139,6 +2124,9 @@ static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
const SDL_BlendMode blendMode = cmd->data.draw.blend;
ID3D11BlendState *blendState = NULL;
SDL_bool updateSubresource = SDL_FALSE;
SDL_bool scRGB_output = SDL_RenderingLinearSpace(renderer);
float color_scale = cmd->data.draw.color_scale;
PixelShaderState *shader_state = &rendererData->currentShaderState[shader];
if (numShaderResources > 0) {
shaderResource = shaderResources[0];
@@ -2212,20 +2200,15 @@ static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
rendererData->currentBlendState = blendState;
}
if (!rendererData->pixelShaderConstants[shader] ||
shader_params != rendererData->currentShaderParams[shader]) {
SAFE_RELEASE(rendererData->pixelShaderConstants[shader]);
if (!shader_state->constants ||
scRGB_output != shader_state->scRGB_output ||
color_scale != shader_state->color_scale ||
shader_params != shader_state->shader_params) {
SAFE_RELEASE(shader_state->constants);
PixelShaderConstants constants;
if (renderer->output_colorspace == SDL_COLORSPACE_SCRGB) {
constants.scRGB_output = 1.0f;
} else {
constants.scRGB_output = 0.0f;
}
constants.SDR_whitelevel = (float)rendererData->SDR_whitelevel;
constants.HDR_whitelevel = (float)rendererData->HDR_whitelevel;
constants.maxCLL = 400.0f;
constants.scRGB_output = (float)scRGB_output;
constants.color_scale = color_scale;
if (shader_params) {
SDL_memcpy(constants.YCbCr_matrix, shader_params, sizeof(constants.YCbCr_matrix));
}
@@ -2240,12 +2223,16 @@ static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
SDL_zero(data);
data.pSysMem = &constants;
HRESULT result = ID3D11Device_CreateBuffer(rendererData->d3dDevice, &desc, &data, &rendererData->pixelShaderConstants[shader]);
HRESULT result = ID3D11Device_CreateBuffer(rendererData->d3dDevice, &desc, &data, &shader_state->constants);
if (FAILED(result)) {
WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("ID3D11Device::CreateBuffer [create shader constants]"), result);
return -1;
}
rendererData->currentShaderParams[shader] = shader_params;
shader_state->scRGB_output = scRGB_output;
shader_state->color_scale = color_scale;
shader_state->shader_params = shader_params;
/* Force the shader parameters to be re-set */
rendererData->currentShader = SHADER_NONE;
}
if (shader != rendererData->currentShader) {
@@ -2255,8 +2242,8 @@ static int D3D11_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand *c
}
}
ID3D11DeviceContext_PSSetShader(rendererData->d3dContext, rendererData->pixelShaders[shader], NULL, 0);
if (rendererData->pixelShaderConstants[shader]) {
ID3D11DeviceContext_PSSetConstantBuffers(rendererData->d3dContext, 0, 1, &rendererData->pixelShaderConstants[shader]);
if (rendererData->currentShaderState[shader].constants) {
ID3D11DeviceContext_PSSetConstantBuffers(rendererData->d3dContext, 0, 1, &rendererData->currentShaderState[shader].constants);
}
rendererData->currentShader = shader;
}
@@ -2338,8 +2325,7 @@ static void D3D11_InvalidateCachedState(SDL_Renderer *renderer)
data->currentRenderTargetView = NULL;
data->currentRasterizerState = NULL;
data->currentBlendState = NULL;
data->currentShader = NUM_SHADERS;
SDL_zero(data->currentShaderParams);
data->currentShader = SHADER_NONE;
data->currentShaderResource = NULL;
data->currentSampler = NULL;
data->cliprectDirty = SDL_TRUE;
@@ -2401,14 +2387,11 @@ static int D3D11_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
SDL_bool convert_color = SDL_RenderingLinearSpace(renderer);
SDL_FColor color = cmd->data.color.color;
if (convert_color) {
float light_scale = (float)rendererData->SDR_whitelevel / 80.0f;
SDL_ConvertToLinear(&color);
color.r *= light_scale;
color.g *= light_scale;
color.b *= light_scale;
}
color.r *= cmd->data.color.color_scale;
color.g *= cmd->data.color.color_scale;
color.b *= cmd->data.color.color_scale;
ID3D11DeviceContext_ClearRenderTargetView(rendererData->d3dContext, D3D11_GetCurrentRenderTargetView(renderer), &color.r);
break;
}