Rebel Fork Framework
|
Limited GPU compute capability is exposed through the Compute Device class. Compute is currently only available on desktop targets.
The interface for compute is raw and expects the caller to perform all setup, manage constant buffers, as well as textures and even fetch the shader variations oneself.
Notably compute provides a clean means to directly write into texture layers and mipmaps which is of value for filtering tasks. Currently the only supported write-targets are images which must be of the RGBA8, RGBA16F, RGBA32F, or R32F formats to allow writing.
Due to OpenGL image-unit space sharing it's recommend that D3D11 UAV registers do not overlap with texture and sampler registers so that the same C++/C# code can be used regardless of the underlying backend.
In the above code the image-units for myTex
and myWriteTexture
overlap. The ideal situation is: