Skip to content

Commit 3a1cac2

Browse files
committed
Split spvLoadVertex call across multiple lines
1 parent 7d58bbd commit 3a1cac2

11 files changed

+78
-36
lines changed

reference/opt/shaders-msl/vert/attrs.vertex-loader.dynamic-stride.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8080
vertex main0_out main0(device const uchar* spvVertexBuffer0 [[buffer(0)]], device const uchar* spvVertexBuffer1 [[buffer(1)]], device const uchar* spvVertexBuffer2 [[buffer(2)]], device const uchar* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]], const device uint* spvVertexStrides [[buffer(19)]])
8181
{
8282
main0_out out = {};
83-
main0_in in = spvLoadVertex(*reinterpret_cast<device const spvVertexData0*>(spvVertexBuffer0 + spvVertexStrides[0] * gl_InstanceIndex), *reinterpret_cast<device const spvVertexData1*>(spvVertexBuffer1 + spvVertexStrides[1] * gl_VertexIndex), *reinterpret_cast<device const spvVertexData2*>(spvVertexBuffer2 + spvVertexStrides[2] * gl_BaseInstance), *reinterpret_cast<device const spvVertexData3*>(spvVertexBuffer3 + spvVertexStrides[3] * (gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4)));
83+
main0_in in = spvLoadVertex(*reinterpret_cast<device const spvVertexData0*>(spvVertexBuffer0 + spvVertexStrides[0] * gl_InstanceIndex),
84+
*reinterpret_cast<device const spvVertexData1*>(spvVertexBuffer1 + spvVertexStrides[1] * gl_VertexIndex),
85+
*reinterpret_cast<device const spvVertexData2*>(spvVertexBuffer2 + spvVertexStrides[2] * gl_BaseInstance),
86+
*reinterpret_cast<device const spvVertexData3*>(spvVertexBuffer3 + spvVertexStrides[3] * (gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4)));
8487
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8588
return out;
8689
}

reference/opt/shaders-msl/vert/attrs.vertex-loader.for-tess.index-u16.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ kernel void main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], d
8888
uint gl_BaseVertex = spvDispatchBase.x;
8989
uint gl_InstanceIndex = gl_GlobalInvocationID.y + spvDispatchBase.y;
9090
uint gl_BaseInstance = spvDispatchBase.y;
91-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
91+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
92+
spvVertexBuffer1[gl_VertexIndex],
93+
spvVertexBuffer2[gl_BaseInstance],
94+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
9295
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
9396
}
9497

reference/opt/shaders-msl/vert/attrs.vertex-loader.msl23.pixel-loads.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
7171
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
7272
{
7373
main0_out out = {};
74-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
74+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
75+
spvVertexBuffer1[gl_VertexIndex],
76+
spvVertexBuffer2[gl_BaseInstance],
77+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
7578
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
7679
return out;
7780
}

reference/opt/shaders-msl/vert/attrs.vertex-loader.msl23.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8282
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
8383
{
8484
main0_out out = {};
85-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
85+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
86+
spvVertexBuffer1[gl_VertexIndex],
87+
spvVertexBuffer2[gl_BaseInstance],
88+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
8689
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8790
return out;
8891
}

reference/opt/shaders-msl/vert/attrs.vertex-loader.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8282
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
8383
{
8484
main0_out out = {};
85-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
85+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
86+
spvVertexBuffer1[gl_VertexIndex],
87+
spvVertexBuffer2[gl_BaseInstance],
88+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
8689
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8790
return out;
8891
}

