06ef3de002
Fixes the CTS test `dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_constant_composite` and helps with another, `dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_spec_constant_composite`. Unfortunately, fixing the latter requires another change.
29 lines
438 B
Plaintext
29 lines
438 B
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct _20
|
|
{
|
|
int _m0;
|
|
int _m1;
|
|
};
|
|
|
|
struct _5
|
|
{
|
|
int _m0[10];
|
|
};
|
|
|
|
struct _7
|
|
{
|
|
int _m0[10];
|
|
};
|
|
|
|
constant int _28 = {};
|
|
|
|
kernel void main0(device _5& _6 [[buffer(0)]], device _7& _8 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
|
|
{
|
|
_6._m0[gl_GlobalInvocationID.x] = _8._m0[gl_GlobalInvocationID.x] + (_20{ _28, 200 })._m1;
|
|
}
|
|
|