1. 30 Mar, 2020 7 commits
  2. 28 Mar, 2020 7 commits
  3. 27 Mar, 2020 11 commits
  4. 26 Mar, 2020 7 commits
  5. 25 Mar, 2020 6 commits
  6. 24 Mar, 2020 2 commits
    • Vulkan: Fix crashes/failures in array-of-struct uniforms · d0800d29
      Ian Elliott authored
      When array-of-struct support was added to ANGLE, it was not added to
      the shader cache serialize/deserialize functions.
      
      This affects many GLES 2/3/3.1 dEQP tests, such as:
      
        dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.struct_in_array.sampler2D_samplerCube_vertex
      
      Bug: angleproject:4475
      Bug: b:151387995
      Change-Id: I159f6340db255ec50c16b59fec23a61ed05aa8f7
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2118152
      Commit-Queue: Ian Elliott <ianelliott@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Speculative fix for assertion failure with samplers. · b91d2630
      Jamie Madill authored
      This was crashing for example here:
      
      https://chromium-swarm.appspot.com/task?id=4b174a9710848410
      https://chromium-swarm.appspot.com/task?id=4b214baec2ee7e10
      
      With this stack:
      
      libglesv2!gl::TextureState::isBoundAsSamplerTexture
      libglesv2!gl::Texture::onUnbindAsSamplerTexture
      libglesv2!gl::State::unsetActiveTexture+0x9
      libglesv2!gl::State::updateActiveTextureState+0x2d2
      libglesv2!gl::State::updateActiveTexture+0x3aa
      libglesv2!gl::State::setSamplerTexture+0x4a1
      libglesv2!gl::Context::bindTexture+0x1ab
      libglesv2!gl::BindTexture+0x99
      chrome!GrGLFunction+0x1f
      chrome!GrGLGpu::bindTexture+0x1a0
      chrome!GrGLProgram::bindTextures+0x1b9
      chrome!GrGLOpsRenderPass::onBindTextures+0x50
      chrome!GrOpsRenderPass::bindTextures+0x106
      chrome!GrOpFlushState::bindTextures+0xf
      chrome!`anonymous namespace'::FillRectOp::onExecute+0xd3
      
      It's unclear how we could end up with a Texture bound that doesn't go
      through the normal setter functions. I did see a potential hole where
      textures might not get an unbind call when a Context is torn down. This
      could lead to bugs in multi-context situations.
      
      This protects the set/unset functions in a helper class to ensure we
      always call onBind/onUnbind and forces the destructor to call unbind.
      
      Bug: angleproject:4490
      Change-Id: Ied64e02bbe3a37efcab6cbdd4bf2d1b6dcb8b3ac
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2118254
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com>