From a818639cd43147001527d703742041a137fe96bc Mon Sep 17 00:00:00 2001 From: vmware Date: Tue, 18 Jul 2017 11:36:14 -0700 Subject: [PATCH] st/glx: Assign a unique ID to the framebuffer interface object --- src/gallium/state_trackers/glx/xlib/xm_st.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/state_trackers/glx/xlib/xm_st.c b/src/gallium/state_trackers/glx/xlib/xm_st.c index 9e30efa..508da87 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_st.c +++ b/src/gallium/state_trackers/glx/xlib/xm_st.c @@ -45,6 +45,7 @@ struct xmesa_st_framebuffer { struct pipe_resource *display_resource; }; +static uint32_t xmesa_stfb_ID = 0; static inline struct xmesa_st_framebuffer * xmesa_st_framebuffer(struct st_framebuffer_iface *stfbi) @@ -302,6 +303,7 @@ xmesa_create_st_framebuffer(XMesaDisplay xmdpy, XMesaBuffer b) stfbi->visual = &xstfb->stvis; stfbi->flush_front = xmesa_st_framebuffer_flush_front; stfbi->validate = xmesa_st_framebuffer_validate; + stfbi->ID = p_atomic_inc_return(&xmesa_stfb_ID); p_atomic_set(&stfbi->stamp, 1); stfbi->st_manager_private = (void *) xstfb; @@ -320,6 +322,8 @@ xmesa_destroy_st_framebuffer(struct st_framebuffer_iface *stfbi) for (i = 0; i < ST_ATTACHMENT_COUNT; i++) pipe_resource_reference(&xstfb->textures[i], NULL); + stfbi->ID = 0; + free(xstfb); free(stfbi); } -- 2.7.4