103817009c
Writable textures cannot use argument buffers on iOS. They must be passed as arguments directly to the shader function. Since we won't know if a given storage image will have the `NonWritable` decoration at the time we encode the argument buffer, we must therefore pass all storage images as discrete arguments. Previously, we were throwing an error if we encountered an argument buffer with a writable texture in it on iOS.
12 lines
363 B
Plaintext
12 lines
363 B
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
kernel void main0(texture2d<float, access::write> uImage [[texture(0)]], texture2d<float> uImageRead [[texture(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
|
|
{
|
|
int2 coord = int2(gl_GlobalInvocationID.xy);
|
|
uImage.write(uImageRead.read(uint2(coord)), uint2(coord));
|
|
}
|
|
|