On Wed, 2011-05-25 at 09:32 -0400, Jerome Glisse wrote: > On Tue, May 24, 2011 at 8:09 PM, Bryan Cain <bryanca...@gmail.com> wrote: > > Hi, > > > > 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. > > > > Bryan > > TGSI needs to grow type support (int, uint and possibly int8,16,32..)
Or go away entirely... I'm not trying to impose a direction on this, but it seems like the GLSL IR->TGSI converter (once running) could be pushed down into the individual drivers and GLSL IR or a close cousin of it could become the gallium-level interface. Then individual drivers could be modified to consume IR directly. Keith _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev