GLSL: implement image format qualifiers for storage textures.

Bug: tint:1397
Change-Id: Ifd6870b3e7cba151c361bd21f9d3d42642ff6c26
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78060
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
Stephen White
2022-01-25 19:20:04 +00:00
committed by Tint LUCI CQ
parent b9d1540b31
commit fc792989e1
164 changed files with 1149 additions and 527 deletions

View File

@@ -3,7 +3,7 @@ SKIP: FAILED
#version 310 es
precision mediump float;
uniform highp writeonly image1D x_20_1;
layout(r32f) uniform highp writeonly image1D x_20_1;
void main_1() {
float float_var = 0.0f;
@@ -35,6 +35,7 @@ void main() {
Error parsing GLSL shader:
ERROR: 0:4: 'image1D' : Reserved word.
WARNING: 0:4: 'layout' : useless application of layout qualifier
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -0,0 +1,41 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(rg32f) uniform highp writeonly image2D x_20_1;
void main_1() {
float f1 = 1.0f;
vec2 vf12 = vec2(1.0f, 2.0f);
vec3 vf123 = vec3(1.0f, 2.0f, 3.0f);
vec4 vf1234 = vec4(1.0f, 2.0f, 3.0f, 4.0f);
int i1 = 1;
ivec2 vi12 = ivec2(1, 2);
ivec3 vi123 = ivec3(1, 2, 3);
ivec4 vi1234 = ivec4(1, 2, 3, 4);
uint u1 = 1u;
uvec2 vu12 = uvec2(1u, 2u);
uvec3 vu123 = uvec3(1u, 2u, 3u);
uvec4 vu1234 = uvec4(1u, 2u, 3u, 4u);
ivec2 offsets2d = ivec2(3, 4);
imageStore(x_20_1, vi12, vec4(vf12, 0.0f, 0.0f));
return;
}
void tint_symbol() {
main_1();
return;
}
void main() {
tint_symbol();
}
Error parsing GLSL shader:
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -0,0 +1,41 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(rg32f) uniform highp writeonly image2D x_20_1;
void main_1() {
float f1 = 1.0f;
vec2 vf12 = vec2(1.0f, 2.0f);
vec3 vf123 = vec3(1.0f, 2.0f, 3.0f);
vec4 vf1234 = vec4(1.0f, 2.0f, 3.0f, 4.0f);
int i1 = 1;
ivec2 vi12 = ivec2(1, 2);
ivec3 vi123 = ivec3(1, 2, 3);
ivec4 vi1234 = ivec4(1, 2, 3, 4);
uint u1 = 1u;
uvec2 vu12 = uvec2(1u, 2u);
uvec3 vu123 = uvec3(1u, 2u, 3u);
uvec4 vu1234 = uvec4(1u, 2u, 3u, 4u);
ivec2 offsets2d = ivec2(3, 4);
imageStore(x_20_1, vi12, vec4(vf123, 0.0f));
return;
}
void tint_symbol() {
main_1();
return;
}
void main() {
tint_symbol();
}
Error parsing GLSL shader:
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -0,0 +1,41 @@
SKIP: FAILED
#version 310 es
precision mediump float;
layout(rg32f) uniform highp writeonly image2D x_20_1;
void main_1() {
float f1 = 1.0f;
vec2 vf12 = vec2(1.0f, 2.0f);
vec3 vf123 = vec3(1.0f, 2.0f, 3.0f);
vec4 vf1234 = vec4(1.0f, 2.0f, 3.0f, 4.0f);
int i1 = 1;
ivec2 vi12 = ivec2(1, 2);
ivec3 vi123 = ivec3(1, 2, 3);
ivec4 vi1234 = ivec4(1, 2, 3, 4);
uint u1 = 1u;
uvec2 vu12 = uvec2(1u, 2u);
uvec3 vu123 = uvec3(1u, 2u, 3u);
uvec4 vu1234 = uvec4(1u, 2u, 3u, 4u);
ivec2 offsets2d = ivec2(3, 4);
imageStore(x_20_1, vi12, vf1234);
return;
}
void tint_symbol() {
main_1();
return;
}
void main() {
tint_symbol();
}
Error parsing GLSL shader:
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -3,7 +3,7 @@ SKIP: FAILED
#version 310 es
precision mediump float;
uniform highp writeonly image1D x_20_1;
layout(r32f) uniform highp writeonly image1D x_20_1;
void main_1() {
float float_var = 0.0f;
@@ -35,6 +35,7 @@ void main() {
Error parsing GLSL shader:
ERROR: 0:4: 'image1D' : Reserved word.
WARNING: 0:4: 'layout' : useless application of layout qualifier
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -3,7 +3,7 @@ SKIP: FAILED
#version 310 es
precision mediump float;
uniform highp writeonly image1D x_20_1;
layout(rg32f) uniform highp writeonly image1D x_20_1;
void main_1() {
imageStore(x_20_1, int(1u), vec4(0.0f, 0.0f, 0.0f, 0.0f));
@@ -20,7 +20,7 @@ void main() {
Error parsing GLSL shader:
ERROR: 0:4: 'image1D' : Reserved word.
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@@ -1,7 +1,5 @@
SKIP: FAILED
warning: integral user-defined fragment inputs must have a flat interpolation attribute
warning: integral user-defined fragment inputs must have a flat interpolation attribute
#version 310 es
precision mediump float;