dawn-cmake/test/intrinsics/gen/textureNumLayers/ee942f.wgsl.expected.glsl
Stephen White 0ff3050c6c GLSL: a grab bag of texture fixes.
Use imageSize() on images, not textureSize().
In GLSL, the LOD parameter to textureSize() is mandatory for
sampled textures, so emit a default 0 if not supplied. (Also, don't pack
the level into the coords argument; that's an HLSLism.)
GLSL returns the array size of array textures in the final component
of textureSize(); remove it for WGSL.
Write the subtype of storage images correctly (uimage*, iimage*, etc).
This required a bit of cleanup to move "writeonly" ahead of subtype
emission.

Bug: tint:1298
Change-Id: Ica1cec0f833a9b684143c8b0cf6d090fb511a7d2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70140
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-11-19 19:06:23 +00:00

104 lines
2.1 KiB
GLSL

SKIP: FAILED
#version 310 es
precision mediump float;
uniform highp writeonly uimage2DArray arg_0;
void textureNumLayers_ee942f() {
int res = textureQueryLevels(arg_0);;
}
struct tint_symbol {
vec4 value;
};
vec4 vertex_main_inner() {
textureNumLayers_ee942f();
return vec4(0.0f, 0.0f, 0.0f, 0.0f);
}
tint_symbol vertex_main() {
vec4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = tint_symbol(vec4(0.0f, 0.0f, 0.0f, 0.0f));
wrapper_result.value = inner_result;
return wrapper_result;
}
void main() {
tint_symbol outputs;
outputs = vertex_main();
gl_Position = outputs.value;
gl_Position.y = -gl_Position.y;
}
Error parsing GLSL shader:
ERROR: 0:7: 'textureQueryLevels' : no matching overloaded function found
ERROR: 0:7: '=' : cannot convert from ' const float' to ' temp highp int'
ERROR: 0:7: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es
precision mediump float;
uniform highp writeonly uimage2DArray arg_0;
void textureNumLayers_ee942f() {
int res = textureQueryLevels(arg_0);;
}
struct tint_symbol {
vec4 value;
};
void fragment_main() {
textureNumLayers_ee942f();
return;
}
void main() {
fragment_main();
}
Error parsing GLSL shader:
ERROR: 0:7: 'textureQueryLevels' : no matching overloaded function found
ERROR: 0:7: '=' : cannot convert from ' const float' to ' temp mediump int'
ERROR: 0:7: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
#version 310 es
precision mediump float;
uniform highp writeonly uimage2DArray arg_0;
void textureNumLayers_ee942f() {
int res = textureQueryLevels(arg_0);;
}
struct tint_symbol {
vec4 value;
};
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void compute_main() {
textureNumLayers_ee942f();
return;
}
void main() {
compute_main();
}
Error parsing GLSL shader:
ERROR: 0:7: 'textureQueryLevels' : no matching overloaded function found
ERROR: 0:7: '=' : cannot convert from ' const float' to ' temp highp int'
ERROR: 0:7: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.