[Mesa-dev] What I'm working on

Ian Romanick idr at freedesktop.org
Mon Oct 11 14:49:25 PDT 2010

Hash: SHA1

I just thought I'd give people a head-up of what I'm working on for the
next few weeks and how this relates to what other Intel people are doing.

We're trying to get 3D fully enabled on Sandybridge hardware for our Q4
release.  Since there are quite a few subtle changes from Ironlake to
Sandybridge, we don't want to re-work N different shader backends.  Eric
is trying to get his direct GLSL IR backend working solid on all
GEN4-ish hardware, including Sandybridge.  That will get GLSL working,
but that leaves fixed-function and assembly shaders.

To get the rest working, I'm implementing code to generate GLSL IR
directly from assembly shaders and from fixed-function.  To do this
right, there is some additional infrastructure needed.  This is why I
recently implemented GL_ARB_explicit_attrib_location.

Over the next week or two I will implement
GL_EXT_separate_shader_objects.  The plan is to then treat the assembly
shaders like the compiled, par-linked programs that are used in EXT_sso.
 I'm only doing the EXT version because there is a lot less to do for
it, and I believe that will supply enough infrastructure for the
assembly shader rework.  This will live in a (hopefully short lived)
branch in my personal GIT repo called ext_sso.

Once that is done, I'll start converting the shader assembler to
generate GLSL IR.  Fixed-function will get the same treatment shortly

It should be possible to move ir_to_mesa out of core Mesa and into a
(lower) driver level.  As has been discussed numerous times, the
assembly-like IRs in Mesa (classic Mesa IR and TGSI) are completely
useless for generating code for GPUs.  llvmpipe has shown that they are
also completely useless for generating code for CPUs.  The various
proposed GLSL->LLVM and LLVM->GLSL translation layers will allow these
relics to die.
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the mesa-dev mailing list