skia2/tests/sksl/shared/GeometryNoGSInvocationsReorder.geom
Brian Osman 5d08a27530 Add geometry shader test demonstrating max_vertices/invocations bug
Declaring max_vertices before invocations fails to adjust max_vertices
when invocation support is not present. (It should be 4, not 2 in this
case).

Bug: skia:10827
Change-Id: Ief7af97eabf5414ea8363808fc1ad2e9c480fe10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325664
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-10-12 21:19:33 +00:00

21 lines
577 B
GLSL

/*#pragma settings NoGSInvocationsSupport*/
layout(points) in;
// Subtle error: Declaring max_vertices before invocations causes us not to
// apply the workaround fixup to max_vertices. It *should* be 4 (2*2) in the
// GLSL, but is currently only 2. (skbug.com/10827)
layout(line_strip, max_vertices = 2) out;
layout(invocations = 2) in;
void test() {
sk_Position = sk_in[0].sk_Position + float4(0.5, 0, 0, sk_InvocationID);
EmitVertex();
}
void main() {
test();
sk_Position = sk_in[0].sk_Position + float4(-0.5, 0, 0, sk_InvocationID);
EmitVertex();
}