On 06/16/2011 08:41 AM, Jerome Glisse wrote:
On Thu, Jun 16, 2011 at 10:08 AM, Brian Paul<bri...@vmware.com> wrote:
On 06/15/2011 03:38 PM, Bryan Cain wrote:
My work on the GLSL IR to TGSI translator I announced on the list this
April is now at the point where I think it is ready to be merged into
Mesa. It is stable and doesn't regress any piglit tests on softpipe or
It adds native integer support as required by GLSL 1.30, although it is
currently disabled for all drivers since GLSL 1.30 support is not
complete yet and most Gallium drivers haven't implemented the TGSI
integer opcodes. (This would be a good time for Gallium driver
developers to add support for TGSI's integer opcodes, which are
currently only implemented in softpipe.)
Developing this necessitated significant changes elsewhere in Mesa, and
some small changes in Gallium. This means that some of the commits in
my branch probably need to be reviewed by the developers of those
If I had commit access to Mesa, I would create a branch for this work in
the main Mesa repository. But since I am still waiting on my
freedesktop.org account to be created, I have pushed the latest version
to the "glsl-to-tgsi" branch of my personal Mesa repository on GitHub:
Git clone URL: git://github.com/Plombo/mesa.git
Web interface for viewing commits:
Hopefully my freedesktop.org account will be created soon (I have
already had my account request approved), so that I can push this to a
branch in the central repository.
Looks like nice work, Bryan.
Just a few minor questions/comments for now:
1. The st_fragment/vertex/geometry_program structs now have a glsl_to_tgsi
field. I did a grep, but I couldn't find where that field is assigned. Can
you clue me in?
2. The above mentioned program structs contains an old Mesa instruction
program AND/OR(?) a GLSL IR. Do both types of representations co-exist
sometimes? Perhaps you could update the comments on those structs to
3. Kind of a follow-on: for glDrawPixels and glBitmap we take the original
program code (in Mesa form) and prepend extra instructions for fetching the
fragment color or doing the fragment kill. Do we always have the Mesa
instructions for this? It seems we don't normally want to generate Mesa
instructions all the time but we still need them sometimes.
I must be missing something but why do we need to take the original program for
Fragment programs apply to glDrawPixels, glCopyPixels, glBitmap.
mesa-dev mailing list