mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 08:13:27 +00:00
38 lines
830 B
Plaintext
38 lines
830 B
Plaintext
// language: metal1.0
|
|
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using metal::uint;
|
|
|
|
struct OurVertexShaderOutput {
|
|
metal::float4 position;
|
|
metal::float2 texcoord;
|
|
};
|
|
|
|
struct vsInput {
|
|
metal::float2 xy [[attribute(0)]];
|
|
};
|
|
struct vsOutput_1 {
|
|
metal::float4 position [[position]];
|
|
metal::float2 texcoord [[user(loc0), center_perspective]];
|
|
};
|
|
vertex vsOutput_1 vs(
|
|
vsInput varyings [[stage_in]]
|
|
) {
|
|
const auto xy = varyings.xy;
|
|
OurVertexShaderOutput vsOutput = {};
|
|
vsOutput.position = metal::float4(xy, 0.0, 1.0);
|
|
OurVertexShaderOutput _e6 = vsOutput;
|
|
const auto _tmp = _e6;
|
|
return vsOutput_1 { _tmp.position, _tmp.texcoord };
|
|
}
|
|
|
|
|
|
struct fsOutput {
|
|
metal::float4 member_1 [[color(0)]];
|
|
};
|
|
fragment fsOutput fs(
|
|
) {
|
|
return fsOutput { metal::float4(1.0, 0.0, 0.0, 1.0) };
|
|
}
|