You can subscribe to this list here.
2001 |
Jan
|
Feb
(10) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(34) |
Aug
(59) |
Sep
(16) |
Oct
(11) |
Nov
(83) |
Dec
(52) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(40) |
Feb
(82) |
Mar
(190) |
Apr
(72) |
May
(95) |
Jun
(128) |
Jul
(195) |
Aug
(267) |
Sep
(202) |
Oct
(88) |
Nov
(60) |
Dec
(34) |
2003 |
Jan
(81) |
Feb
(73) |
Mar
(74) |
Apr
(53) |
May
(15) |
Jun
(61) |
Jul
(32) |
Aug
(73) |
Sep
(121) |
Oct
(43) |
Nov
(27) |
Dec
(47) |
2004 |
Jan
(46) |
Feb
(90) |
Mar
(97) |
Apr
(87) |
May
(71) |
Jun
(103) |
Jul
(61) |
Aug
(15) |
Sep
(49) |
Oct
(32) |
Nov
(26) |
Dec
(4) |
2005 |
Jan
(33) |
Feb
(15) |
Mar
(27) |
Apr
(21) |
May
(29) |
Jun
(20) |
Jul
(16) |
Aug
(10) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
|
2006 |
Jan
(2) |
Feb
(9) |
Mar
(2) |
Apr
(7) |
May
(20) |
Jun
|
Jul
|
Aug
(13) |
Sep
(20) |
Oct
(11) |
Nov
(10) |
Dec
(7) |
2007 |
Jan
(12) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(2) |
2008 |
Jan
(10) |
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: James S. <arr...@gm...> - 2006-11-21 21:57:37
|
I would propose the following patch for Chromium's DMX module. I use the following change for my dmxdireect SPU. Basically, if before calling crDMXGetBackendWindowInfo I set the dontclipToScreen data member to true in the CRDMXBackendWindowInfo (sense Chromium appears to zero CRDMXBackendWindowInfo during allocation, it is set to false by default). Then, when crDMXGetBackendWindowInfo is called, it doesn't clip the child window to the screen. I chose this method because it appears to cause the least disruption to existing code (Chromium was written in C, and I don't think C likes function overloading etc.). Index: include/cr_dmx.h =================================================================== RCS file: /cvsroot/chromium/cr/include/cr_dmx.h,v retrieving revision 1.1 diff -r1.1 cr_dmx.h 15a16 > int dontclipToScreen; Index: dmx/dmx.c =================================================================== RCS file: /cvsroot/chromium/cr/dmx/dmx.c,v retrieving revision 1.2 diff -r1.2 dmx.c 158,165c158,176 < subwinX = backend->visrect.x1; < subwinY = backend->visrect.y1; < subwinW = backend->visrect.x2 - backend->visrect.x1; < subwinH = backend->visrect.y2 - backend->visrect.y1; < if (subwinW <= 0) < subwinW = 1; < if (subwinH <= 0) < subwinH = 1; --- > if(!backend->dontclipToScreen) > { > subwinX = backend->visrect.x1; > subwinY = backend->visrect.y1; > subwinW = backend->visrect.x2 - backend->visrect.x1; > subwinH = backend->visrect.y2 - backend->visrect.y1; > if (subwinW <= 0) > subwinW = 1; > if (subwinH <= 0) > subwinH = 1; > } > else > { > /*Used by dmxdirect */ > subwinX = 0; > subwinY = 0; > subwinW = dmxWinInfo[i].pos.width; > subwinH = dmxWinInfo[i].pos.height; > } Thank you for your time, James Steven Supancic III |
From: Daniel E. S. <dan...@gm...> - 2006-11-13 16:40:46
|
Thank you. I really appreciate it. -Dan On 11/12/06, Brian Paul <bri...@tu...> wrote: > > Niraj Tolia wrote: > > Daniel raised this issue on the chromium-checkin list but I am not > > sure who is subscribed to it. As he had mentioned, there is a lot of > > spam on the mailing list. Can we please make it subscriber only? > > Done. > > -Brian > > |
From: Brian P. <bri...@tu...> - 2006-11-12 21:01:17
|
Niraj Tolia wrote: > Daniel raised this issue on the chromium-checkin list but I am not > sure who is subscribed to it. As he had mentioned, there is a lot of > spam on the mailing list. Can we please make it subscriber only? Done. -Brian |
From: Niraj T. <nt...@gm...> - 2006-11-09 18:16:26
|
Daniel raised this issue on the chromium-checkin list but I am not sure who is subscribed to it. As he had mentioned, there is a lot of spam on the mailing list. Can we please make it subscriber only? Thanks, Niraj -- http://www.cs.cmu.edu/~ntolia |
From: <dr...@bf...> - 2006-10-18 15:29:28
|
>> I use Chromium on Windows XP to drive 6 servers from one client over a >> 1Gbps TCP/IP network. Every now and then Chromium locks up. The lock up >> occurres in __tcpip_read_exact()'s call to recv(). Even though select() >> did report the socket to be ready for reading the first call to recv() >> blocks. If I kill the server of this connection recv() returns with the >> correct error code. See the stack trace below for more details. >> Does anyone else experience similar problems? I suspect this might be a >> bug in some network driver (Intel) but I'm not sure. > > If there's any bugs in Chromiums packer/unpacker code, a common > symptom is for the network layer to get stuck in recv() - waiting for > bytes that aren't coming. I dont think its a bug in Chromium since the block occurs on the first call to recv() after select() reported the socket to be readable. That is crTCPIPRecv() calls select(), finds the socket to be readable and calls crTCPIPReceiveMessage() which blocks right away on the statement if ( __tcpip_read_exact( sock, &len, sizeof(len)) <= 0 ). So this really shouldn't block or should it? > Is the lock-up only happening with certain apps? Do those apps work > ok on other Chromium systems? It does happen with at least a couple of apps I tried, one of which is atlantis. I didn't test on other systems though. Michael |
From: Brian P. <bri...@tu...> - 2006-10-18 14:37:27
|
Michael D=FCrig wrote: > Hi >=20 > I use Chromium on Windows XP to drive 6 servers from one client over a=20 > 1Gbps TCP/IP network. Every now and then Chromium locks up. The lock up= =20 > occurres in __tcpip_read_exact()'s call to recv(). Even though select()= =20 > did report the socket to be ready for reading the first call to recv()=20 > blocks. If I kill the server of this connection recv() returns with th= e=20 > correct error code. See the stack trace below for more details. > Does anyone else experience similar problems? I suspect this might be a= =20 > bug in some network driver (Intel) but I'm not sure. If there's any bugs in Chromiums packer/unpacker code, a common=20 symptom is for the network layer to get stuck in recv() - waiting for=20 bytes that aren't coming. Is the lock-up only happening with certain apps? Do those apps work=20 ok on other Chromium systems? -Brian |
From: Brian P. <bri...@tu...> - 2006-10-18 14:36:01
|
James Supancic wrote: > proper OpenGL version with local configuration? > > I wrote a new SPU (I named it dmxdirect), it basically allows me to > use Chromium in a local configuration on a single DMX backend display > (rendering is restricted to one of my four monitors). The > configuration is as follows > AppNode: > dmxdirectspu > renderspu > > The dmxdirectspu basicly does what is needed to get the renderspu to > render to backend window (like the tilesortSPU but for a single > machine). > > This is much faster than using the tilesort spu, and as I only need 3d > support on one of the four monitors it is better for my configuration. > > Overall things run much better, but I still have some problems, a > number of applications don't render correctly. I suspect this is > because Chromium is returning the OpenGL capabilities of the card, not > the intersection of it's capabilities and the cards. For example, > glxinfo says that my OpenGL version string is 2.0.2. First, you can test your hypothesis by changing renderspuGetString() in spu/render/renderspu.c so that it returns "1.5" or thereabouts. If that doesn't fix things, the problem is elsewhere. > My question is, is there an easy way to compile Chromium with support > for OpenGL 2 in a local configuration? I shouldn't have to do that > much to get OpenGL 2 working in this configuration as all Chromium > must do is forward the calls as they are, there is no need for any > packing/tilesorting etc. You'd basically have to add the OpenGL 2.0 functions to the API dispatch layer. The relevant directories are opengl_stub/, glapi_parser/ and spu_loader/. Not easy, but not too hard either. -Brian |
From: <dr...@bf...> - 2006-10-18 11:24:10
|
Hi I use Chromium on Windows XP to drive 6 servers from one client over a 1Gbps TCP/IP network. Every now and then Chromium locks up. The lock up occurres in __tcpip_read_exact()'s call to recv(). Even though select() did report the socket to be ready for reading the first call to recv() blocks. If I kill the server of this connection recv() returns with the correct error code. See the stack trace below for more details. Does anyone else experience similar problems? I suspect this might be a bug in some network driver (Intel) but I'm not sure. Michael NTDLL.DLL!_KiFastSystemCallRet@0() NTDLL.DLL!_ZwWaitForSingleObject@12() + 0xc bytes MSWSOCK.DLL!_SockWaitForSingleObject@16() + 0x3c8 bytes MSWSOCK.DLL!_WSPRecv@36() + 0x1487 bytes WS2_32.DLL!_recv@16() + 0x6f bytes crutil.dll!__tcpip_read_exact(unsigned int sock=1892, void * buf=0x0012fb98, unsigned int len=4) Line 212 + 0x14 bytes C crutil.dll!crTCPIPReceiveMessage(CRConnection * conn=0x00add6c0) Line 868 + 0xf bytes C crutil.dll!crTCPIPRecv() Line 1089 + 0xc bytes C crutil.dll!crNetRecv() Line 1183 + 0x5 bytes C tilesortspu.dll!tilesortspu_SwapBuffers(int window=1, int flags=0) Line 103 + 0x5 bytes C opengl32.dll!stubSwapBuffers(const window_info_t * window=0x00edfe98, int flags=0) Line 987 C opengl32.dll!wglSwapBuffers_prox(HDC__ * hdc=0xb5010b1e) Line 275 + 0xb bytes C gdi32.dll!_SwapBuffers@4() + 0x25 bytes glut32.dll!10009e55() [Frames below may be incorrect and/or missing, no symbols loaded for glut32.dll] atlantis.exe!Display() Line 349 C glut32.dll!100050c2() atlantis.exe!WhalePilot(_fishRec * fish=0x00411c60) Line 61 + 0x26 bytes C atlantis.exe!Animate() Line 169 + 0xa bytes C 0012ff58() glut32.dll!100048d6() atlantis.exe!main(int argc=3, char * * argv=0x00ad5d68) Line 426 C atlantis.exe!mainCRTStartup() Line 398 + 0x11 bytes C kernel32.dll!_BaseProcessStart@4() + 0x23 bytes |
From: James S. <arr...@gm...> - 2006-10-17 19:02:37
|
proper OpenGL version with local configuration? I wrote a new SPU (I named it dmxdirect), it basically allows me to use Chromium in a local configuration on a single DMX backend display (rendering is restricted to one of my four monitors). The configuration is as follows AppNode: dmxdirectspu renderspu The dmxdirectspu basicly does what is needed to get the renderspu to render to backend window (like the tilesortSPU but for a single machine). This is much faster than using the tilesort spu, and as I only need 3d support on one of the four monitors it is better for my configuration. Overall things run much better, but I still have some problems, a number of applications don't render correctly. I suspect this is because Chromium is returning the OpenGL capabilities of the card, not the intersection of it's capabilities and the cards. For example, glxinfo says that my OpenGL version string is 2.0.2. My question is, is there an easy way to compile Chromium with support for OpenGL 2 in a local configuration? I shouldn't have to do that much to get OpenGL 2 working in this configuration as all Chromium must do is forward the calls as they are, there is no need for any packing/tilesorting etc. Thank you for your time, James Steven Supancic III |
From: Brian P. <bri...@tu...> - 2006-10-16 15:28:55
|
Michael D=FCrig wrote: >=20 > The patch attached adds support for Visual Studio 2005 (i.e. VC8). >=20 > - When VC8 is detected in WIN_NT.MK a different set of flags is set. > There are a lot of deprecation warnings. I choose to ignore them (/wd49= 96). >=20 > - By default the linker produces an external manifest file. This is > problematic for appfaker since an application fails to start when the > manifest is not in the applications directory. I therefore added a > further link step which embeds the manifest into the application's bina= ry. >=20 > - Some .def files used the DESCRIPTION keyword which is deprecated now. > Since the description was always an empty string I removed it entirely. >=20 > - I think it is wrong to declare cr_packer_globals DLLDATA > (__declspec(dllimport)) in cr_pack.h/pack_init.c. After all the variabl= e > is exported. I checked in your patch. Not sure about the DLLDATA thing. Maybe=20 another Windows user can comment. -Brian |
From: <dr...@bf...> - 2006-10-12 18:51:06
|
The patch attached adds support for Visual Studio 2005 (i.e. VC8). - When VC8 is detected in WIN_NT.MK a different set of flags is set. There are a lot of deprecation warnings. I choose to ignore them (/wd4996). - By default the linker produces an external manifest file. This is problematic for appfaker since an application fails to start when the manifest is not in the applications directory. I therefore added a further link step which embeds the manifest into the application's binary. - Some .def files used the DESCRIPTION keyword which is deprecated now. Since the description was always an empty string I removed it entirely. - I think it is wrong to declare cr_packer_globals DLLDATA (__declspec(dllimport)) in cr_pack.h/pack_init.c. After all the variable is exported. Michael |
From: Brian P. <bri...@tu...> - 2006-10-05 17:12:34
|
James Supancic wrote: >> Alternately, does changing "unsigned int" to "int" on line 97 silence >> the warnings? > > > Yea, that gets rid of them, but now I get > dmx.c:103: warning: comparison between signed and unsigned > for > CRASSERT(numScreens == numBackendWindows); OK, fixed in CVS. >> Which compiler is this? > > gcc 4.1.1, apparently it doesn't like implicit conversions from signed > to unsigned values... g++ has complained about those in earlier versions. I guess gcc is catching up. -Brian |
From: James S. <arr...@gm...> - 2006-10-05 17:03:17
|
> Alternately, does changing "unsigned int" to "int" on line 97 silence > the warnings? Yea, that gets rid of them, but now I get dmx.c:103: warning: comparison between signed and unsigned for CRASSERT(numScreens == numBackendWindows); > Which compiler is this? gcc 4.1.1, apparently it doesn't like implicit conversions from signed to unsigned values... Thank you for your time, James Steven Supancic III |
From: Brian P. <bri...@tu...> - 2006-10-05 15:03:32
|
James Supancic wrote: > warning in dmx.c > > I am getting a warning in /opt/cr/dmx/dmx.c, due to a type differnce. > I have attached a patch which fixes the problem. > > Thank you for your time, > James Steven Supancic III > > > ------------------------------------------------------------------------ > > ? dmx.c.diff > Index: dmx.c > =================================================================== > RCS file: /cvsroot/chromium/cr/dmx/dmx.c,v > retrieving revision 1.1 > diff -r1.1 dmx.c > 102c102 > < DMXGetScreenCount(dpy, &numScreens); > --- > >> DMXGetScreenCount(dpy, (int*)&numScreens); > > 127c127 > < if (!DMXGetWindowAttributes(dpy, xwin, &count, numScreens, dmxWinInfo)) > --- > >> if (!DMXGetWindowAttributes(dpy, xwin, (int*)&count, numScreens, dmxWinInfo)) Alternately, does changing "unsigned int" to "int" on line 97 silence the warnings? Which compiler is this? -Brian |
From: James S. <arr...@gm...> - 2006-10-04 01:53:38
|
warning in dmx.c I am getting a warning in /opt/cr/dmx/dmx.c, due to a type differnce. I have attached a patch which fixes the problem. Thank you for your time, James Steven Supancic III |
From: Daniel E. S. <dan...@gm...> - 2006-09-14 19:04:21
|
[snip] > > > > I have a custom crServer that is embedded into a frame loop. Every > > frame the server checks for client data which is drawn along with my > > custom drawing updates... This results in choppy frames because the > > frames aren't synchronized that are coming over the wire on a > > glFlush/SwapBuffers/etc(spu that no-ops them). I am trying to find > > a way to find out when a client(in our case there will always just > > be one) is done with the current frame(buffer swapping for my app is > > > done for me so its out of my control). I see where I can check to > > see if the server is in between Begin/End calls..but not between > > frames. > > OpenGL doesn't have any explicit begin/end-frame commands. The > closest approximation is glClear and SwapBuffers/glFlush. This I know. I am not using Chromium like most though. I am trying to insert crServer into a frame loop that I don't have much control over(VR Juggler). If your app calls [glX/wgl]SwapBuffers() you can intercept that in > Chromium and do end-of-frame processing. This is what I was asking. I want to intercept these in the server stream, not in an SPU. Is anything like this supported/can I make it happen? -Dan |
From: Brian P. <bri...@tu...> - 2006-09-14 17:01:51
|
Daniel E. Shipton wrote: > Any advice from this list? Since I am digging deep into the chromium > code this list may be more appropriate. > > On 9/11/06, *Daniel E. Shipton* < dan...@gm... > <mailto:dan...@gm...>> wrote: > > I have a custom crServer that is embedded into a frame loop. Every > frame the server checks for client data which is drawn along with my > custom drawing updates... This results in choppy frames because the > frames aren't synchronized that are coming over the wire on a > glFlush/SwapBuffers/etc(spu that no-ops them). I am trying to find > a way to find out when a client(in our case there will always just > be one) is done with the current frame(buffer swapping for my app is > done for me so its out of my control). I see where I can check to > see if the server is in between Begin/End calls..but not between > frames. OpenGL doesn't have any explicit begin/end-frame commands. The closest approximation is glClear and SwapBuffers/glFlush. If your app calls [glX/wgl]SwapBuffers() you can intercept that in Chromium and do end-of-frame processing. -Brian |
From: Brian P. <bri...@tu...> - 2006-09-14 16:44:15
|
James Supancic wrote: > Solution for bug in tilesortspu_DrawRangeElements. > > All the for loops in this function should use i=0 not i=start. Start > and End have nothing to do with which parts of the index buffer should > be sent, they refer to the maximum and minimum array index contained > in the index buffer. If you like you could add an if statement in the > for loops to filter out array indexes that are not bound by start and > end. > > for (i = start ; i < count ; i++) > { > //pack array element > } > > should be replaced with: > > for (i = 0 ; i < count ; i++) > { > //pack array element > } Thanks. Fixed in CVS. -Brian |
From: James S. <arr...@gm...> - 2006-09-14 09:25:01
|
Solution for bug in tilesortspu_DrawRangeElements. All the for loops in this function should use i=0 not i=start. Start and End have nothing to do with which parts of the index buffer should be sent, they refer to the maximum and minimum array index contained in the index buffer. If you like you could add an if statement in the for loops to filter out array indexes that are not bound by start and end. for (i = start ; i < count ; i++) { //pack array element } should be replaced with: for (i = 0 ; i < count ; i++) { //pack array element } Thank you for your time, James Steven Supancic III |
From: Daniel E. S. <dan...@gm...> - 2006-09-13 18:19:52
|
Any advice from this list? Since I am digging deep into the chromium code this list may be more appropriate. On 9/11/06, Daniel E. Shipton <dan...@gm...> wrote: > > I have a custom crServer that is embedded into a frame loop. Every frame > the server checks for client data which is drawn along with my custom > drawing updates... This results in choppy frames because the frames aren't > synchronized that are coming over the wire on a glFlush/SwapBuffers/etc(spu > that no-ops them). I am trying to find a way to find out when a client(in > our case there will always just be one) is done with the current > frame(buffer swapping for my app is done for me so its out of my control). > I see where I can check to see if the server is in between Begin/End > calls..but not between frames. > > Within my draw function I have: > > // Bunch of custom drawing above... > glPushMatrix(); > bool ran_queue = false; > while(!ran_queue) > { > if(cr_server.run_queue != NULL) > { > crServerServiceClients(); > ran_queue = true; > } > } > glPopMatrix(); > > > Ideas? > > -Dan > |
From: Brian P. <bri...@tu...> - 2006-09-13 14:58:58
|
A problem that Chromium has had for a while is it doesn't always close down cleanly. When app or crserver process exits, the other processes may linger until they're manually killed. I've checked in some changes to address this. The network layer had some provision for connection-close callback functions but it wasn't fully utilized. I've updated that code. The connection-close callback that's registered with crNetInit() is now called whenever a connection is closed (it was hit or miss before). I've updated the Pack SPU to use this properly and will update some other SPUs soon. The other new thing is a crserver config option called 'exit_if_no_clients'. It's enabled by default. Basically, when the crserver detects that there are no longer any client connections, the crserver exits. If you'd prefer the crserver to stay alive, waiting for future client connections, set exit_if_no_clients=0. Hopefully I haven't broke anything. Let me know if I did. -Brian |
From: Brian P. <bri...@tu...> - 2006-09-12 14:18:19
|
Michael D=FCrig wrote: >=20 > The attached patch enhances compatibility with QT 4.0 on Windows. QT=20 > implements an abstraction of an OpenGL context in its QGLContext class. > To create a context QGLContext always calls wglCreateLayerContext() eve= n=20 > though a call to wglCreateContext() would do. To account for this I=20 > changed the implementation of wglCreateLayirContext_prox() in=20 > opengl_stub/wgl.c such that it forwards the call to=20 > wglCreateContext_prox() if layerPlane =3D=3D 0. >=20 Thanks. I checked in your patch. -Brian |
From: <dr...@bf...> - 2006-09-12 13:49:25
|
The attached patch enhances compatibility with QT 4.0 on Windows. QT implements an abstraction of an OpenGL context in its QGLContext class. To create a context QGLContext always calls wglCreateLayerContext() even though a call to wglCreateContext() would do. To account for this I changed the implementation of wglCreateLayirContext_prox() in opengl_stub/wgl.c such that it forwards the call to wglCreateContext_prox() if layerPlane == 0. Michael |
From: Brian P. <bri...@tu...> - 2006-09-11 15:20:54
|
James Supancic wrote: > I have a few questions. > > What do the fields in the TileSortBucketInfo structure mean? I > understand the meaning of the hits data member, but what are the > pixelBounds, objectMin and objectMax data members for? Those are the bounding boxes for the object we're bucketing in object coords and in window coords. > My second question is, can I SPU change it's "super" at run time? For > example, lets create a SPU with a NOP SPU as it's super, but later I > want to change it to a passthough SPU. Can I do this? > What would be the technique? I don't think that's possible. However, the 'apichange' SPU shows how to change GL functions on the fly. Maybe that'll help. -Brian |
From: James S. <arr...@gm...> - 2006-09-11 09:32:16
|
I have a few questions. What do the fields in the TileSortBucketInfo structure mean? I understand the meaning of the hits data member, but what are the pixelBounds, objectMin and objectMax data members for? My second question is, can I SPU change it's "super" at run time? For example, lets create a SPU with a NOP SPU as it's super, but later I want to change it to a passthough SPU. Can I do this? What would be the technique? Thank you for your time, James Steven Supancic III |