23662668dd
Speculate that we can modify the SSA value in-place. As long as it is not used after the modify, this is fine. Also need to make sure we don't attempt to RMW something that is impossible to modify.
26 lines
525 B
Plaintext
26 lines
525 B
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct SSBO
|
|
{
|
|
float4 out_data[1];
|
|
};
|
|
|
|
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
|
|
|
|
constant float4 _53 = {};
|
|
|
|
kernel void main0(device SSBO& _27 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
|
|
{
|
|
float4 _46;
|
|
_46.x = 10.0;
|
|
_46.y = 30.0;
|
|
_46.z = 70.0;
|
|
_46.w = 90.0;
|
|
_27.out_data[gl_GlobalInvocationID.x] = _46;
|
|
((device float*)&_27.out_data[gl_GlobalInvocationID.x])[1u] = 20.0;
|
|
}
|
|
|