Skip to content
Snippets Groups Projects
  • LoopDawg's avatar
    HLSL: Add conversions for image ops during SPV construction · 4425f245
    LoopDawg authored
    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.
    4425f245