1. 08 Mar, 2018 8 commits
  2. 07 Mar, 2018 12 commits
  3. 06 Mar, 2018 7 commits
  4. 05 Mar, 2018 8 commits
  5. 02 Mar, 2018 5 commits
    • GLES1: caps: GLES1-specific context limits · b27b03a2
      Lingfeng Yang authored
      There are some GLES1-specific caps such as the number of multitexturing
      units and the matrix stack depths. This is important for validation.
      
      This uses Table 6.20 and 6.22 from the GLES 1.1 spec.
      
      Specify them in Caps.h and minimums in .cpp. Since we will be emulating
      GLES1, there is no plan to collect the caps from the native
      implementation; just initialize reasonable values in Context.cpp.
      
      In fact, we will go with the values above minimum:
      
      - 4 multitexturing units (vs. 2 minimum)
      - 6 clip plans (vs. 1 minimum)
      - 16 stack depth for projection matrices (vs. 2 minimum)
      - 16 stack depth for texture matrices (vs. 2 minimum)
      
      + clang-format Caps.cpp / h
      
      BUG=angleproject:2306
      
      Change-Id: Ib28c317426be598a2adad7bd01920c03f27dc74a
      Reviewed-on: https://chromium-review.googlesource.com/925549
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • ES31: Implement memoryBarrier on D3D backend · 27f4321e
      Xinghua Cao authored
      Because D3D11 makes a coherent write, so memoryBarrier is not needed on
      D3D backend.
      This patch also simples some test cases and modifies some cases errors when
      accessing memory after an incoherent write, but does not use memoryBarrier.
      
      BUG=angleproject:2280
      TEST=angle_end2end_tests.ComputeShaderTest.*
      
      Change-Id: Iee5d105a0b6d8534aded03fdaaefc909864d33a4
      Reviewed-on: https://chromium-review.googlesource.com/937023Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Rename signal utils to Observer. · 6f683089
      Jamie Madill authored
      This completes the basic refactor to the Observer pattern.
      
      Bug: angleproject:2372
      Change-Id: I810deff7c7e39baa64b57ce2a79cd732b1af7c34
      Reviewed-on: https://chromium-review.googlesource.com/940862
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarLuc Ferron <lucferron@chromium.org>
    • ES31: Add link validations on geometry shader uniforms · 0d88ec9f
      Jiawei Shao authored
      This patch adds the link validations on the uniforms defined in a
      geometry shader.
      
      1. Validate if there is any link mismatch between a geometry shader
         uniform and a uniform defined in another shader in the current
         graphics pipeline.
      2. Validate if the number of images, samplers or atomic counters in
         a geometry shader exceeds the related resource limit.
      3. Validate if there is name contradiction between a geometry shader
         uniform and a vertex shader attribute.
      
      BUG=angleproject:1941
      TEST=dEQP-GLES31.functional.shaders.linkage.es31.geometry.uniform.*
           dEQP-GLES31.functional.geometry_shading.basic.*
           dEQP-GLES31.functional.geometry_shading.conversion.*
           dEQP-GLES31.functional.geometry_shading.emit.*
           dEQP-GLES31.functional.geometry_shading.varying.*
           dEQP-GLES31.functional.geometry_shading.instanced.geometry_*
           dEQP-GLES31.functional.geometry_shading.instanced.invocation_output_*
           dEQP-GLES31.functional.geometry_shading.instanced.draw_*
      
      Change-Id: I365aee624a3a79658c3e4c7487a586cf9532b529
      Reviewed-on: https://chromium-review.googlesource.com/939264
      Commit-Queue: Geoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • D3D11: Refactor dependent Framebuffer state changes. · 888081d5
      Jamie Madill authored
      Previously, when a state change would cause a Texture to
      recreate its storage specific to D3D11, we would use a
      dependent notification from RenderTarget11 to Framebuffer11
      to re-check internal dirty bits. In this new method, we
      instead set dirty bits on the gl::Frambuffer directly. This
      also means we use fewer internal objects for these
      notifications, because we share the same structures between
      the D3D11 back-end notifications and the top-level notifications
      we use for Robust init and Framebuffer completeness.
      
      This also allows us to get rid of one "if" that we check on
      every draw call in D3D11.
      
      This also introduces a dirty bits guard concept - a shadow
      set of dirty bits that is checked in dependent state changes
      to ensure that extra bits aren't set inside syncState.
      
      This also implements Framebuffer dirty bits for the D3D9
      back-end. This has the side effect of cleaning up the
      "null colorbuffer" D3D9 workaround.
      
      Bug: angleproject:2372
      Change-Id: Ie346d39030f4f6df583d735685b0babea4e745a8
      Reviewed-on: https://chromium-review.googlesource.com/936691Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>