1. 30 Nov, 2015 3 commits
  2. 27 Nov, 2015 1 commit
  3. 26 Nov, 2015 1 commit
  4. 25 Nov, 2015 6 commits
  5. 24 Nov, 2015 5 commits
  6. 23 Nov, 2015 1 commit
  7. 21 Nov, 2015 1 commit
  8. 20 Nov, 2015 11 commits
  9. 19 Nov, 2015 8 commits
  10. 18 Nov, 2015 3 commits
    • Fix a user-after-free in a ValidationES unittest. · daa8c27f
      Jamie Madill authored
      The State destructor was trying to unref a Program that had already
      been deleted. Fix this by unbinding resources from State before we
      exit the test.
      
      BUG=554520
      
      Change-Id: I2215b1e5d27a34a649572c8f81e96dfeef7e983e
      Reviewed-on: https://chromium-review.googlesource.com/312977
      Tryjob-Request: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    • D3D11: Fix varying packing with structs. · 55c25d0c
      Jamie Madill authored
      Previously we would try to pass an entire struct through HLSL's
      shader interface. Instead, split this off as if each field was
      its own variable, which seems to be spec compliant (see ESSL 3.10).
      
      In the future we may want to fix register packing to use specific
      components of float4/int4/uint4 HLSL registers. This could also fix
      the remaining bugs in the SM3 packing.
      
      TEST=dEQP-GLES3.functional.shaders.linkage.varying.*
      BUG=angleproject:910
      BUG=angleproject:1202
      
      Change-Id: I1fd8b4505abc39bd2385ed5c088c316d55d0bc2c
      Reviewed-on: https://chromium-review.googlesource.com/311242Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    • D3D: Rework varying packing code. · 9fc3682c
      Jamie Madill authored
      In D3D we pack varyings by making a register map, and using the
      recommended GLSL ES algorithm to reserve register space. We use
      this map to assign row and column slots to each varying and then
      produce a semantic index value.
      
      The existing scheme had a number of bugs, and was failing several
      angle_end2end_tests. The new design cleans up the code somewhat
      and uses a different counting scheme for the semantic indexes:
      just sort the varyings in packing order and use a simple
      incrementing semantic index per varying. In SM4+, the HLSL compiler
      sorts and packs the varyings correctly itself, and in SM3, handle
      the cases we don't support by returning an error instead of a D3D
      compiler link error.
      
      Also refactor how we store varying information for TF Feedback/
      StreamOut. Only store the necessary D3D information, instead of
      extra information like the name and type.
      
      This fixes several tests in GLSLTest/*. This also will allow us to
      fix interpolation qualifier packing and the structure packing in
      HLSL, which seems to work differently than the rest of the varying
      types.
      
      BUG=angleproject:1202
      TEST=bots,dEQP-GLES3.functional.transform_feedback.*
      
      Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
      Reviewed-on: https://chromium-review.googlesource.com/311241Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>