1. 15 Dec, 2017 1 commit
    • Always create TVariables for TIntermSymbol nodes · 195be942
      Olli Etuaho authored
      TIntermSymbol nodes are now constructed based on a specific TVariable.
      This makes sure that all TIntermSymbol nodes that are created to refer
      to a specific temporary in an AST transform will have consistent data.
      The TVariable objects are not necessarily added to the symbol table
      levels - just those variables that can be referred to by their name
      during parsing need to be reachable through there.
      
      In the future this can be taken a step further so that TIntermSymbol
      nodes just to point to a TVariable instead of duplicating the
      information.
      
      BUG=angleproject:2267
      TEST=angle_unittests
      
      Change-Id: I4e7bcdb0637cd3b588d3c202ef02f4b7bd7954a1
      Reviewed-on: https://chromium-review.googlesource.com/811925
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
  2. 14 Dec, 2017 4 commits
    • D3D11: Fix program uniform buffer dity bits. · f414121d
      Jamie Madill authored
      There were actually three missing state synchronization points:
      
      1. When re-binding a uniform buffer, we had no dirty bits.
      2. When modifying the Program bindings, we also had no update.
      3. When triggering a dependent state update via BufferData.
      
      This fixes all the missing syncs and adds tests for the cases.
      
      Bug: angleproject:1390
      Change-Id: I2f05766545784248bcca8308ae34ac5720237ab1
      Reviewed-on: https://chromium-review.googlesource.com/823150
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarKai Ninomiya <kainino@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • ES31: Remove support of GL_OES_geometry_shader in compiler · bd924af1
      Jiawei Shao authored
      This patch intends to remove the support of GL_OES_geometry_shader
      in ANGLE compiler.
      
      To make the implementation simpler, currently we decide to only
      support "GL_EXT_geometry_shader" as the extension string of geometry
      shader in ANGLE.
      
      This patch also updates all the related shaders in angle_unittests
      into R"()" format.
      
      BUG=angleproject:1941
      TEST=angle_unittests
      
      Change-Id: Ife9858abeedfb46b02c5c2fb1cda16fa27198511
      Reviewed-on: https://chromium-review.googlesource.com/773451
      Commit-Queue: Corentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    • Vulkan: Roll loader/validation layers SDK. (2/2) · f15f9cec
      Jamie Madill authored
      This hasn't been updated in a while, so there are many changes.
      It should also include better validation for memory barriers.
      
      Also includes updated builds for SPIRV Tools and glslang.
      A few pull requests need to land before landing this in ANGLE.
      
      This second step re-enables Vulkan and includes the updated build.
      
      Includes a workaround for parameter_validation.h no longer being
      auto-generated, and the stale file clobbering the build.
      
      Also includes a fix for an incorrect memory barrier.
      
      Bug: angleproject:2237
      Change-Id: Iae611764870281ed6aa7b187ec0c4e44226c722a
      Reviewed-on: https://chromium-review.googlesource.com/759197
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
    • Classify TSymbols using an enum · 9d4d7f06
      Olli Etuaho authored
      Symbols can be either built-ins, user-defined, nameless, or for
      ANGLE's internal use. In addition we currently use TFunction symbols
      that are not yet resolved - they might later resolve to either a
      built-in or a user-defined function. Record this information in each
      TSymbol so that TSymbol contains sufficient information for deciding
      how to format symbol names in output.
      
      The goal is to eventually replace current uses of TName with pointers
      to different TSymbol objects. So far only built-ins and user-defined
      symbols have associated TSymbol objects, but that will be expanded to
      cover ANGLE's internal symbols as well.
      
      BUG=angleproject:2267
      TEST=angle_unittests
      
      Change-Id: I927ce023fe257cc236da82c127700f3bd72bfe96
      Reviewed-on: https://chromium-review.googlesource.com/816952
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
  3. 13 Dec, 2017 11 commits
  4. 12 Dec, 2017 6 commits
  5. 11 Dec, 2017 1 commit
  6. 09 Dec, 2017 1 commit
  7. 07 Dec, 2017 2 commits
  8. 06 Dec, 2017 4 commits
  9. 05 Dec, 2017 6 commits
  10. 04 Dec, 2017 4 commits