36 lines
1.2 KiB
Plaintext
36 lines
1.2 KiB
Plaintext
|
#include <metal_stdlib>
|
||
|
#include <simd/simd.h>
|
||
|
|
||
|
using namespace metal;
|
||
|
|
||
|
struct SSBO
|
||
|
{
|
||
|
int values[1];
|
||
|
};
|
||
|
|
||
|
constant int A_tmp [[function_constant(0)]];
|
||
|
constant int A = is_function_constant_defined(A_tmp) ? A_tmp : 0;
|
||
|
constant int A_1_tmp [[function_constant(1)]];
|
||
|
constant int A_1 = is_function_constant_defined(A_1_tmp) ? A_1_tmp : 1;
|
||
|
constant int A_2_tmp [[function_constant(2)]];
|
||
|
constant int A_2 = is_function_constant_defined(A_2_tmp) ? A_2_tmp : 2;
|
||
|
constant int A_3_tmp [[function_constant(3)]];
|
||
|
constant int A_3 = is_function_constant_defined(A_3_tmp) ? A_3_tmp : 3;
|
||
|
constant int A_4_tmp [[function_constant(4)]];
|
||
|
constant int A_4 = is_function_constant_defined(A_4_tmp) ? A_4_tmp : 4;
|
||
|
constant int A_5_tmp [[function_constant(5)]];
|
||
|
constant int A_5 = is_function_constant_defined(A_5_tmp) ? A_5_tmp : 5;
|
||
|
constant int A_6 = (A - A_1);
|
||
|
constant int A_7 = (A_6 - A_2);
|
||
|
constant int A_8 = (A_7 - A_3);
|
||
|
constant int A_9 = (A_8 - A_4);
|
||
|
constant int A_10 = (A_9 - A_5);
|
||
|
constant int A_11 = (A_10 + A_5);
|
||
|
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
|
||
|
|
||
|
kernel void main0(device SSBO& _5 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
|
||
|
{
|
||
|
_5.values[gl_GlobalInvocationID.x] = A_11;
|
||
|
}
|
||
|
|