1. 09 Mar, 2018 1 commit
    • New transform feedback buffer binding rules · e8a93c6e
      James Darpinian authored
      Detects undefined behavior when a buffer is bound to a transform feedback
      binding point and a non transform feedback binding point at the same time.
      
      Also moves the transform feedback buffer generic binding point out of the
      transform feedback object and into the context's global state, to match
      driver behavior. This way binding a new transform feedback object does not
      affect GL_TRANSFORM_FEEDBACK_BUFFER_BINDING which is similar to how VAOs
      work with GL_ARRAY_BUFFER_BINDING.
      
      Bug: 696345
      Change-Id: If3b9306cde7cd2197a8ce35e10c3af9ee58da0b8
      Reviewed-on: https://chromium-review.googlesource.com/853130
      Commit-Queue: James Darpinian <jdarpinian@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  2. 08 Mar, 2018 8 commits
  3. 07 Mar, 2018 12 commits
  4. 06 Mar, 2018 7 commits
  5. 05 Mar, 2018 8 commits
  6. 02 Mar, 2018 4 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>