MIRROR_ARB support is not dependent on OpenGL 1.3 as I originally
ifdef'ed. It is apparently introduced fully in 1.4, or dependent on
another ifdef, GL_ARB_texture_mirrored_repeat.

diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index fff7039..e9f6385 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -3011,7 +3011,7 @@
           IDirect3DTexture8Impl *pTexture2 = (IDirect3DTexture8Impl *) pTexture;
           int i;
 
-          if (oldTxt == pTexture2 && pTexture2->Dirty == FALSE) {
+          if (oldTxt == pTexture && pTexture2->Dirty == FALSE) {
               TRACE("Skipping setting texture as old == new\n");
               reapplyStates = FALSE;
           } else {
@@ -3461,13 +3461,14 @@
             case D3DTADDRESS_WRAP:   wrapParm = GL_REPEAT; break;
             case D3DTADDRESS_CLAMP:  wrapParm = GL_CLAMP_TO_EDGE; break;      
             case D3DTADDRESS_BORDER: wrapParm = GL_REPEAT; break;      /* FIXME: Not right, but better */
-#if defined(GL_VERSION_1_3)
+#if defined(GL_VERSION_1_4)
+            case D3DTADDRESS_MIRROR: wrapParm = GL_MIRRORED_REPEAT; break;
+#elif defined(GL_ARB_texture_mirrored_repeat)
             case D3DTADDRESS_MIRROR: wrapParm = GL_MIRRORED_REPEAT_ARB; break;
-            case D3DTADDRESS_MIRRORONCE:  /* Unsupported in OpenGL but pretent mirror */
 #else
             case D3DTADDRESS_MIRROR:      /* Unsupported in OpenGL pre-1.4 */
-            case D3DTADDRESS_MIRRORONCE:  /* Unsupported in OpenGL         */
 #endif
+            case D3DTADDRESS_MIRRORONCE:  /* Unsupported in OpenGL         */
             default:
                 FIXME("Unrecognized or unsupported D3DTADDRESS_* value %ld, state %d\n", Value, Type);
                 wrapParm = GL_REPEAT;