deal with combine_ext refactor
authorDaniel Borca <dborca@users.sourceforge.net>
Mon, 9 Feb 2004 07:39:03 +0000 (07:39 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Mon, 9 Feb 2004 07:39:03 +0000 (07:39 +0000)
docs/README.3DFX
src/mesa/drivers/glide/fxdd.c
src/mesa/drivers/glide/fxsetup.h
src/mesa/drivers/glide/fxwgl.c

index 4ad7c936585dc221146b7fff4cb99107822f06b9..4b8e13fb9cc612670804873c95115ddbf5add94b 100644 (file)
@@ -117,7 +117,7 @@ MESA_FX_INFO
        OS: all
        HW: all
        Desc: verbose to stderr
-       Value: "r" to redirect stderr to MESA.LOG
+       Value: any; special value "r" to redirect stderr to MESA.LOG
 MESA_FX_IGNORE_PALEXT
        OS: all
        HW: all
@@ -129,7 +129,7 @@ MESA_FX_IGNORE_PIXEXT
 MESA_FX_IGNORE_TEXFMT
        OS: all
        HW: Napalm
-       Desc: disable 32bit textures; also max texture is 256x256
+       Desc: disable 32bit textures
 MESA_FX_IGNORE_CMBEXT
        OS: all
        HW: Napalm
index 448fd043d0778b87c05beead6ab0f96ea40ef053..2f0d4fc9b2876432db6be452d36d02508a864f46 100644 (file)
@@ -1502,11 +1502,15 @@ fxDDInitExtensions(GLcontext * ctx)
 #if 1
    _mesa_enable_extension(ctx, "GL_ARB_vertex_buffer_object");
 #endif
-   /* not just yet */
 #if 0
+   /* not just yet */
    _mesa_enable_extension(ctx, "GL_ARB_fragment_program");
    _mesa_enable_extension(ctx, "GL_ARB_vertex_program");
 #endif
+#if 0
+   /* not until texel fetchers are right */
+   _mesa_enable_extension(ctx, "GL_SGIS_generate_mipmaps");
+#endif
 }
 
 
