1. 10 Oct, 2017 1 commit
    • HLSL: add helper access methods to TAttributeMap · 52c087ff
      LoopDawg authored
      There was some code replication around getting string and integer
      values out of an attribute map.  This adds new methods to the
      TAttributeMap class to encapsulate some accessor details.
  2. 07 Oct, 2017 5 commits
  3. 06 Oct, 2017 6 commits
  4. 04 Oct, 2017 3 commits
  5. 03 Oct, 2017 1 commit
  6. 02 Oct, 2017 2 commits
    • Merge pull request #1075 from LoopDawg/subpass-input · 24919659
      John Kessenich authored
      HLSL: add subpass input types and methods
    • HLSL: add subpass input types and methods · 7f93d56e
      LoopDawg authored
      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
  7. 30 Sep, 2017 2 commits
  8. 29 Sep, 2017 7 commits
  9. 28 Sep, 2017 4 commits
  10. 27 Sep, 2017 8 commits
  11. 26 Sep, 2017 1 commit