mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-10 15:15:58 +00:00
Since GLSL ES does not support the offset= attribute, struct members with explicit @align or @size attributes require adding explicit padding members. This in turn requires rewriting any constructor calls to initialize the new padding to zero, handled in the same transform. Note that this is currently overly-verbose, and will add padding where GLSL doesn't technically need it (e.g., padding a vec3 out to 16 bytes). Bug: tint:1415 Change-Id: Ia9ba513066a0e84f4c43247fcbbe02f5fadd6630 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101720 Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
113 lines
2.1 KiB
GLSL
113 lines
2.1 KiB
GLSL
#version 310 es
|
|
|
|
struct GammaTransferParams {
|
|
float G;
|
|
float A;
|
|
float B;
|
|
float C;
|
|
float D;
|
|
float E;
|
|
float F;
|
|
uint padding;
|
|
};
|
|
|
|
layout(binding = 2, std140) uniform ExternalTextureParams_ubo {
|
|
uint numPlanes;
|
|
uint doYuvToRgbConversionOnly;
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
GammaTransferParams gammaDecodeParams;
|
|
GammaTransferParams gammaEncodeParams;
|
|
mat3 gamutConversionMatrix;
|
|
} ext_tex_params;
|
|
|
|
uniform highp sampler2D arg_0_1;
|
|
void textureDimensions_ba1481() {
|
|
ivec2 res = textureSize(arg_0_1, 0);
|
|
}
|
|
|
|
vec4 vertex_main() {
|
|
textureDimensions_ba1481();
|
|
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;
|
|
};
|
|
|
|
layout(binding = 2, std140) uniform ExternalTextureParams_ubo {
|
|
uint numPlanes;
|
|
uint doYuvToRgbConversionOnly;
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
GammaTransferParams gammaDecodeParams;
|
|
GammaTransferParams gammaEncodeParams;
|
|
mat3 gamutConversionMatrix;
|
|
} ext_tex_params;
|
|
|
|
uniform highp sampler2D arg_0_1;
|
|
void textureDimensions_ba1481() {
|
|
ivec2 res = textureSize(arg_0_1, 0);
|
|
}
|
|
|
|
void fragment_main() {
|
|
textureDimensions_ba1481();
|
|
}
|
|
|
|
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;
|
|
};
|
|
|
|
layout(binding = 2, std140) uniform ExternalTextureParams_ubo {
|
|
uint numPlanes;
|
|
uint doYuvToRgbConversionOnly;
|
|
mat3x4 yuvToRgbConversionMatrix;
|
|
GammaTransferParams gammaDecodeParams;
|
|
GammaTransferParams gammaEncodeParams;
|
|
mat3 gamutConversionMatrix;
|
|
} ext_tex_params;
|
|
|
|
uniform highp sampler2D arg_0_1;
|
|
void textureDimensions_ba1481() {
|
|
ivec2 res = textureSize(arg_0_1, 0);
|
|
}
|
|
|
|
void compute_main() {
|
|
textureDimensions_ba1481();
|
|
}
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
void main() {
|
|
compute_main();
|
|
return;
|
|
}
|