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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev