[Mesa-dev] Status of the GLSL->TGSI translator

Jerome Glisse j.glisse at gmail.com
Thu Jun 16 07:41:14 PDT 2011


On Thu, Jun 16, 2011 at 10:08 AM, Brian Paul <brianp at 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
>> nv50.
>>
>> 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
>> components.
>>
>> 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:
>> https://github.com/Plombo/mesa/commits/glsl-to-tgsi
>>
>> 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
> explain that.
>
> 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
those ?

Cheers,
Jerome


More information about the mesa-dev mailing list