}
#endif
+extern cvar_t r_transparent_alphatocoverage;
static void GL_Backend_ResetState(void)
{
qglColorMask(1, 1, 1, 1);CHECKGLERROR
qglAlphaFunc(gl_state.alphafunc, gl_state.alphafuncvalue);CHECKGLERROR
- qglDisable(GL_ALPHA_TEST);CHECKGLERROR
+ qglDisable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
qglBlendFunc(gl_state.blendfunc1, gl_state.blendfunc2);CHECKGLERROR
qglDisable(GL_BLEND);CHECKGLERROR
qglCullFace(gl_state.cullface);CHECKGLERROR
CHECKGLERROR
if (gl_state.alphatest)
{
- qglEnable(GL_ALPHA_TEST);CHECKGLERROR
+ qglEnable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
}
else
{
- qglDisable(GL_ALPHA_TEST);CHECKGLERROR
+ qglDisable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
}
break;
case RENDERPATH_D3D9:
break;
case RENDERPATH_GL20:
case RENDERPATH_GLES2:
+ if (vid_multisampling.integer)
+ {
+ if (gl_state.alphatest && r_transparent_alphatocoverage.integer)
+ qglEnable(GL_SAMPLE_ALPHA_TO_COVERAGE_ARB);
+ else
+ qglDisable(GL_SAMPLE_ALPHA_TO_COVERAGE_ARB);
+ CHECKGLERROR
+ }
break;
}
}