[Mesa-dev] GLSL IR int-to-float pass

Bryan Cain bryancain3 at gmail.com
Tue May 24 17:09:53 PDT 2011


In the past few days, I've been working on native integer support in my
GLSL to TGSI translator.  Something that's come to my attention is that
supporting Gallium targets with and without integer support using a
single GLSL IR backend will more or less require a GLSL IR pass to
convert int, uint, and possibly bool variables and operations to floats.

Currently, this is done directly in the backend, in both ir_to_mesa and
st_glsl_to_tgsi.  However, the mod_to_fract and div_to_mul_rcp lowering
passes for GLSL IR need to know whether to lower integer modulus and
division operations to their corresponding float operations.  (They both
do this in Mesa master without asking the backend, but that will be easy
to change later.)  So a GLSL IR pass will be needed to do the type lowering.

Such a pass would also have the advantage of less duplicated
functionality between backends, since ir_to_mesa could also take
advantage of the pass to eliminate some code.

I'm more than willing to try writing such a pass myself if no one else
is interested in doing it, but I figure I should make sure there are no
objections before starting on it.


More information about the mesa-dev mailing list