https://bugs.freedesktop.org/show_bug.cgi?id=98172
--- Comment #36 from Suzuki, Shinji <[email protected]> ---
Michel-san, thank you for elaboration. Maybe this discussion continues because
I have failed to express my question clearly. What I'm wondering is that if the
following section needs to be protected by ctx->Shared->Mutex or not.
screen->fence_reference(screen, &fence, so->fence);
if(!fence) {
/* If the so->fence has been reset to NULL, the fence have been reached
but so->b.StatusFlag may not be set to GL_TRUE yet. Since the caller
may check on the value of the flag as soon as the control returns,
do the same too although redundant.
*/
so->b.StatusFlag = GL_TRUE;
goto quit;
}
I completely agree that locking is needed in the following section marked with
!.
(so->b.StatusFlag = GL_TRUE can be moved out of the block though.)
if (screen->fence_finish(screen, fence, 0)) {
! mtx_lock(&ctx->Shared->Mutex);
! screen->fence_reference(screen, &so->fence, NULL);
! so->b.StatusFlag = GL_TRUE;
! mtx_unlock(&ctx->Shared->Mutex);
}
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug._______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev