Skip to content

Commit 8405245

Browse files
committed
Added hardware accelerated support for palettized textures
Supported backends: direct3d, direct3d11, direct3d12, gpu, opengl, opengles2
1 parent 8d311cd commit 8405245

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+5916
-3540
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#if 0
2+
//
3+
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
4+
//
5+
// Parameters:
6+
//
7+
// sampler2D image;
8+
// sampler1D palette;
9+
//
10+
//
11+
// Registers:
12+
//
13+
// Name Reg Size
14+
// ------------ ----- ----
15+
// image s0 1
16+
// palette s1 1
17+
//
18+
19+
ps_2_0
20+
def c0, 0.99609375, 0.001953125, 0, 0
21+
dcl t0.xy
22+
dcl v0
23+
dcl_2d s0
24+
dcl_2d s1
25+
texld r0, t0, s0
26+
mad r0.xy, r0.x, c0.x, c0.y
27+
texld r0, r0, s1
28+
mul r0, r0, v0
29+
mov oC0, r0
30+
31+
// approximately 5 instruction slots used (2 texture, 3 arithmetic)
32+
#endif
33+
34+
const BYTE g_ps20_main[] =
35+
{
36+
0, 2, 255, 255, 254, 255,
37+
42, 0, 67, 84, 65, 66,
38+
28, 0, 0, 0, 123, 0,
39+
0, 0, 0, 2, 255, 255,
40+
2, 0, 0, 0, 28, 0,
41+
0, 0, 0, 1, 0, 0,
42+
116, 0, 0, 0, 68, 0,
43+
0, 0, 3, 0, 0, 0,
44+
1, 0, 0, 0, 76, 0,
45+
0, 0, 0, 0, 0, 0,
46+
92, 0, 0, 0, 3, 0,
47+
1, 0, 1, 0, 0, 0,
48+
100, 0, 0, 0, 0, 0,
49+
0, 0, 105, 109, 97, 103,
50+
101, 0, 171, 171, 4, 0,
51+
12, 0, 1, 0, 1, 0,
52+
1, 0, 0, 0, 0, 0,
53+
0, 0, 112, 97, 108, 101,
54+
116, 116, 101, 0, 4, 0,
55+
11, 0, 1, 0, 1, 0,
56+
1, 0, 0, 0, 0, 0,
57+
0, 0, 112, 115, 95, 50,
58+
95, 48, 0, 77, 105, 99,
59+
114, 111, 115, 111, 102, 116,
60+
32, 40, 82, 41, 32, 72,
61+
76, 83, 76, 32, 83, 104,
62+
97, 100, 101, 114, 32, 67,
63+
111, 109, 112, 105, 108, 101,
64+
114, 32, 49, 48, 46, 49,
65+
0, 171, 81, 0, 0, 5,
66+
0, 0, 15, 160, 0, 0,
67+
127, 63, 0, 0, 0, 59,
68+
0, 0, 0, 0, 0, 0,
69+
0, 0, 31, 0, 0, 2,
70+
0, 0, 0, 128, 0, 0,
71+
3, 176, 31, 0, 0, 2,
72+
0, 0, 0, 128, 0, 0,
73+
15, 144, 31, 0, 0, 2,
74+
0, 0, 0, 144, 0, 8,
75+
15, 160, 31, 0, 0, 2,
76+
0, 0, 0, 144, 1, 8,
77+
15, 160, 66, 0, 0, 3,
78+
0, 0, 15, 128, 0, 0,
79+
228, 176, 0, 8, 228, 160,
80+
4, 0, 0, 4, 0, 0,
81+
3, 128, 0, 0, 0, 128,
82+
0, 0, 0, 160, 0, 0,
83+
85, 160, 66, 0, 0, 3,
84+
0, 0, 15, 128, 0, 0,
85+
228, 128, 1, 8, 228, 160,
86+
5, 0, 0, 3, 0, 0,
87+
15, 128, 0, 0, 228, 128,
88+
0, 0, 228, 144, 1, 0,
89+
0, 2, 0, 8, 15, 128,
90+
0, 0, 228, 128, 255, 255,
91+
0, 0
92+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
uniform sampler2D image;
3+
uniform sampler1D palette;
4+
5+
struct PixelShaderInput
6+
{
7+
float4 pos : SV_POSITION;
8+
float2 tex : TEXCOORD0;
9+
float4 color : COLOR0;
10+
};
11+
12+
float4 main(PixelShaderInput input) : SV_TARGET
13+
{
14+
float4 Output;
15+
float index;
16+
index = tex2D(image, input.tex).r;
17+
Output = tex1D(palette, index * (255. / 256) + (0.5 / 256));
18+
return Output * input.color;
19+
}

src/render/direct3d/D3D9_PixelShader_YUV.h

Lines changed: 109 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -51,114 +51,114 @@
5151

5252
const BYTE g_ps20_main[] =
5353
{
54-
0, 2, 255, 255, 254, 255,
55-
97, 0, 67, 84, 65, 66,
56-
28, 0, 0, 0, 87, 1,
57-
0, 0, 0, 2, 255, 255,
58-
7, 0, 0, 0, 28, 0,
59-
0, 0, 0, 1, 0, 0,
60-
80, 1, 0, 0, 168, 0,
61-
0, 0, 2, 0, 3, 0,
62-
1, 0, 0, 0, 176, 0,
63-
0, 0, 0, 0, 0, 0,
64-
192, 0, 0, 0, 2, 0,
65-
2, 0, 1, 0, 0, 0,
66-
176, 0, 0, 0, 0, 0,
67-
0, 0, 199, 0, 0, 0,
68-
2, 0, 1, 0, 1, 0,
69-
0, 0, 176, 0, 0, 0,
70-
0, 0, 0, 0, 206, 0,
71-
0, 0, 2, 0, 0, 0,
72-
1, 0, 0, 0, 176, 0,
73-
0, 0, 0, 0, 0, 0,
74-
214, 0, 0, 0, 3, 0,
75-
1, 0, 1, 0, 0, 0,
76-
240, 0, 0, 0, 0, 0,
77-
0, 0, 0, 1, 0, 0,
78-
3, 0, 2, 0, 1, 0,
79-
0, 0, 24, 1, 0, 0,
80-
0, 0, 0, 0, 40, 1,
81-
0, 0, 3, 0, 0, 0,
82-
1, 0, 0, 0, 64, 1,
83-
0, 0, 0, 0, 0, 0,
84-
66, 99, 111, 101, 102, 102,
85-
0, 171, 1, 0, 3, 0,
86-
1, 0, 4, 0, 1, 0,
87-
0, 0, 0, 0, 0, 0,
88-
71, 99, 111, 101, 102, 102,
89-
0, 82, 99, 111, 101, 102,
90-
102, 0, 89, 111, 102, 102,
91-
115, 101, 116, 0, 116, 104,
92-
101, 83, 97, 109, 112, 108,
93-
101, 114, 43, 116, 104, 101,
94-
84, 101, 120, 116, 117, 114,
95-
101, 85, 0, 171, 171, 171,
96-
4, 0, 7, 0, 1, 0,
97-
4, 0, 1, 0, 0, 0,
98-
0, 0, 0, 0, 116, 104,
99-
101, 83, 97, 109, 112, 108,
100-
101, 114, 43, 116, 104, 101,
101-
84, 101, 120, 116, 117, 114,
102-
101, 86, 0, 171, 4, 0,
103-
7, 0, 1, 0, 4, 0,
104-
1, 0, 0, 0, 0, 0,
105-
0, 0, 116, 104, 101, 83,
106-
97, 109, 112, 108, 101, 114,
107-
43, 116, 104, 101, 84, 101,
108-
120, 116, 117, 114, 101, 89,
109-
0, 171, 4, 0, 7, 0,
110-
1, 0, 4, 0, 1, 0,
111-
0, 0, 0, 0, 0, 0,
112-
112, 115, 95, 50, 95, 48,
113-
0, 77, 105, 99, 114, 111,
114-
115, 111, 102, 116, 32, 40,
115-
82, 41, 32, 72, 76, 83,
116-
76, 32, 83, 104, 97, 100,
117-
101, 114, 32, 67, 111, 109,
118-
112, 105, 108, 101, 114, 32,
119-
49, 48, 46, 49, 0, 171,
120-
81, 0, 0, 5, 4, 0,
121-
15, 160, 0, 0, 128, 63,
122-
0, 0, 0, 0, 0, 0,
123-
0, 0, 0, 0, 0, 0,
124-
31, 0, 0, 2, 0, 0,
125-
0, 128, 0, 0, 3, 176,
126-
31, 0, 0, 2, 0, 0,
127-
0, 128, 0, 0, 15, 144,
128-
31, 0, 0, 2, 0, 0,
129-
0, 144, 0, 8, 15, 160,
130-
31, 0, 0, 2, 0, 0,
131-
0, 144, 1, 8, 15, 160,
132-
31, 0, 0, 2, 0, 0,
133-
0, 144, 2, 8, 15, 160,
134-
66, 0, 0, 3, 0, 0,
135-
15, 128, 0, 0, 228, 176,
136-
0, 8, 228, 160, 66, 0,
137-
0, 3, 1, 0, 15, 128,
138-
0, 0, 228, 176, 1, 8,
139-
228, 160, 66, 0, 0, 3,
140-
2, 0, 15, 128, 0, 0,
141-
228, 176, 2, 8, 228, 160,
142-
1, 0, 0, 2, 0, 0,
143-
2, 128, 1, 0, 0, 128,
144-
1, 0, 0, 2, 0, 0,
145-
4, 128, 2, 0, 0, 128,
146-
2, 0, 0, 3, 0, 0,
147-
7, 128, 0, 0, 228, 128,
148-
0, 0, 228, 160, 8, 0,
149-
0, 3, 1, 0, 1, 128,
150-
0, 0, 228, 128, 1, 0,
151-
228, 160, 8, 0, 0, 3,
152-
1, 0, 2, 128, 0, 0,
153-
228, 128, 2, 0, 228, 160,
154-
8, 0, 0, 3, 1, 0,
155-
4, 128, 0, 0, 228, 128,
156-
3, 0, 228, 160, 1, 0,
157-
0, 2, 1, 0, 8, 128,
158-
4, 0, 0, 160, 5, 0,
159-
0, 3, 0, 0, 15, 128,
160-
1, 0, 228, 128, 0, 0,
161-
228, 144, 1, 0, 0, 2,
162-
0, 8, 15, 128, 0, 0,
54+
0, 2, 255, 255, 254, 255,
55+
97, 0, 67, 84, 65, 66,
56+
28, 0, 0, 0, 87, 1,
57+
0, 0, 0, 2, 255, 255,
58+
7, 0, 0, 0, 28, 0,
59+
0, 0, 0, 1, 0, 0,
60+
80, 1, 0, 0, 168, 0,
61+
0, 0, 2, 0, 3, 0,
62+
1, 0, 0, 0, 176, 0,
63+
0, 0, 0, 0, 0, 0,
64+
192, 0, 0, 0, 2, 0,
65+
2, 0, 1, 0, 0, 0,
66+
176, 0, 0, 0, 0, 0,
67+
0, 0, 199, 0, 0, 0,
68+
2, 0, 1, 0, 1, 0,
69+
0, 0, 176, 0, 0, 0,
70+
0, 0, 0, 0, 206, 0,
71+
0, 0, 2, 0, 0, 0,
72+
1, 0, 0, 0, 176, 0,
73+
0, 0, 0, 0, 0, 0,
74+
214, 0, 0, 0, 3, 0,
75+
1, 0, 1, 0, 0, 0,
76+
240, 0, 0, 0, 0, 0,
77+
0, 0, 0, 1, 0, 0,
78+
3, 0, 2, 0, 1, 0,
79+
0, 0, 24, 1, 0, 0,
80+
0, 0, 0, 0, 40, 1,
81+
0, 0, 3, 0, 0, 0,
82+
1, 0, 0, 0, 64, 1,
83+
0, 0, 0, 0, 0, 0,
84+
66, 99, 111, 101, 102, 102,
85+
0, 171, 1, 0, 3, 0,
86+
1, 0, 4, 0, 1, 0,
87+
0, 0, 0, 0, 0, 0,
88+
71, 99, 111, 101, 102, 102,
89+
0, 82, 99, 111, 101, 102,
90+
102, 0, 89, 111, 102, 102,
91+
115, 101, 116, 0, 116, 104,
92+
101, 83, 97, 109, 112, 108,
93+
101, 114, 43, 116, 104, 101,
94+
84, 101, 120, 116, 117, 114,
95+
101, 85, 0, 171, 171, 171,
96+
4, 0, 7, 0, 1, 0,
97+
4, 0, 1, 0, 0, 0,
98+
0, 0, 0, 0, 116, 104,
99+
101, 83, 97, 109, 112, 108,
100+
101, 114, 43, 116, 104, 101,
101+
84, 101, 120, 116, 117, 114,
102+
101, 86, 0, 171, 4, 0,
103+
7, 0, 1, 0, 4, 0,
104+
1, 0, 0, 0, 0, 0,
105+
0, 0, 116, 104, 101, 83,
106+
97, 109, 112, 108, 101, 114,
107+
43, 116, 104, 101, 84, 101,
108+
120, 116, 117, 114, 101, 89,
109+
0, 171, 4, 0, 7, 0,
110+
1, 0, 4, 0, 1, 0,
111+
0, 0, 0, 0, 0, 0,
112+
112, 115, 95, 50, 95, 48,
113+
0, 77, 105, 99, 114, 111,
114+
115, 111, 102, 116, 32, 40,
115+
82, 41, 32, 72, 76, 83,
116+
76, 32, 83, 104, 97, 100,
117+
101, 114, 32, 67, 111, 109,
118+
112, 105, 108, 101, 114, 32,
119+
49, 48, 46, 49, 0, 171,
120+
81, 0, 0, 5, 4, 0,
121+
15, 160, 0, 0, 128, 63,
122+
0, 0, 0, 0, 0, 0,
123+
0, 0, 0, 0, 0, 0,
124+
31, 0, 0, 2, 0, 0,
125+
0, 128, 0, 0, 3, 176,
126+
31, 0, 0, 2, 0, 0,
127+
0, 128, 0, 0, 15, 144,
128+
31, 0, 0, 2, 0, 0,
129+
0, 144, 0, 8, 15, 160,
130+
31, 0, 0, 2, 0, 0,
131+
0, 144, 1, 8, 15, 160,
132+
31, 0, 0, 2, 0, 0,
133+
0, 144, 2, 8, 15, 160,
134+
66, 0, 0, 3, 0, 0,
135+
15, 128, 0, 0, 228, 176,
136+
0, 8, 228, 160, 66, 0,
137+
0, 3, 1, 0, 15, 128,
138+
0, 0, 228, 176, 1, 8,
139+
228, 160, 66, 0, 0, 3,
140+
2, 0, 15, 128, 0, 0,
141+
228, 176, 2, 8, 228, 160,
142+
1, 0, 0, 2, 0, 0,
143+
2, 128, 1, 0, 0, 128,
144+
1, 0, 0, 2, 0, 0,
145+
4, 128, 2, 0, 0, 128,
146+
2, 0, 0, 3, 0, 0,
147+
7, 128, 0, 0, 228, 128,
148+
0, 0, 228, 160, 8, 0,
149+
0, 3, 1, 0, 1, 128,
150+
0, 0, 228, 128, 1, 0,
151+
228, 160, 8, 0, 0, 3,
152+
1, 0, 2, 128, 0, 0,
153+
228, 128, 2, 0, 228, 160,
154+
8, 0, 0, 3, 1, 0,
155+
4, 128, 0, 0, 228, 128,
156+
3, 0, 228, 160, 1, 0,
157+
0, 2, 1, 0, 8, 128,
158+
4, 0, 0, 160, 5, 0,
159+
0, 3, 0, 0, 15, 128,
160+
1, 0, 228, 128, 0, 0,
161+
228, 144, 1, 0, 0, 2,
162+
0, 8, 15, 128, 0, 0,
163163
228, 128, 255, 255, 0, 0
164164
};

0 commit comments

Comments
 (0)