On Thu, May 2, 2013 at 7:12 PM, Eric Anholt <e...@anholt.net> wrote: > Marek Olšák <mar...@gmail.com> writes: > >> Shaders are unified on most hardware (= same limits in all stages). >> No idea what the assertion was good for. >> --- >> src/mesa/main/config.h | 6 ++---- >> src/mesa/main/context.c | 6 ++---- >> src/mesa/state_tracker/st_extensions.c | 2 +- >> 3 files changed, 5 insertions(+), 9 deletions(-) >> >> diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h >> index 33b5ab0..76863bf 100644 >> --- a/src/mesa/main/config.h >> +++ b/src/mesa/main/config.h > >> - assert(MAX_COMBINED_TEXTURE_IMAGE_UNITS <= 8 * sizeof(GLbitfield)); >> - > > I think this assert is asserting that _EnabledUnits of gl_texture_attrib > can fit the size of the Unit[] array, which seems important.
With Gallium drivers, _EnabledUnits is only used for the fixed-function vertex program, where the number of texture coord units is limited to 8. The fixed-function vertex program doesn't even use the bits of _EnabledUnits, it only checks if the variable is non-zero, so it could just be a boolean. However, swrast uses _EnabledUnits, though the variable seems to be used for fixed-function only. Is this explanation satisfactory that _EnabledUnits doesn't need to have more than 32 bits or am I missing something else? Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev