mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-31 19:51:24 +00:00
This CL adds the parsing of structs with names. The parsing of type aliased structs remains to allow for migration to the new system. The named struct format is always emitted. Bug: tint:175 Change-Id: Ic0579dedbd2dd0edc7dfd30bc2ec02972091e718 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/30341 Commit-Queue: dan sinclair <dsinclair@chromium.org> Reviewed-by: David Neto <dneto@google.com>
43 lines
1.3 KiB
WebGPU Shading Language
43 lines
1.3 KiB
WebGPU Shading Language
# Copyright 2020 The Tint Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Vertex shader
|
|
[[block]] struct Uniforms {
|
|
[[offset(0)]] modelViewProjectionMatrix : mat4x4<f32>;
|
|
};
|
|
|
|
[[binding(0), set(0)]] var<uniform> uniforms : Uniforms;
|
|
|
|
[[location(0)]] var<in> cur_position : vec4<f32>;
|
|
[[location(1)]] var<in> color : vec4<f32>;
|
|
[[location(0)]] var<out> vtxFragColor : vec4<f32>;
|
|
[[builtin(position)]] var<out> Position : vec4<f32>;
|
|
|
|
[[stage(vertex)]]
|
|
fn vtx_main() -> void {
|
|
Position = uniforms.modelViewProjectionMatrix * cur_position;
|
|
vtxFragColor = color;
|
|
return;
|
|
}
|
|
|
|
# Fragment shader
|
|
[[location(0)]] var<in> fragColor : vec4<f32>;
|
|
[[location(0)]] var<out> outColor : vec4<f32>;
|
|
|
|
[[stage(fragment)]]
|
|
fn frag_main() -> void {
|
|
outColor = fragColor;
|
|
return;
|
|
}
|