glslang/Test/hlsl.imagefetch-subvec4.comp
LoopDawg 4425f245a5 HLSL: Add conversions for image ops during SPV construction
HLSL allows image and texture types to be templatized on sub-vec4 types,
or even structures.  This was mostly handled already during creation of
sampling operations.  However, for operator[] which can generate image
loads, this wasn't happening.

It also isn't very easy to do at that point in time, because operator[]
does not know where the results it produces will end up.  They may be
an lvalue or an rvalue, and there's a post-process to convert loads to
stores.  They may end up in atomic ops.

To bypass that difficulty, GlslangToSpv now looks for this case and
adds the appropriate conversion.  LIMITATION: this only works for
cases for which a simple conversion opcode suffices.  That is to say,
it will not work if the type is templatized on a struct.
2018-02-18 13:13:36 -07:00

9 lines
161 B
Plaintext

Texture3D<int> IN: register(t0);
RWTexture3D<uint> OUT: register(u1);
[numthreads(8,8,8)]
void main(uint3 tid: SV_DispatchThreadID)
{
OUT[tid] = IN[tid];
}