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.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| CMakeLists.txt | Loading commit data... | |
| GLSL.ext.AMD.h | Loading commit data... | |
| GLSL.ext.EXT.h | Loading commit data... | |
| GLSL.ext.KHR.h | Loading commit data... | |
| GLSL.ext.NV.h | Loading commit data... | |
| GLSL.std.450.h | Loading commit data... | |
| GlslangToSpv.cpp | Loading commit data... | |
| GlslangToSpv.h | Loading commit data... | |
| InReadableOrder.cpp | Loading commit data... | |
| Logger.cpp | Loading commit data... | |
| Logger.h | Loading commit data... | |
| SPVRemapper.cpp | Loading commit data... | |
| SPVRemapper.h | Loading commit data... | |
| SpvBuilder.cpp | Loading commit data... | |
| SpvBuilder.h | Loading commit data... | |
| bitutils.h | Loading commit data... | |
| disassemble.cpp | Loading commit data... | |
| disassemble.h | Loading commit data... | |
| doc.cpp | Loading commit data... | |
| doc.h | Loading commit data... | |
| hex_float.h | Loading commit data... | |
| spirv.hpp | Loading commit data... | |
| spvIR.h | Loading commit data... |