summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/wgl/shared/stw_framebuffer.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/gallium/state_trackers/wgl/shared/stw_framebuffer.c b/src/gallium/state_trackers/wgl/shared/stw_framebuffer.c
index 030a155f54..768cef3db6 100644
--- a/src/gallium/state_trackers/wgl/shared/stw_framebuffer.c
+++ b/src/gallium/state_trackers/wgl/shared/stw_framebuffer.c
@@ -213,23 +213,18 @@ stw_framebuffer_resize(
static INLINE void
-stw_framebuffer_destroy(
+stw_framebuffer_destroy_locked(
struct stw_framebuffer *fb )
{
struct stw_framebuffer **link;
- pipe_mutex_lock( stw_dev->mutex );
-
link = &stw_dev->fb_head;
- while (link && *link != fb)
+ while (*link != fb)
link = &(*link)->next;
assert(*link);
- if (link)
- *link = fb->next;
+ *link = fb->next;
fb->next = NULL;
- pipe_mutex_unlock( stw_dev->mutex );
-
st_unreference_framebuffer(fb->stfb);
pipe_mutex_destroy( fb->mutex );
@@ -249,7 +244,7 @@ stw_framebuffer_cleanup( void )
fb = stw_dev->fb_head;
while (fb) {
next = fb->next;
- stw_framebuffer_destroy(fb);
+ stw_framebuffer_destroy_locked(fb);
fb = next;
}
stw_dev->fb_head = NULL;