dawn-cmake/test/tint/builtins/textureLoad/texture_external_param.wgsl.expected.glsl
Antonio Maiorano a730eb738e Add option to auto generate bindings for external textures
With this change, the backend sanitizers always run the
MultiplanarExternalTexture transform. If the new option is enabled, it
auto-generates bindings for this transform.

This change also enables this auto-generation for the Tint commandline
application, as well as for the fuzzers.

Bug: chromium:1310623
Change-Id: I3c661c4753dc67c0212051d09024cbeda3939f8c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/85542
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-04-06 13:57:54 +00:00

183 lines
5.0 KiB
GLSL

SKIP: FAILED
#version 310 es
struct ExternalTextureParams {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
};
layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
} ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
if ((params.numPlanes == 1u)) {
return texelFetch(plane0_1, coord, 0);
}
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f);
float u = uv.x;
float v = uv.y;
float r = ((1.164000034f * y) + (params.vr * v));
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v));
float b = ((1.164000034f * y) + (params.ub * u));
return vec4(r, g, b, 1.0f);
}
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
return textureLoadExternal(tint_symbol_1, ext_tex_plane_1_1_1, coords, ext_tex_params_1);
}
uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0));
}
vec4 vertex_main() {
doTextureLoad();
return vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
void main() {
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;
}
Error parsing GLSL shader:
ERROR: 0:40: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:40: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:40: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es
precision mediump float;
struct ExternalTextureParams {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
};
layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
} ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
if ((params.numPlanes == 1u)) {
return texelFetch(plane0_1, coord, 0);
}
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f);
float u = uv.x;
float v = uv.y;
float r = ((1.164000034f * y) + (params.vr * v));
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v));
float b = ((1.164000034f * y) + (params.ub * u));
return vec4(r, g, b, 1.0f);
}
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
return textureLoadExternal(tint_symbol_1, ext_tex_plane_1_1_1, coords, ext_tex_params_1);
}
uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0));
}
void fragment_main() {
doTextureLoad();
}
void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:41: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:41: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of float'
ERROR: 0:41: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es
struct ExternalTextureParams {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
};
layout(binding = 2) uniform ExternalTextureParams_1 {
uint numPlanes;
float vr;
float ug;
float vg;
float ub;
} ext_tex_params;
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
if ((params.numPlanes == 1u)) {
return texelFetch(plane0_1, coord, 0);
}
float y = (texelFetch(plane0_1, coord, 0).r - 0.0625f);
vec2 uv = (texelFetch(plane1_1, coord, 0).rg - 0.5f);
float u = uv.x;
float v = uv.y;
float r = ((1.164000034f * y) + (params.vr * v));
float g = (((1.164000034f * y) - (params.ug * u)) - (params.vg * v));
float b = ((1.164000034f * y) + (params.ub * u));
return vec4(r, g, b, 1.0f);
}
vec4 textureLoad2d(highp sampler2D tint_symbol_1, highp sampler2D ext_tex_plane_1_1_1, ExternalTextureParams ext_tex_params_1, ivec2 coords) {
return textureLoadExternal(tint_symbol_1, ext_tex_plane_1_1_1, coords, ext_tex_params_1);
}
uniform highp sampler2D arg_0_1;
uniform highp sampler2D ext_tex_plane_1_2;
void doTextureLoad() {
vec4 res = textureLoad2d(arg_0_1, ext_tex_plane_1_2, ext_tex_params, ivec2(0, 0));
}
void compute_main() {
doTextureLoad();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:40: 'textureLoad2d' : no matching overloaded function found
ERROR: 0:40: '=' : cannot convert from ' const float' to ' temp highp 4-component vector of float'
ERROR: 0:40: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.