1. 22 Mar, 2016 1 commit
  2. 25 Feb, 2016 2 commits
    • D3D11 Texture refactoring: Add ANGLEFormat enumeration to C++ code · 11505601
      Olli Etuaho authored
      Texture formats that are internal to ANGLE can now be uniquely identified
      using the ANGLEFormat enum.
      
      GetANGLEFormatInfo returns a structure with the DXGI texture formats
      associated with the ANGLE format.
      
      For starters, the ANGLEFormat enum is used when building texture info
      structures queried from GetTextureFormatInfo.
      
      BUG=angleproject:1244
      TEST=angle_end2end_tests
      
      Change-Id: I58a2027a1d9b7a5621f943cc5ceeb88a858009e3
      Reviewed-on: https://chromium-review.googlesource.com/328254Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • D3D11: Enable dirty bits for Framebuffer11. · 1fbc59fe
      Jamie Madill authored
      This patch works using a notification scheme - whenever a Texture or
      Renderbuffer changes in such a way as to recreate its RenderTarget, we
      pass a signal to the Framebuffer to invalidate some internal state.
      Everything is entirely tracked in the Renderer11 layer, and the GL
      layer is left untouched.
      
      A RenderTarget11 now tracks points to which it is bound, and the
      Framebuffer11 is mostly responsible for managing those links.
      
      The three locations where we notify a Framebuffer when its bound
      RenderTargets might be dirty are:
      
       1) RenderTarget11::~RenderTarget
       2) EGLImageD3D::copyToLocalRendertarget
       3) TextureStorage11_2D::useLevelZeroWorkaroundTexture
      
      This patch gives about a 10% score increase in the D3D11 draw call
      benchmark on my system.
      
      BUG=angleproject:1260
      
      Change-Id: Ide38aeadff4a2681bf5bd685e8ca3c9e2612a380
      Reviewed-on: https://chromium-review.googlesource.com/327255Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
  3. 24 Feb, 2016 2 commits
  4. 23 Feb, 2016 6 commits
  5. 22 Feb, 2016 5 commits
  6. 19 Feb, 2016 1 commit
  7. 18 Feb, 2016 5 commits
  8. 17 Feb, 2016 1 commit
  9. 15 Feb, 2016 2 commits
    • Use texture base level to implement textureSize on D3D11 HLSL · bce743ab
      Olli Etuaho authored
      HLSL GetDimensions call doesn't take the texture base level into account,
      so ANGLE needs to use the texture base level passed in uniforms to
      emulate ESSL textureSize() which does take it into account.
      
      After this change the relevant dEQP tests pass on NVIDIA, Intel is still
      suffering from an issue where a wrong value is returned when the lod
      is > 0 (tested on Intel HD Graphics 4600). AMD is also suffering from an
      unknown issue.
      
      BUG=angleproject:596
      TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
           (all pass on NVIDIA now), angle_end2end_tests
      
      Change-Id: I13e33d126008ecdf2b89461a3fb5040949cf19e2
      Reviewed-on: https://chromium-review.googlesource.com/322123Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Pass texture base level to shaders on D3D11 · 618bebcd
      Olli Etuaho authored
      The base level is passed to shaders in an array included in the driver
      uniform block. This is done on feature levels above 9_3, which treat
      samplers as indices to sampler arrays in shaders.
      
      A separate uniform block couldn't be used for the sampler metadata,
      since that would bring the number of available uniform blocks down to
      below minimum level defined by GLES 3.0.
      
      BUG=angleproject:596
      TEST=angle_end2end_tests
      
      Change-Id: Ie040521402f9996d51a978aeeba9222e9dd761ce
      Reviewed-on: https://chromium-review.googlesource.com/326290Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  10. 13 Feb, 2016 1 commit
  11. 12 Feb, 2016 2 commits
  12. 11 Feb, 2016 5 commits
  13. 10 Feb, 2016 1 commit
  14. 09 Feb, 2016 6 commits