1. 16 Oct, 2017 4 commits
  2. 13 Oct, 2017 1 commit
  3. 11 Oct, 2017 1 commit
  4. 10 Oct, 2017 5 commits
  5. 08 Oct, 2017 1 commit
  6. 07 Oct, 2017 6 commits
  7. 06 Oct, 2017 6 commits
  8. 04 Oct, 2017 3 commits
  9. 03 Oct, 2017 1 commit
  10. 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
  11. 30 Sep, 2017 2 commits
  12. 29 Sep, 2017 7 commits
  13. 28 Sep, 2017 1 commit
    • HLSL: force textures to shadow modes from combined samplers · 195f584e
      LoopDawg authored
      Texture shadow mode must match the state of the sampler they are
      combined with.  This change does that, both for the AST and the
      symbol table.  Note that the texture cannot easily be *created*
      the right way, because this may not be known at that time.  Instead,
      the texture is subsequently patched.
      
      This cannot work if a single texture is used with both a shadow and
      non-shadow sampler, so that case is detected and generates an error.
      This is permitted by the HLSL language, however.  See #1073 discussion.
      
      Fixed one test source that was using a texture with both shadow and
      non-shadow samplers.