Re: [Mesa-dev] [PATCH 1/4] mesa: Make more consistent use of _mesa_is_{user, winsys}_fbo()

2012-07-25 Thread Brian Paul

On 07/25/2012 08:19 AM, Paul Berry wrote:

A lot of code was still differentiating between between winsys and
user fbos by testing the fbo's name against zero.  This converts
everything in core mesa, the state tracker, and src/mesa/program over
to use _mesa_is_user_fbo() and _mesa_is_winsys_fbo().


Nice.

Patches 1  2:  Reviewed-by: Brian Paul bri...@vmware.com
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/4] mesa: Make more consistent use of _mesa_is_{user, winsys}_fbo()

2012-07-25 Thread Kenneth Graunke
On 07/25/2012 07:19 AM, Paul Berry wrote:
 A lot of code was still differentiating between between winsys and
 user fbos by testing the fbo's name against zero.  This converts
 everything in core mesa, the state tracker, and src/mesa/program over
 to use _mesa_is_user_fbo() and _mesa_is_winsys_fbo().
 ---
  src/mesa/main/context.c |8 
  src/mesa/main/drawpix.c |4 +++-
  src/mesa/main/framebuffer.c |6 +++---
  src/mesa/main/readpix.c |4 +++-
  src/mesa/program/prog_statevars.c   |3 ++-
  src/mesa/state_tracker/st_cb_viewport.c |3 ++-
  src/mesa/state_tracker/st_context.h |3 ++-
  src/mesa/state_tracker/st_manager.c |3 ++-
  8 files changed, 21 insertions(+), 13 deletions(-)
 
 diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
 index 41550f9..243053e 100644
 --- a/src/mesa/main/context.c
 +++ b/src/mesa/main/context.c
 @@ -1456,8 +1456,8 @@ _mesa_make_current( struct gl_context *newCtx,
_glapi_set_dispatch(newCtx-CurrentDispatch);
  
if (drawBuffer  readBuffer) {
 - ASSERT(drawBuffer-Name == 0);
 - ASSERT(readBuffer-Name == 0);
 + ASSERT(_mesa_is_winsys_fbo(drawBuffer));
 + ASSERT(_mesa_is_winsys_fbo(readBuffer));
   _mesa_reference_framebuffer(newCtx-WinSysDrawBuffer, drawBuffer);
   _mesa_reference_framebuffer(newCtx-WinSysReadBuffer, readBuffer);
  
 @@ -1465,7 +1465,7 @@ _mesa_make_current( struct gl_context *newCtx,
* Only set the context's Draw/ReadBuffer fields if they're NULL
* or not bound to a user-created FBO.
*/
 - if (!newCtx-DrawBuffer || newCtx-DrawBuffer-Name == 0) {
 + if (!newCtx-DrawBuffer || _mesa_is_winsys_fbo(newCtx-DrawBuffer)) 
 {
  _mesa_reference_framebuffer(newCtx-DrawBuffer, drawBuffer);
  /* Update the FBO's list of drawbuffers/renderbuffers.
   * For winsys FBOs this comes from the GL state (which may have
 @@ -1473,7 +1473,7 @@ _mesa_make_current( struct gl_context *newCtx,
   */
  _mesa_update_draw_buffers(newCtx);
   }
 - if (!newCtx-ReadBuffer || newCtx-ReadBuffer-Name == 0) {
 + if (!newCtx-ReadBuffer || _mesa_is_winsys_fbo(newCtx-ReadBuffer)) 
 {
  _mesa_reference_framebuffer(newCtx-ReadBuffer, readBuffer);
   }
  
 diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
 index 49b0782..bd9837f 100644
 --- a/src/mesa/main/drawpix.c
 +++ b/src/mesa/main/drawpix.c
 @@ -36,6 +36,7 @@
  #include state.h
  #include dispatch.h
  #include glformats.h
 +#include fbobject.h
  
  
  #if FEATURE_drawpix
 @@ -240,7 +241,8 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, 
 GLsizei height,
goto end;
 }
  
 -   if (ctx-ReadBuffer-Name != 0  ctx-ReadBuffer-Visual.samples  0) {
 +   if (_mesa_is_user_fbo(ctx-ReadBuffer) 
 +   ctx-ReadBuffer-Visual.samples  0) {
_mesa_error(ctx, GL_INVALID_OPERATION,
 glCopyPixels(multisample FBO));
goto end;
 diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
 index f45ece6..13887f8 100644
 --- a/src/mesa/main/framebuffer.c
 +++ b/src/mesa/main/framebuffer.c
 @@ -347,7 +347,7 @@ _mesa_resizebuffers( struct gl_context *ctx )
GLuint newWidth, newHeight;
struct gl_framebuffer *buffer = ctx-WinSysDrawBuffer;
  
 -  assert(buffer-Name == 0);
 +  assert(_mesa_is_winsys_fbo(buffer));
  
/* ask device driver for size of output buffer */
ctx-Driver.GetBufferSize( buffer, newWidth, newHeight );
 @@ -364,7 +364,7 @@ _mesa_resizebuffers( struct gl_context *ctx )
GLuint newWidth, newHeight;
struct gl_framebuffer *buffer = ctx-WinSysReadBuffer;
  
 -  assert(buffer-Name == 0);
 +  assert(_mesa_is_winsys_fbo(buffer));
  
/* ask device driver for size of read buffer */
ctx-Driver.GetBufferSize( buffer, newWidth, newHeight );
 @@ -444,7 +444,7 @@ _mesa_update_draw_buffer_bounds(struct gl_context *ctx)
 if (!buffer)
return;
  
 -   if (buffer-Name) {
 +   if (_mesa_is_user_fbo(buffer)) {
/* user-created framebuffer size depends on the renderbuffers */
update_framebuffer_size(ctx, buffer);
 }
 diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
 index 82d99fd..7ac8774 100644
 --- a/src/mesa/main/readpix.c
 +++ b/src/mesa/main/readpix.c
 @@ -37,6 +37,7 @@
  #include pbo.h
  #include state.h
  #include glformats.h
 +#include fbobject.h
  
  
  /**
 @@ -722,7 +723,8 @@ _mesa_ReadnPixelsARB( GLint x, GLint y, GLsizei width, 
 GLsizei height,
}
 }
  
 -   if (ctx-ReadBuffer-Name != 0  ctx-ReadBuffer-Visual.samples  0) {
 +   if (_mesa_is_user_fbo(ctx-ReadBuffer) 
 +   ctx-ReadBuffer-Visual.samples  0) {
_mesa_error(ctx, GL_INVALID_OPERATION, glReadPixels(multisample 
 FBO));
return;
 }
 diff --git