For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Tue, Apr 11, 2017 at 10:05 PM, Brian Paul <bri...@vmware.com> wrote: > A few functions related to FBOs/renderbuffers should only be used with > window-system buffers, not user-created FBOs. Assert for that. > Add additional comments. No piglit regressions. > --- > src/mesa/state_tracker/st_cb_fbo.c | 1 + > src/mesa/state_tracker/st_manager.c | 10 ++++++++-- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_fbo.c > b/src/mesa/state_tracker/st_cb_fbo.c > index 21fc542..7b9855f 100644 > --- a/src/mesa/state_tracker/st_cb_fbo.c > +++ b/src/mesa/state_tracker/st_cb_fbo.c > @@ -739,6 +739,7 @@ st_ReadBuffer(struct gl_context *ctx, GLenum buffer) > if ((fb->_ColorReadBufferIndex == BUFFER_FRONT_LEFT || > fb->_ColorReadBufferIndex == BUFFER_FRONT_RIGHT) && > fb->Attachment[fb->_ColorReadBufferIndex].Type == GL_NONE) { > + assert(_mesa_is_winsys_fbo(fb)); > /* add the buffer */ > st_manager_add_color_renderbuffer(st, fb, fb->_ColorReadBufferIndex); > _mesa_update_state(ctx); > diff --git a/src/mesa/state_tracker/st_manager.c > b/src/mesa/state_tracker/st_manager.c > index a91dc76..b9e46fd 100644 > --- a/src/mesa/state_tracker/st_manager.c > +++ b/src/mesa/state_tracker/st_manager.c > @@ -270,7 +270,8 @@ st_framebuffer_update_attachments(struct st_framebuffer > *stfb) > } > > /** > - * Add a renderbuffer to the framebuffer. > + * Add a renderbuffer to the framebuffer. The framebuffer is one that > + * corresponds to a window and is not a user-created FBO. > */ > static boolean > st_framebuffer_add_renderbuffer(struct st_framebuffer *stfb, > @@ -283,6 +284,8 @@ st_framebuffer_add_renderbuffer(struct st_framebuffer > *stfb, > if (!stfb->iface) > return FALSE; > > + assert(_mesa_is_winsys_fbo(&stfb->Base)); > + > /* do not distinguish depth/stencil buffers */ > if (idx == BUFFER_STENCIL) > idx = BUFFER_DEPTH; > @@ -869,7 +872,8 @@ st_manager_validate_framebuffers(struct st_context *st) > } > > /** > - * Add a color renderbuffer on demand. > + * Add a color renderbuffer on demand. The FBO must correspond to a window, > + * not a user-created FBO. > */ > boolean > st_manager_add_color_renderbuffer(struct st_context *st, > @@ -882,6 +886,8 @@ st_manager_add_color_renderbuffer(struct st_context *st, > if (!stfb) > return FALSE; > > + assert(_mesa_is_winsys_fbo(fb)); > + > if (stfb->Base.Attachment[idx].Renderbuffer) > return TRUE; > > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev