Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
G
glslang
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • glslang
  • Repository

Switch branch/tag
  • glslang
  • Test
  • hlsl.matpack-1.frag
Find file
BlameHistoryPermalink
  • LoopDawg's avatar
    HLSL: fix qualifier propagation from user struct types to block definitions. · 898f5fbe
    LoopDawg authored Aug 04, 2017
    The HLSL FE tracks four versions of a declared type to avoid losing information, since it
    is not (at type-decl time) known how the type will be used downstream.  If such a type
    was used in a cbuffer declaration, the cbuffer type's members should have been using
    the uniform form of the original user structure type, but were not.
    
    This would manifest as matrix qualifiers (and other things, such as pack offsets) on user struct
    members going missing in the SPIR-V module if the struct type was a member of a cbuffer, like so:
    
        struct MyBuffer
        {
            row_major float4x4 mat1;
            column_major float4x4 mat2;
        };
    
        cbuffer Example
        {
            MyBuffer g_MyBuffer;
        };
    
    Fixes: #789
    898f5fbe
hlsl.matpack-1.frag 435 Bytes
EditWeb IDE
×

Replace hlsl.matpack-1.frag

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.