[Nouveau] [Mesa3d-dev] [PATCH] glsl: put varyings in texcoord slots

Olivier Galibert galibert at pobox.com
Mon Jan 18 12:37:04 PST 2010


On Mon, Jan 18, 2010 at 09:06:01PM +0100, Luca Barbieri wrote:
> As for REing the tables, it may not be possible.
> This is the code that apparently sets them up right now:
> 	/* vtxprog output routing */
> 	so_method(so, screen->curie, 0x1fc4, 1);
> 	so_data  (so, 0x06144321);
> 	so_method(so, screen->curie, 0x1fc8, 2);
> 	so_data  (so, 0xedcba987);
> 	so_data  (so, 0x00000021);
> 	so_method(so, screen->curie, 0x1fd0, 1);
> 	so_data  (so, 0x00171615);
> 	so_method(so, screen->curie, 0x1fd4, 1);
> 	so_data  (so, 0x001b1a19);
> 
> This makes me think that only 4 bits might be used for the values
> (look at the arithmetic progressions of 4-bit values), so that there
> is a limit of 16 vertex output/fragment inputs.

Looking at the so_data values, 1fcx is 4 bits, 1fdx is 8 bits.  It's
also a little strange to have 24 slots for 16 possible values.


> If GLSL starts at index 10, we are still in trouble because less than
> 8 varyings will be available.

Shader model 4 requires at least 32 interpolated values.  Subsequent
versions will want more and more.  Any "start index" is going to blow
up someday unless it's a very large value (which 10 isn't).

  OG.



More information about the Nouveau mailing list