Roderick Colenbrander : wined3d: glBlend* fixes.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Sep 25 14:45:27 CDT 2006
Module: wine
Branch: master
Commit: 7c86d91bb929bef4c5a6a4a4df458adf6149b9bd
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7c86d91bb929bef4c5a6a4a4df458adf6149b9bd
Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date: Fri Sep 22 07:58:38 2006 +0200
wined3d: glBlend* fixes.
---
dlls/wined3d/device.c | 26 +++++++++++---------------
dlls/wined3d/directx.c | 3 +++
include/wine/wined3d_gl.h | 1 +
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index e32b824..c4b9767 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3700,7 +3700,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl
FIXME("Unrecognized/Unhandled D3DBLENDOP value %ld\n", Value);
}
- if(GL_SUPPORT(ARB_IMAGING)) {
+ if(GL_SUPPORT(EXT_BLEND_MINMAX)) {
TRACE("glBlendEquation(%x)\n", glParm);
GL_EXTCALL(glBlendEquation(glParm));
checkGLcall("glBlendEquation");
@@ -4509,23 +4509,19 @@ static HRESULT WINAPI IWineD3DDeviceImpl
case WINED3DRS_BLENDFACTOR :
{
float col[4];
- if (GL_SUPPORT(ARB_IMAGING)) {
- TRACE("Setting BlendFactor to %ld", Value);
+ TRACE("Setting BlendFactor to %ld\n", Value);
- D3DCOLORTOGLFLOAT4(Value, col);
- if (0xFFFFFFFF != Value) {
- glEnable(GL_BLEND);
- checkGLcall("glEnable(GL_BLEND)");
- }
- else {
- glDisable(GL_BLEND);
- checkGLcall("glDisable(GL_BLEND)");
- }
- glBlendColor (col[0],col[1],col[2],col[3]);
- } else {
- WARN("Unsupported in local OpenGL implementation: glBlendColor\n");
+ D3DCOLORTOGLFLOAT4(Value, col);
+ if (0xFFFFFFFF != Value) {
+ glEnable(GL_BLEND);
+ checkGLcall("glEnable(GL_BLEND)");
+ }
+ else {
+ glDisable(GL_BLEND);
+ checkGLcall("glDisable(GL_BLEND)");
}
+ glBlendColor (col[0],col[1],col[2],col[3]);
break;
}
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 19e3172..793e3c8 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -640,6 +640,9 @@ #undef USE_GL_FUNC
} else if (strcmp(ThisExtn, "GL_EXT_framebuffer_object") == 0) {
TRACE_(d3d_caps)(" FOUND: EXT Frame Buffer Object support\n");
gl_info->supported[EXT_FRAMEBUFFER_OBJECT] = TRUE;
+ } else if (strcmp(ThisExtn, "GL_EXT_blend_minmax") == 0) {
+ TRACE_(d3d_caps)(" FOUND: EXT Blend minmax support\n");
+ gl_info->supported[EXT_BLEND_MINMAX] = TRUE;
} else if (strcmp(ThisExtn, "GL_EXT_paletted_texture") == 0) { /* handle paletted texture extensions */
TRACE_(d3d_caps)(" FOUND: EXT Paletted texture support\n");
gl_info->supported[EXT_PALETTED_TEXTURE] = TRUE;
diff --git a/include/wine/wined3d_gl.h b/include/wine/wined3d_gl.h
index 1a589a5..1832287 100644
--- a/include/wine/wined3d_gl.h
+++ b/include/wine/wined3d_gl.h
@@ -1429,6 +1429,7 @@ typedef enum _GL_SupportedExt {
ARB_VERTEX_BUFFER_OBJECT,
ARB_VERTEX_SHADER,
/* EXT */
+ EXT_BLEND_MINMAX,
EXT_FOG_COORD,
EXT_FRAMEBUFFER_OBJECT,
EXT_PALETTED_TEXTURE,
More information about the wine-cvs
mailing list