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.subpass.frag
Find file
BlameHistoryPermalink
  • LoopDawg's avatar
    HLSL: add subpass input types and methods · 7f93d56e
    LoopDawg authored Sep 27, 2017
    Add support for Subpass Input proposal of issue #1069.
    
    Subpass input types are given as:
    
        layout(input_attachment_index = 1) SubpassInput<float4> subpass_f;
        layout(input_attachment_index = 2) SubpassInput<int4>   subpass_i;
        layout(input_attachment_index = 3) SubpassInput<uint4>  subpass_u;
    
        layout(input_attachment_index = 1) SubpassInputMS<float4> subpass_ms_f;
        layout(input_attachment_index = 2) SubpassInputMS<int4>   subpass_ms_i;
        layout(input_attachment_index = 3) SubpassInputMS<uint4>  subpass_ms_u;
    
    The input attachment may also be specified using attribute syntax:
    
        [[vk::input_attachment_index(7)]] SubpassInput subpass_2;
    
    The template type may be a shorter-than-vec4 vector, but currently user
    structs are not supported.  (An unimplemented error will be issued).
    
    The load operations are methods on objects of the above type:
    
        float4 result = subpass_f.SubpassLoad();
        int4   result = subpass_i.SubpassLoad();
        uint4  result = subpass_u.SubpassLoad();
    
        float4 result = subpass_ms_f.SubpassLoad(samp);
        int4   result = subpass_ms_i.SubpassLoad(samp);
        uint4  result = subpass_ms_u.SubpassLoad(samp);
    
    Additionally, the AST printer could not print EOpSubpass* nodes.  Now it can.
    
    Fixes #1069
    7f93d56e
hlsl.subpass.frag 4.04 KB
EditWeb IDE
×

Replace hlsl.subpass.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.