Author :
Jamie Madill
Date :
2021-08-26 17:53:56
Hash :a8f1a916 Message :GetTexImage: Remove syncState calls & add early error exit.
Instead of calling syncState to force the Vulkan staged textures to
flush, we ensure the Texture is marked initialized by sending a
message up to the Texture when there are no more pending updates.
Also adds handling for textures with extra mips. Instead of crashing,
we now return an error with a warning. Also adds a test with a
texture that has extra (outside the mip chain) defined levels.
Also adds a test and handling for empty texture levels.
This should lead to more consistent behaviour in the trace test
serialization logic, where often the prior logic would behave
differently depending on if GetImage was called from MEC or from
the serialization code.
Also updates the generateMipmap logic to syncState after calling
initializeContents so the updates happen in the correct order on
Vulkan.
Bug: angleproject:5133
Bug: angleproject:6336
Change-Id: Iab1c2a22b9f9435e7f3c0f870c86bbed3460482e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>