i965: Represent depth surfaces with isl
[mesa.git] / src / mesa / drivers / dri / nouveau / nv04_context.c
index 9472bdd7b51939dc590433c1e843690be7453330..3cc219beab44697cabb78efee6501d0c50c62449 100644 (file)
@@ -37,8 +37,8 @@ texunit_needs_combiners(struct gl_texture_unit *u)
        struct gl_texture_object *t = u->_Current;
        struct gl_texture_image *ti = t->Image[0][t->BaseLevel];
 
-       return ti->TexFormat == MESA_FORMAT_A8 ||
-               ti->TexFormat == MESA_FORMAT_L8 ||
+       return ti->TexFormat == MESA_FORMAT_A_UNORM8 ||
+               ti->TexFormat == MESA_FORMAT_L_UNORM8 ||
                u->EnvMode == GL_COMBINE ||
                u->EnvMode == GL_COMBINE4_NV ||
                u->EnvMode == GL_BLEND ||
@@ -53,9 +53,9 @@ nv04_context_engine(struct gl_context *ctx)
        struct nouveau_pushbuf *push = context_push(ctx);
        struct nouveau_object *fahrenheit;
 
-       if ((ctx->Texture.Unit[0]._ReallyEnabled &&
+       if ((ctx->Texture.Unit[0]._Current &&
             texunit_needs_combiners(&ctx->Texture.Unit[0])) ||
-           ctx->Texture.Unit[1]._ReallyEnabled ||
+           ctx->Texture.Unit[1]._Current ||
            ctx->Stencil.Enabled ||
            !(ctx->Color.ColorMask[0][RCOMP] &&
              ctx->Color.ColorMask[0][GCOMP] &&
@@ -114,7 +114,7 @@ init_dummy_texture(struct gl_context *ctx)
 
        nouveau_surface_alloc(ctx, s, SWIZZLED,
                              NOUVEAU_BO_MAP | NOUVEAU_BO_VRAM,
-                             MESA_FORMAT_ARGB8888, 1, 1);
+                             MESA_FORMAT_B8G8R8A8_UNORM, 1, 1);
 
        nouveau_bo_map(s->bo, NOUVEAU_BO_WR, context_client(ctx));
        *(uint32_t *)s->bo->map = 0xffffffff;
@@ -134,11 +134,12 @@ nv04_context_destroy(struct gl_context *ctx)
        nouveau_object_del(&nctx->hw.surf3d);
 
        nouveau_context_deinit(ctx);
-       FREE(ctx);
+       free(ctx);
 }
 
 static struct gl_context *
-nv04_context_create(struct nouveau_screen *screen, const struct gl_config *visual,
+nv04_context_create(struct nouveau_screen *screen, gl_api api,
+                   const struct gl_config *visual,
                    struct gl_context *share_ctx)
 {
        struct nv04_context *nctx;
@@ -153,13 +154,13 @@ nv04_context_create(struct nouveau_screen *screen, const struct gl_config *visua
        ctx = &nctx->base.base;
        hw = &nctx->base.hw;
 
-       if (!nouveau_context_init(ctx, screen, visual, share_ctx))
+       if (!nouveau_context_init(ctx, api, screen, visual, share_ctx))
                goto fail;
 
        /* GL constants. */
        ctx->Const.MaxTextureLevels = 11;
        ctx->Const.MaxTextureCoordUnits = NV04_TEXTURE_UNITS;
-       ctx->Const.MaxTextureImageUnits = NV04_TEXTURE_UNITS;
+       ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits = NV04_TEXTURE_UNITS;
        ctx->Const.MaxTextureUnits = NV04_TEXTURE_UNITS;
        ctx->Const.MaxTextureMaxAnisotropy = 2;
        ctx->Const.MaxTextureLodBias = 15;