Hooking them up is tricky because writable textures don't have either default constructors or copy assignment operators in High Sierra. Therefore, we can probably model RWTextures under the "logical mode" restrictions.
Created attachment 372411 [details]
Turns out writable textures aren’t supported in argument buffers. https://developer.apple.com/documentation/metal/buffers/about_argument_buffers?language=objc
We probably need a hybrid approach where some resources are put in argument buffers and some are attached directly.
Also, MSL doesn't support putting RWTextures in tier 1 hardware, meaning we'll have to demote them to regular arguments.
WHLSL is no longer relevant.