1*c8dee2aaSAndroid Build Coastguard Worker#include <metal_stdlib> 2*c8dee2aaSAndroid Build Coastguard Worker#include <simd/simd.h> 3*c8dee2aaSAndroid Build Coastguard Worker#ifdef __clang__ 4*c8dee2aaSAndroid Build Coastguard Worker#pragma clang diagnostic ignored "-Wall" 5*c8dee2aaSAndroid Build Coastguard Worker#endif 6*c8dee2aaSAndroid Build Coastguard Workerusing namespace metal; 7*c8dee2aaSAndroid Build Coastguard Workerstruct Uniforms { 8*c8dee2aaSAndroid Build Coastguard Worker float4 sk_RTAdjust; 9*c8dee2aaSAndroid Build Coastguard Worker}; 10*c8dee2aaSAndroid Build Coastguard Workerstruct Inputs { 11*c8dee2aaSAndroid Build Coastguard Worker float4 pos [[attribute(0)]]; 12*c8dee2aaSAndroid Build Coastguard Worker}; 13*c8dee2aaSAndroid Build Coastguard Workerstruct Outputs { 14*c8dee2aaSAndroid Build Coastguard Worker float4 sk_Position [[position]]; 15*c8dee2aaSAndroid Build Coastguard Worker float sk_PointSize [[point_size]]; 16*c8dee2aaSAndroid Build Coastguard Worker}; 17*c8dee2aaSAndroid Build Coastguard Workervertex Outputs vertexMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], uint sk_VertexID [[vertex_id]], uint sk_InstanceID [[instance_id]]) { 18*c8dee2aaSAndroid Build Coastguard Worker Outputs _out; 19*c8dee2aaSAndroid Build Coastguard Worker (void)_out; 20*c8dee2aaSAndroid Build Coastguard Worker _out.sk_Position = _in.pos; 21*c8dee2aaSAndroid Build Coastguard Worker _out.sk_Position = float4(_out.sk_Position.xy * _uniforms.sk_RTAdjust.xz + _out.sk_Position.ww * _uniforms.sk_RTAdjust.yw, 0.0, _out.sk_Position.w); 22*c8dee2aaSAndroid Build Coastguard Worker return _out; 23*c8dee2aaSAndroid Build Coastguard Worker} 24