Re: readback + tilesort

Brian Paul <[email protected]>
Newsgroups gmane.comp.graphics.chromium.devel
Organization Tungsten Graphics, Inc.
Message-ID <[email protected]>
Johann Won wrote:
> Hi,
> 
> Putting readback + tilesort aside, I'm testing binaryswap + tilesort
> configuration.
> 
> With the patch, the problem mentioned earlier has been (partially) resolved.
> However this time, similar symtpom is found with bswap + tilesort.
> The same portion is drawn on each of the tiles ( I applied the patch ).
> 
> Attached .conf is a modified version of psubmit_bswap, which uses two tiles.
> Please test with it, and give me a comment.

Johann,

Try applying the attached patch in the crserverlib/ directory.  I 
think this'll fix your problems.

-Brian
crserverlib.patch (text/plain, 1.8 KB)
Index: server_context.c
===================================================================
RCS file: /cvsroot/chromium/cr/crserverlib/server_context.c,v
retrieving revision 1.12
diff -c -r1.12 server_context.c
*** server_context.c	28 Jul 2004 22:06:10 -0000	1.12
--- server_context.c	10 Aug 2004 17:28:45 -0000
***************
*** 167,172 ****
--- 167,177 ----
  			GLint x = -mural->extents[0].imagewindow.x1;
  			GLint y = -mural->extents[0].imagewindow.y1;
  			cr_server.head_spu->dispatch_table.WindowPos2iARB(x, y);
+ 			/* This MakeCurrent is a bit redundant (we do it again below)
+ 			 * but it's only done the first time we activate a context.
+ 			 */
+ 			crStateMakeCurrent(ctx);
+ 			crStateWindowPos2iARB(x, y);
  		}
  	}
  
Index: server_winpos.c
===================================================================
RCS file: /cvsroot/chromium/cr/crserverlib/server_winpos.c,v
retrieving revision 1.2
diff -c -r1.2 server_winpos.c
*** server_winpos.c	22 Jun 2004 00:43:13 -0000	1.2
--- server_winpos.c	10 Aug 2004 17:28:45 -0000
***************
*** 20,28 ****
  static void crServerWindowPos( GLfloat x, GLfloat y, GLfloat z )
  {
  	CRMuralInfo *mural = cr_server.curClient->currentMural;
- 	crStateWindowPos3fARB(x, y, z);
  	x -= (float) mural->extents[mural->curExtent].imagewindow.x1;
  	y -= (float) mural->extents[mural->curExtent].imagewindow.y1;
  	cr_server.head_spu->dispatch_table.WindowPos3fARB(x, y, z);
  }
  
--- 20,28 ----
  static void crServerWindowPos( GLfloat x, GLfloat y, GLfloat z )
  {
  	CRMuralInfo *mural = cr_server.curClient->currentMural;
  	x -= (float) mural->extents[mural->curExtent].imagewindow.x1;
  	y -= (float) mural->extents[mural->curExtent].imagewindow.y1;
+ 	crStateWindowPos3fARB(x, y, z);
  	cr_server.head_spu->dispatch_table.WindowPos3fARB(x, y, z);
  }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.