+ if (backendunits > 1)
+ {
+ for (i = 0;i < backendunits;i++)
+ {
+ if (gl_state.texture[i] != m->tex[i])
+ {
+ if (gl_state.unit != i)
+ {
+ qglActiveTexture(GL_TEXTURE0_ARB + (gl_state.unit = i));CHECKGLERROR
+ }
+ if (gl_state.texture[i] == 0)
+ {
+ qglEnable(GL_TEXTURE_2D);CHECKGLERROR
+ if (gl_state.clientunit != i)
+ {
+ qglClientActiveTexture(GL_TEXTURE0_ARB + (gl_state.clientunit = i));CHECKGLERROR
+ }
+ qglEnableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
+ }
+ qglBindTexture(GL_TEXTURE_2D, (gl_state.texture[i] = m->tex[i]));CHECKGLERROR
+ if (gl_state.texture[i] == 0)
+ {
+ qglDisable(GL_TEXTURE_2D);CHECKGLERROR
+ if (gl_state.clientunit != i)
+ {
+ qglClientActiveTexture(GL_TEXTURE0_ARB + (gl_state.clientunit = i));CHECKGLERROR
+ }
+ qglDisableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
+ }
+ }
+ if (gl_state.texturergbscale[i] != texturergbscale[i])
+ {
+ if (gl_state.unit != i)
+ {
+ qglActiveTexture(GL_TEXTURE0_ARB + (gl_state.unit = i));CHECKGLERROR
+ }
+ qglTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, (gl_state.texturergbscale[i] = texturergbscale[i]));CHECKGLERROR
+ }
+ }
+ }
+ else
+ {
+ if (gl_state.texture[0] != m->tex[0])
+ {
+ if (gl_state.texture[0] == 0)
+ {
+ qglEnable(GL_TEXTURE_2D);CHECKGLERROR
+ qglEnableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
+ }
+ qglBindTexture(GL_TEXTURE_2D, (gl_state.texture[0] = m->tex[0]));CHECKGLERROR
+ if (gl_state.texture[0] == 0)
+ {
+ qglDisable(GL_TEXTURE_2D);CHECKGLERROR
+ qglDisableClientState(GL_TEXTURE_COORD_ARRAY);CHECKGLERROR
+ }
+ }
+ }
+}
+
+void R_Mesh_State(const rmeshstate_t *m)
+{
+ R_Mesh_MainState(m);
+ R_Mesh_TextureState(m);