[PATCH] WineD3D: Kill the GL_ATI_envmap_bumpmap code=0A=

Stefan Doesinger stefan at codeweavers.com
Mon Nov 3 18:36:19 CST 2008


=0A=
This is for two reasons: (1) it isn't used, (2) it is broken=0A=
=0A=
GL_ATI_envmap_bumpmap provides two things: Signed V8U8 pixel=0A=
formats, and bump mapping. The extension is only supported on=0A=
fglrx, and this driver also supports GL_ARB_fragment_program.=0A=
Thus the bump mapping code is never used on any driver out there.=0A=
Furthermore, if it is used, it tends to crash the driver=0A=
=0A=
The signed pixel format is used, as it can be used by pixel=0A=
shaders or the ARBfp replacement. However, the format is broken=0A=
in fglrx, and negative values are clamped to 0.0. This results in=0A=
test failures. WineD3D has an alternative codepath using=0A=
scale+bias to enable V8U8 using a standard signed RGB which works=0A=
correctly on fglrx.=0A=
---=0A=
 dlls/wined3d/arb_program_shader.c |    3 +-=0A=
 dlls/wined3d/directx.c            |    7 +---=0A=
 dlls/wined3d/glsl_shader.c        |    3 +-=0A=
 dlls/wined3d/state.c              |   88 =
+------------------------------------=0A=
 dlls/wined3d/surface.c            |   12 -----=0A=
 dlls/wined3d/utils.c              |    6 +--=0A=
 include/wine/wined3d_gl.h         |   23 ----------=0A=
 7 files changed, 5 insertions(+), 137 deletions(-)=0A=