reference/shaders-msl/vert/attrs.vertex-loader.dynamic-stride.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8080
vertex main0_out main0(device const uchar* spvVertexBuffer0 [[buffer(0)]], device const uchar* spvVertexBuffer1 [[buffer(1)]], device const uchar* spvVertexBuffer2 [[buffer(2)]], device const uchar* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]], const device uint* spvVertexStrides [[buffer(19)]])
8181
{
8282
main0_out out = {};
83-
main0_in in = spvLoadVertex(*reinterpret_cast<device const spvVertexData0*>(spvVertexBuffer0 + spvVertexStrides[0] * gl_InstanceIndex), *reinterpret_cast<device const spvVertexData1*>(spvVertexBuffer1 + spvVertexStrides[1] * gl_VertexIndex), *reinterpret_cast<device const spvVertexData2*>(spvVertexBuffer2 + spvVertexStrides[2] * gl_BaseInstance), *reinterpret_cast<device const spvVertexData3*>(spvVertexBuffer3 + spvVertexStrides[3] * (gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4)));
83+
main0_in in = spvLoadVertex(*reinterpret_cast<device const spvVertexData0*>(spvVertexBuffer0 + spvVertexStrides[0] * gl_InstanceIndex),
84+
*reinterpret_cast<device const spvVertexData1*>(spvVertexBuffer1 + spvVertexStrides[1] * gl_VertexIndex),
85+
*reinterpret_cast<device const spvVertexData2*>(spvVertexBuffer2 + spvVertexStrides[2] * gl_BaseInstance),
86+
*reinterpret_cast<device const spvVertexData3*>(spvVertexBuffer3 + spvVertexStrides[3] * (gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4)));
8487
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8588
return out;
8689
}

reference/shaders-msl/vert/attrs.vertex-loader.for-tess.index-u16.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ kernel void main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], d
8888
uint gl_BaseVertex = spvDispatchBase.x;
8989
uint gl_InstanceIndex = gl_GlobalInvocationID.y + spvDispatchBase.y;
9090
uint gl_BaseInstance = spvDispatchBase.y;
91-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
91+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
92+
spvVertexBuffer1[gl_VertexIndex],
93+
spvVertexBuffer2[gl_BaseInstance],
94+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
9295
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
9396
}
9497

reference/shaders-msl/vert/attrs.vertex-loader.msl23.pixel-loads.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
7171
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
7272
{
7373
main0_out out = {};
74-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
74+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
75+
spvVertexBuffer1[gl_VertexIndex],
76+
spvVertexBuffer2[gl_BaseInstance],
77+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
7578
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
7679
return out;
7780
}

reference/shaders-msl/vert/attrs.vertex-loader.msl23.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8282
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
8383
{
8484
main0_out out = {};
85-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
85+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
86+
spvVertexBuffer1[gl_VertexIndex],
87+
spvVertexBuffer2[gl_BaseInstance],
88+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
8689
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8790
return out;
8891
}

reference/shaders-msl/vert/attrs.vertex-loader.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ main0_in spvLoadVertex(const device spvVertexData0& data0, const device spvVerte
8282
vertex main0_out main0(device const spvVertexData0* spvVertexBuffer0 [[buffer(0)]], device const spvVertexData1* spvVertexBuffer1 [[buffer(1)]], device const spvVertexData2* spvVertexBuffer2 [[buffer(2)]], device const spvVertexData3* spvVertexBuffer3 [[buffer(3)]], uint gl_VertexIndex [[vertex_id]], uint gl_BaseVertex [[base_vertex]], uint gl_InstanceIndex [[instance_id]], uint gl_BaseInstance [[base_instance]])
8383
{
8484
main0_out out = {};
85-
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex], spvVertexBuffer1[gl_VertexIndex], spvVertexBuffer2[gl_BaseInstance], spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
85+
main0_in in = spvLoadVertex(spvVertexBuffer0[gl_InstanceIndex],
86+
spvVertexBuffer1[gl_VertexIndex],
87+
spvVertexBuffer2[gl_BaseInstance],
88+
spvVertexBuffer3[gl_BaseInstance + (gl_InstanceIndex - gl_BaseInstance) / 4]);
8689
out.gl_Position = ((((((in.a0 + in.a1) + in.a3) + in.a4) + in.a5) + in.a6) + float4(float(in.a7))) + in.a8;
8790
return out;
8891
}

0 commit comments

Comments
 (0)