gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from default exten...
authorPatrice Mandin <patmandin@gmail.com>
Tue, 14 Jul 2009 07:44:49 +0000 (09:44 +0200)
committerPatrice Mandin <patmandin@gmail.com>
Tue, 14 Jul 2009 07:44:49 +0000 (09:44 +0200)
src/gallium/drivers/nv04/nv04_screen.c
src/gallium/drivers/nv10/nv10_screen.c
src/gallium/drivers/nv20/nv20_screen.c
src/gallium/drivers/nv30/nv30_screen.c
src/gallium/drivers/nv40/nv40_screen.c
src/gallium/drivers/nv50/nv50_screen.c
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/include/pipe/p_defines.h
src/gallium/state_trackers/dri/dri_extensions.c
src/mesa/state_tracker/st_extensions.c

index 190ef62178ab64b6c5aee9a3f2809c55d1550c55..ff2febb668e253662d4d0ee0b653ac3b12ec3017 100644 (file)
@@ -42,6 +42,8 @@ nv04_screen_get_param(struct pipe_screen *screen, int param)
                return 1;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 0;
        case NOUVEAU_CAP_HW_VTXBUF:
        case NOUVEAU_CAP_HW_IDXBUF:
                return 0;
index c64f78bc00a00d8a8f60cf635e47454be4444822..4469b22d91a8c9996a1b308e022450e1947f7c01 100644 (file)
@@ -37,6 +37,8 @@ nv10_screen_get_param(struct pipe_screen *screen, int param)
                return 0;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 0;
        case NOUVEAU_CAP_HW_VTXBUF:
        case NOUVEAU_CAP_HW_IDXBUF:
                return 0;
index 52859a929c2fc0bf1b79a1afa13135b9d8e82129..e6924ad71ebea4e06a4ec148e0f70ee7e0e69ed9 100644 (file)
@@ -37,6 +37,8 @@ nv20_screen_get_param(struct pipe_screen *screen, int param)
                return 0;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 0;
        case NOUVEAU_CAP_HW_VTXBUF:
        case NOUVEAU_CAP_HW_IDXBUF:
                return 0;
index 328a5c91714c303f0ad728c3aefa3229fb617556..c8b40784b0585d09ab654cd3200009a067a7908b 100644 (file)
@@ -48,6 +48,8 @@ nv30_screen_get_param(struct pipe_screen *pscreen, int param)
                return 0;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 0;
        case NOUVEAU_CAP_HW_VTXBUF:
        case NOUVEAU_CAP_HW_IDXBUF:
                return 1;
index 8f070e2e0099468382a8432e42150dbc9d2c52ea..5d2a4216c5a7e1d29802b4fe6304debacca861cf 100644 (file)
@@ -46,6 +46,8 @@ nv40_screen_get_param(struct pipe_screen *pscreen, int param)
                return 0; /* We have 4 - but unsupported currently */
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 1;
        case NOUVEAU_CAP_HW_VTXBUF:
                return 1;
        case NOUVEAU_CAP_HW_IDXBUF:
index bdd449db65505b2c4fa3d6569a44aee430f9bd1d..ce8f906b15f3b50f69322011604cec6d8e36f4c0 100644 (file)
@@ -111,6 +111,8 @@ nv50_screen_get_param(struct pipe_screen *pscreen, int param)
                return 0;
        case PIPE_CAP_TGSI_CONT_SUPPORTED:
                return 0;
+       case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+               return 1;
        case NOUVEAU_CAP_HW_VTXBUF:
                return 1;
        case NOUVEAU_CAP_HW_IDXBUF:
index be76f1d4135d0aba697737f56532a509f9d332f0..6178c4ac7e364e050944cd2e6cfa868140b5216e 100644 (file)
@@ -89,6 +89,8 @@ softpipe_get_param(struct pipe_screen *screen, int param)
       return 13; /* max 4Kx4K */
    case PIPE_CAP_TGSI_CONT_SUPPORTED:
       return 1;
+   case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+      return 1;
    default:
       return 0;
    }
index b7857c5be8cf73a012b8dc6828e160befb9f3242..bc4bc707591e9b3f17f3dcaa971b96b4a25ac9db 100644 (file)
@@ -304,6 +304,7 @@ enum pipe_transfer_usage {
 #define PIPE_CAP_TEXTURE_MIRROR_REPEAT   25
 #define PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS 26
 #define PIPE_CAP_TGSI_CONT_SUPPORTED     27
+#define PIPE_CAP_BLEND_EQUATION_SEPARATE 28
 
 
 /**
index 2f48162526b58d696cfbbdca33c2981d69a87ab2..8106a7ad93e29acb36bf7c47c46dd8626c94ecab 100644 (file)
@@ -82,8 +82,6 @@ const struct dri_extension card_extensions[] = {
    {"GL_ARB_vertex_program", GL_ARB_vertex_program_functions},
    {"GL_ARB_window_pos", GL_ARB_window_pos_functions},
    {"GL_EXT_blend_color", GL_EXT_blend_color_functions},
-   {"GL_EXT_blend_equation_separate",
-    GL_EXT_blend_equation_separate_functions},
    {"GL_EXT_blend_func_separate", GL_EXT_blend_func_separate_functions},
    {"GL_EXT_blend_minmax", GL_EXT_blend_minmax_functions},
    {"GL_EXT_blend_subtract", NULL},
index be0af6ee707f9defcd1ff83001a84a62852973f4..8a958e8bd887fc1434cae5af954b5f918163ab25 100644 (file)
@@ -158,7 +158,6 @@ void st_init_extensions(struct st_context *st)
    ctx->Extensions.ARB_vertex_program = GL_TRUE;
 
    ctx->Extensions.EXT_blend_color = GL_TRUE;
-   ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
    ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
    ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
    ctx->Extensions.EXT_blend_minmax = GL_TRUE;
@@ -206,6 +205,10 @@ void st_init_extensions(struct st_context *st)
       ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
    }
 
+   if (screen->get_param(screen, PIPE_CAP_BLEND_EQUATION_SEPARATE)) {
+      ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
+   }
+
    if (screen->get_param(screen, PIPE_CAP_TEXTURE_MIRROR_CLAMP) > 0) {
       ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE;
    }