2022-09-22 22:59:16 +00:00
|
|
|
builtins/gen/literal/textureSampleLevel/979816.wgsl:28:24 warning: use of deprecated builtin
|
2022-11-04 17:06:03 +00:00
|
|
|
var res: vec4<f32> = textureSampleLevel(arg_0, arg_1, vec2<f32>(1.f));
|
2022-09-22 22:59:16 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2022-06-01 19:49:50 +00:00
|
|
|
#version 310 es
|
|
|
|
|
|
|
|
struct GammaTransferParams {
|
|
|
|
float G;
|
|
|
|
float A;
|
|
|
|
float B;
|
|
|
|
float C;
|
|
|
|
float D;
|
|
|
|
float E;
|
|
|
|
float F;
|
|
|
|
uint padding;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ExternalTextureParams {
|
|
|
|
uint numPlanes;
|
2022-07-26 14:23:24 +00:00
|
|
|
uint doYuvToRgbConversionOnly;
|
2022-06-01 19:49:50 +00:00
|
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
|
|
GammaTransferParams gammaDecodeParams;
|
|
|
|
GammaTransferParams gammaEncodeParams;
|
|
|
|
mat3 gamutConversionMatrix;
|
|
|
|
};
|
|
|
|
|
2022-09-13 19:48:51 +00:00
|
|
|
layout(binding = 3, std140) uniform ext_tex_params_block_ubo {
|
2022-09-02 19:19:10 +00:00
|
|
|
ExternalTextureParams inner;
|
2022-06-01 19:49:50 +00:00
|
|
|
} ext_tex_params;
|
|
|
|
|
|
|
|
vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
|
|
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
|
|
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
|
|
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
|
|
|
return mix(f, t, cond);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_smp, vec2 coord, ExternalTextureParams params) {
|
|
|
|
vec3 color = vec3(0.0f, 0.0f, 0.0f);
|
|
|
|
if ((params.numPlanes == 1u)) {
|
|
|
|
color = textureLod(plane0_smp, coord, 0.0f).rgb;
|
|
|
|
} else {
|
|
|
|
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
|
|
|
|
}
|
2022-07-26 14:23:24 +00:00
|
|
|
if ((params.doYuvToRgbConversionOnly == 0u)) {
|
|
|
|
color = gammaCorrection(color, params.gammaDecodeParams);
|
|
|
|
color = (params.gamutConversionMatrix * color);
|
|
|
|
color = gammaCorrection(color, params.gammaEncodeParams);
|
|
|
|
}
|
2022-06-01 19:49:50 +00:00
|
|
|
return vec4(color, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
uniform highp sampler2D arg_0_arg_1;
|
|
|
|
uniform highp sampler2D ext_tex_plane_1_arg_1;
|
|
|
|
void textureSampleLevel_979816() {
|
2022-11-04 17:06:03 +00:00
|
|
|
vec4 res = textureSampleExternal(arg_0_arg_1, ext_tex_plane_1_arg_1, vec2(1.0f), ext_tex_params.inner);
|
2022-06-01 19:49:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
vec4 vertex_main() {
|
|
|
|
textureSampleLevel_979816();
|
|
|
|
return vec4(0.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
gl_PointSize = 1.0;
|
|
|
|
vec4 inner_result = vertex_main();
|
|
|
|
gl_Position = inner_result;
|
|
|
|
gl_Position.y = -(gl_Position.y);
|
|
|
|
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
#version 310 es
|
|
|
|
precision mediump float;
|
|
|
|
|
|
|
|
struct GammaTransferParams {
|
|
|
|
float G;
|
|
|
|
float A;
|
|
|
|
float B;
|
|
|
|
float C;
|
|
|
|
float D;
|
|
|
|
float E;
|
|
|
|
float F;
|
|
|
|
uint padding;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ExternalTextureParams {
|
|
|
|
uint numPlanes;
|
2022-07-26 14:23:24 +00:00
|
|
|
uint doYuvToRgbConversionOnly;
|
2022-06-01 19:49:50 +00:00
|
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
|
|
GammaTransferParams gammaDecodeParams;
|
|
|
|
GammaTransferParams gammaEncodeParams;
|
|
|
|
mat3 gamutConversionMatrix;
|
|
|
|
};
|
|
|
|
|
2022-09-13 19:48:51 +00:00
|
|
|
layout(binding = 3, std140) uniform ext_tex_params_block_ubo {
|
2022-09-02 19:19:10 +00:00
|
|
|
ExternalTextureParams inner;
|
2022-06-01 19:49:50 +00:00
|
|
|
} ext_tex_params;
|
|
|
|
|
|
|
|
vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
|
|
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
|
|
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
|
|
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
|
|
|
return mix(f, t, cond);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_smp, vec2 coord, ExternalTextureParams params) {
|
|
|
|
vec3 color = vec3(0.0f, 0.0f, 0.0f);
|
|
|
|
if ((params.numPlanes == 1u)) {
|
|
|
|
color = textureLod(plane0_smp, coord, 0.0f).rgb;
|
|
|
|
} else {
|
|
|
|
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
|
|
|
|
}
|
2022-07-26 14:23:24 +00:00
|
|
|
if ((params.doYuvToRgbConversionOnly == 0u)) {
|
|
|
|
color = gammaCorrection(color, params.gammaDecodeParams);
|
|
|
|
color = (params.gamutConversionMatrix * color);
|
|
|
|
color = gammaCorrection(color, params.gammaEncodeParams);
|
|
|
|
}
|
2022-06-01 19:49:50 +00:00
|
|
|
return vec4(color, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
uniform highp sampler2D arg_0_arg_1;
|
|
|
|
uniform highp sampler2D ext_tex_plane_1_arg_1;
|
|
|
|
void textureSampleLevel_979816() {
|
2022-11-04 17:06:03 +00:00
|
|
|
vec4 res = textureSampleExternal(arg_0_arg_1, ext_tex_plane_1_arg_1, vec2(1.0f), ext_tex_params.inner);
|
2022-06-01 19:49:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void fragment_main() {
|
|
|
|
textureSampleLevel_979816();
|
|
|
|
}
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
fragment_main();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
#version 310 es
|
|
|
|
|
|
|
|
struct GammaTransferParams {
|
|
|
|
float G;
|
|
|
|
float A;
|
|
|
|
float B;
|
|
|
|
float C;
|
|
|
|
float D;
|
|
|
|
float E;
|
|
|
|
float F;
|
|
|
|
uint padding;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ExternalTextureParams {
|
|
|
|
uint numPlanes;
|
2022-07-26 14:23:24 +00:00
|
|
|
uint doYuvToRgbConversionOnly;
|
2022-06-01 19:49:50 +00:00
|
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
|
|
GammaTransferParams gammaDecodeParams;
|
|
|
|
GammaTransferParams gammaEncodeParams;
|
|
|
|
mat3 gamutConversionMatrix;
|
|
|
|
};
|
|
|
|
|
2022-09-13 19:48:51 +00:00
|
|
|
layout(binding = 3, std140) uniform ext_tex_params_block_ubo {
|
2022-09-02 19:19:10 +00:00
|
|
|
ExternalTextureParams inner;
|
2022-06-01 19:49:50 +00:00
|
|
|
} ext_tex_params;
|
|
|
|
|
|
|
|
vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
|
|
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
|
|
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
|
|
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
|
|
|
return mix(f, t, cond);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
vec4 textureSampleExternal(highp sampler2D plane0_smp, highp sampler2D plane1_smp, vec2 coord, ExternalTextureParams params) {
|
|
|
|
vec3 color = vec3(0.0f, 0.0f, 0.0f);
|
|
|
|
if ((params.numPlanes == 1u)) {
|
|
|
|
color = textureLod(plane0_smp, coord, 0.0f).rgb;
|
|
|
|
} else {
|
|
|
|
color = (vec4(textureLod(plane0_smp, coord, 0.0f).r, textureLod(plane1_smp, coord, 0.0f).rg, 1.0f) * params.yuvToRgbConversionMatrix);
|
|
|
|
}
|
2022-07-26 14:23:24 +00:00
|
|
|
if ((params.doYuvToRgbConversionOnly == 0u)) {
|
|
|
|
color = gammaCorrection(color, params.gammaDecodeParams);
|
|
|
|
color = (params.gamutConversionMatrix * color);
|
|
|
|
color = gammaCorrection(color, params.gammaEncodeParams);
|
|
|
|
}
|
2022-06-01 19:49:50 +00:00
|
|
|
return vec4(color, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
uniform highp sampler2D arg_0_arg_1;
|
|
|
|
uniform highp sampler2D ext_tex_plane_1_arg_1;
|
|
|
|
void textureSampleLevel_979816() {
|
2022-11-04 17:06:03 +00:00
|
|
|
vec4 res = textureSampleExternal(arg_0_arg_1, ext_tex_plane_1_arg_1, vec2(1.0f), ext_tex_params.inner);
|
2022-06-01 19:49:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void compute_main() {
|
|
|
|
textureSampleLevel_979816();
|
|
|
|
}
|
|
|
|
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
void main() {
|
|
|
|
compute_main();
|
|
|
|
return;
|
|
|
|
}
|