if (r_textureunits.integer < 1)
Cvar_SetValueQuick(&r_textureunits, 1);
- if (gl_combine.integer && (!gl_combine_extension || r_textureunits.integer < 2))
+ if (gl_combine.integer && !gl_combine_extension)
Cvar_SetValueQuick(&gl_combine, 0);
CHECKGLERROR
dofullbrightshirt = false;
dofullbrightpants = false;
}
- if (dolightmap && gl_combine.integer)
+ if (dolightmap && r_textureunits.integer >= 2 && gl_combine.integer)
{
memset(&m, 0, sizeof(m));
m.tex[1] = R_GetTexture(basetexture);
qglUniform1fARB(qglGetUniformLocationARB(r_shadow_lightprog, "OffsetMapping_Bias"), r_shadow_glsl_offsetmapping_bias.value);CHECKGLERROR
}
}
- else if (gl_dot3arb && gl_texturecubemap && gl_combine.integer && gl_stencil)
+ else if (gl_dot3arb && gl_texturecubemap && r_textureunits.integer >= 2 && gl_combine.integer && gl_stencil)
r_shadowstage = R_SHADOWSTAGE_LIGHT_DOT3;
else
r_shadowstage = R_SHADOWSTAGE_LIGHT_VERTEX;
int passes = 0;
if (r_shadow_glsl.integer && r_shadow_program_light[0])
passes++; // GLSL shader path (GFFX5200, Radeon 9500)
- else if (gl_dot3arb && gl_texturecubemap && gl_combine.integer && gl_stencil)
+ else if (gl_dot3arb && gl_texturecubemap && r_textureunits.integer >= 2 && gl_combine.integer && gl_stencil)
{
// TODO: add direct pants/shirt rendering
if (pantstexture && (r_shadow_rtlight->ambientscale + r_shadow_rtlight->diffusescale) * VectorLength2(lightcolorpants) > 0.001)
cvar_t vid_vsync = {CVAR_SAVE, "vid_vsync", "0"};
cvar_t vid_mouse = {CVAR_SAVE, "vid_mouse", "1"};
-cvar_t gl_combine = {CVAR_SAVE, "gl_combine", "1"};
+cvar_t gl_combine = {0, "gl_combine", "1"};
cvar_t gl_finish = {0, "gl_finish", "0"};
cvar_t v_gamma = {CVAR_SAVE, "v_gamma", "1"};