glGetQueryObject* requires forward progress in the queue regardless of whether we are waiting on the result or busy-looping over whether the results are available. This commit calls flush() if the query has pending work. Additionally, this fixes a race condition where glGetQueryObject* may be accessing a query whose corresponding batch has been submitted but not yet executed. In such a case, the GPU may not have already reset the query, so we have to wait on the fence of that batch to make sure the query results are reliably available. Bug: angleproject:2855 Change-Id: I977909c6526c0778a13722a8b8b73e54ad0202f6 Reviewed-on: https://chromium-review.googlesource.com/c/1279125 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| android | Loading commit data... | |
| shaders | Loading commit data... | |
| win32 | Loading commit data... | |
| xcb | Loading commit data... | |
| BufferVk.cpp | Loading commit data... | |
| BufferVk.h | Loading commit data... | |
| CommandGraph.cpp | Loading commit data... | |
| CommandGraph.h | Loading commit data... | |
| CompilerVk.cpp | Loading commit data... | |
| CompilerVk.h | Loading commit data... | |
| ContextVk.cpp | Loading commit data... | |
| ContextVk.h | Loading commit data... | |
| DeviceVk.cpp | Loading commit data... | |
| DeviceVk.h | Loading commit data... | |
| DisplayVk.cpp | Loading commit data... | |
| DisplayVk.h | Loading commit data... | |
| FeaturesVk.h | Loading commit data... | |
| FenceNVVk.cpp | Loading commit data... | |
| FenceNVVk.h | Loading commit data... | |
| FramebufferVk.cpp | Loading commit data... | |
| FramebufferVk.h | Loading commit data... | |
| GlslangWrapper.cpp | Loading commit data... | |
| GlslangWrapper.h | Loading commit data... | |
| ImageVk.cpp | Loading commit data... | |
| ImageVk.h | Loading commit data... | |
| ProgramPipelineVk.cpp | Loading commit data... | |
| ProgramPipelineVk.h | Loading commit data... | |
| ProgramVk.cpp | Loading commit data... | |
| ProgramVk.h | Loading commit data... | |
| QueryVk.cpp | Loading commit data... | |
| QueryVk.h | Loading commit data... | |
| RenderTargetVk.cpp | Loading commit data... | |
| RenderTargetVk.h | Loading commit data... | |
| RenderbufferVk.cpp | Loading commit data... | |
| RenderbufferVk.h | Loading commit data... | |
| RendererVk.cpp | Loading commit data... | |
| RendererVk.h | Loading commit data... | |
| SamplerVk.cpp | Loading commit data... | |
| SamplerVk.h | Loading commit data... | |
| ShaderVk.cpp | Loading commit data... | |
| ShaderVk.h | Loading commit data... | |
| SurfaceVk.cpp | Loading commit data... | |
| SurfaceVk.h | Loading commit data... | |
| SyncVk.cpp | Loading commit data... | |
| SyncVk.h | Loading commit data... | |
| TextureVk.cpp | Loading commit data... | |
| TextureVk.h | Loading commit data... | |
| TransformFeedbackVk.cpp | Loading commit data... | |
| TransformFeedbackVk.h | Loading commit data... | |
| VertexArrayVk.cpp | Loading commit data... | |
| VertexArrayVk.h | Loading commit data... | |
| gen_vk_format_table.py | Loading commit data... | |
| gen_vk_internal_shaders.py | Loading commit data... | |
| gen_vk_mandatory_format_support_table.py | Loading commit data... | |
| vk_cache_utils.cpp | Loading commit data... | |
| vk_cache_utils.h | Loading commit data... | |
| vk_caps_utils.cpp | Loading commit data... | |
| vk_caps_utils.h | Loading commit data... | |
| vk_format_map.json | Loading commit data... | |
| vk_format_table_autogen.cpp | Loading commit data... | |
| vk_format_utils.cpp | Loading commit data... | |
| vk_format_utils.h | Loading commit data... | |
| vk_helpers.cpp | Loading commit data... | |
| vk_helpers.h | Loading commit data... | |
| vk_internal_shaders.cpp | Loading commit data... | |
| vk_internal_shaders.h | Loading commit data... | |
| vk_internal_shaders_autogen.cpp | Loading commit data... | |
| vk_internal_shaders_autogen.gni | Loading commit data... | |
| vk_internal_shaders_autogen.h | Loading commit data... | |
| vk_mandatory_format_support_data.json | Loading commit data... | |
| vk_mandatory_format_support_table_autogen.cpp | Loading commit data... | |
| vk_utils.cpp | Loading commit data... | |
| vk_utils.h | Loading commit data... |