-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've been digging through the softpipe code in gallium for the past few
days.  I think I'm starting to "get it".  I do have one question about
the way quads are processed.

It looks like the triangle setup code produces a row of quads and passes
them off, one at a time, to the fragment shader.  The fragment shader
then does the attribute interpolation and passes the fragments to the
real shader.  Is that correct?

It seems like instead we'd want the setup code to produce large groups
of quads with all of attributes pre-interpolated.  Each quad would be
tagged with some ordering information.  The shader code could then
process quads however it wanted as longs as the tagged ordering
information was respected.  This would allow a few things:

1. Group quad processing to better use the tile cache.

2. Trivially distribute quad processing to multiple CPU cores (not just
on Cell, either).

3. If the shader doesn't modify Z values, early Z culling could be
performed.

I don't see any easy way to achieve this with the current code.  Am I
missing something, or is this a place where I could jump in and help?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFHKRtMX1gOwKyEAw8RAjS5AJ4rfvxn6CHiQVOqXv1o2cgRaNB6XQCgjSJK
OahlvzbNymPBfMnqetGbqEA=
=QqR8
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to