d3d8: For render states D3DRS_POINTSPRITEENABLE and

D3DRS_MULTISAMPLEANTIALIAS, use GL_SUPPORT correctly.
This commit is contained in:
H. Verbeet 2006-01-23 11:26:25 +01:00 committed by Alexandre Julliard
parent 66770e4ca0
commit ac16181790
1 changed files with 19 additions and 25 deletions

View File

@ -3083,39 +3083,33 @@ HRESULT WINAPI IDirect3DDevice8Impl_SetRenderState(LPDIRECT3DDEVICE8 iface, D3
} }
case D3DRS_POINTSPRITEENABLE : case D3DRS_POINTSPRITEENABLE :
{ {
if (!GL_SUPPORT(ARB_POINT_SPRITE)) {
TRACE("Point sprites not supported\n");
break;
}
if (Value) { if (Value) {
if(GL_SUPPORT(GL_ARB_point_sprite)) {
glEnable(GL_POINT_SPRITE_ARB); glEnable(GL_POINT_SPRITE_ARB);
checkGLcall("glEnable GL_POINT_SPRITE_ARB"); checkGLcall("glEnable GL_POINT_SPRITE_ARB");
} else { } else {
TRACE("Point sprites cannot be enabled in this version of opengl\n");
}
} else {
if(GL_SUPPORT(GL_ARB_point_sprite)) {
glDisable(GL_POINT_SPRITE_ARB); glDisable(GL_POINT_SPRITE_ARB);
checkGLcall("glDisable GL_POINT_SPRITE_ARB"); checkGLcall("glDisable GL_POINT_SPRITE_ARB");
} else {
TRACE("Point sprites cannot be disabled in this version of opengl\n");
}
} }
break; break;
} }
case D3DRS_MULTISAMPLEANTIALIAS : case D3DRS_MULTISAMPLEANTIALIAS :
{ {
if (!GL_SUPPORT(ARB_MULTISAMPLE)) {
TRACE("Multisample antialiasing not supported\n");
break;
}
if(Value) { if(Value) {
if(GL_SUPPORT(GL_ARB_multisample)) {
glEnable(GL_MULTISAMPLE_ARB); glEnable(GL_MULTISAMPLE_ARB);
checkGLcall("glEnable GL_MULTISAMPLE_ARB"); checkGLcall("glEnable GL_MULTISAMPLE_ARB");
} else { } else {
TRACE("Multisample antialiasing cannot be enabled in this version of opengl\n");
}
} else {
if(GL_SUPPORT(GL_ARB_multisample)) {
glDisable(GL_MULTISAMPLE_ARB); glDisable(GL_MULTISAMPLE_ARB);
checkGLcall("glDisable GL_MULTISAMPLE_ARB"); checkGLcall("glDisable GL_MULTISAMPLE_ARB");
} else {
TRACE("Multisample antialiasing cannot be disabled in this version of opengl\n");
}
} }
break; break;
} }