mc-imperial / spirv-control-flow

Formal modelling of SPIR-V control flow using Alloy
Apache License 2.0
2 stars 0 forks source link

'buffer' attribute parameter is out of bounds: must be between 0 and 30 #17

Closed vili-1 closed 2 years ago

vili-1 commented 2 years ago

For three fleshed examples coming from the Vulkan CTS (see here), the following error is returned:

xcrun -sdk macosx metal -c s207_test_0_4286858354608860846.metal -o s207_test_0_4286858354608860846.air
s207_test_0_4286858354608860846.metal:26:994: error: 
      'buffer' attribute parameter is out of bounds: must be between 0 and 30
  ..._19 [[buffer(29)]], device _6& _10 [[buffer(30)]], device _8& _41 [[buffer(31)]])
                                                                                ^
1 error generated.

These are the three .metal files returning the compilation error in question:

s207_test_0_4286858354608860846.metal
s207_test_0_4668013226902027755.metal
s207_test_0_776553494991665668.metal

Attached one of them: Archive.zip

afd commented 2 years ago

Interesting - my guess is that Metal must place a limit on the number of buffers that it is legal to declare and we are exceeding that limit.

I suggest we ignore this particular error message.

@Jack-Clark for info.