=0A=
diff --git a/dlls/wined3d/arb_program_shader.c =
b/dlls/wined3d/arb_program_shader.c=0A=
index 3edeabf..493c5d2 100644=0A=
--- a/dlls/wined3d/arb_program_shader.c=0A=
+++ b/dlls/wined3d/arb_program_shader.c=0A=
@@ -659,8 +659,7 @@ static void gen_color_correction(SHADER_BUFFER =
*buffer, const char *reg, const c=0A=
     switch(fmt) {=0A=
         case WINED3DFMT_V8U8:=0A=
         case WINED3DFMT_V16U16:=0A=
-            if(GL_SUPPORT(NV_TEXTURE_SHADER) ||=0A=
-              (GL_SUPPORT(ATI_ENVMAP_BUMPMAP) && fmt =3D=3D =
WINED3DFMT_V8U8)) {=0A=
+            if(GL_SUPPORT(NV_TEXTURE_SHADER) && fmt =3D=3D =
WINED3DFMT_V8U8) {=0A=
                 if(0) {=0A=
                     /* The 3rd channel returns 1.0 in d3d, but 0.0 in =
gl. Fix this while we're at it :-)=0A=
                      * disabled until an application that needs it is =
found because it causes unneeded=0A=
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c=0A=
index 9cdc957..dbfd3f9 100644=0A=
--- a/dlls/wined3d/directx.c=0A=
+++ b/dlls/wined3d/directx.c=0A=
@@ -56,7 +56,6 @@ static const struct {=0A=
     {"GL_ATI_separate_stencil",             ATI_SEPARATE_STENCIL,       =
    0                           },=0A=
     {"GL_ATI_texture_env_combine3",         ATI_TEXTURE_ENV_COMBINE3,   =
    0                           },=0A=
     {"GL_ATI_texture_mirror_once",          ATI_TEXTURE_MIRROR_ONCE,    =
    0                           },=0A=
-    {"GL_ATI_envmap_bumpmap",               ATI_ENVMAP_BUMPMAP,         =
    0                           },=0A=
     {"GL_ATI_fragment_shader",              ATI_FRAGMENT_SHADER,        =
    0                           },=0A=
     {"GL_ATI_texture_compression_3dc",      =
ATI_TEXTURE_COMPRESSION_3DC,    0                           },=0A=
 =0A=
@@ -837,10 +836,6 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info =
*gl_info) {=0A=
             gl_info->supported[NV_TEXGEN_REFLECTION] =3D TRUE;=0A=
         }=0A=
         if (gl_info->supported[NV_TEXTURE_SHADER2]) {=0A=
-            /* GL_ATI_envmap_bumpmap won't play nice with texture =
shaders, so disable it=0A=
-             * Won't occur in any real world situation though=0A=
-             */=0A=
-            gl_info->supported[ATI_ENVMAP_BUMPMAP] =3D FALSE;=0A=
             if(gl_info->supported[NV_REGISTER_COMBINERS]) {=0A=
                 /* Also disable ATI_FRAGMENT_SHADER if register =
combiners and texture_shader2=0A=
                  * are supported. The nv extensions provide the same =
functionality as the=0A=
@@ -2915,7 +2910,7 @@ static HRESULT WINAPI =
IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt=0A=
             break;=0A=
 =0A=
             case WINED3DFMT_V8U8:=0A=
-            if(!GL_SUPPORT(NV_TEXTURE_SHADER) || =
!GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
+            if(!GL_SUPPORT(NV_TEXTURE_SHADER)) {=0A=
                 TRACE_(d3d_caps)("[FAILED] - No converted formats on =
volumes\n");=0A=
                 return WINED3DERR_NOTAVAILABLE;=0A=
             }=0A=
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c=0A=
index 22176e9..bb9a871 100644=0A=
--- a/dlls/wined3d/glsl_shader.c=0A=
+++ b/dlls/wined3d/glsl_shader.c=0A=
@@ -1296,8 +1296,7 @@ static void =
shader_glsl_color_correction(SHADER_OPCODE_ARG* arg) {=0A=
     switch(fmt) {=0A=
         case WINED3DFMT_V8U8:=0A=
         case WINED3DFMT_V16U16:=0A=
-            if(GL_SUPPORT(NV_TEXTURE_SHADER) ||=0A=
-              (GL_SUPPORT(ATI_ENVMAP_BUMPMAP) && fmt =3D=3D =
WINED3DFMT_V8U8)) {=0A=
+            if(GL_SUPPORT(NV_TEXTURE_SHADER) && fmt =3D=3D =
WINED3DFMT_V8U8) {=0A=
                 /* The 3rd channel returns 1.0 in d3d, but 0.0 in gl. =
Fix this while we're at it :-) */=0A=
                 mask =3D shader_glsl_add_dst_param(arg, arg->dst, =
WINED3DSP_WRITEMASK_2, &dst_param);=0A=
                 mask_size =3D shader_glsl_get_write_mask_size(mask);=0A=
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c=0A=
index 1a99d40..573c23c 100644=0A=
--- a/dlls/wined3d/state.c=0A=
+++ b/dlls/wined3d/state.c=0A=
@@ -2860,40 +2860,8 @@ static void set_tex_op(IWineD3DDevice *iface, =
BOOL isAlpha, int Stage, WINED3DTE=0A=
                 Handled =3D FALSE;=0A=
                 break;=0A=
         case WINED3DTOP_BUMPENVMAPLUMINANCE:=0A=
-            if(GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
-                    /* Some apps use BUMPENVMAPLUMINANCE instead of =
D3DTOP_BUMPENVMAP, although=0A=
-                * they check for the non-luminance cap flag. Well, give =
them what they asked=0A=
-                * for :-)=0A=
-                    */=0A=
-                WARN("Application uses =
WINED3DTOP_BUMPENVMAPLUMINANCE\n");=0A=
-            } else {=0A=
-                Handled =3D FALSE;=0A=
-                break;=0A=
-            }=0A=
-            /* Fall through */=0A=
         case WINED3DTOP_BUMPENVMAP:=0A=
-            if(GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
-                TRACE("Using ati bumpmap on stage %d, target %d\n", =
Stage, Stage + 1);=0A=
-                glTexEnvi(GL_TEXTURE_ENV, comb_target, =
GL_BUMP_ENVMAP_ATI);=0A=
-                checkGLcall("glTexEnvi(GL_TEXTURE_ENV, comb_target, =
GL_BUMP_ENVMAP_ATI)");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, GL_BUMP_TARGET_ATI, =
GL_TEXTURE0_ARB + Stage + 1);=0A=
-                checkGLcall("glTexEnvi(GL_TEXTURE_ENV, =
GL_BUMP_TARGET_ATI, GL_TEXTURE0_ARB + Stage + 1)");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, src0_target, src3);=0A=
-                checkGLcall("GL_TEXTURE_ENV, src0_target, src3");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, opr0_target, opr3);=0A=
-                checkGLcall("GL_TEXTURE_ENV, opr0_target, opr3");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, src1_target, src1);=0A=
-                checkGLcall("GL_TEXTURE_ENV, src0_target, src1");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, opr1_target, opr1);=0A=
-                checkGLcall("GL_TEXTURE_ENV, opr1_target, opr1");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, src2_target, src2);=0A=
-                checkGLcall("GL_TEXTURE_ENV, src0_target, src1");=0A=
-                glTexEnvi(GL_TEXTURE_ENV, opr2_target, opr2);=0A=
-                checkGLcall("GL_TEXTURE_ENV, opr2_target, opr2");=0A=
-=0A=
-                Handled =3D TRUE;=0A=
-                break;=0A=
-            } else if(GL_SUPPORT(NV_TEXTURE_SHADER2)) {=0A=
+            if(GL_SUPPORT(NV_TEXTURE_SHADER2)) {=0A=
                 /* Technically texture shader support without register =
combiners is possible, but not expected to occur=0A=
                  * on real world cards, so for now a fixme should be =
enough=0A=
                  */=0A=
@@ -3599,24 +3567,6 @@ static void shader_bumpenvmat(DWORD state, =
IWineD3DStateBlockImpl *stateblock, W=0A=
     }=0A=
 }=0A=
 =0A=
-static void tex_bumpenvmat(DWORD state, IWineD3DStateBlockImpl =
*stateblock, WineD3DContext *context) {=0A=
-    DWORD stage =3D (state - STATE_TEXTURESTAGE(0, 0)) / =
WINED3D_HIGHEST_TEXTURE_STATE;=0A=
-    float mat[2][2];=0A=
-=0A=
-    if(stage >=3D GL_LIMITS(texture_stages)) {=0A=
-        WARN("Bump env matrix of unsupported stage set\n");=0A=
-    } else if(GL_SUPPORT(ARB_MULTITEXTURE)) {=0A=
-        GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + stage));=0A=
-        checkGLcall("GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + =
stage))");=0A=
-    }=0A=
-    mat[0][0] =3D *((float *) =
&stateblock->textureState[stage][WINED3DTSS_BUMPENVMAT00]);=0A=
-    mat[1][0] =3D *((float *) =
&stateblock->textureState[stage][WINED3DTSS_BUMPENVMAT01]);=0A=
-    mat[0][1] =3D *((float *) =
&stateblock->textureState[stage][WINED3DTSS_BUMPENVMAT10]);=0A=
-    mat[1][1] =3D *((float *) =
&stateblock->textureState[stage][WINED3DTSS_BUMPENVMAT11]);=0A=
-    GL_EXTCALL(glTexBumpParameterfvATI(GL_BUMP_ROT_MATRIX_ATI, (float =
*) mat));=0A=
-    checkGLcall("glTexBumpParameterfvATI");=0A=
-}=0A=
-=0A=
 static void transform_world(DWORD state, IWineD3DStateBlockImpl =
*stateblock, WineD3DContext *context) {=0A=
     /* This function is called by transform_view below if the view =
matrix was changed too=0A=
      *=0A=
@@ -5413,10 +5363,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(0, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(0, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(0, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(0, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(0, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5427,10 +5373,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(1, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(1, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(1, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(1, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(1, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5441,10 +5383,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(2, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(2, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(2, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(2, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(2, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5455,10 +5393,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(3, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(3, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(3, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(3, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(3, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5469,10 +5403,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(4, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(4, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(4, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(4, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(4, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5483,10 +5413,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(5, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(5, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(5, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(5, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(5, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5497,10 +5423,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(6, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(6, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(6, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(6, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(6, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5511,10 +5433,6 @@ static const struct StateEntryTemplate =
ffp_fragmentstate_template[] =3D {=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAOP),          { =
STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAARG1),        { =
STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAARG2),        { =
STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
-    { STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT00),     { =
STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT01),     { =
STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT10),     { =
STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
-    { STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT11),     { =
STATE_TEXTURESTAGE(7, WINED3DTSS_BUMPENVMAT00),     tex_bumpenvmat      =
}, ATI_ENVMAP_BUMPMAP              },=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_COLORARG0),        { =
STATE_TEXTURESTAGE(7, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAARG0),        { =
STATE_TEXTURESTAGE(7, WINED3DTSS_ALPHAOP),          tex_alphaop         =
}, 0                               },=0A=
     { STATE_TEXTURESTAGE(7, WINED3DTSS_RESULTARG),        { =
STATE_TEXTURESTAGE(7, WINED3DTSS_COLOROP),          tex_colorop         =
}, 0                               },=0A=
@@ -5570,10 +5488,6 @@ static void ffp_fragment_get_caps(WINED3DDEVTYPE =
devtype, WineD3D_GL_Info *gl_in=0A=
     if (GL_SUPPORT(ARB_TEXTURE_ENV_DOT3))=0A=
         pCaps->TextureOpCaps |=3D WINED3DTEXOPCAPS_DOTPRODUCT3;=0A=
 =0A=
-    if(GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
-        pCaps->TextureOpCaps |=3D WINED3DTEXOPCAPS_BUMPENVMAP;=0A=
-    }=0A=
-=0A=
     pCaps->MaxTextureBlendStages   =3D GL_LIMITS(texture_stages);=0A=
     pCaps->MaxSimultaneousTextures =3D GL_LIMITS(textures);=0A=
 }=0A=
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c=0A=
index b5c9ff9..1fb27cc 100644=0A=
--- a/dlls/wined3d/surface.c=0A=
+++ b/dlls/wined3d/surface.c=0A=
@@ -1639,13 +1639,6 @@ HRESULT d3dfmt_get_conv(IWineD3DSurfaceImpl =
*This, BOOL need_alpha_ck, BOOL use_=0A=
 =0A=
         case WINED3DFMT_V8U8:=0A=
             if(GL_SUPPORT(NV_TEXTURE_SHADER3)) break;=0A=
-            else if(GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
-                *format =3D GL_DUDV_ATI;=0A=
-                *internal =3D GL_DU8DV8_ATI;=0A=
-                *type =3D GL_BYTE;=0A=
-                /* No conversion - Just change the gl type */=0A=
-                break;=0A=
-            }=0A=
             *convert =3D CONVERT_V8U8;=0A=
             *format =3D GL_BGR;=0A=
             *internal =3D GL_RGB8;=0A=
@@ -1678,7 +1671,6 @@ HRESULT d3dfmt_get_conv(IWineD3DSurfaceImpl *This, =
BOOL need_alpha_ck, BOOL use_=0A=
                  * 4th component, which is returned as alpha=0A=
                  */=0A=
             } else {=0A=
-                /* Not supported by GL_ATI_envmap_bumpmap */=0A=
                 *format =3D GL_BGRA;=0A=
                 *internal =3D GL_RGB8;=0A=
                 *type =3D GL_UNSIGNED_INT_8_8_8_8_REV;=0A=
@@ -1692,7 +1684,6 @@ HRESULT d3dfmt_get_conv(IWineD3DSurfaceImpl *This, =
BOOL need_alpha_ck, BOOL use_=0A=
             *internal =3D GL_RGBA8;=0A=
             *type =3D GL_UNSIGNED_BYTE;=0A=
             *target_bpp =3D 4;=0A=
-            /* Not supported by GL_ATI_envmap_bumpmap */=0A=
             break;=0A=
 =0A=
         case WINED3DFMT_V16U16:=0A=
@@ -1702,9 +1693,6 @@ HRESULT d3dfmt_get_conv(IWineD3DSurfaceImpl *This, =
BOOL need_alpha_ck, BOOL use_=0A=
             *internal =3D GL_RGB16_EXT;=0A=
             *type =3D GL_UNSIGNED_SHORT;=0A=
             *target_bpp =3D 6;=0A=
-            /* What should I do here about GL_ATI_envmap_bumpmap?=0A=
-             * Convert it or allow data loss by loading it into a 8 bit =
/ channel texture?=0A=
-             */=0A=
             break;=0A=
 =0A=
         case WINED3DFMT_A4L4:=0A=
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c=0A=
index 94d8625..93cfc41 100644=0A=
--- a/dlls/wined3d/utils.c=0A=
+++ b/dlls/wined3d/utils.c=0A=
@@ -372,16 +372,12 @@ BOOL initPixelFormats(WineD3D_GL_Info *gl_info)=0A=
      * an application that needs this because it causes performance =
problems due to=0A=
      * shader recompiling in some games.=0A=
      */=0A=
-    if(!GL_SUPPORT(ATI_ENVMAP_BUMPMAP) && =
!GL_SUPPORT(NV_TEXTURE_SHADER2)) {=0A=
+    if(!GL_SUPPORT(NV_TEXTURE_SHADER2)) {=0A=
         /* signed -> unsigned fixup */=0A=
         dst =3D getFmtIdx(WINED3DFMT_V8U8);=0A=
         gl_info->gl_formats[dst].conversion_group =3D WINED3DFMT_V8U8;=0A=
         dst =3D getFmtIdx(WINED3DFMT_V16U16);=0A=
         gl_info->gl_formats[dst].conversion_group =3D WINED3DFMT_V8U8;=0A=
-    } else if(GL_SUPPORT(ATI_ENVMAP_BUMPMAP)) {=0A=
-        /* signed -> unsigned fixup */=0A=
-        dst =3D getFmtIdx(WINED3DFMT_V16U16);=0A=
-        gl_info->gl_formats[dst].conversion_group =3D WINED3DFMT_V16U16;=0A=
     } else {=0A=
         /* Blue =3D 1.0 fixup, disabled for now */=0A=
         if(0) {=0A=
diff --git a/include/wine/wined3d_gl.h b/include/wine/wined3d_gl.h=0A=
index 25159b1..6036688 100644=0A=
--- a/include/wine/wined3d_gl.h=0A=
+++ b/include/wine/wined3d_gl.h=0A=
@@ -2843,23 +2843,6 @@ typedef void (WINE_GLAPI * =
PGLFNFINISHOBJECTAPPLEPROC) (GLenum, GLuint);=0A=
 #define GL_APPLE_client_storage 1=0A=
 #define GL_UNPACK_CLIENT_STORAGE_APPLE      0x85B2=0A=
 #endif=0A=
-/* GL_ATI_envmap_bumpmap */=0A=
-#ifndef GL_ATI_envmap_bumpmap=0A=
-#define GL_ATI_envmap_bumpmap 1=0A=
-#define GL_BUMP_ROT_MATRIX_ATI              0x8775=0A=
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI         0x8776=0A=
-#define GL_BUMP_NUM_TEX_UNITS_ATI           0x8777=0A=
-#define GL_BUMP_TEX_UNITS_ATI               0x8778=0A=
-#define GL_DUDV_ATI                         0x8779=0A=
-#define GL_DU8DV8_ATI                       0x877A=0A=
-#define GL_BUMP_ENVMAP_ATI                  0x877B=0A=
-#define GL_BUMP_TARGET_ATI                  0x877C=0A=
-#endif=0A=
-typedef void (WINE_GLAPI * PGLFNTEXBUMPPARAMETERIVATIPROC) (GLenum, =
GLint *);=0A=
-typedef void (WINE_GLAPI * PGLFNTEXBUMPPARAMETERFVATIPROC) (GLenum, =
GLfloat *);=0A=
-typedef void (WINE_GLAPI * PGLFNGETTEXBUMPPARAMETERIVATIPROC) (GLenum, =
GLint *);=0A=
-typedef void (WINE_GLAPI * PGLFNGETTEXBUMPPARAMETERFVATIPROC) (GLenum, =
GLfloat *);=0A=
-=0A=
 /* GLX_SGI_video_sync */=0A=
 typedef int (WINE_GLAPI * PGLXFNGETVIDEOSYNCSGIPROC) (unsigned int *);=0A=
 typedef int (WINE_GLAPI * PGLXFNWAITVIDEOSYNCSGIPROC) (int, int, =
unsigned int *);=0A=
@@ -3389,7 +3372,6 @@ typedef enum _GL_SupportedExt {=0A=
   ATI_TEXTURE_ENV_COMBINE3,=0A=
   ATI_TEXTURE_MIRROR_ONCE,=0A=
   EXT_VERTEX_SHADER,=0A=
-  ATI_ENVMAP_BUMPMAP,=0A=
   ATI_FRAGMENT_SHADER,=0A=
   ATI_TEXTURE_COMPRESSION_3DC,=0A=
   /* APPLE */=0A=
@@ -3691,11 +3673,6 @@ typedef enum _GL_SupportedExt {=0A=
     USE_GL_FUNC(PGLFNISFENCEAPPLEPROC,                              =
glIsFenceAPPLE,                             APPLE_FENCE,            NULL =
)\=0A=
     USE_GL_FUNC(PGLFNTESTOBJECTAPPLEPROC,                           =
glTestObjectAPPLE,                          APPLE_FENCE,            NULL =
)\=0A=
     USE_GL_FUNC(PGLFNFINISHOBJECTAPPLEPROC,                         =
glFinishObjectAPPLE,                        APPLE_FENCE,            NULL =
)\=0A=
-    /* GL_ATI_envmap_bumpmap */ \=0A=
-    USE_GL_FUNC(PGLFNTEXBUMPPARAMETERIVATIPROC,                     =
glTexBumpParameterivATI,                    ATI_ENVMAP_BUMPMAP,     NULL =
)\=0A=
-    USE_GL_FUNC(PGLFNTEXBUMPPARAMETERFVATIPROC,                     =
glTexBumpParameterfvATI,                    ATI_ENVMAP_BUMPMAP,     NULL =
)\=0A=
-    USE_GL_FUNC(PGLFNGETTEXBUMPPARAMETERIVATIPROC,                  =
glGetTexBumpParameterivATI,                 ATI_ENVMAP_BUMPMAP,     NULL =
)\=0A=
-    USE_GL_FUNC(PGLFNGETTEXBUMPPARAMETERFVATIPROC,                  =
glGetTexBumpParameterfvATI,                 ATI_ENVMAP_BUMPMAP,     NULL =
)\=0A=
     /* GLX_SGI_video_sync */ \=0A=
     USE_GL_FUNC(PGLXFNGETVIDEOSYNCSGIPROC,                          =
glXGetVideoSyncSGI,                         SGI_VIDEO_SYNC,         NULL =
)\=0A=
     USE_GL_FUNC(PGLXFNWAITVIDEOSYNCSGIPROC,                         =
glXWaitVideoSyncSGI,                        SGI_VIDEO_SYNC,         NULL =
)\=0A=
-- =0A=
1.5.6.4=0A=
=0A=

------=_NextPart_000_000F_01C93DE3.AF3A16A0--




More information about the wine-patches mailing list