Vulkan: Flush if sync object is pending during SyncVk::getStatus()
When a glGetSynciv() is performed for GL_SYNC_STATUS, we should flush
any pending commands if a sync object is pending a flush, since the
caller is interested in the status of a fence. This will guarantee that
the work is submitted to the hardware and eventually completes.
This is accomplished by moving mSyncObjectPendingFlush from ContextVk to
ShareGroupVk, so that any sync objects used by any contexts within the
share group are submitted to hardware and the required work completes.
Bug: angleproject:5306
Bug: angleproject:5425
Test: FenceSyncTest.BasicOperations
Change-Id: I2e2681ad01fda429ba37f061c9bac5eb91f800fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2641095Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Showing
Please
register
or
sign in
to comment