mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-10 07:05:54 +00:00
Dynamic indexes are limited to references to matrices and arrays https://github.com/gpuweb/gpuweb/pull/1801 Bug: tint:867 Change-Id: I114daa053c8a4ffd23ce784ac4538567a551cc21 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54701 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Auto-Submit: Sarah Mashayekhi <sarahmashay@google.com>
25 lines
886 B
WebGPU Shading Language
25 lines
886 B
WebGPU Shading Language
struct Output {
|
|
[[builtin(position)]] Position : vec4<f32>;
|
|
[[location(0)]] color : vec4<f32>;
|
|
};
|
|
[[stage(vertex)]] fn main(
|
|
[[builtin(vertex_index)]] VertexIndex : u32,
|
|
[[builtin(instance_index)]] InstanceIndex : u32) -> Output {
|
|
// TODO: remove workaround for Tint unary array access broke
|
|
var zv : array<vec2<f32>, 4> = array<vec2<f32>, 4>(
|
|
vec2<f32>(0.2, 0.2),
|
|
vec2<f32>(0.3, 0.3),
|
|
vec2<f32>(-0.1, -0.1),
|
|
vec2<f32>(1.1, 1.1));
|
|
let z : f32 = zv[InstanceIndex].x;
|
|
var output : Output;
|
|
output.Position = vec4<f32>(0.5, 0.5, z, 1.0);
|
|
var colors : array<vec4<f32>, 4> = array<vec4<f32>, 4>(
|
|
vec4<f32>(1.0, 0.0, 0.0, 1.0),
|
|
vec4<f32>(0.0, 1.0, 0.0, 1.0),
|
|
vec4<f32>(0.0, 0.0, 1.0, 1.0),
|
|
vec4<f32>(1.0, 1.0, 1.0, 1.0)
|
|
);
|
|
output.color = colors[InstanceIndex];
|
|
return output;
|
|
} |