Hi guys, So I've gotten llvmpipe GLSL 1.20 support with native integers enabled to be 0 regressions from non-integers enabled.
The one big problem I've hit is non-native integer llvmpipe uses system_values, it takes them in as integers and converts them to floats and stores that value, however the state trackers assume that system values are stored as integers, so we don't ever see any explicit F2I, so although we do bit casting we get the wrong value since it isn't converted back to an integer anywhere. Now I don't think support instance id pre GLSL 1.40 works properly anyways. But I'm open to suggestions on how to handle it: a) drop support for float system values, don't advertise instance id since we don't let apps use it properly. Just use integers. b) add a mechanism for gallivm to know if its operating with native integers or not advertised and have it do something, the reason I don't like this is so far this is the only case where this is a problem, gallivm code so far has not need to know what the driver was advertising above it. Dave. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev