commit | 6044784ca3bb538503f604ff3643447feaf5f5c5 | [log] [tgz] |
---|---|---|
author | Slawomir Cygan <slawomir.cygan@intel.com> | Mon Nov 14 17:57:31 2016 +0100 |
committer | Pyry Haulos <phaulos@google.com> | Thu Nov 17 13:26:51 2016 -0500 |
tree | cfe45e6be49ba4ca75419efc5873afdfd583ad11 | |
parent | 096528efbd7a10c2d88b237a4995837bd4fc2f26 [diff] |
Fix race condition between query pool reset and accessing query results Affects tests: dEQP-VK.query_pool.occlusion_query.get_results*(wait_query|wait_none)* These tests access query pool results on host, without any synchronization with command buffer which performs the query - they either use VK_QUERY_RESULT_WAIT_BIT or allow for incomplete results to be captured. This may have a race condition, mentioned by spec: """ Applications must take care to ensure that use of the VK_QUERY_RESULT_WAIT_BIT bit has the desired effect. For example, if a query has been used previously and a command buffer records the commands vkCmdResetQueryPool, vkCmdBeginQuery, and vkCmdEndQuery for that query, then the query will remain in the available state until the vkCmdResetQueryPool command executes on a queue. """ In affected tests, this change moves vkCmdResetQueryPool to separate command buffer that is sumitted and completed before query is used on device & host. Additionally code handling RESULTS_MODE_COPY mode is refactored to use new haveSeparateCopyCmdBuf() function instead of tons of flags and conditions. Change-Id: Id4a538b912030f2a86b09593fecaae37f1819a71
This repository contains a GPU testing suite called dEQP (drawElements Quality Program). dEQP contains tests for several graphics APIs, including OpenGL ES, EGL, and Vulkan.
Up-to-date documentation for the dEQP is available at Android Open Source Project site.
This repository includes Khronos Vulkan CTS under external/vulkancts
directory. For more information see Vulkan CTS README.