blob: 151313950b03bfd69ebb29f7a61c05c136628e37 [file] [log] [blame]
dan sinclair196326c2024-12-06 12:40:09 +00001//
2// fragment_main
3//
dan sinclair803ff2b2024-09-23 18:37:22 +00004#version 310 es
5precision highp float;
6precision highp int;
dan sinclair6e93ca52024-08-28 23:58:04 +00007
dan sinclair6e93ca52024-08-28 23:58:04 +00008
dan sinclair803ff2b2024-09-23 18:37:22 +00009struct tint_GammaTransferParams {
10 float G;
11 float A;
12 float B;
13 float C;
14 float D;
15 float E;
16 float F;
17 uint padding;
18};
19
20struct tint_ExternalTextureParams_std140 {
21 uint numPlanes;
22 uint doYuvToRgbConversionOnly;
James Price925f03f2024-10-10 23:01:30 +000023 uint tint_pad_0;
dan sinclair25748272024-10-08 20:05:30 +000024 uint tint_pad_1;
dan sinclair803ff2b2024-09-23 18:37:22 +000025 mat3x4 yuvToRgbConversionMatrix;
26 tint_GammaTransferParams gammaDecodeParams;
27 tint_GammaTransferParams gammaEncodeParams;
28 vec3 gamutConversionMatrix_col0;
dan sinclair25748272024-10-08 20:05:30 +000029 uint tint_pad_2;
dan sinclair803ff2b2024-09-23 18:37:22 +000030 vec3 gamutConversionMatrix_col1;
dan sinclair25748272024-10-08 20:05:30 +000031 uint tint_pad_3;
dan sinclair803ff2b2024-09-23 18:37:22 +000032 vec3 gamutConversionMatrix_col2;
dan sinclair25748272024-10-08 20:05:30 +000033 uint tint_pad_4;
dan sinclair803ff2b2024-09-23 18:37:22 +000034 vec2 sampleTransform_col0;
35 vec2 sampleTransform_col1;
36 vec2 sampleTransform_col2;
37 vec2 loadTransform_col0;
38 vec2 loadTransform_col1;
39 vec2 loadTransform_col2;
40 vec2 samplePlane0RectMin;
41 vec2 samplePlane0RectMax;
42 vec2 samplePlane1RectMin;
43 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +000044 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +000045 vec2 plane1CoordFactor;
46};
47
48struct tint_ExternalTextureParams {
49 uint numPlanes;
50 uint doYuvToRgbConversionOnly;
51 mat3x4 yuvToRgbConversionMatrix;
52 tint_GammaTransferParams gammaDecodeParams;
53 tint_GammaTransferParams gammaEncodeParams;
54 mat3 gamutConversionMatrix;
55 mat3x2 sampleTransform;
56 mat3x2 loadTransform;
57 vec2 samplePlane0RectMin;
58 vec2 samplePlane0RectMax;
59 vec2 samplePlane1RectMin;
60 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +000061 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +000062 vec2 plane1CoordFactor;
63};
64
65layout(binding = 0, std430)
James Price2312bfa2024-12-13 09:53:34 -080066buffer f_prevent_dce_block_ssbo {
James Price71c1d542024-10-10 23:01:19 +000067 vec4 inner;
dan sinclair803ff2b2024-09-23 18:37:22 +000068} v_1;
dan sinclair803ff2b2024-09-23 18:37:22 +000069layout(binding = 2, std140)
James Price2312bfa2024-12-13 09:53:34 -080070uniform f_arg_0_params_block_std140_ubo {
James Price71c1d542024-10-10 23:01:19 +000071 tint_ExternalTextureParams_std140 inner;
dan sinclair803ff2b2024-09-23 18:37:22 +000072} v_2;
dan sinclair680183f2024-10-07 19:57:38 +000073uniform highp sampler2D arg_0_plane0;
74uniform highp sampler2D arg_0_plane1;
dan sinclair803ff2b2024-09-23 18:37:22 +000075vec3 tint_GammaCorrection(vec3 v, tint_GammaTransferParams params) {
76 vec3 v_3 = vec3(params.G);
dan sinclair3d645652024-11-19 15:29:05 +000077 return mix((sign(v) * (pow(((params.A * abs(v)) + params.B), v_3) + params.E)), (sign(v) * ((params.C * abs(v)) + params.F)), lessThan(abs(v), vec3(params.D)));
dan sinclair803ff2b2024-09-23 18:37:22 +000078}
dan sinclair680183f2024-10-07 19:57:38 +000079vec4 tint_TextureLoadExternal(tint_ExternalTextureParams params, uvec2 coords) {
Corentin Wallez9e9ed672024-11-21 11:56:04 +000080 vec2 v_4 = round((params.loadTransform * vec3(vec2(min(coords, params.apparentSize)), 1.0f)));
dan sinclair3d645652024-11-19 15:29:05 +000081 uvec2 v_5 = uvec2(v_4);
82 vec3 v_6 = vec3(0.0f);
83 float v_7 = 0.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +000084 if ((params.numPlanes == 1u)) {
dan sinclair3d645652024-11-19 15:29:05 +000085 ivec2 v_8 = ivec2(v_5);
86 vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
87 v_6 = v_9.xyz;
James Price25379d32024-11-28 21:23:47 +000088 v_7 = v_9.w;
dan sinclair803ff2b2024-09-23 18:37:22 +000089 } else {
dan sinclair3d645652024-11-19 15:29:05 +000090 ivec2 v_10 = ivec2(v_5);
James Price25379d32024-11-28 21:23:47 +000091 float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
dan sinclair3d645652024-11-19 15:29:05 +000092 ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
93 v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
94 v_7 = 1.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +000095 }
dan sinclair3d645652024-11-19 15:29:05 +000096 vec3 v_13 = v_6;
97 vec3 v_14 = vec3(0.0f);
dan sinclair803ff2b2024-09-23 18:37:22 +000098 if ((params.doYuvToRgbConversionOnly == 0u)) {
dan sinclair3d645652024-11-19 15:29:05 +000099 v_14 = tint_GammaCorrection((params.gamutConversionMatrix * tint_GammaCorrection(v_13, params.gammaDecodeParams)), params.gammaEncodeParams);
dan sinclair803ff2b2024-09-23 18:37:22 +0000100 } else {
dan sinclair3d645652024-11-19 15:29:05 +0000101 v_14 = v_13;
dan sinclair803ff2b2024-09-23 18:37:22 +0000102 }
dan sinclair3d645652024-11-19 15:29:05 +0000103 return vec4(v_14, v_7);
dan sinclair803ff2b2024-09-23 18:37:22 +0000104}
105tint_ExternalTextureParams tint_convert_tint_ExternalTextureParams(tint_ExternalTextureParams_std140 tint_input) {
dan sinclair3d645652024-11-19 15:29:05 +0000106 mat3 v_15 = mat3(tint_input.gamutConversionMatrix_col0, tint_input.gamutConversionMatrix_col1, tint_input.gamutConversionMatrix_col2);
107 mat3x2 v_16 = mat3x2(tint_input.sampleTransform_col0, tint_input.sampleTransform_col1, tint_input.sampleTransform_col2);
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000108 return tint_ExternalTextureParams(tint_input.numPlanes, tint_input.doYuvToRgbConversionOnly, tint_input.yuvToRgbConversionMatrix, tint_input.gammaDecodeParams, tint_input.gammaEncodeParams, v_15, v_16, mat3x2(tint_input.loadTransform_col0, tint_input.loadTransform_col1, tint_input.loadTransform_col2), tint_input.samplePlane0RectMin, tint_input.samplePlane0RectMax, tint_input.samplePlane1RectMin, tint_input.samplePlane1RectMax, tint_input.apparentSize, tint_input.plane1CoordFactor);
dan sinclair803ff2b2024-09-23 18:37:22 +0000109}
110vec4 textureLoad_1bfdfb() {
111 uvec2 arg_1 = uvec2(1u);
dan sinclair3d645652024-11-19 15:29:05 +0000112 tint_ExternalTextureParams v_17 = tint_convert_tint_ExternalTextureParams(v_2.inner);
dan sinclairec3114d2024-11-28 16:23:49 +0000113 vec4 res = tint_TextureLoadExternal(v_17, min(arg_1, ((v_17.apparentSize + uvec2(1u)) - uvec2(1u))));
dan sinclair803ff2b2024-09-23 18:37:22 +0000114 return res;
115}
116void main() {
James Price71c1d542024-10-10 23:01:19 +0000117 v_1.inner = textureLoad_1bfdfb();
dan sinclair803ff2b2024-09-23 18:37:22 +0000118}
dan sinclair196326c2024-12-06 12:40:09 +0000119//
120// compute_main
121//
dan sinclair803ff2b2024-09-23 18:37:22 +0000122#version 310 es
123
124
125struct tint_GammaTransferParams {
126 float G;
127 float A;
128 float B;
129 float C;
130 float D;
131 float E;
132 float F;
133 uint padding;
134};
135
136struct tint_ExternalTextureParams_std140 {
137 uint numPlanes;
138 uint doYuvToRgbConversionOnly;
James Price925f03f2024-10-10 23:01:30 +0000139 uint tint_pad_0;
dan sinclair25748272024-10-08 20:05:30 +0000140 uint tint_pad_1;
dan sinclair803ff2b2024-09-23 18:37:22 +0000141 mat3x4 yuvToRgbConversionMatrix;
142 tint_GammaTransferParams gammaDecodeParams;
143 tint_GammaTransferParams gammaEncodeParams;
144 vec3 gamutConversionMatrix_col0;
dan sinclair25748272024-10-08 20:05:30 +0000145 uint tint_pad_2;
dan sinclair803ff2b2024-09-23 18:37:22 +0000146 vec3 gamutConversionMatrix_col1;
dan sinclair25748272024-10-08 20:05:30 +0000147 uint tint_pad_3;
dan sinclair803ff2b2024-09-23 18:37:22 +0000148 vec3 gamutConversionMatrix_col2;
dan sinclair25748272024-10-08 20:05:30 +0000149 uint tint_pad_4;
dan sinclair803ff2b2024-09-23 18:37:22 +0000150 vec2 sampleTransform_col0;
151 vec2 sampleTransform_col1;
152 vec2 sampleTransform_col2;
153 vec2 loadTransform_col0;
154 vec2 loadTransform_col1;
155 vec2 loadTransform_col2;
156 vec2 samplePlane0RectMin;
157 vec2 samplePlane0RectMax;
158 vec2 samplePlane1RectMin;
159 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000160 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +0000161 vec2 plane1CoordFactor;
162};
163
164struct tint_ExternalTextureParams {
165 uint numPlanes;
166 uint doYuvToRgbConversionOnly;
167 mat3x4 yuvToRgbConversionMatrix;
168 tint_GammaTransferParams gammaDecodeParams;
169 tint_GammaTransferParams gammaEncodeParams;
170 mat3 gamutConversionMatrix;
171 mat3x2 sampleTransform;
172 mat3x2 loadTransform;
173 vec2 samplePlane0RectMin;
174 vec2 samplePlane0RectMax;
175 vec2 samplePlane1RectMin;
176 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000177 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +0000178 vec2 plane1CoordFactor;
179};
180
181layout(binding = 0, std430)
James Price71c1d542024-10-10 23:01:19 +0000182buffer prevent_dce_block_1_ssbo {
183 vec4 inner;
dan sinclair803ff2b2024-09-23 18:37:22 +0000184} v_1;
dan sinclair803ff2b2024-09-23 18:37:22 +0000185layout(binding = 2, std140)
James Price71c1d542024-10-10 23:01:19 +0000186uniform arg_0_params_block_std140_1_ubo {
187 tint_ExternalTextureParams_std140 inner;
dan sinclair803ff2b2024-09-23 18:37:22 +0000188} v_2;
dan sinclair680183f2024-10-07 19:57:38 +0000189uniform highp sampler2D arg_0_plane0;
190uniform highp sampler2D arg_0_plane1;
dan sinclair803ff2b2024-09-23 18:37:22 +0000191vec3 tint_GammaCorrection(vec3 v, tint_GammaTransferParams params) {
192 vec3 v_3 = vec3(params.G);
dan sinclair3d645652024-11-19 15:29:05 +0000193 return mix((sign(v) * (pow(((params.A * abs(v)) + params.B), v_3) + params.E)), (sign(v) * ((params.C * abs(v)) + params.F)), lessThan(abs(v), vec3(params.D)));
dan sinclair803ff2b2024-09-23 18:37:22 +0000194}
dan sinclair680183f2024-10-07 19:57:38 +0000195vec4 tint_TextureLoadExternal(tint_ExternalTextureParams params, uvec2 coords) {
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000196 vec2 v_4 = round((params.loadTransform * vec3(vec2(min(coords, params.apparentSize)), 1.0f)));
dan sinclair3d645652024-11-19 15:29:05 +0000197 uvec2 v_5 = uvec2(v_4);
198 vec3 v_6 = vec3(0.0f);
199 float v_7 = 0.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +0000200 if ((params.numPlanes == 1u)) {
dan sinclair3d645652024-11-19 15:29:05 +0000201 ivec2 v_8 = ivec2(v_5);
202 vec4 v_9 = texelFetch(arg_0_plane0, v_8, int(0u));
203 v_6 = v_9.xyz;
James Price25379d32024-11-28 21:23:47 +0000204 v_7 = v_9.w;
dan sinclair803ff2b2024-09-23 18:37:22 +0000205 } else {
dan sinclair3d645652024-11-19 15:29:05 +0000206 ivec2 v_10 = ivec2(v_5);
James Price25379d32024-11-28 21:23:47 +0000207 float v_11 = texelFetch(arg_0_plane0, v_10, int(0u)).x;
dan sinclair3d645652024-11-19 15:29:05 +0000208 ivec2 v_12 = ivec2(uvec2((v_4 * params.plane1CoordFactor)));
209 v_6 = (vec4(v_11, texelFetch(arg_0_plane1, v_12, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
210 v_7 = 1.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +0000211 }
dan sinclair3d645652024-11-19 15:29:05 +0000212 vec3 v_13 = v_6;
213 vec3 v_14 = vec3(0.0f);
dan sinclair803ff2b2024-09-23 18:37:22 +0000214 if ((params.doYuvToRgbConversionOnly == 0u)) {
dan sinclair3d645652024-11-19 15:29:05 +0000215 v_14 = tint_GammaCorrection((params.gamutConversionMatrix * tint_GammaCorrection(v_13, params.gammaDecodeParams)), params.gammaEncodeParams);
dan sinclair803ff2b2024-09-23 18:37:22 +0000216 } else {
dan sinclair3d645652024-11-19 15:29:05 +0000217 v_14 = v_13;
dan sinclair803ff2b2024-09-23 18:37:22 +0000218 }
dan sinclair3d645652024-11-19 15:29:05 +0000219 return vec4(v_14, v_7);
dan sinclair803ff2b2024-09-23 18:37:22 +0000220}
221tint_ExternalTextureParams tint_convert_tint_ExternalTextureParams(tint_ExternalTextureParams_std140 tint_input) {
dan sinclair3d645652024-11-19 15:29:05 +0000222 mat3 v_15 = mat3(tint_input.gamutConversionMatrix_col0, tint_input.gamutConversionMatrix_col1, tint_input.gamutConversionMatrix_col2);
223 mat3x2 v_16 = mat3x2(tint_input.sampleTransform_col0, tint_input.sampleTransform_col1, tint_input.sampleTransform_col2);
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000224 return tint_ExternalTextureParams(tint_input.numPlanes, tint_input.doYuvToRgbConversionOnly, tint_input.yuvToRgbConversionMatrix, tint_input.gammaDecodeParams, tint_input.gammaEncodeParams, v_15, v_16, mat3x2(tint_input.loadTransform_col0, tint_input.loadTransform_col1, tint_input.loadTransform_col2), tint_input.samplePlane0RectMin, tint_input.samplePlane0RectMax, tint_input.samplePlane1RectMin, tint_input.samplePlane1RectMax, tint_input.apparentSize, tint_input.plane1CoordFactor);
dan sinclair803ff2b2024-09-23 18:37:22 +0000225}
226vec4 textureLoad_1bfdfb() {
227 uvec2 arg_1 = uvec2(1u);
dan sinclair3d645652024-11-19 15:29:05 +0000228 tint_ExternalTextureParams v_17 = tint_convert_tint_ExternalTextureParams(v_2.inner);
dan sinclairec3114d2024-11-28 16:23:49 +0000229 vec4 res = tint_TextureLoadExternal(v_17, min(arg_1, ((v_17.apparentSize + uvec2(1u)) - uvec2(1u))));
dan sinclair803ff2b2024-09-23 18:37:22 +0000230 return res;
231}
232layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
233void main() {
James Price71c1d542024-10-10 23:01:19 +0000234 v_1.inner = textureLoad_1bfdfb();
dan sinclair803ff2b2024-09-23 18:37:22 +0000235}
dan sinclair196326c2024-12-06 12:40:09 +0000236//
237// vertex_main
238//
dan sinclair803ff2b2024-09-23 18:37:22 +0000239#version 310 es
240
241
242struct tint_GammaTransferParams {
243 float G;
244 float A;
245 float B;
246 float C;
247 float D;
248 float E;
249 float F;
250 uint padding;
251};
252
253struct tint_ExternalTextureParams_std140 {
254 uint numPlanes;
255 uint doYuvToRgbConversionOnly;
James Price925f03f2024-10-10 23:01:30 +0000256 uint tint_pad_0;
dan sinclair25748272024-10-08 20:05:30 +0000257 uint tint_pad_1;
dan sinclair803ff2b2024-09-23 18:37:22 +0000258 mat3x4 yuvToRgbConversionMatrix;
259 tint_GammaTransferParams gammaDecodeParams;
260 tint_GammaTransferParams gammaEncodeParams;
261 vec3 gamutConversionMatrix_col0;
dan sinclair25748272024-10-08 20:05:30 +0000262 uint tint_pad_2;
dan sinclair803ff2b2024-09-23 18:37:22 +0000263 vec3 gamutConversionMatrix_col1;
dan sinclair25748272024-10-08 20:05:30 +0000264 uint tint_pad_3;
dan sinclair803ff2b2024-09-23 18:37:22 +0000265 vec3 gamutConversionMatrix_col2;
dan sinclair25748272024-10-08 20:05:30 +0000266 uint tint_pad_4;
dan sinclair803ff2b2024-09-23 18:37:22 +0000267 vec2 sampleTransform_col0;
268 vec2 sampleTransform_col1;
269 vec2 sampleTransform_col2;
270 vec2 loadTransform_col0;
271 vec2 loadTransform_col1;
272 vec2 loadTransform_col2;
273 vec2 samplePlane0RectMin;
274 vec2 samplePlane0RectMax;
275 vec2 samplePlane1RectMin;
276 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000277 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +0000278 vec2 plane1CoordFactor;
279};
280
281struct tint_ExternalTextureParams {
282 uint numPlanes;
283 uint doYuvToRgbConversionOnly;
284 mat3x4 yuvToRgbConversionMatrix;
285 tint_GammaTransferParams gammaDecodeParams;
286 tint_GammaTransferParams gammaEncodeParams;
287 mat3 gamutConversionMatrix;
288 mat3x2 sampleTransform;
289 mat3x2 loadTransform;
290 vec2 samplePlane0RectMin;
291 vec2 samplePlane0RectMax;
292 vec2 samplePlane1RectMin;
293 vec2 samplePlane1RectMax;
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000294 uvec2 apparentSize;
dan sinclair803ff2b2024-09-23 18:37:22 +0000295 vec2 plane1CoordFactor;
296};
297
298struct VertexOutput {
299 vec4 pos;
300 vec4 prevent_dce;
301};
302
dan sinclair803ff2b2024-09-23 18:37:22 +0000303layout(binding = 2, std140)
James Price2312bfa2024-12-13 09:53:34 -0800304uniform v_arg_0_params_block_std140_ubo {
James Price71c1d542024-10-10 23:01:19 +0000305 tint_ExternalTextureParams_std140 inner;
dan sinclair803ff2b2024-09-23 18:37:22 +0000306} v_1;
dan sinclair680183f2024-10-07 19:57:38 +0000307uniform highp sampler2D arg_0_plane0;
308uniform highp sampler2D arg_0_plane1;
James Priceced63662024-12-13 10:48:26 -0800309layout(location = 0) flat out vec4 tint_interstage_location0;
dan sinclair803ff2b2024-09-23 18:37:22 +0000310vec3 tint_GammaCorrection(vec3 v, tint_GammaTransferParams params) {
311 vec3 v_2 = vec3(params.G);
dan sinclair3d645652024-11-19 15:29:05 +0000312 return mix((sign(v) * (pow(((params.A * abs(v)) + params.B), v_2) + params.E)), (sign(v) * ((params.C * abs(v)) + params.F)), lessThan(abs(v), vec3(params.D)));
dan sinclair803ff2b2024-09-23 18:37:22 +0000313}
dan sinclair680183f2024-10-07 19:57:38 +0000314vec4 tint_TextureLoadExternal(tint_ExternalTextureParams params, uvec2 coords) {
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000315 vec2 v_3 = round((params.loadTransform * vec3(vec2(min(coords, params.apparentSize)), 1.0f)));
dan sinclair3d645652024-11-19 15:29:05 +0000316 uvec2 v_4 = uvec2(v_3);
317 vec3 v_5 = vec3(0.0f);
318 float v_6 = 0.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +0000319 if ((params.numPlanes == 1u)) {
dan sinclair3d645652024-11-19 15:29:05 +0000320 ivec2 v_7 = ivec2(v_4);
321 vec4 v_8 = texelFetch(arg_0_plane0, v_7, int(0u));
322 v_5 = v_8.xyz;
James Price25379d32024-11-28 21:23:47 +0000323 v_6 = v_8.w;
dan sinclair803ff2b2024-09-23 18:37:22 +0000324 } else {
dan sinclair3d645652024-11-19 15:29:05 +0000325 ivec2 v_9 = ivec2(v_4);
James Price25379d32024-11-28 21:23:47 +0000326 float v_10 = texelFetch(arg_0_plane0, v_9, int(0u)).x;
dan sinclair3d645652024-11-19 15:29:05 +0000327 ivec2 v_11 = ivec2(uvec2((v_3 * params.plane1CoordFactor)));
328 v_5 = (vec4(v_10, texelFetch(arg_0_plane1, v_11, int(0u)).xy, 1.0f) * params.yuvToRgbConversionMatrix);
329 v_6 = 1.0f;
dan sinclair803ff2b2024-09-23 18:37:22 +0000330 }
dan sinclair3d645652024-11-19 15:29:05 +0000331 vec3 v_12 = v_5;
332 vec3 v_13 = vec3(0.0f);
dan sinclair803ff2b2024-09-23 18:37:22 +0000333 if ((params.doYuvToRgbConversionOnly == 0u)) {
dan sinclair3d645652024-11-19 15:29:05 +0000334 v_13 = tint_GammaCorrection((params.gamutConversionMatrix * tint_GammaCorrection(v_12, params.gammaDecodeParams)), params.gammaEncodeParams);
dan sinclair803ff2b2024-09-23 18:37:22 +0000335 } else {
dan sinclair3d645652024-11-19 15:29:05 +0000336 v_13 = v_12;
dan sinclair803ff2b2024-09-23 18:37:22 +0000337 }
dan sinclair3d645652024-11-19 15:29:05 +0000338 return vec4(v_13, v_6);
dan sinclair803ff2b2024-09-23 18:37:22 +0000339}
340tint_ExternalTextureParams tint_convert_tint_ExternalTextureParams(tint_ExternalTextureParams_std140 tint_input) {
dan sinclair3d645652024-11-19 15:29:05 +0000341 mat3 v_14 = mat3(tint_input.gamutConversionMatrix_col0, tint_input.gamutConversionMatrix_col1, tint_input.gamutConversionMatrix_col2);
342 mat3x2 v_15 = mat3x2(tint_input.sampleTransform_col0, tint_input.sampleTransform_col1, tint_input.sampleTransform_col2);
Corentin Wallez9e9ed672024-11-21 11:56:04 +0000343 return tint_ExternalTextureParams(tint_input.numPlanes, tint_input.doYuvToRgbConversionOnly, tint_input.yuvToRgbConversionMatrix, tint_input.gammaDecodeParams, tint_input.gammaEncodeParams, v_14, v_15, mat3x2(tint_input.loadTransform_col0, tint_input.loadTransform_col1, tint_input.loadTransform_col2), tint_input.samplePlane0RectMin, tint_input.samplePlane0RectMax, tint_input.samplePlane1RectMin, tint_input.samplePlane1RectMax, tint_input.apparentSize, tint_input.plane1CoordFactor);
dan sinclair803ff2b2024-09-23 18:37:22 +0000344}
345vec4 textureLoad_1bfdfb() {
346 uvec2 arg_1 = uvec2(1u);
dan sinclair3d645652024-11-19 15:29:05 +0000347 tint_ExternalTextureParams v_16 = tint_convert_tint_ExternalTextureParams(v_1.inner);
dan sinclairec3114d2024-11-28 16:23:49 +0000348 vec4 res = tint_TextureLoadExternal(v_16, min(arg_1, ((v_16.apparentSize + uvec2(1u)) - uvec2(1u))));
dan sinclair803ff2b2024-09-23 18:37:22 +0000349 return res;
350}
351VertexOutput vertex_main_inner() {
James Price49631b52024-12-13 13:34:39 -0800352 VertexOutput v_17 = VertexOutput(vec4(0.0f), vec4(0.0f));
353 v_17.pos = vec4(0.0f);
354 v_17.prevent_dce = textureLoad_1bfdfb();
355 return v_17;
dan sinclair803ff2b2024-09-23 18:37:22 +0000356}
357void main() {
James Price49631b52024-12-13 13:34:39 -0800358 VertexOutput v_18 = vertex_main_inner();
359 gl_Position = v_18.pos;
James Price25379d32024-11-28 21:23:47 +0000360 gl_Position.y = -(gl_Position.y);
361 gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
James Price49631b52024-12-13 13:34:39 -0800362 tint_interstage_location0 = v_18.prevent_dce;
dan sinclair803ff2b2024-09-23 18:37:22 +0000363 gl_PointSize = 1.0f;
364}