index 236c9836624fff7a53810040547f2619251d6b71..5cec362f61d4ce689289efed15cdb8ffde456e6d 100644 (file)
@@ -385,61 +385,61 @@ fxSetupTextureEnvNapalm_NoLock(GLcontext * ctx, GLuint textureset, GLuint tmu, G
       if (TDFX_DEBUG & (VERBOSE_DRIVER | VERBOSE_TEXTURE)) {
 #if 1
          fprintf(stderr, "COMBINE_EXT: %s + %s\n",
-             _mesa_lookup_enum_by_nr(texUnit->CombineModeRGB),
-             _mesa_lookup_enum_by_nr(texUnit->CombineModeA));
+             _mesa_lookup_enum_by_nr(texUnit->Combine.ModeRGB),
+             _mesa_lookup_enum_by_nr(texUnit->Combine.ModeA));
 #else
          fprintf(stderr, "Texture Unit %d\n", textureset);
          fprintf(stderr, "  GL_TEXTURE_ENV_MODE = %s\n", _mesa_lookup_enum_by_nr(texUnit->EnvMode));
-         fprintf(stderr, "  GL_COMBINE_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineModeRGB));
-         fprintf(stderr, "  GL_COMBINE_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineModeA));
-         fprintf(stderr, "  GL_SOURCE0_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceRGB[0]));
-         fprintf(stderr, "  GL_SOURCE1_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceRGB[1]));
-         fprintf(stderr, "  GL_SOURCE2_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceRGB[2]));
-         fprintf(stderr, "  GL_SOURCE0_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceA[0]));
-         fprintf(stderr, "  GL_SOURCE1_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceA[1]));
-         fprintf(stderr, "  GL_SOURCE2_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineSourceA[2]));
-         fprintf(stderr, "  GL_OPERAND0_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandRGB[0]));
-         fprintf(stderr, "  GL_OPERAND1_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandRGB[1]));
-         fprintf(stderr, "  GL_OPERAND2_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandRGB[2]));
-         fprintf(stderr, "  GL_OPERAND0_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandA[0]));
-         fprintf(stderr, "  GL_OPERAND1_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandA[1]));
-         fprintf(stderr, "  GL_OPERAND2_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->CombineOperandA[2]));
-         fprintf(stderr, "  GL_RGB_SCALE = %d\n", 1 << texUnit->CombineScaleShiftRGB);
-         fprintf(stderr, "  GL_ALPHA_SCALE = %d\n", 1 << texUnit->CombineScaleShiftA);
+         fprintf(stderr, "  GL_COMBINE_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.ModeRGB));
+         fprintf(stderr, "  GL_COMBINE_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.ModeA));
+         fprintf(stderr, "  GL_SOURCE0_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceRGB[0]));
+         fprintf(stderr, "  GL_SOURCE1_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceRGB[1]));
+         fprintf(stderr, "  GL_SOURCE2_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceRGB[2]));
+         fprintf(stderr, "  GL_SOURCE0_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceA[0]));
+         fprintf(stderr, "  GL_SOURCE1_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceA[1]));
+         fprintf(stderr, "  GL_SOURCE2_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.SourceA[2]));
+         fprintf(stderr, "  GL_OPERAND0_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandRGB[0]));
+         fprintf(stderr, "  GL_OPERAND1_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandRGB[1]));
+         fprintf(stderr, "  GL_OPERAND2_RGB = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandRGB[2]));
+         fprintf(stderr, "  GL_OPERAND0_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandA[0]));
+         fprintf(stderr, "  GL_OPERAND1_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandA[1]));
+         fprintf(stderr, "  GL_OPERAND2_ALPHA = %s\n", _mesa_lookup_enum_by_nr(texUnit->Combine.OperandA[2]));
+         fprintf(stderr, "  GL_RGB_SCALE = %d\n", 1 << texUnit->Combine.ScaleShiftRGB);
+         fprintf(stderr, "  GL_ALPHA_SCALE = %d\n", 1 << texUnit->Combine.ScaleShiftA);
          fprintf(stderr, "  GL_TEXTURE_ENV_COLOR = (%f, %f, %f, %f)\n", envColor[0], envColor[1], envColor[2], envColor[3]);
 #endif
       }
 
-      alphaComb.Shift   = texUnit->CombineScaleShiftA;
-      colorComb.Shift   = texUnit->CombineScaleShiftRGB;
+      alphaComb.Shift   = texUnit->Combine.ScaleShiftA;
+      colorComb.Shift   = texUnit->Combine.ScaleShiftRGB;
 
-      switch (texUnit->CombineModeRGB) {
+      switch (texUnit->Combine.ModeRGB) {
              case GL_MODULATE:
                   /* Arg0 * Arg1 == (A + 0) * C + 0 */
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceA,
-                                       texUnit->CombineSourceRGB[0],
-                                       texUnit->CombineOperandRGB[0],
+                                       texUnit->Combine.SourceRGB[0],
+                                       texUnit->Combine.OperandRGB[0],
                                        localc, locala);
                   TEXENV_SETUP_MODE_RGB(colorComb.ModeA,
-                                        texUnit->CombineOperandRGB[0]);
+                                        texUnit->Combine.OperandRGB[0]);
                   colorComb.SourceB = GR_CMBX_ZERO;
                   colorComb.ModeB   = GR_FUNC_MODE_ZERO;
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceC,
-                                       texUnit->CombineSourceRGB[1],
-                                       texUnit->CombineOperandRGB[1],
+                                       texUnit->Combine.SourceRGB[1],
+                                       texUnit->Combine.OperandRGB[1],
                                        localc, locala);
                   colorComb.InvertC = TEXENV_OPERAND_INVERTED(
-                                       texUnit->CombineOperandRGB[1]);
+                                       texUnit->Combine.OperandRGB[1]);
                   colorComb.SourceD = GR_CMBX_ZERO;
                   break;
              case GL_REPLACE:
                   /* Arg0 == (A + 0) * 1 + 0 */
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceA,
-                                       texUnit->CombineSourceRGB[0],
-                                       texUnit->CombineOperandRGB[0],
+                                       texUnit->Combine.SourceRGB[0],
+                                       texUnit->Combine.OperandRGB[0],
                                        localc, locala);
                   TEXENV_SETUP_MODE_RGB(colorComb.ModeA,
-                                        texUnit->CombineOperandRGB[0]);
+                                        texUnit->Combine.OperandRGB[0]);
                   colorComb.SourceB = GR_CMBX_ZERO;
                   colorComb.ModeB   = GR_FUNC_MODE_ZERO;
                   colorComb.SourceC = GR_CMBX_ZERO;
@@ -449,17 +449,17 @@ fxSetupTextureEnvNapalm_NoLock(GLcontext * ctx, GLuint textureset, GLuint tmu, G
              case GL_ADD:
                   /* Arg0 + Arg1 = (A + B) * 1 + 0 */
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceA,
-                                       texUnit->CombineSourceRGB[0],
-                                       texUnit->CombineOperandRGB[0],
+                                       texUnit->Combine.SourceRGB[0],
+                                       texUnit->Combine.OperandRGB[0],
                                        localc, locala);
                   TEXENV_SETUP_MODE_RGB(colorComb.ModeA,
-                                        texUnit->CombineOperandRGB[0]);
+                                        texUnit->Combine.OperandRGB[0]);
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceB,
-                                       texUnit->CombineSourceRGB[1],
-                                       texUnit->CombineOperandRGB[1],
+                                       texUnit->Combine.SourceRGB[1],
+                                       texUnit->Combine.OperandRGB[1],
                                        localc, locala);
                   TEXENV_SETUP_MODE_RGB(colorComb.ModeB,
-                                        texUnit->CombineOperandRGB[1]);
+                                        texUnit->Combine.OperandRGB[1]);
                   colorComb.SourceC = GR_CMBX_ZERO;
                   colorComb.InvertC = FXTRUE;
                   colorComb.SourceD = GR_CMBX_ZERO;
@@ -469,16 +469,16 @@ fxSetupTextureEnvNapalm_NoLock(GLcontext * ctx, GLuint textureset, GLuint tmu, G
                    * (Arg0 - Arg1) * Arg2 + Arg1 == (A - B) * C + D
                    */
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceA,
-                                       texUnit->CombineSourceRGB[0],
-                                       texUnit->CombineOperandRGB[0],
+                                       texUnit->Combine.SourceRGB[0],
+                                       texUnit->Combine.OperandRGB[0],
                                        localc, locala);
                   TEXENV_SETUP_MODE_RGB(colorComb.ModeA,
-                                        texUnit->CombineOperandRGB[0]);
+                                        texUnit->Combine.OperandRGB[0]);
                   TEXENV_SETUP_ARG_RGB(colorComb.SourceB,
-                                       texUnit->CombineSourceRGB[1],
-                                       texUnit->CombineOperandRGB[1],
+                                       texUnit->Combine.SourceRGB[1],
+                                       texUnit->Combine.OperandRGB[1],
                                        localc, locala);
-                  if (TEXENV_OPERAND_INVERTED(texUnit->CombineOperandRGB[1])) {
+                  if (TEXENV_OPERAND_INVERTED(texUnit->Combine.OperandRGB[1])) {
                      /* Hack alert!!! This case is wrong!!! */
                      fprintf(stderr, "COMBINE_EXT_color: WRONG!!!\n");
                      colorComb.ModeB = GR_FUNC_MODE_NEGATIVE_X;
@@ -490,44 +490,44 @@ fxSetupTextureEnvNapalm_NoLock(GLcontext * ctx, GLuint textureset, GLuint tmu, G
                    * specify some kind of alpha value.
                    */
                   TEXENV_SETUP_ARG_A(colorComb.SourceC,
-                                     texUnit->CombineSourceRGB[2],
-                                     texUnit->CombineOperandRGB[2],
+                                     texUnit->Combine.SourceRGB[2],
+                                     texUnit->Combine.OperandRGB[2],
                                      locala);
                   colorComb.InvertC = FXFALSE;
                   colorComb.SourceD = GR_CMBX_B;
                   break;
              default:
                   fprintf(stderr, "COMBINE_EXT_color: %s\n",
-                                  _mesa_lookup_enum_by_nr(texUnit->CombineModeRGB));
+                                  _mesa_lookup_enum_by_nr(texUnit->Combine.ModeRGB));
       }
 
-      switch (texUnit->CombineModeA) {
+      switch (texUnit->Combine.ModeA) {
              case GL_MODULATE:
                   /* Arg0 * Arg1 == (A + 0) * C + 0 */
                   TEXENV_SETUP_ARG_A(alphaComb.SourceA,
-                                     texUnit->CombineSourceA[0],
-                                     texUnit->CombineOperandA[0],
+                                     texUnit->Combine.SourceA[0],
+                                     texUnit->Combine.OperandA[0],
                                      locala);
                   TEXENV_SETUP_MODE_A(alphaComb.ModeA,
-                                      texUnit->CombineOperandA[0]);
+                                      texUnit->Combine.OperandA[0]);
                   alphaComb.SourceB = GR_CMBX_ZERO;
                   alphaComb.ModeB   = GR_FUNC_MODE_ZERO;
                   TEXENV_SETUP_ARG_A(alphaComb.SourceC,
-                                     texUnit->CombineSourceA[1],
-                                     texUnit->CombineOperandA[1],
+                                     texUnit->Combine.SourceA[1],
+                                     texUnit->Combine.OperandA[1],
                                      locala);
                   alphaComb.InvertC = TEXENV_OPERAND_INVERTED(
-                                       texUnit->CombineOperandA[1]);
+                                       texUnit->Combine.OperandA[1]);
                   alphaComb.SourceD = GR_CMBX_ZERO;
                   break;
              case GL_REPLACE:
                  /* Arg0 == (A + 0) * 1 + 0 */
                   TEXENV_SETUP_ARG_A(alphaComb.SourceA,
-                                     texUnit->CombineSourceA[0],
-                                     texUnit->CombineOperandA[0],
+                                     texUnit->Combine.SourceA[0],
+                                     texUnit->Combine.OperandA[0],
                                      locala);
                   TEXENV_SETUP_MODE_A(alphaComb.ModeA,
-                                      texUnit->CombineOperandA[0]);
+                                      texUnit->Combine.OperandA[0]);
                   alphaComb.SourceB = GR_CMBX_ZERO;
                   alphaComb.ModeB   = GR_FUNC_MODE_ZERO;
                   alphaComb.SourceC = GR_CMBX_ZERO;
@@ -537,24 +537,24 @@ fxSetupTextureEnvNapalm_NoLock(GLcontext * ctx, GLuint textureset, GLuint tmu, G
              case GL_ADD:
                   /* Arg0 + Arg1 = (A + B) * 1 + 0 */
                   TEXENV_SETUP_ARG_A(alphaComb.SourceA,
-                                     texUnit->CombineSourceA[0],
-                                     texUnit->CombineOperandA[0],
+                                     texUnit->Combine.SourceA[0],
+                                     texUnit->Combine.OperandA[0],
                                      locala);
                   TEXENV_SETUP_MODE_A(alphaComb.ModeA,
-                                      texUnit->CombineOperandA[0]);
+                                      texUnit->Combine.OperandA[0]);
                   TEXENV_SETUP_ARG_A(alphaComb.SourceB,
-                                     texUnit->CombineSourceA[1],
-                                     texUnit->CombineOperandA[1],
+                                     texUnit->Combine.SourceA[1],
+                                     texUnit->Combine.OperandA[1],
                                      locala);
                   TEXENV_SETUP_MODE_A(alphaComb.ModeB,
-                                      texUnit->CombineOperandA[1]);
+                                      texUnit->Combine.OperandA[1]);
                   alphaComb.SourceC = GR_CMBX_ZERO;
                   alphaComb.InvertC = FXTRUE;
                   alphaComb.SourceD = GR_CMBX_ZERO;
                   break;
              default:
                   fprintf(stderr, "COMBINE_EXT_alpha: %s\n",
-                                  _mesa_lookup_enum_by_nr(texUnit->CombineModeA));
+                                  _mesa_lookup_enum_by_nr(texUnit->Combine.ModeA));
       }
 
       fxMesa->Glide.grConstantColorValueExt(tmu,
index f8450b1b014cca808813086b7899312f3789d0d5..c70bb3b892402b25d2a1ca27de4a8801825a7adf 100644 (file)
@@ -345,8 +345,13 @@ wglCreateContext(HDC hdc)
      ShowWindow(hWnd, SW_SHOWNORMAL);
      SetForegroundWindow(hWnd);
      Sleep(100); /* a hack for win95 */
-     GetClientRect(hWnd, &cliRect);
-     error = !(ctx = fxMesaCreateBestContext((GLuint) hWnd, cliRect.right, cliRect.bottom, pix[curPFD - 1].mesaAttr));
+     if (0 && !(GetWindowLong (hWnd, GWL_STYLE) & WS_POPUP)) {
+       /* [dBorca] Hack alert: unfinished business! */
+        error = !(ctx = fxMesaCreateContext((GLuint) hWnd, GR_RESOLUTION_NONE, GR_REFRESH_NONE, pix[curPFD - 1].mesaAttr));
+     } else {
+        GetClientRect(hWnd, &cliRect);
+        error = !(ctx = fxMesaCreateBestContext((GLuint) hWnd, cliRect.right, cliRect.bottom, pix[curPFD - 1].mesaAttr));
+     }
    }
 
    /*if (getenv("SST_DUALHEAD"))