1. 15 Jan, 2019 2 commits
  2. 14 Jan, 2019 4 commits
  3. 11 Jan, 2019 6 commits
  4. 10 Jan, 2019 8 commits
  5. 09 Jan, 2019 4 commits
  6. 08 Jan, 2019 4 commits
  7. 07 Jan, 2019 1 commit
  8. 06 Jan, 2019 2 commits
  9. 05 Jan, 2019 2 commits
  10. 04 Jan, 2019 2 commits
    • Slightly simplify .def file use. · 9db8df4c
      Nico Weber authored
      From `gn help sources`:
      
        As a special case, a file ending in ".def" will be treated as a Windows
        module definition file. It will be appended to the link line with a
        preceding "/DEF:" string.
      
      This makes the code slightly shorter, and also gives ninja a chance of
      re-running the link when the .def file changes since it now knows about
      this file.
      
      No intended behavior change.
      
      Change-Id: I5fecb22752508880b726482f7c3da5a75180e446
      Reviewed-on: https://chromium-review.googlesource.com/c/1396499Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Nico Weber <thakis@chromium.org>
    • WebGL: validate texture format matches sampler type · e4109f27
      James Darpinian authored
      WebGL requires that drawing produces INVALID_OPERATION if a texture's
      format doesn't match the sampler type it is bound to. This is a little
      confusing because samplers have two attributes that could be called
      "type": addressing mode (2D/3D/Cube), and component format
      (float/signed/unsigned/shadow). ANGLE already handled checking the
      addressing mode; this change adds checking for the component format.
      
      Fixes WebGL conformance test
      conformance2/uniforms/incompatible-texture-type-for-sampler.html
      
      Bug: chromium:809237
      Change-Id: I52ebfecd92625e3ee10274cb5f548d7e53de72dd
      Reviewed-on: https://chromium-review.googlesource.com/c/1377611Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: James Darpinian <jdarpinian@chromium.org>
  11. 03 Jan, 2019 5 commits
    • Cleanups to StripArrayIndices. · 225f08bf
      Jamie Madill authored
      Not picked up in prior review.
      
      Bug: angleproject:3024
      Change-Id: I9dd1ea146996c8ac3569070af0cb12df65f0d815
      Reviewed-on: https://chromium-review.googlesource.com/c/1394570Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Add WGLWindow and WGL test configs. · 1f56ed2a
      Jamie Madill authored
      WGLWindow lets us use a Windows driver's bindings instead of ANGLE.
      This only works if the underlying driver supports OpenGL ES
      compatibility.
      
      Also adds the WGL headers, WGL XML, and a specialized WGL loader.
      
      Because of a small driver issue with NVIDIA I added a retry for the WGL
      Window initialization.
      
      Bug: angleproject:2995
      Change-Id: Ie5148ece470dd03df33015f4919ad1fa79a859ec
      Reviewed-on: https://chromium-review.googlesource.com/c/1366021
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    • Refactor BlockLayoutEncoder APIs for std430. · 4e712be2
      Jamie Madill authored
      This splits HLSL SSBO access into two steps.
      
      First we compute a mapping from the collected SSBO variable names to
      TField pointers. Then during tree traversal we use a block encoding
      visitor class that uses the shader names to store BlockMemberInfo
      structures for the structures and variables. Each nested structure
      is traversed separately so that the BlockMemberInfo offsets are
      relative to the structure start rather than the enclosing block. The
      array stride for a structure is the size of the struct after all the
      alignment is included.
      
      This gives the correct results for the SSBO access chain in the HLSL
      code. It also will allow us to use the same encoding and visiting logic
      for SSBOs on the API side.
      
      Bug: angleproject:3024
      Change-Id: I42b1db0e7547782ae77fe5f64a797f803f203f45
      Reviewed-on: https://chromium-review.googlesource.com/c/1352731
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    • Vulkan: Shader path for framebuffer-to-texture copy · f83a28a6
      Shahbaz Youssefi authored
      Part 1 in a series of changes to perform image copies on the GPU.
      
      Bug: angleproject:2958
      Change-Id: I6264a880865c4738c0866f2dc71af63425fc4118
      Reviewed-on: https://chromium-review.googlesource.com/c/1370724
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: optimize image layout transitions · d7969cdd
      Shahbaz Youssefi authored
      Removes dstAccessMask being redundantly set where
      `GetBasicLayoutAccessFlags()` sets the same bits.  Additionally, removes
      setting HOST_WRITE_BIT and TRANSFER_WRITE_BIT as src access mask if new
      layout is SHADER_READ_ONLY_OPTIMAL.  The correct src access mask will be
      set based on the previous layout.
      
      Additionally, specializes `GetBasicLayoutAccessFlags()` in
      `GetSrcLayoutAccessFlags()` and `GetDstLayoutAccessFlags()` where the
      access mask is set correctly (and optimally) based on whether the layout
      is the old or the new one.  This removes a few unnecessary access masks
      from src (for WAR hazards), and adds a few missing access masks to dst
      (for RAW hazards), such as VK_ACCESS_COLOR_ATTACHMENT_READ_BIT necessary
      for blending.
      
      Bug: angleproject:2958
      Change-Id: I5870bc99c755f0444332418f998032850825aca5
      Reviewed-on: https://chromium-review.googlesource.com/c/1392397Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>