In the last commit I added in a fatal error on unknown base formats so I
authorEric Anholt <anholt@FreeBSD.org>
Mon, 24 Oct 2005 22:23:52 +0000 (22:23 +0000)
committerEric Anholt <anholt@FreeBSD.org>
Mon, 24 Oct 2005 22:23:52 +0000 (22:23 +0000)
wouldn't get confused when adding support for new formats.  However, it resulted
in dying in texenv instead of drawing something undefined for GL_DECAL.  Do what
GLcore apparently does and just pass the fragment through.

src/mesa/drivers/dri/sis/sis_texstate.c

index b9942174fe50f0c7939967be0abdf6381b7719af..7ef20f880c533f1c6c22775d25af57a46e5106a3 100644 (file)
@@ -124,6 +124,13 @@ sis_set_texture_env0( GLcontext *ctx, struct gl_texture_object *texObj,
          current->hwTexBlendColor0 = STAGE0_C_CFOMAS_CSAS;
          current->hwTexBlendAlpha0 = STAGE0_A_AF;
          break;
+      case GL_ALPHA:
+      case GL_LUMINANCE:
+      case GL_INTENSITY:
+      case GL_LUMINANCE_ALPHA:
+         current->hwTexBlendColor0 = STAGE0_C_CF;
+         current->hwTexBlendAlpha0 = STAGE0_A_AF;
+         break;
       default:
         sis_fatal_error("unknown base format 0x%x\n", t->format);
       }
@@ -253,6 +260,13 @@ sis_set_texture_env1( GLcontext *ctx, struct gl_texture_object *texObj,
          current->hwTexBlendColor1 = STAGE1_C_CFOMAS_CSAS;
          current->hwTexBlendAlpha1 = STAGE1_A_AF;
          break;
+      case GL_ALPHA:
+      case GL_LUMINANCE:
+      case GL_INTENSITY:
+      case GL_LUMINANCE_ALPHA:
+         current->hwTexBlendColor1 = STAGE1_C_CF;
+         current->hwTexBlendAlpha1 = STAGE1_A_AF;
+         break;
       default:
         sis_fatal_error("unknown base format 0x%x\n", t->format);
       }