Max arb shader units restriction of 8 on v3d and panfrost (and maybe other gallium drivers)
Hi! @chema @alyssa while both drivers want to expose 16 as max arb shader units. There is a restriction here than doesn't allow them to expose that.
here it's an example on v3d at "src/broadcom/common/v3d_limits.h": #define V3D_MAX_TEXTURE_SAMPLERS 16
but here there is a restriction on "src/mesa/state_tracker/st_extensions.c":
c->MaxTextureCoordUnits = _min(c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits, MAX_TEXTURE_COORD_UNITS);
c->MaxTextureUnits = _min(c->Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits, c->MaxTextureCoordUnits);
and on "src/mesa/main/config.h":
/**
- Max number of texture coordinate units. This mainly just applies to
- the fixed-function vertex code. This will be difficult to raise above
- eight because of various vertex attribute bitvectors. */ #define MAX_TEXTURE_COORD_UNITS 8