[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