From df6ebfa38db9f51cf626e6e3b0b4b438cf95c1cd Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Tue, 3 Mar 2015 13:58:42 -0700 Subject: [PATCH] layers: Correctly set last bound PSO in DrawState layer --- layers/draw_state.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/layers/draw_state.c b/layers/draw_state.c index 8ddacd1..233c90e 100644 --- a/layers/draw_state.c +++ b/layers/draw_state.c @@ -2525,13 +2525,14 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdBindPipeline(XGL_CMD_BUFFER cmdBuffer, XGL_PI GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); if (pCB) { updateCBTracking(cmdBuffer); - loader_platform_thread_lock_mutex(&globalLock); - g_lastBoundPipeline = cmdBuffer; - loader_platform_thread_unlock_mutex(&globalLock); drawStateDumpDotFile("pipeline_diagram.dot"); addCmd(pCB, CMD_BINDPIPELINE); - if (getPipeline(pipeline)) { + PIPELINE_NODE* pPN = getPipeline(pipeline); + if (pPN) { pCB->lastBoundPipeline = pipeline; + loader_platform_thread_lock_mutex(&globalLock); + g_lastBoundPipeline = pPN; + loader_platform_thread_unlock_mutex(&globalLock); } else { char str[1024]; -- 2.7.4