unplugged-system/external/skia/tests/sksl/metal/StorageBufferVertex.metal

24 lines
687 B
Metal

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct Inputs {
};
struct Outputs {
float4 sk_Position [[position]];
float sk_PointSize [[point_size]];
};
struct storageBuffer {
float2 vertices[1];
};
struct Globals {
const device storageBuffer* _anonInterface0;
};
vertex Outputs vertexMain(Inputs _in [[stage_in]], const device storageBuffer& _anonInterface0 [[buffer(0)]], uint sk_VertexID [[vertex_id]], uint sk_InstanceID [[instance_id]]) {
Globals _globals{&_anonInterface0};
(void)_globals;
Outputs _out;
(void)_out;
_out.sk_Position = float4(_globals._anonInterface0->vertices[sk_VertexID], 1.0, 1.0);
return _out;
}