[[MESA]
authorJérôme Gardou <jerome.gardou@reactos.org>
Tue, 1 Oct 2013 21:37:39 +0000 (21:37 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Tue, 1 Oct 2013 21:37:39 +0000 (21:37 +0000)
 - leaner build part 6 of X
 - Get rid of the ARB_blend_func_extended, ARB_explicit_attrib_location, ARB_seamless_cube_map, ARB_texture_multisample extension EXT_provoking_vertex, EXT_vertex_array_bgra and AMD_seamless_cubemap_per_texture extensions
#CORE-7499

svn path=/trunk/; revision=60505

49 files changed:
reactos/dll/opengl/mesa/generated/glsl/glcpp/glcpp-parse.c
reactos/dll/opengl/mesa/generated/glsl/glsl_lexer.cpp
reactos/dll/opengl/mesa/generated/glsl/glsl_parser.cpp
reactos/dll/opengl/mesa/src/glsl/ast_to_hir.cpp
reactos/dll/opengl/mesa/src/glsl/builtin_variables.cpp
reactos/dll/opengl/mesa/src/glsl/glcpp/glcpp-parse.c
reactos/dll/opengl/mesa/src/glsl/glsl_lexer.cpp
reactos/dll/opengl/mesa/src/glsl/glsl_parser.cpp
reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.cpp
reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.h
reactos/dll/opengl/mesa/src/glsl/linker.cpp
reactos/dll/opengl/mesa/src/glsl/main.cpp
reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c
reactos/dll/opengl/mesa/src/mesa/main/api_exec.c
reactos/dll/opengl/mesa/src/mesa/main/api_validate.c
reactos/dll/opengl/mesa/src/mesa/main/arrayobj.c
reactos/dll/opengl/mesa/src/mesa/main/config.h
reactos/dll/opengl/mesa/src/mesa/main/context.c
reactos/dll/opengl/mesa/src/mesa/main/dispatch.h
reactos/dll/opengl/mesa/src/mesa/main/dlist.c
reactos/dll/opengl/mesa/src/mesa/main/enable.c
reactos/dll/opengl/mesa/src/mesa/main/extensions.c
reactos/dll/opengl/mesa/src/mesa/main/fbobject.c
reactos/dll/opengl/mesa/src/mesa/main/fbobject.h
reactos/dll/opengl/mesa/src/mesa/main/get.c
reactos/dll/opengl/mesa/src/mesa/main/glheader.h
reactos/dll/opengl/mesa/src/mesa/main/light.c
reactos/dll/opengl/mesa/src/mesa/main/light.h
reactos/dll/opengl/mesa/src/mesa/main/mtypes.h
reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c
reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c
reactos/dll/opengl/mesa/src/mesa/main/shaderobj.h
reactos/dll/opengl/mesa/src/mesa/main/state.c
reactos/dll/opengl/mesa/src/mesa/main/texobj.c
reactos/dll/opengl/mesa/src/mesa/main/texparam.c
reactos/dll/opengl/mesa/src/mesa/main/uniform_query.cpp
reactos/dll/opengl/mesa/src/mesa/main/varray.c
reactos/dll/opengl/mesa/src/mesa/main/version.c
reactos/dll/opengl/mesa/src/mesa/program/ir_to_mesa.cpp
reactos/dll/opengl/mesa/src/mesa/program/prog_print.c
reactos/dll/opengl/mesa/src/mesa/program/program.c
reactos/dll/opengl/mesa/src/mesa/program/program.h
reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c
reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c
reactos/dll/opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_context.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c
reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c

index 34db568..9b263d1 100644 (file)
@@ -3498,9 +3498,6 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
              add_builtin_define(parser, "GL_ARB_fragment_coord_conventions",
                                 1);
 
-          if (extensions->ARB_explicit_attrib_location)
-             add_builtin_define(parser, "GL_ARB_explicit_attrib_location", 1);
-
           if (extensions->ARB_shader_texture_lod)
              add_builtin_define(parser, "GL_ARB_shader_texture_lod", 1);
 
index 20f6ef5..1a7edbf 100644 (file)
@@ -2009,7 +2009,6 @@ YY_RULE_SETUP
                  if ((yyextra->language_version >= 140)
                      || yyextra->AMD_conservative_depth_enable
                      || yyextra->ARB_conservative_depth_enable
-                     || yyextra->ARB_explicit_attrib_location_enable
                      || yyextra->ARB_fragment_coord_conventions_enable) {
                      return LAYOUT_TOK;
                   } else {
index cf075cc..0dac6d6 100644 (file)
@@ -4193,25 +4193,6 @@ yyreduce:
 
           memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
 
-          if (state->ARB_explicit_attrib_location_enable) {
-             /* FINISHME: Handle 'index' once GL_ARB_blend_func_exteneded and
-              * FINISHME: GLSL 1.30 (or later) are supported.
-              */
-             if (strcmp("location", (yyvsp[(1) - (3)].identifier)) == 0) {
-                got_one = true;
-
-                (yyval.type_qualifier).flags.q.explicit_location = 1;
-
-                if ((yyvsp[(3) - (3)].n) >= 0) {
-                   (yyval.type_qualifier).location = (yyvsp[(3) - (3)].n);
-                } else {
-                   _mesa_glsl_error(& (yylsp[(3) - (3)]), state,
-                                    "invalid location %d specified\n", (yyvsp[(3) - (3)].n));
-                   YYERROR;
-                }
-             }
-          }
-
           /* If the identifier didn't match any known layout identifiers,
            * emit an error.
            */
@@ -4219,10 +4200,6 @@ yyreduce:
              _mesa_glsl_error(& (yylsp[(1) - (3)]), state, "unrecognized layout identifier "
                               "`%s'\n", (yyvsp[(1) - (3)].identifier));
              YYERROR;
-          } else if (state->ARB_explicit_attrib_location_warn) {
-             _mesa_glsl_warning(& (yylsp[(1) - (3)]), state,
-                                "GL_ARB_explicit_attrib_location layout "
-                                "identifier `%s' used\n", (yyvsp[(1) - (3)].identifier));
           }
        }
     break;
index c77511e..db5b68c 100644 (file)
@@ -1991,10 +1991,6 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
         if (var->mode == ir_var_out)
            var->invariant = true;
         break;
-      case geometry_shader:
-        if ((var->mode == ir_var_in) || (var->mode == ir_var_out))
-           var->invariant = true;
-        break;
       case fragment_shader:
         if (var->mode == ir_var_in)
            var->invariant = true;
@@ -2066,12 +2062,6 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
         }
         break;
 
-      case geometry_shader:
-        _mesa_glsl_error(loc, state,
-                         "geometry shader variables cannot be given "
-                         "explicit locations\n");
-        break;
-
       case fragment_shader:
         if (!global_scope || (var->mode != ir_var_out)) {
            fail = true;
@@ -2590,7 +2580,6 @@ ast_declarator_list::hir(exec_list *instructions,
        * that adds the 'layout' keyword.
        */
       if ((state->language_version < 130)
-         && !state->ARB_explicit_attrib_location_enable
          && !state->ARB_fragment_coord_conventions_enable) {
         if (this->type->qualifier.flags.q.out) {
            _mesa_glsl_error(& loc, state,
index ed6b922..6a4f372 100644 (file)
@@ -992,8 +992,6 @@ _mesa_glsl_initialize_variables(exec_list *instructions,
    case vertex_shader:
       initialize_vs_variables(instructions, state);
       break;
-   case geometry_shader:
-      break;
    case fragment_shader:
       initialize_fs_variables(instructions, state);
       break;
index 3f80ffb..3fc9a69 100644 (file)
@@ -3448,9 +3448,6 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
              add_builtin_define(parser, "GL_ARB_fragment_coord_conventions",
                                 1);
 
-          if (extensions->ARB_explicit_attrib_location)
-             add_builtin_define(parser, "GL_ARB_explicit_attrib_location", 1);
-
           if (extensions->ARB_shader_texture_lod)
              add_builtin_define(parser, "GL_ARB_shader_texture_lod", 1);
 
index 838c5a7..3891bb0 100644 (file)
@@ -2002,7 +2002,6 @@ YY_RULE_SETUP
                  if ((yyextra->language_version >= 140)
                      || yyextra->AMD_conservative_depth_enable
                      || yyextra->ARB_conservative_depth_enable
-                     || yyextra->ARB_explicit_attrib_location_enable
                      || yyextra->ARB_fragment_coord_conventions_enable) {
                      return LAYOUT_TOK;
                   } else {
index 56cee32..6e2508c 100644 (file)
@@ -4153,49 +4153,6 @@ yyreduce:
        ;}
     break;
 
-  case 151:
-
-/* Line 1464 of yacc.c  */
-#line 1169 "glsl_parser.yy"
-    {
-          bool got_one = false;
-
-          memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
-
-          if (state->ARB_explicit_attrib_location_enable) {
-             /* FINISHME: Handle 'index' once GL_ARB_blend_func_exteneded and
-              * FINISHME: GLSL 1.30 (or later) are supported.
-              */
-             if (strcmp("location", (yyvsp[(1) - (3)].identifier)) == 0) {
-                got_one = true;
-
-                (yyval.type_qualifier).flags.q.explicit_location = 1;
-
-                if ((yyvsp[(3) - (3)].n) >= 0) {
-                   (yyval.type_qualifier).location = (yyvsp[(3) - (3)].n);
-                } else {
-                   _mesa_glsl_error(& (yylsp[(3) - (3)]), state,
-                                    "invalid location %d specified\n", (yyvsp[(3) - (3)].n));
-                   YYERROR;
-                }
-             }
-          }
-
-          /* If the identifier didn't match any known layout identifiers,
-           * emit an error.
-           */
-          if (!got_one) {
-             _mesa_glsl_error(& (yylsp[(1) - (3)]), state, "unrecognized layout identifier "
-                              "`%s'\n", (yyvsp[(1) - (3)].identifier));
-             YYERROR;
-          } else if (state->ARB_explicit_attrib_location_warn) {
-             _mesa_glsl_warning(& (yylsp[(1) - (3)]), state,
-                                "GL_ARB_explicit_attrib_location layout "
-                                "identifier `%s' used\n", (yyvsp[(1) - (3)].identifier));
-          }
-       ;}
-    break;
-
   case 152:
 
 /* Line 1464 of yacc.c  */
index 2a72ba1..bbed708 100644 (file)
@@ -42,7 +42,6 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *ctx,
    switch (target) {
    case GL_VERTEX_SHADER:   this->target = vertex_shader; break;
    case GL_FRAGMENT_SHADER: this->target = fragment_shader; break;
-   case GL_GEOMETRY_SHADER: this->target = geometry_shader; break;
    }
 
    this->scanner = NULL;
@@ -125,7 +124,6 @@ _mesa_glsl_shader_target_name(enum _mesa_glsl_parser_targets target)
    switch (target) {
    case vertex_shader:   return "vertex";
    case fragment_shader: return "fragment";
-   case geometry_shader: return "geometry";
    }
 
    assert(!"Should not get here.");
@@ -262,7 +260,6 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = {
    EXT(ARB_conservative_depth,         false, false, true,  true,  false,     ARB_conservative_depth),
    EXT(ARB_draw_buffers,               false, false, true,  true,  false,     dummy_true),
    EXT(ARB_draw_instanced,             true,  false, false, true,  false,     ARB_draw_instanced),
-   EXT(ARB_explicit_attrib_location,   true,  false, true,  true,  false,     ARB_explicit_attrib_location),
    EXT(ARB_fragment_coord_conventions, true,  false, true,  true,  false,     ARB_fragment_coord_conventions),
    EXT(ARB_texture_rectangle,          true,  false, true,  true,  false,     dummy_true),
    EXT(EXT_texture_array,              true,  false, true,  true,  false,     EXT_texture_array),
@@ -293,11 +290,6 @@ bool _mesa_glsl_extension::compatible_with_state(const _mesa_glsl_parse_state *
          return false;
       }
       break;
-   case geometry_shader:
-      if (!this->avail_in_GS) {
-         return false;
-      }
-      break;
    case fragment_shader:
       if (!this->avail_in_FS) {
          return false;
index ee8f71b..70dc0ae 100644 (file)
@@ -36,7 +36,6 @@
 
 enum _mesa_glsl_parser_targets {
    vertex_shader,
-   geometry_shader,
    fragment_shader
 };
 
@@ -181,8 +180,6 @@ struct _mesa_glsl_parse_state {
    bool ARB_draw_buffers_warn;
    bool ARB_draw_instanced_enable;
    bool ARB_draw_instanced_warn;
-   bool ARB_explicit_attrib_location_enable;
-   bool ARB_explicit_attrib_location_warn;
    bool ARB_fragment_coord_conventions_enable;
    bool ARB_fragment_coord_conventions_warn;
    bool ARB_texture_rectangle_enable;
index 961f61a..816cc27 100644 (file)
@@ -1619,19 +1619,17 @@ static bool
 check_resources(struct gl_context *ctx, struct gl_shader_program *prog)
 {
    static const char *const shader_names[MESA_SHADER_TYPES] = {
-      "vertex", "fragment", "geometry"
+      "vertex", "fragment"
    };
 
    const unsigned max_samplers[MESA_SHADER_TYPES] = {
       ctx->Const.MaxVertexTextureImageUnits,
-      ctx->Const.MaxTextureImageUnits,
-      ctx->Const.MaxGeometryTextureImageUnits
+      ctx->Const.MaxTextureImageUnits
    };
 
    const unsigned max_uniform_components[MESA_SHADER_TYPES] = {
       ctx->Const.VertexProgram.MaxUniformComponents,
-      ctx->Const.FragmentProgram.MaxUniformComponents,
-      0          /* FINISHME: Geometry shaders. */
+      ctx->Const.FragmentProgram.MaxUniformComponents
    };
 
    for (unsigned i = 0; i < MESA_SHADER_TYPES; i++) {
@@ -1701,10 +1699,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
         frag_shader_list[num_frag_shaders] = prog->Shaders[i];
         num_frag_shaders++;
         break;
-      case GL_GEOMETRY_SHADER:
-        /* FINISHME: Support geometry shaders. */
-        assert(prog->Shaders[i]->Type != GL_GEOMETRY_SHADER);
-        break;
       }
    }
 
@@ -1854,20 +1848,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
         ;
    }
 
-   if (prog->_LinkedShaders[MESA_SHADER_GEOMETRY] != NULL) {
-      gl_shader *const sh = prog->_LinkedShaders[MESA_SHADER_GEOMETRY];
-
-      demote_shader_inputs_and_outputs(sh, ir_var_in);
-      demote_shader_inputs_and_outputs(sh, ir_var_inout);
-      demote_shader_inputs_and_outputs(sh, ir_var_out);
-
-      /* Eliminate code that is now dead due to unused geometry outputs being
-       * demoted.
-       */
-      while (do_dead_code(prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->ir, false))
-        ;
-   }
-
    if (prog->_LinkedShaders[MESA_SHADER_FRAGMENT] != NULL) {
       gl_shader *const sh = prog->_LinkedShaders[MESA_SHADER_FRAGMENT];
 
index e174224..c548127 100644 (file)
@@ -117,7 +117,7 @@ usage_fail(const char *name)
 {
 
    const char *header =
-      "usage: %s [options] <file.vert | file.geom | file.frag>\n"
+      "usage: %s [options] <file.vert | file.frag>\n"
       "\n"
       "Possible options are:\n";
    printf(header, name, name);
@@ -240,8 +240,6 @@ main(int argc, char **argv)
       const char *const ext = & argv[optind][len - 5];
       if (strncmp(".vert", ext, 5) == 0)
         shader->Type = GL_VERTEX_SHADER;
-      else if (strncmp(".geom", ext, 5) == 0)
-        shader->Type = GL_GEOMETRY_SHADER;
       else if (strncmp(".frag", ext, 5) == 0)
         shader->Type = GL_FRAGMENT_SHADER;
       else
index 06aba33..1689e62 100644 (file)
@@ -129,7 +129,6 @@ struct save_state
    GLboolean FragmentProgramEnabled;
    struct gl_fragment_program *FragmentProgram;
    struct gl_shader_program *VertexShader;
-   struct gl_shader_program *GeometryShader;
    struct gl_shader_program *FragmentShader;
    struct gl_shader_program *ActiveShader;
 
@@ -540,8 +539,6 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
       if (ctx->Extensions.ARB_shader_objects) {
         _mesa_reference_shader_program(ctx, &save->VertexShader,
                                        ctx->Shader.CurrentVertexProgram);
-        _mesa_reference_shader_program(ctx, &save->GeometryShader,
-                                       ctx->Shader.CurrentGeometryProgram);
         _mesa_reference_shader_program(ctx, &save->FragmentShader,
                                        ctx->Shader.CurrentFragmentProgram);
         _mesa_reference_shader_program(ctx, &save->ActiveShader,
@@ -813,10 +810,6 @@ _mesa_meta_end(struct gl_context *ctx)
       if (ctx->Extensions.ARB_vertex_shader)
         _mesa_use_shader_program(ctx, GL_VERTEX_SHADER, save->VertexShader);
 
-      if (ctx->Extensions.ARB_geometry_shader4)
-        _mesa_use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB,
-                                 save->GeometryShader);
-
       if (ctx->Extensions.ARB_fragment_shader)
         _mesa_use_shader_program(ctx, GL_FRAGMENT_SHADER,
                                  save->FragmentShader);
@@ -825,7 +818,6 @@ _mesa_meta_end(struct gl_context *ctx)
                                     save->ActiveShader);
 
       _mesa_reference_shader_program(ctx, &save->VertexShader, NULL);
-      _mesa_reference_shader_program(ctx, &save->GeometryShader, NULL);
       _mesa_reference_shader_program(ctx, &save->FragmentShader, NULL);
       _mesa_reference_shader_program(ctx, &save->ActiveShader, NULL);
    }
index d7461b0..81836f3 100644 (file)
@@ -459,9 +459,6 @@ _mesa_create_exec_table(void)
    /* ???. GL_EXT_depth_bounds_test */
    SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
 
-   /* 364. GL_EXT_provoking_vertex */
-   SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT);
-
    /* ARB 1. GL_ARB_multitexture */
 #if _HAVE_FULL_GL
    SET_ActiveTextureARB(exec, _mesa_ActiveTextureARB);
@@ -625,11 +622,6 @@ _mesa_create_exec_table(void)
    SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT);
 #endif
 
-   /* GL_MESA_texture_array / GL_EXT_texture_array */
-#if FEATURE_EXT_framebuffer_object
-   SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT);
-#endif
-
    /* GL_ATI_separate_stencil */
    SET_StencilFuncSeparateATI(exec, _mesa_StencilFuncSeparateATI);
 
@@ -663,11 +655,6 @@ _mesa_create_exec_table(void)
    SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE);
 #endif
 
-#if FEATURE_ARB_geometry_shader4
-   SET_FramebufferTextureARB(exec, _mesa_FramebufferTextureARB);
-   SET_FramebufferTextureFaceARB(exec, _mesa_FramebufferTextureFaceARB);
-#endif
-
    SET_ClampColorARB(exec, _mesa_ClampColorARB);
 
    /* GL_EXT_texture_integer */
index 2f71f53..0879a68 100644 (file)
@@ -206,11 +206,7 @@ check_index_bounds(struct gl_context *ctx, GLsizei count, GLenum type,
 GLboolean
 _mesa_valid_prim_mode(const struct gl_context *ctx, GLenum mode)
 {
-   if (ctx->Extensions.ARB_geometry_shader4 &&
-       mode > GL_TRIANGLE_STRIP_ADJACENCY_ARB) {
-      return GL_FALSE;
-   }
-   else if (mode > GL_POLYGON) {
+   if (mode > GL_POLYGON) {
       return GL_FALSE;
    }
    else {
index 04c403c..3bd63d8 100644 (file)
@@ -185,7 +185,6 @@ init_array(struct gl_context *ctx,
 {
    array->Size = size;
    array->Type = type;
-   array->Format = GL_RGBA; /* only significant for GL_EXT_vertex_array_bgra */
    array->Stride = 0;
    array->StrideB = 0;
    array->Ptr = NULL;
index 25e4896..8620b74 100644 (file)
 /** For GL_ATI_envmap_bump - support bump mapping on first 8 units */
 #define SUPPORTED_ATI_BUMP_UNITS 0xff
 
-/** For GL_ARB_geometry_shader4 */
-/*@{*/
-#define MAX_GEOMETRY_TEXTURE_IMAGE_UNITS             8
-#define MAX_GEOMETRY_VARYING_COMPONENTS              32
-#define MAX_VERTEX_VARYING_COMPONENTS                32
-#define MAX_GEOMETRY_UNIFORM_COMPONENTS              512
-#define MAX_GEOMETRY_OUTPUT_VERTICES                 256
-#define MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS         1024
-/*@}*/
-
 
 /**
  * \name Mesa-specific parameters
index 0335dca..522e792 100644 (file)
@@ -346,8 +346,6 @@ dummy_enum_func(void)
    gl_texture_index ti = TEXTURE_2D_ARRAY_INDEX;
    gl_vert_attrib va = VERT_ATTRIB_POS;
    gl_vert_result vr = VERT_RESULT_HPOS;
-   gl_geom_attrib ga = GEOM_ATTRIB_POSITION;
-   gl_geom_result gr = GEOM_RESULT_POS;
 
    (void) bi;
    (void) fi;
@@ -356,8 +354,6 @@ dummy_enum_func(void)
    (void) ti;
    (void) va;
    (void) vr;
-   (void) ga;
-   (void) gr;
 }
 
 
@@ -486,12 +482,6 @@ init_program_limits(GLenum type, struct gl_program_constants *prog)
       prog->MaxAddressRegs = MAX_FRAGMENT_PROGRAM_ADDRESS_REGS;
       prog->MaxUniformComponents = 4 * MAX_UNIFORMS;
       break;
-   case MESA_GEOMETRY_PROGRAM:
-      prog->MaxParameters = MAX_NV_VERTEX_PROGRAM_PARAMS;
-      prog->MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS;
-      prog->MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS;
-      prog->MaxUniformComponents = MAX_GEOMETRY_UNIFORM_COMPONENTS;
-      break;
    default:
       assert(0 && "Bad program type in init_program_limits()");
    }
@@ -577,9 +567,6 @@ _mesa_init_constants(struct gl_context *ctx)
 #endif
 #if FEATURE_ARB_fragment_program
    init_program_limits(GL_FRAGMENT_PROGRAM_ARB, &ctx->Const.FragmentProgram);
-#endif
-#if FEATURE_ARB_geometry_shader4
-   init_program_limits(MESA_GEOMETRY_PROGRAM, &ctx->Const.GeometryProgram);
 #endif
    ctx->Const.MaxProgramMatrices = MAX_PROGRAM_MATRICES;
    ctx->Const.MaxProgramMatrixStackDepth = MAX_PROGRAM_MATRIX_STACK_DEPTH;
@@ -600,13 +587,6 @@ _mesa_init_constants(struct gl_context *ctx)
    ctx->Const.MaxCombinedTextureImageUnits = MAX_COMBINED_TEXTURE_IMAGE_UNITS;
    ctx->Const.MaxVarying = MAX_VARYING;
 #endif
-#if FEATURE_ARB_geometry_shader4
-   ctx->Const.MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS;
-   ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS;
-   ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS;
-   ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES;
-   ctx->Const.MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS;
-#endif
 
    /* Shading language version */
    if (ctx->API == API_OPENGL) {
@@ -626,9 +606,6 @@ _mesa_init_constants(struct gl_context *ctx)
    /* GL_ATI_envmap_bumpmap */
    ctx->Const.SupportedBumpUnits = SUPPORTED_ATI_BUMP_UNITS;
 
-   /* GL_EXT_provoking_vertex */
-   ctx->Const.QuadsFollowProvokingVertexConvention = GL_TRUE;
-
    /* GL 3.2: hard-coded for now: */
    ctx->Const.ProfileMask = GL_CONTEXT_COMPATIBILITY_PROFILE_BIT;
 
@@ -1680,7 +1657,6 @@ GLboolean
 _mesa_valid_to_render(struct gl_context *ctx, const char *where)
 {
    bool vert_from_glsl_shader = false;
-   bool geom_from_glsl_shader = false;
    bool frag_from_glsl_shader = false;
 
    /* This depends on having up to date derived state (shaders) */
@@ -1708,27 +1684,6 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where)
 #endif
    }
 
-   if (ctx->Shader.CurrentGeometryProgram) {
-      geom_from_glsl_shader = true;
-
-      if (!ctx->Shader.CurrentGeometryProgram->LinkStatus) {
-         _mesa_error(ctx, GL_INVALID_OPERATION,
-                     "%s(shader not linked)", where);
-         return GL_FALSE;
-      }
-#if 0 /* not normally enabled */
-      {
-         char errMsg[100];
-         if (!_mesa_validate_shader_program(ctx,
-                                           ctx->Shader.CurrentGeometryProgram,
-                                            errMsg)) {
-            _mesa_warning(ctx, "Shader program %u is invalid: %s",
-                          ctx->Shader.CurrentGeometryProgram->Name, errMsg);
-         }
-      }
-#endif
-   }
-
    if (ctx->Shader.CurrentFragmentProgram) {
       frag_from_glsl_shader = true;
 
@@ -1760,11 +1715,6 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where)
       return GL_FALSE;
    }
 
-   /* FINISHME: If GL_NV_geometry_program4 is ever supported, the current
-    * FINISHME: geometry program should validated here.
-    */
-   (void) geom_from_glsl_shader;
-
    if (!frag_from_glsl_shader) {
       if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
         _mesa_error(ctx, GL_INVALID_OPERATION,
@@ -1794,7 +1744,6 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where)
       gl_shader_type i;
 
       shProg[MESA_SHADER_VERTEX] = ctx->Shader.CurrentVertexProgram;
-      shProg[MESA_SHADER_GEOMETRY] = ctx->Shader.CurrentGeometryProgram;
       shProg[MESA_SHADER_FRAGMENT] = ctx->Shader.CurrentFragmentProgram;
 
       for (i = 0; i < MESA_SHADER_TYPES; i++) {
index b68b01b..7b01b00 100644 (file)
 #define _gloffset_ClearBufferuiv 434
 #define _gloffset_GetStringi 435
 #define _gloffset_TexBuffer 436
-#define _gloffset_FramebufferTexture 437
 #define _gloffset_GetBufferParameteri64v 438
 #define _gloffset_GetInteger64i_v 439
 #define _gloffset_LoadTransposeMatrixdARB 441
 #define _gloffset_DrawArraysInstancedARB 573
 #define _gloffset_DrawElementsInstancedARB 574
 #define _gloffset_RenderbufferStorageMultisample 575
-#define _gloffset_FramebufferTextureARB 576
-#define _gloffset_FramebufferTextureFaceARB 577
-#define _gloffset_ProgramParameteriARB 578
 #define _gloffset_FlushMappedBufferRange 580
 #define _gloffset_MapBufferRange 581
 #define _gloffset_TexBufferARB 582
 #define _gloffset_VertexAttribI4uivEXT 931
 #define _gloffset_VertexAttribI4usvEXT 932
 #define _gloffset_VertexAttribIPointerEXT 933
-#define _gloffset_FramebufferTextureLayerEXT 934
 #define _gloffset_ClearColorIiEXT 941
 #define _gloffset_ClearColorIuiEXT 942
 #define _gloffset_GetTexParameterIivEXT 943
 #define _gloffset_GetTexParameterIuivEXT 944
 #define _gloffset_TexParameterIivEXT 945
 #define _gloffset_TexParameterIuivEXT 946
-#define _gloffset_ProvokingVertexEXT 956
 #define _gloffset_GetTexParameterPointervAPPLE 957
 #define _gloffset_TextureRangeAPPLE 958
 #define _gloffset_GetObjectParameterivAPPLE 959
@@ -969,7 +963,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define ClearBufferuiv_remap_index 26
 #define GetStringi_remap_index 27
 #define TexBuffer_remap_index 28
-#define FramebufferTexture_remap_index 29
 #define GetBufferParameteri64v_remap_index 30
 #define GetInteger64i_v_remap_index 31
 #define VertexAttribDivisor_remap_index 32
@@ -1100,9 +1093,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define DrawArraysInstancedARB_remap_index 165
 #define DrawElementsInstancedARB_remap_index 166
 #define RenderbufferStorageMultisample_remap_index 167
-#define FramebufferTextureARB_remap_index 168
-#define FramebufferTextureFaceARB_remap_index 169
-#define ProgramParameteriARB_remap_index 170
 #define VertexAttribDivisorARB_remap_index 171
 #define FlushMappedBufferRange_remap_index 172
 #define MapBufferRange_remap_index 173
@@ -1378,14 +1368,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define VertexAttribI4uivEXT_remap_index 523
 #define VertexAttribI4usvEXT_remap_index 524
 #define VertexAttribIPointerEXT_remap_index 525
-#define FramebufferTextureLayerEXT_remap_index 526
 #define ClearColorIiEXT_remap_index 533
 #define ClearColorIuiEXT_remap_index 534
 #define GetTexParameterIivEXT_remap_index 535
 #define GetTexParameterIuivEXT_remap_index 536
 #define TexParameterIivEXT_remap_index 537
 #define TexParameterIuivEXT_remap_index 538
-#define ProvokingVertexEXT_remap_index 548
 #define GetTexParameterPointervAPPLE_remap_index 549
 #define TextureRangeAPPLE_remap_index 550
 #define GetObjectParameterivAPPLE_remap_index 551
@@ -1560,9 +1548,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_DrawArraysInstancedARB driDispatchRemapTable[DrawArraysInstancedARB_remap_index]
 #define _gloffset_DrawElementsInstancedARB driDispatchRemapTable[DrawElementsInstancedARB_remap_index]
 #define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index]
-#define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index]
-#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index]
-#define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index]
 #define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index]
 #define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index]
 #define _gloffset_TexBufferARB driDispatchRemapTable[TexBufferARB_remap_index]
@@ -1837,14 +1822,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
 #define _gloffset_VertexAttribI4uivEXT driDispatchRemapTable[VertexAttribI4uivEXT_remap_index]
 #define _gloffset_VertexAttribI4usvEXT driDispatchRemapTable[VertexAttribI4usvEXT_remap_index]
 #define _gloffset_VertexAttribIPointerEXT driDispatchRemapTable[VertexAttribIPointerEXT_remap_index]
-#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
 #define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index]
 #define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index]
 #define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index]
 #define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index]
 #define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index]
 #define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index]
-#define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index]
 #define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index]
 #define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index]
 #define _gloffset_GetObjectParameterivAPPLE driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index]
@@ -6669,17 +6652,6 @@ static inline void SET_TexBuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn
    SET_by_offset(disp, _gloffset_TexBuffer, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_FramebufferTexture)(GLenum, GLenum, GLuint, GLint);
-#define CALL_FramebufferTexture(disp, parameters) \
-    (* GET_FramebufferTexture(disp)) parameters
-static inline _glptr_FramebufferTexture GET_FramebufferTexture(struct _glapi_table *disp) {
-   return (_glptr_FramebufferTexture) (GET_by_offset(disp, _gloffset_FramebufferTexture));
-}
-
-static inline void SET_FramebufferTexture(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLint)) {
-   SET_by_offset(disp, _gloffset_FramebufferTexture, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_GetBufferParameteri64v)(GLenum, GLenum, GLint64 *);
 #define CALL_GetBufferParameteri64v(disp, parameters) \
     (* GET_GetBufferParameteri64v(disp)) parameters
@@ -8099,39 +8071,6 @@ static inline void SET_RenderbufferStorageMultisample(struct _glapi_table *disp,
    SET_by_offset(disp, _gloffset_RenderbufferStorageMultisample, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_FramebufferTextureARB)(GLenum, GLenum, GLuint, GLint);
-#define CALL_FramebufferTextureARB(disp, parameters) \
-    (* GET_FramebufferTextureARB(disp)) parameters
-static inline _glptr_FramebufferTextureARB GET_FramebufferTextureARB(struct _glapi_table *disp) {
-   return (_glptr_FramebufferTextureARB) (GET_by_offset(disp, _gloffset_FramebufferTextureARB));
-}
-
-static inline void SET_FramebufferTextureARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLint)) {
-   SET_by_offset(disp, _gloffset_FramebufferTextureARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_FramebufferTextureFaceARB)(GLenum, GLenum, GLuint, GLint, GLenum);
-#define CALL_FramebufferTextureFaceARB(disp, parameters) \
-    (* GET_FramebufferTextureFaceARB(disp)) parameters
-static inline _glptr_FramebufferTextureFaceARB GET_FramebufferTextureFaceARB(struct _glapi_table *disp) {
-   return (_glptr_FramebufferTextureFaceARB) (GET_by_offset(disp, _gloffset_FramebufferTextureFaceARB));
-}
-
-static inline void SET_FramebufferTextureFaceARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLint, GLenum)) {
-   SET_by_offset(disp, _gloffset_FramebufferTextureFaceARB, fn);
-}
-
-typedef void (GLAPIENTRYP _glptr_ProgramParameteriARB)(GLuint, GLenum, GLint);
-#define CALL_ProgramParameteriARB(disp, parameters) \
-    (* GET_ProgramParameteriARB(disp)) parameters
-static inline _glptr_ProgramParameteriARB GET_ProgramParameteriARB(struct _glapi_table *disp) {
-   return (_glptr_ProgramParameteriARB) (GET_by_offset(disp, _gloffset_ProgramParameteriARB));
-}
-
-static inline void SET_ProgramParameteriARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint)) {
-   SET_by_offset(disp, _gloffset_ProgramParameteriARB, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_FlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
 #define CALL_FlushMappedBufferRange(disp, parameters) \
     (* GET_FlushMappedBufferRange(disp)) parameters
@@ -11146,17 +11085,6 @@ static inline void SET_VertexAttribIPointerEXT(struct _glapi_table *disp, void (
    SET_by_offset(disp, _gloffset_VertexAttribIPointerEXT, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_FramebufferTextureLayerEXT)(GLenum, GLenum, GLuint, GLint, GLint);
-#define CALL_FramebufferTextureLayerEXT(disp, parameters) \
-    (* GET_FramebufferTextureLayerEXT(disp)) parameters
-static inline _glptr_FramebufferTextureLayerEXT GET_FramebufferTextureLayerEXT(struct _glapi_table *disp) {
-   return (_glptr_FramebufferTextureLayerEXT) (GET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT));
-}
-
-static inline void SET_FramebufferTextureLayerEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLint, GLint)) {
-   SET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_ClearColorIiEXT)(GLint, GLint, GLint, GLint);
 #define CALL_ClearColorIiEXT(disp, parameters) \
     (* GET_ClearColorIiEXT(disp)) parameters
@@ -11223,17 +11151,6 @@ static inline void SET_TexParameterIuivEXT(struct _glapi_table *disp, void (GLAP
    SET_by_offset(disp, _gloffset_TexParameterIuivEXT, fn);
 }
 
-typedef void (GLAPIENTRYP _glptr_ProvokingVertexEXT)(GLenum);
-#define CALL_ProvokingVertexEXT(disp, parameters) \
-    (* GET_ProvokingVertexEXT(disp)) parameters
-static inline _glptr_ProvokingVertexEXT GET_ProvokingVertexEXT(struct _glapi_table *disp) {
-   return (_glptr_ProvokingVertexEXT) (GET_by_offset(disp, _gloffset_ProvokingVertexEXT));
-}
-
-static inline void SET_ProvokingVertexEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
-   SET_by_offset(disp, _gloffset_ProvokingVertexEXT, fn);
-}
-
 typedef void (GLAPIENTRYP _glptr_GetTexParameterPointervAPPLE)(GLenum, GLenum, GLvoid **);
 #define CALL_GetTexParameterPointervAPPLE(disp, parameters) \
     (* GET_GetTexParameterPointervAPPLE(disp)) parameters
index 3177df2..f9fd7e9 100644 (file)
@@ -405,9 +405,6 @@ typedef enum
    OPCODE_EVAL_P1,
    OPCODE_EVAL_P2,
 
-   /* GL_EXT_provoking_vertex */
-   OPCODE_PROVOKING_VERTEX,
-
    /* GL_EXT_texture_integer */
    OPCODE_CLEARCOLOR_I,
    OPCODE_CLEARCOLOR_UI,
@@ -421,11 +418,6 @@ typedef enum
    /* GL_NV_texture_barrier */
    OPCODE_TEXTURE_BARRIER_NV,
 
-   /* GL_ARB_geometry_shader4 */
-   OPCODE_PROGRAM_PARAMETERI,
-   OPCODE_FRAMEBUFFER_TEXTURE,
-   OPCODE_FRAMEBUFFER_TEXTURE_FACE,
-
    /* The following three are meta instructions */
    OPCODE_ERROR,                /* raise compiled-in error */
    OPCODE_CONTINUE,
@@ -6094,23 +6086,6 @@ save_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
 #endif
 
 
-/** GL_EXT_provoking_vertex */
-static void GLAPIENTRY
-save_ProvokingVertexEXT(GLenum mode)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   Node *n;
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_PROVOKING_VERTEX, 1);
-   if (n) {
-      n[1].e = mode;
-   }
-   if (ctx->ExecuteFlag) {
-      /*CALL_ProvokingVertexEXT(ctx->Exec, (mode));*/
-      _mesa_ProvokingVertexEXT(mode);
-   }
-}
-
 /* aka UseProgram() */
 static void GLAPIENTRY
 save_UseProgramObjectARB(GLhandleARB program)
@@ -6898,65 +6873,6 @@ save_TextureBarrierNV(void)
    }
 }
 
-/* GL_ARB_geometry_shader4 */
-static void GLAPIENTRY
-save_ProgramParameteri(GLuint program, GLenum pname, GLint value)
-{
-   Node *n;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_PROGRAM_PARAMETERI, 3);
-   if (n) {
-      n[1].ui = program;
-      n[2].e = pname;
-      n[3].i = value;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_ProgramParameteriARB(ctx->Exec, (program, pname, value));
-   }
-}
-
-static void GLAPIENTRY
-save_FramebufferTexture(GLenum target, GLenum attachment,
-                        GLuint texture, GLint level)
-{
-   Node *n;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE, 4);
-   if (n) {
-      n[1].e = target;
-      n[2].e = attachment;
-      n[3].ui = texture;
-      n[4].i = level;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_FramebufferTextureARB(ctx->Exec, (target, attachment, texture, level));
-   }
-}
-
-static void GLAPIENTRY
-save_FramebufferTextureFace(GLenum target, GLenum attachment,
-                            GLuint texture, GLint level, GLenum face)
-{
-   Node *n;
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
-   n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE_FACE, 5);
-   if (n) {
-      n[1].e = target;
-      n[2].e = attachment;
-      n[3].ui = texture;
-      n[4].i = level;
-      n[5].e = face;
-   }
-   if (ctx->ExecuteFlag) {
-      CALL_FramebufferTextureFaceARB(ctx->Exec, (target, attachment, texture,
-                                                 level, face));
-   }
-}
-
-
 /**
  * Save an error-generating command into display list.
  *
@@ -7571,9 +7487,6 @@ execute_list(struct gl_context *ctx, GLuint list)
          case OPCODE_SHADE_MODEL:
             CALL_ShadeModel(ctx->Exec, (n[1].e));
             break;
-         case OPCODE_PROVOKING_VERTEX:
-            CALL_ProvokingVertexEXT(ctx->Exec, (n[1].e));
-            break;
          case OPCODE_STENCIL_FUNC:
             CALL_StencilFunc(ctx->Exec, (n[1].e, n[2].i, n[3].ui));
             break;
@@ -8096,19 +8009,6 @@ execute_list(struct gl_context *ctx, GLuint list)
             CALL_TextureBarrierNV(ctx->Exec, ());
             break;
 
-         /* GL_ARB_geometry_shader4 */
-         case OPCODE_PROGRAM_PARAMETERI:
-            CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i));
-            break;
-         case OPCODE_FRAMEBUFFER_TEXTURE:
-            CALL_FramebufferTextureARB(ctx->Exec, (n[1].e, n[2].e,
-                                                   n[3].ui, n[4].i));
-            break;
-         case OPCODE_FRAMEBUFFER_TEXTURE_FACE:
-            CALL_FramebufferTextureFaceARB(ctx->Exec, (n[1].e, n[2].e,
-                                                       n[3].ui, n[4].i, n[5].e));
-            break;
-
          case OPCODE_CONTINUE:
             n = (Node *) n[1].next;
             break;
@@ -9726,9 +9626,6 @@ _mesa_create_save_table(void)
    /* ARB 59. GL_ARB_copy_buffer */
    SET_CopyBufferSubData(table, _mesa_CopyBufferSubData); /* no dlist save */
 
-   /* 364. GL_EXT_provoking_vertex */
-   SET_ProvokingVertexEXT(table, save_ProvokingVertexEXT);
-
    /* 371. GL_APPLE_object_purgeable */
 #if FEATURE_APPLE_object_purgeable
    SET_ObjectPurgeableAPPLE(table, _mesa_ObjectPurgeableAPPLE);
@@ -9786,11 +9683,6 @@ _mesa_create_save_table(void)
    SET_BlendEquationiARB(table, save_BlendEquationi);
    SET_BlendEquationSeparateiARB(table, save_BlendEquationSeparatei);
 
-   /* GL_ARB_geometry_shader4 */
-   SET_ProgramParameteriARB(table, save_ProgramParameteri);
-   SET_FramebufferTextureARB(table, save_FramebufferTexture);
-   SET_FramebufferTextureFaceARB(table, save_FramebufferTextureFace);
-
    /* GL_ARB_texture_storage (no dlist support) */
    SET_TexStorage1D(table, _mesa_TexStorage1D);
    SET_TexStorage2D(table, _mesa_TexStorage2D);
@@ -10033,11 +9925,6 @@ print_list(struct gl_context *ctx, GLuint list)
             printf("EVAL_P2 %d %d\n", n[1].i, n[2].i);
             break;
 
-         case OPCODE_PROVOKING_VERTEX:
-            printf("ProvokingVertex %s\n",
-                         _mesa_lookup_enum_by_nr(n[1].ui));
-            break;
-
             /*
              * meta opcodes/commands
              */
index beb4e04..0b36a9e 100644 (file)
@@ -868,14 +868,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
          }
          break;
 
-      case GL_TEXTURE_CUBE_MAP_SEAMLESS:
-        CHECK_EXTENSION(ARB_seamless_cube_map, cap);
-        if (ctx->Texture.CubeMapSeamless != state) {
-           FLUSH_VERTICES(ctx, _NEW_TEXTURE);
-           ctx->Texture.CubeMapSeamless = state;
-        }
-        break;
-
       /* GL 3.1 primitive restart.  Note: this enum is different from
        * GL_PRIMITIVE_RESTART_NV (which is client state).
        */
@@ -1290,10 +1282,6 @@ _mesa_IsEnabled( GLenum cap )
          CHECK_EXTENSION(ARB_depth_clamp);
          return ctx->Transform.DepthClamp;
 
-      case GL_TEXTURE_CUBE_MAP_SEAMLESS:
-        CHECK_EXTENSION(ARB_seamless_cube_map);
-        return ctx->Texture.CubeMapSeamless;
-
       /* GL_NV_primitive_restart */
       case GL_PRIMITIVE_RESTART_NV:
         if (!ctx->Extensions.NV_primitive_restart) {
index 2793ab4..3d5bdb0 100644 (file)
@@ -78,7 +78,6 @@ struct extension {
 static const struct extension extension_table[] = {
    /* ARB Extensions */
    { "GL_ARB_ES2_compatibility",                   o(ARB_ES2_compatibility),                   GL,             2009 },
-   { "GL_ARB_blend_func_extended",                 o(ARB_blend_func_extended),                 GL,             2009 },
    { "GL_ARB_color_buffer_float",                  o(ARB_color_buffer_float),                  GL,             2004 },
    { "GL_ARB_copy_buffer",                         o(ARB_copy_buffer),                         GL,             2008 },
    { "GL_ARB_conservative_depth",                  o(ARB_conservative_depth),                  GL,             2011 },
@@ -88,7 +87,6 @@ static const struct extension extension_table[] = {
    { "GL_ARB_draw_buffers_blend",                  o(ARB_draw_buffers_blend),                  GL,             2009 },
    { "GL_ARB_draw_elements_base_vertex",           o(ARB_draw_elements_base_vertex),           GL,             2009 },
    { "GL_ARB_draw_instanced",                      o(ARB_draw_instanced),                      GL,             2008 },
-   { "GL_ARB_explicit_attrib_location",            o(ARB_explicit_attrib_location),            GL,             2009 },
    { "GL_ARB_fragment_coord_conventions",          o(ARB_fragment_coord_conventions),          GL,             2009 },
    { "GL_ARB_fragment_program",                    o(ARB_fragment_program),                    GL,             2002 },
    { "GL_ARB_fragment_program_shadow",             o(ARB_fragment_program_shadow),             GL,             2003 },
@@ -103,9 +101,7 @@ static const struct extension extension_table[] = {
    { "GL_ARB_pixel_buffer_object",                 o(EXT_pixel_buffer_object),                 GL,             2004 },
    { "GL_ARB_point_parameters",                    o(EXT_point_parameters),                    GL,             1997 },
    { "GL_ARB_point_sprite",                        o(ARB_point_sprite),                        GL,             2003 },
-   { "GL_ARB_provoking_vertex",                    o(EXT_provoking_vertex),                    GL,             2009 },
    { "GL_ARB_robustness",                          o(dummy_true),                              GL,             2010 },
-   { "GL_ARB_seamless_cube_map",                   o(ARB_seamless_cube_map),                   GL,             2009 },
    { "GL_ARB_shader_objects",                      o(ARB_shader_objects),                      GL,             2002 },
    { "GL_ARB_shader_stencil_export",               o(ARB_shader_stencil_export),               GL,             2009 },
    { "GL_ARB_shader_texture_lod",                  o(ARB_shader_texture_lod),                  GL,             2009 },
@@ -121,14 +117,12 @@ static const struct extension extension_table[] = {
    { "GL_ARB_texture_env_dot3",                    o(ARB_texture_env_dot3),                    GL,             2001 },
    { "GL_ARB_texture_float",                       o(ARB_texture_float),                       GL,             2004 },
    { "GL_ARB_texture_mirrored_repeat",             o(dummy_true),                              GL,             2001 },
-   { "GL_ARB_texture_multisample",                 o(ARB_texture_multisample),                 GL,             2009 },
    { "GL_ARB_texture_non_power_of_two",            o(ARB_texture_non_power_of_two),            GL,             2003 },
    { "GL_ARB_texture_rectangle",                   o(NV_texture_rectangle),                    GL,             2004 },
    { "GL_ARB_texture_rg",                          o(ARB_texture_rg),                          GL,             2008 },
    { "GL_ARB_texture_storage",                     o(ARB_texture_storage),                     GL,             2011 },
    { "GL_ARB_transpose_matrix",                    o(ARB_transpose_matrix),                    GL,             1999 },
    { "GL_ARB_uniform_buffer_object",               o(ARB_uniform_buffer_object),               GL,             2002 },
-   { "GL_ARB_vertex_array_bgra",                   o(EXT_vertex_array_bgra),                   GL,             2008 },
    { "GL_ARB_vertex_array_object",                 o(ARB_vertex_array_object),                 GL,             2006 },
    { "GL_ARB_vertex_buffer_object",                o(dummy_true),                              GL,             2003 },
    { "GL_ARB_vertex_program",                      o(ARB_vertex_program),                      GL,             2002 },
@@ -161,7 +155,6 @@ static const struct extension extension_table[] = {
    { "GL_EXT_pixel_buffer_object",                 o(EXT_pixel_buffer_object),                 GL,             2004 },
    { "GL_EXT_point_parameters",                    o(EXT_point_parameters),                    GL,             1997 },
    { "GL_EXT_polygon_offset",                      o(dummy_true),                              GL,             1995 },
-   { "GL_EXT_provoking_vertex",                    o(EXT_provoking_vertex),                    GL,             2009 },
    { "GL_EXT_rescale_normal",                      o(EXT_rescale_normal),                      GL,             1997 },
    { "GL_EXT_secondary_color",                     o(EXT_secondary_color),                     GL,             1999 },
    { "GL_EXT_separate_shader_objects",             o(EXT_separate_shader_objects),             GL,             2008 },
@@ -192,7 +185,6 @@ static const struct extension extension_table[] = {
    { "GL_EXT_texture_snorm",                       o(EXT_texture_snorm),                       GL,             2009 },
    { "GL_EXT_texture_sRGB",                        o(EXT_texture_sRGB),                        GL,             2004 },
    { "GL_EXT_texture_type_2_10_10_10_REV",         o(dummy_true),                                         ES2, 2008 },
-   { "GL_EXT_vertex_array_bgra",                   o(EXT_vertex_array_bgra),                   GL,             2008 },
    { "GL_EXT_vertex_array",                        o(dummy_true),                              GL,             1995 },
 
    /* OES extensions */
@@ -239,7 +231,6 @@ static const struct extension extension_table[] = {
    { "GL_3DFX_texture_compression_FXT1",           o(TDFX_texture_compression_FXT1),           GL,             1999 },
    { "GL_AMD_conservative_depth",                  o(ARB_conservative_depth),                  GL,             2009 },
    { "GL_AMD_draw_buffers_blend",                  o(ARB_draw_buffers_blend),                  GL,             2009 },
-   { "GL_AMD_seamless_cubemap_per_texture",        o(AMD_seamless_cubemap_per_texture),        GL,             2009 },
    { "GL_AMD_shader_stencil_export",               o(ARB_shader_stencil_export),               GL,             2009 },
    { "GL_APPLE_object_purgeable",                  o(APPLE_object_purgeable),                  GL,             2006 },
    { "GL_APPLE_packed_pixels",                     o(APPLE_packed_pixels),                     GL,             2002 },
@@ -359,7 +350,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.ARB_depth_clamp = GL_TRUE;
    ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE;
    ctx->Extensions.ARB_draw_instanced = GL_TRUE;
-   ctx->Extensions.ARB_explicit_attrib_location = GL_TRUE;
    ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE;
 #if FEATURE_ARB_fragment_program
    ctx->Extensions.ARB_fragment_program = GL_TRUE;
@@ -370,10 +360,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
 #endif
 #if FEATURE_ARB_framebuffer_object
    ctx->Extensions.ARB_framebuffer_object = GL_TRUE;
-#endif
-#if FEATURE_ARB_geometry_shader4 && 0
-   /* XXX re-enable when GLSL compiler again supports geometry shaders */
-   ctx->Extensions.ARB_geometry_shader4 = GL_TRUE;
 #endif
    ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
    ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
@@ -432,7 +418,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
    ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
 #endif
    ctx->Extensions.EXT_point_parameters = GL_TRUE;
-   ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
    ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
    ctx->Extensions.EXT_secondary_color = GL_TRUE;
    ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
@@ -444,7 +429,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
 #if FEATURE_EXT_texture_sRGB
    ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
 #endif
-   ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE;
    /*ctx->Extensions.IBM_multimode_draw_arrays = GL_TRUE;*/
    ctx->Extensions.MESA_pack_invert = GL_TRUE;
    ctx->Extensions.MESA_resize_buffers = GL_TRUE;
index 610269f..64c6695 100644 (file)
@@ -2152,17 +2152,6 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
 }
 
 
-void GLAPIENTRY
-_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
-                                 GLuint texture, GLint level, GLint layer)
-{
-   GET_CURRENT_CONTEXT(ctx);
-
-   framebuffer_texture(ctx, "Layer", target, attachment, 0, texture,
-                       level, layer);
-}
-
-
 void GLAPIENTRY
 _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
                                  GLenum renderbufferTarget,
@@ -2842,26 +2831,3 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
 }
 #endif /* FEATURE_EXT_framebuffer_blit */
 
-
-#if FEATURE_ARB_geometry_shader4
-void GLAPIENTRY
-_mesa_FramebufferTextureARB(GLenum target, GLenum attachment,
-                            GLuint texture, GLint level)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   _mesa_error(ctx, GL_INVALID_OPERATION,
-               "glFramebufferTextureARB "
-               "not implemented!");
-}
-
-
-void GLAPIENTRY
-_mesa_FramebufferTextureFaceARB(GLenum target, GLenum attachment,
-                                GLuint texture, GLint level, GLenum face)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   _mesa_error(ctx, GL_INVALID_OPERATION,
-               "glFramebufferTextureFaceARB "
-               "not implemented!");
-}
-#endif /* FEATURE_ARB_geometry_shader4 */
index 0a70a43..82367af 100644 (file)
@@ -161,10 +161,6 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
                               GLenum textarget, GLuint texture,
                               GLint level, GLint zoffset);
 
-extern void GLAPIENTRY
-_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
-                                 GLuint texture, GLint level, GLint layer);
-
 extern void GLAPIENTRY
 _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
                                  GLenum renderbuffertarget,
@@ -183,13 +179,5 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                          GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
                          GLbitfield mask, GLenum filter);
 
-extern void GLAPIENTRY
-_mesa_FramebufferTextureARB(GLenum target, GLenum attachment,
-                            GLuint texture, GLint level);
-
-extern void GLAPIENTRY
-_mesa_FramebufferTextureFaceARB(GLenum target, GLenum attachment,
-                                GLuint texture, GLint level, GLenum face);
-
 
 #endif /* FBOBJECT_H */
index 514e164..4b090be 100644 (file)
@@ -303,13 +303,11 @@ EXTRA_EXT(EXT_depth_bounds_test);
 EXTRA_EXT(ARB_depth_clamp);
 EXTRA_EXT(EXT_framebuffer_blit);
 EXTRA_EXT(ARB_shader_objects);
-EXTRA_EXT(EXT_provoking_vertex);
 EXTRA_EXT(ARB_fragment_shader);
 EXTRA_EXT(ARB_fragment_program);
 EXTRA_EXT2(ARB_framebuffer_object, EXT_framebuffer_multisample);
 EXTRA_EXT(EXT_framebuffer_object);
 EXTRA_EXT(APPLE_vertex_array_object);
-EXTRA_EXT(ARB_seamless_cube_map);
 EXTRA_EXT(EXT_compiled_vertex_array);
 EXTRA_EXT(ARB_vertex_shader);
 EXTRA_EXT(EXT_pixel_buffer_object);
@@ -318,7 +316,6 @@ EXTRA_EXT2(NV_point_sprite, ARB_point_sprite);
 EXTRA_EXT2(ARB_fragment_program, NV_fragment_program);
 EXTRA_EXT2(ARB_vertex_program, NV_vertex_program);
 EXTRA_EXT2(ARB_vertex_program, ARB_fragment_program);
-EXTRA_EXT(ARB_geometry_shader4);
 EXTRA_EXT(ARB_color_buffer_float);
 EXTRA_EXT(ARB_copy_buffer);
 EXTRA_EXT(EXT_framebuffer_sRGB);
@@ -1154,13 +1151,6 @@ static const struct value_desc values[] = {
    { GL_READ_FRAMEBUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0,
      extra_EXT_framebuffer_blit },
 
-   /* GL_EXT_provoking_vertex */
-   { GL_PROVOKING_VERTEX_EXT,
-     CONTEXT_ENUM(Light.ProvokingVertex), extra_EXT_provoking_vertex },
-   { GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT,
-     CONTEXT_BOOL(Const.QuadsFollowProvokingVertexConvention),
-     extra_EXT_provoking_vertex },
-
    /* GL_ARB_framebuffer_object */
    { GL_MAX_SAMPLES, CONTEXT_INT(Const.MaxSamples),
      extra_ARB_framebuffer_object_EXT_framebuffer_multisample },
@@ -1169,34 +1159,10 @@ static const struct value_desc values[] = {
    { GL_VERTEX_ARRAY_BINDING_APPLE, ARRAY_INT(Name),
      extra_APPLE_vertex_array_object },
 
-   /* GL_ARB_seamless_cube_map */
-   { GL_TEXTURE_CUBE_MAP_SEAMLESS,
-     CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map },
-
    /* GL_EXT_texture_integer */
    { GL_RGBA_INTEGER_MODE_EXT, BUFFER_BOOL(_IntegerColor),
      extra_EXT_texture_integer },
 
-   /* GL_ARB_geometry_shader4 */
-   { GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB,
-     CONTEXT_INT(Const.MaxGeometryTextureImageUnits),
-     extra_ARB_geometry_shader4 },
-   { GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB,
-     CONTEXT_INT(Const.MaxGeometryOutputVertices),
-     extra_ARB_geometry_shader4 },
-   { GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB,
-     CONTEXT_INT(Const.MaxGeometryTotalOutputComponents),
-     extra_ARB_geometry_shader4 },
-   { GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB,
-     CONTEXT_INT(Const.GeometryProgram.MaxUniformComponents),
-     extra_ARB_geometry_shader4 },
-   { GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB,
-     CONTEXT_INT(Const.MaxGeometryVaryingComponents),
-     extra_ARB_geometry_shader4 },
-   { GL_MAX_VERTEX_VARYING_COMPONENTS_ARB,
-     CONTEXT_INT(Const.MaxVertexVaryingComponents),
-     extra_ARB_geometry_shader4 },
-
    /* GL_ARB_color_buffer_float */
    { GL_RGBA_FLOAT_MODE_ARB, BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), 0 },
 
index 372b6fd..045ea88 100644 (file)
@@ -149,13 +149,6 @@ typedef void *GLeglImageOES;
  */
 #define GL_SHADER_PROGRAM_MESA 0x9999
 
-
-/**
- * Internal token for geometry programs.
- * Use the value for GL_GEOMETRY_PROGRAM_NV for now.
- */
-#define MESA_GEOMETRY_PROGRAM 0x8c26
-
 /* Several fields of struct gl_config can take these as values.  Since
  * GLX header files may not be available everywhere they need to be used,
  * redefine them here.
index af83365..5ad3eb1 100644 (file)
@@ -63,38 +63,6 @@ _mesa_ShadeModel( GLenum mode )
       ctx->Driver.ShadeModel( ctx, mode );
 }
 
-
-/**
- * Set the provoking vertex (the vertex which specifies the prim's
- * color when flat shading) to either the first or last vertex of the
- * triangle or line.
- */
-void GLAPIENTRY
-_mesa_ProvokingVertexEXT(GLenum mode)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   if (MESA_VERBOSE&VERBOSE_API)
-      _mesa_debug(ctx, "glProvokingVertexEXT 0x%x\n", mode);
-
-   switch (mode) {
-   case GL_FIRST_VERTEX_CONVENTION_EXT:
-   case GL_LAST_VERTEX_CONVENTION_EXT:
-      break;
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM, "glProvokingVertexEXT(0x%x)", mode);
-      return;
-   }
-
-   if (ctx->Light.ProvokingVertex == mode)
-      return;
-
-   FLUSH_VERTICES(ctx, _NEW_LIGHT);
-   ctx->Light.ProvokingVertex = mode;
-}
-
-
 /**
  * Helper function called by _mesa_Lightfv and _mesa_PopAttrib to set
  * per-light state.
@@ -1372,7 +1340,6 @@ _mesa_init_lighting( struct gl_context *ctx )
    init_lightmodel( &ctx->Light.Model );
    init_material( &ctx->Light.Material );
    ctx->Light.ShadeModel = GL_SMOOTH;
-   ctx->Light.ProvokingVertex = GL_LAST_VERTEX_CONVENTION_EXT;
    ctx->Light.Enabled = GL_FALSE;
    ctx->Light.ColorMaterialFace = GL_FRONT_AND_BACK;
    ctx->Light.ColorMaterialMode = GL_AMBIENT_AND_DIFFUSE;
index 9b66c7e..decf7be 100644 (file)
@@ -38,9 +38,6 @@ struct gl_material;
 extern void GLAPIENTRY
 _mesa_ShadeModel( GLenum mode );
 
-extern void GLAPIENTRY
-_mesa_ProvokingVertexEXT(GLenum mode);
-
 
 #if _HAVE_FULL_GL
 extern void GLAPIENTRY
index ee5cf50..b06359e 100644 (file)
@@ -94,8 +94,7 @@ typedef enum
 {
    MESA_SHADER_VERTEX = 0,
    MESA_SHADER_FRAGMENT = 1,
-   MESA_SHADER_GEOMETRY = 2,
-   MESA_SHADER_TYPES = 3
+   MESA_SHADER_TYPES = 2
 } gl_shader_type;
 
 
@@ -248,76 +247,6 @@ typedef enum
 
 /*********************************************/
 
-/**
- * Indexes for geometry program attributes.
- */
-typedef enum
-{
-   GEOM_ATTRIB_POSITION = 0,
-   GEOM_ATTRIB_COLOR0 = 1,
-   GEOM_ATTRIB_COLOR1 = 2,
-   GEOM_ATTRIB_SECONDARY_COLOR0 = 3,
-   GEOM_ATTRIB_SECONDARY_COLOR1 = 4,
-   GEOM_ATTRIB_FOG_FRAG_COORD = 5,
-   GEOM_ATTRIB_POINT_SIZE = 6,
-   GEOM_ATTRIB_CLIP_VERTEX = 7,
-   GEOM_ATTRIB_PRIMITIVE_ID = 8,
-   GEOM_ATTRIB_TEX_COORD = 9,
-
-   GEOM_ATTRIB_VAR0 = 16,
-   GEOM_ATTRIB_MAX = (GEOM_ATTRIB_VAR0 + MAX_VARYING)
-} gl_geom_attrib;
-
-/**
- * Bitflags for geometry attributes.
- * These are used in bitfields in many places.
- */
-/*@{*/
-#define GEOM_BIT_COLOR0      (1 << GEOM_ATTRIB_COLOR0)
-#define GEOM_BIT_COLOR1      (1 << GEOM_ATTRIB_COLOR1)
-#define GEOM_BIT_SCOLOR0     (1 << GEOM_ATTRIB_SECONDARY_COLOR0)
-#define GEOM_BIT_SCOLOR1     (1 << GEOM_ATTRIB_SECONDARY_COLOR1)
-#define GEOM_BIT_TEX_COORD   (1 << GEOM_ATTRIB_TEX_COORD)
-#define GEOM_BIT_FOG_COORD   (1 << GEOM_ATTRIB_FOG_FRAG_COORD)
-#define GEOM_BIT_POSITION    (1 << GEOM_ATTRIB_POSITION)
-#define GEOM_BIT_POINT_SIDE  (1 << GEOM_ATTRIB_POINT_SIZE)
-#define GEOM_BIT_CLIP_VERTEX (1 << GEOM_ATTRIB_CLIP_VERTEX)
-#define GEOM_BIT_PRIM_ID     (1 << GEOM_ATTRIB_PRIMITIVE_ID)
-#define GEOM_BIT_VAR0        (1 << GEOM_ATTRIB_VAR0)
-
-#define GEOM_BIT_VAR(g)  (1 << (GEOM_BIT_VAR0 + (g)))
-/*@}*/
-
-
-/**
- * Indexes for geometry program result attributes
- */
-typedef enum
-{
-   GEOM_RESULT_POS  = 0,
-   GEOM_RESULT_COL0  = 1,
-   GEOM_RESULT_COL1  = 2,
-   GEOM_RESULT_SCOL0 = 3,
-   GEOM_RESULT_SCOL1 = 4,
-   GEOM_RESULT_FOGC = 5,
-   GEOM_RESULT_TEX0 = 6,
-   GEOM_RESULT_TEX1 = 7,
-   GEOM_RESULT_TEX2 = 8,
-   GEOM_RESULT_TEX3 = 9,
-   GEOM_RESULT_TEX4 = 10,
-   GEOM_RESULT_TEX5 = 11,
-   GEOM_RESULT_TEX6 = 12,
-   GEOM_RESULT_TEX7 = 13,
-   GEOM_RESULT_PSIZ = 14,
-   GEOM_RESULT_CLPV = 15,
-   GEOM_RESULT_PRID = 16,
-   GEOM_RESULT_LAYR = 17,
-   GEOM_RESULT_VAR0 = 18,  /**< shader varying, should really be 16 */
-   /* ### we need to -2 because var0 is 18 instead 16 like in the others */
-   GEOM_RESULT_MAX  =  (GEOM_RESULT_VAR0 + MAX_VARYING - 2)
-} gl_geom_result;
-
-
 /**
  * Indexes for fragment program input attributes.  Note that
  * _mesa_vert_result_to_frag_attrib() and frag_attrib_to_vert_result() make
@@ -976,7 +905,6 @@ struct gl_light_attrib
 
    GLboolean Enabled;                  /**< Lighting enabled flag */
    GLenum ShadeModel;                  /**< GL_FLAT or GL_SMOOTH */
-   GLenum ProvokingVertex;              /**< GL_EXT_provoking_vertex */
    GLenum ColorMaterialFace;           /**< GL_FRONT, BACK or FRONT_AND_BACK */
    GLenum ColorMaterialMode;           /**< GL_AMBIENT, GL_DIFFUSE, etc */
    GLbitfield ColorMaterialBitmask;    /**< bitmask formed from Face and Mode */
@@ -1325,7 +1253,6 @@ struct gl_sampler_object
    GLfloat MaxLod;             /**< max lambda, OpenGL 1.2 */
    GLfloat LodBias;            /**< OpenGL 1.4 */
    GLfloat MaxAnisotropy;      /**< GL_EXT_texture_filter_anisotropic */
-   GLboolean CubeMapSeamless;   /**< GL_AMD_seamless_cubemap_per_texture */
 
 };
 
@@ -1465,9 +1392,6 @@ struct gl_texture_attrib
    /** GL_ARB_texture_buffer_object */
    struct gl_buffer_object *BufferObject;
 
-   /** GL_ARB_seamless_cubemap */
-   GLboolean CubeMapSeamless;
-
    /** Texture units/samplers used by vertex or fragment texturing */
    GLbitfield _EnabledUnits;
 
@@ -1572,7 +1496,6 @@ struct gl_client_array
 {
    GLint Size;                  /**< components per element (1,2,3,4) */
    GLenum Type;                 /**< datatype: GL_FLOAT, GL_INT, etc */
-   GLenum Format;               /**< default: GL_RGBA, but may be GL_BGRA */
    GLsizei Stride;             /**< user-specified stride */
    GLsizei StrideB;            /**< actual stride in bytes */
    const GLubyte *Ptr;          /**< Points to array data */
@@ -1896,18 +1819,6 @@ struct gl_vertex_program
 };
 
 
-/** Geometry program object */
-struct gl_geometry_program
-{
-   struct gl_program Base;   /**< base class */
-
-   GLint VerticesOut;
-   GLenum InputType;  /**< GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_ARB,
-                           GL_TRIANGLES, or GL_TRIANGLES_ADJACENCY_ARB */
-   GLenum OutputType; /**< GL_POINTS, GL_LINE_STRIP or GL_TRIANGLE_STRIP */
-};
-
-
 /** Fragment program object */
 struct gl_fragment_program
 {
@@ -1974,26 +1885,6 @@ struct gl_vertex_program_state
 };
 
 
-/**
- * Context state for geometry programs.
- */
-struct gl_geometry_program_state
-{
-   GLboolean Enabled;               /**< GL_ARB_GEOMETRY_SHADER4 */
-   GLboolean _Enabled;              /**< Enabled and valid program? */
-   struct gl_geometry_program *Current;  /**< user-bound geometry program */
-
-   /** Currently enabled and valid program (including internal programs
-    * and compiled shader programs).
-    */
-   struct gl_geometry_program *_Current;
-
-   GLfloat Parameters[MAX_PROGRAM_ENV_PARAMS][4]; /**< Env params */
-
-   /** Cache of fixed-function programs */
-   struct gl_program_cache *Cache;
-};
-
 /**
  * Context state for fragment programs.
  */
@@ -2122,14 +2013,6 @@ struct gl_shader_program
    /** Post-link gl_FragDepth layout for ARB_conservative_depth. */
    enum gl_frag_depth_layout FragDepthLayout;
 
-   /** Geometry shader state - copied into gl_geometry_program at link time */
-   struct {
-      GLint VerticesOut;
-      GLenum InputType;  /**< GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_ARB,
-                              GL_TRIANGLES, or GL_TRIANGLES_ADJACENCY_ARB */
-      GLenum OutputType; /**< GL_POINTS, GL_LINE_STRIP or GL_TRIANGLE_STRIP */
-   } Geom;
-
    /** Vertex shader state - copied into gl_vertex_program at link time */
    struct {
       GLboolean UsesClipDistance; /**< True if gl_ClipDistance is written to. */
@@ -2203,7 +2086,6 @@ struct gl_shader_state
     * to \c NULL or to the same program.
     */
    struct gl_shader_program *CurrentVertexProgram;
-   struct gl_shader_program *CurrentGeometryProgram;
    struct gl_shader_program *CurrentFragmentProgram;
 
    struct gl_shader_program *_CurrentFragmentProgram;
@@ -2287,7 +2169,6 @@ struct gl_shared_state
    struct _mesa_HashTable *Programs; /**< All vertex/fragment programs */
    struct gl_vertex_program *DefaultVertexProgram;
    struct gl_fragment_program *DefaultFragmentProgram;
-   struct gl_geometry_program *DefaultGeometryProgram;
    /*@}*/
 
    struct _mesa_HashTable *BufferObjects;
@@ -2493,7 +2374,6 @@ struct gl_constants
    GLuint MaxTextureImageUnits;
    GLuint MaxVertexTextureImageUnits;
    GLuint MaxCombinedTextureImageUnits;
-   GLuint MaxGeometryTextureImageUnits;
    GLuint MaxTextureUnits;           /**< = MIN(CoordUnits, ImageUnits) */
    GLfloat MaxTextureMaxAnisotropy;  /**< GL_EXT_texture_filter_anisotropic */
    GLfloat MaxTextureLodBias;        /**< GL_EXT_texture_lod_bias */
@@ -2521,7 +2401,6 @@ struct gl_constants
 
    struct gl_program_constants VertexProgram;   /**< GL_ARB_vertex_program */
    struct gl_program_constants FragmentProgram; /**< GL_ARB_fragment_program */
-   struct gl_program_constants GeometryProgram;  /**< GL_ARB_geometry_shader4 */
    GLuint MaxProgramMatrices;
    GLuint MaxProgramMatrixStackDepth;
 
@@ -2536,12 +2415,6 @@ struct gl_constants
 
    /** Number of varying vectors between vertex and fragment shaders */
    GLuint MaxVarying;
-   GLuint MaxVertexVaryingComponents;   /**< Between vert and geom shader */
-   GLuint MaxGeometryVaryingComponents; /**< Between geom and frag shader */
-
-   /** GL_ARB_geometry_shader4 */
-   GLuint MaxGeometryOutputVertices;
-   GLuint MaxGeometryTotalOutputComponents;
 
    GLuint GLSLVersion;  /**< GLSL version supported (ex: 120 = 1.20) */
 
@@ -2566,9 +2439,6 @@ struct gl_constants
    /** Which texture units support GL_ATI_envmap_bumpmap as targets */
    GLbitfield SupportedBumpUnits;
 
-   /** GL_EXT_provoking_vertex */
-   GLboolean QuadsFollowProvokingVertexConvention;
-
    /** OpenGL version 3.0 */
    GLbitfield ContextFlags;  /**< Ex: GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT */
 
@@ -2619,7 +2489,6 @@ struct gl_extensions
    GLboolean dummy_true;  /* Set true by _mesa_init_extensions(). */
    GLboolean dummy_false; /* Set false by _mesa_init_extensions(). */
    GLboolean ARB_ES2_compatibility;
-   GLboolean ARB_blend_func_extended;
    GLboolean ARB_color_buffer_float;
    GLboolean ARB_conservative_depth;
    GLboolean ARB_copy_buffer;
@@ -2633,13 +2502,10 @@ struct gl_extensions
    GLboolean ARB_fragment_program_shadow;
    GLboolean ARB_fragment_shader;
    GLboolean ARB_framebuffer_object;
-   GLboolean ARB_explicit_attrib_location;
-   GLboolean ARB_geometry_shader4;
    GLboolean ARB_half_float_pixel;
    GLboolean ARB_half_float_vertex;
    GLboolean ARB_map_buffer_range;
    GLboolean ARB_point_sprite;
-   GLboolean ARB_seamless_cube_map;
    GLboolean ARB_shader_objects;
    GLboolean ARB_shader_stencil_export;
    GLboolean ARB_shader_texture_lod;
@@ -2652,7 +2518,6 @@ struct gl_extensions
    GLboolean ARB_texture_env_crossbar;
    GLboolean ARB_texture_env_dot3;
    GLboolean ARB_texture_float;
-   GLboolean ARB_texture_multisample;
    GLboolean ARB_texture_non_power_of_two;
    GLboolean ARB_texture_rg;
    GLboolean ARB_texture_storage;
@@ -2681,7 +2546,6 @@ struct gl_extensions
    GLboolean EXT_packed_pixels;
    GLboolean EXT_pixel_buffer_object;
    GLboolean EXT_point_parameters;
-   GLboolean EXT_provoking_vertex;
    GLboolean EXT_rescale_normal;
    GLboolean EXT_shadow_funcs;
    GLboolean EXT_secondary_color;
@@ -2698,10 +2562,8 @@ struct gl_extensions
    GLboolean EXT_texture_mirror_clamp;
    GLboolean EXT_texture_snorm;
    GLboolean EXT_texture_sRGB;
-   GLboolean EXT_vertex_array_bgra;
    GLboolean OES_standard_derivatives;
    /* vendor extensions */
-   GLboolean AMD_seamless_cubemap_per_texture;
    GLboolean APPLE_packed_pixels;
    GLboolean APPLE_vertex_array_object;
    GLboolean APPLE_object_purgeable;
@@ -3072,7 +2934,6 @@ struct gl_context
    struct gl_program_state Program;  /**< general program state */
    struct gl_vertex_program_state VertexProgram;
    struct gl_fragment_program_state FragmentProgram;
-   struct gl_geometry_program_state GeometryProgram;
 
    struct gl_shader_state Shader; /**< GLSL shader object state */
    struct gl_shader_compiler_options ShaderCompilerOptions[MESA_SHADER_TYPES];
index 2440d22..c79c6b5 100644 (file)
@@ -121,8 +121,6 @@ void
 _mesa_free_shader_state(struct gl_context *ctx)
 {
    _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentVertexProgram, NULL);
-   _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentGeometryProgram,
-                                 NULL);
    _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentFragmentProgram,
                                  NULL);
    _mesa_reference_shader_program(ctx, &ctx->Shader._CurrentFragmentProgram,
@@ -232,10 +230,6 @@ validate_shader_target(const struct gl_context *ctx, GLenum type)
 #if FEATURE_ARB_vertex_shader
    case GL_VERTEX_SHADER:
       return ctx->Extensions.ARB_vertex_shader;
-#endif
-#if FEATURE_ARB_geometry_shader4
-   case GL_GEOMETRY_SHADER_ARB:
-      return ctx->Extensions.ARB_geometry_shader4;
 #endif
    default:
       return false;
@@ -558,17 +552,6 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, GLint *param
    case GL_PROGRAM_BINARY_LENGTH_OES:
       *params = 0;
       break;
-#if FEATURE_ARB_geometry_shader4
-   case GL_GEOMETRY_VERTICES_OUT_ARB:
-      *params = shProg->Geom.VerticesOut;
-      break;
-   case GL_GEOMETRY_INPUT_TYPE_ARB:
-      *params = shProg->Geom.InputType;
-      break;
-   case GL_GEOMETRY_OUTPUT_TYPE_ARB:
-      *params = shProg->Geom.OutputType;
-      break;
-#endif
    default:
       _mesa_error(ctx, GL_INVALID_ENUM, "glGetProgramiv(pname)");
       return;
@@ -755,9 +738,6 @@ print_shader_info(const struct gl_shader_program *shProg)
       case GL_FRAGMENT_SHADER:
          s = "fragment";
          break;
-      case GL_GEOMETRY_SHADER:
-         s = "geometry";
-         break;
       default:
          s = "";
       }
@@ -771,9 +751,6 @@ print_shader_info(const struct gl_shader_program *shProg)
    if (shProg->_LinkedShaders[MESA_SHADER_FRAGMENT])
       printf("  frag prog %u\n",
             shProg->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program->Id);
-   if (shProg->_LinkedShaders[MESA_SHADER_GEOMETRY])
-      printf("  geom prog %u\n",
-            shProg->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program->Id);
 }
 
 
@@ -813,15 +790,6 @@ use_shader_program(struct gl_context *ctx, GLenum type,
       }
       break;
 #endif
-#if FEATURE_ARB_geometry_shader4
-   case GL_GEOMETRY_SHADER_ARB:
-      target = &ctx->Shader.CurrentGeometryProgram;
-      if ((shProg == NULL)
-         || (shProg->_LinkedShaders[MESA_SHADER_GEOMETRY] == NULL)) {
-        shProg = NULL;
-      }
-      break;
-#endif
 #if FEATURE_ARB_fragment_shader
    case GL_FRAGMENT_SHADER:
       target = &ctx->Shader.CurrentFragmentProgram;
@@ -848,11 +816,6 @@ use_shader_program(struct gl_context *ctx, GLenum type,
         /* Empty for now. */
         break;
 #endif
-#if FEATURE_ARB_geometry_shader4
-      case GL_GEOMETRY_SHADER_ARB:
-        /* Empty for now. */
-        break;
-#endif
 #if FEATURE_ARB_fragment_shader
       case GL_FRAGMENT_SHADER:
         if (*target == ctx->Shader._CurrentFragmentProgram) {
@@ -878,7 +841,6 @@ void
 _mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg)
 {
    use_shader_program(ctx, GL_VERTEX_SHADER, shProg);
-   use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB, shProg);
    use_shader_program(ctx, GL_FRAGMENT_SHADER, shProg);
    _mesa_active_program(ctx, shProg, "glUseProgram");
 
@@ -1468,71 +1430,6 @@ _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat,
 #endif /* FEATURE_ES2 */
 
 
-#if FEATURE_ARB_geometry_shader4
-
-void GLAPIENTRY
-_mesa_ProgramParameteriARB(GLuint program, GLenum pname, GLint value)
-{
-   struct gl_shader_program *shProg;
-   GET_CURRENT_CONTEXT(ctx);
-
-   ASSERT_OUTSIDE_BEGIN_END(ctx);
-
-   shProg = _mesa_lookup_shader_program_err(ctx, program,
-                                            "glProgramParameteri");
-   if (!shProg)
-      return;
-
-   switch (pname) {
-   case GL_GEOMETRY_VERTICES_OUT_ARB:
-      if (value < 1 ||
-          (unsigned) value > ctx->Const.MaxGeometryOutputVertices) {
-         _mesa_error(ctx, GL_INVALID_VALUE,
-                     "glProgramParameteri(GL_GEOMETRY_VERTICES_OUT_ARB=%d",
-                     value);
-         return;
-      }
-      shProg->Geom.VerticesOut = value;
-      break;
-   case GL_GEOMETRY_INPUT_TYPE_ARB:
-      switch (value) {
-      case GL_POINTS:
-      case GL_LINES:
-      case GL_LINES_ADJACENCY_ARB:
-      case GL_TRIANGLES:
-      case GL_TRIANGLES_ADJACENCY_ARB:
-         shProg->Geom.InputType = value;
-         break;
-      default:
-         _mesa_error(ctx, GL_INVALID_VALUE,
-                     "glProgramParameteri(geometry input type = %s",
-                     _mesa_lookup_enum_by_nr(value));
-         return;
-      }
-      break;
-   case GL_GEOMETRY_OUTPUT_TYPE_ARB:
-      switch (value) {
-      case GL_POINTS:
-      case GL_LINE_STRIP:
-      case GL_TRIANGLE_STRIP:
-         shProg->Geom.OutputType = value;
-         break;
-      default:
-         _mesa_error(ctx, GL_INVALID_VALUE,
-                     "glProgramParameteri(geometry output type = %s",
-                     _mesa_lookup_enum_by_nr(value));
-         return;
-      }
-      break;
-   default:
-      _mesa_error(ctx, GL_INVALID_ENUM, "glProgramParameteriARB(pname=%s)",
-                  _mesa_lookup_enum_by_nr(pname));
-      break;
-   }
-}
-
-#endif
-
 void
 _mesa_use_shader_program(struct gl_context *ctx, GLenum type,
                         struct gl_shader_program *shProg)
@@ -1674,10 +1571,6 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec)
    SET_GetAttribLocationARB(exec, _mesa_GetAttribLocationARB);
 #endif
 
-#if FEATURE_ARB_geometry_shader4
-   SET_ProgramParameteriARB(exec, _mesa_ProgramParameteriARB);
-#endif
-
    SET_UseShaderProgramEXT(exec, _mesa_UseShaderProgramEXT);
    SET_ActiveProgramEXT(exec, _mesa_ActiveProgramEXT);
    SET_CreateShaderProgramEXT(exec, _mesa_CreateShaderProgramEXT);
index b77a5b7..7bfb45f 100644 (file)
@@ -105,8 +105,7 @@ struct gl_shader *
 _mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type)
 {
    struct gl_shader *shader;
-   assert(type == GL_FRAGMENT_SHADER || type == GL_VERTEX_SHADER ||
-          type == GL_GEOMETRY_SHADER_ARB);
+   assert(type == GL_FRAGMENT_SHADER || type == GL_VERTEX_SHADER);
    shader = rzalloc(NULL, struct gl_shader);
    if (shader) {
       shader->Type = type;
@@ -243,12 +242,6 @@ _mesa_init_shader_program(struct gl_context *ctx, struct gl_shader_program *prog
    prog->AttributeBindings = string_to_uint_map_ctor();
    prog->FragDataBindings = string_to_uint_map_ctor();
 
-#if FEATURE_ARB_geometry_shader4
-   prog->Geom.VerticesOut = 0;
-   prog->Geom.InputType = GL_TRIANGLES;
-   prog->Geom.OutputType = GL_TRIANGLE_STRIP;
-#endif
-
    prog->InfoLog = ralloc_strdup(prog, "");
 }
 
index 5470b51..c0cbea6 100644 (file)
@@ -109,8 +109,6 @@ _mesa_shader_type_to_index(GLenum v)
       return MESA_SHADER_VERTEX;
    case GL_FRAGMENT_SHADER:
       return MESA_SHADER_FRAGMENT;
-   case GL_GEOMETRY_SHADER:
-      return MESA_SHADER_GEOMETRY;
    default:
       ASSERT(0 && "bad value in _mesa_shader_type_to_index()");
       return MESA_SHADER_TYPES;
@@ -124,7 +122,6 @@ _mesa_shader_index_to_type(GLuint i)
    static const GLenum enums[MESA_SHADER_TYPES] = {
       GL_VERTEX_SHADER,
       GL_FRAGMENT_SHADER,
-      GL_GEOMETRY_SHADER ,
    };
    if (i >= MESA_SHADER_TYPES)
       return 0;
index 059a4ca..46eb8c3 100644 (file)
@@ -225,11 +225,9 @@ static GLbitfield
 update_program(struct gl_context *ctx)
 {
    const struct gl_shader_program *vsProg = ctx->Shader.CurrentVertexProgram;
-   const struct gl_shader_program *gsProg = ctx->Shader.CurrentGeometryProgram;
    struct gl_shader_program *fsProg = ctx->Shader.CurrentFragmentProgram;
    const struct gl_vertex_program *prevVP = ctx->VertexProgram._Current;
    const struct gl_fragment_program *prevFP = ctx->FragmentProgram._Current;
-   const struct gl_geometry_program *prevGP = ctx->GeometryProgram._Current;
    GLbitfield new_state = 0x0;
 
    /*
@@ -291,17 +289,6 @@ update_program(struct gl_context *ctx)
                               NULL);
    }
 
-   if (gsProg && gsProg->LinkStatus
-       && gsProg->_LinkedShaders[MESA_SHADER_GEOMETRY]) {
-      /* Use GLSL geometry shader */
-      _mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current,
-                              (struct gl_geometry_program *)
-                              gsProg->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program);
-   } else {
-      /* No geometry program */
-      _mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current, NULL);
-   }
-
    /* Examine vertex program after fragment program as
     * _mesa_get_fixed_func_vertex_program() needs to know active
     * fragprog inputs.
@@ -340,14 +327,6 @@ update_program(struct gl_context *ctx)
       }
    }
 
-   if (ctx->GeometryProgram._Current != prevGP) {
-      new_state |= _NEW_PROGRAM;
-      if (ctx->Driver.BindProgram) {
-         ctx->Driver.BindProgram(ctx, MESA_GEOMETRY_PROGRAM,
-                            (struct gl_program *) ctx->GeometryProgram._Current);
-      }
-   }
-
    if (ctx->VertexProgram._Current != prevVP) {
       new_state |= _NEW_PROGRAM;
       if (ctx->Driver.BindProgram) {
@@ -376,16 +355,6 @@ update_program_constants(struct gl_context *ctx)
       }
    }
 
-   if (ctx->GeometryProgram._Current) {
-      const struct gl_program_parameter_list *params =
-         ctx->GeometryProgram._Current->Base.Parameters;
-      /*FIXME: StateFlags is always 0 because we have unnamed constant
-       *       not state changes */
-      if (params /*&& params->StateFlags & ctx->NewState*/) {
-         new_state |= _NEW_PROGRAM_CONSTANTS;
-      }
-   }
-
    if (ctx->VertexProgram._Current) {
       const struct gl_program_parameter_list *params =
          ctx->VertexProgram._Current->Base.Parameters;
index be101e1..e800070 100644 (file)
@@ -142,7 +142,6 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj,
    obj->Sampler.MaxLod = 1000.0;
    obj->Sampler.LodBias = 0.0;
    obj->Sampler.MaxAnisotropy = 1.0;
-   obj->Sampler.CubeMapSeamless = GL_FALSE;
 }
 
 
@@ -243,7 +242,6 @@ _mesa_copy_texture_object( struct gl_texture_object *dest,
    dest->BaseLevel = src->BaseLevel;
    dest->MaxLevel = src->MaxLevel;
    dest->Sampler.MaxAnisotropy = src->Sampler.MaxAnisotropy;
-   dest->Sampler.CubeMapSeamless = src->Sampler.CubeMapSeamless;
    dest->_MaxLevel = src->_MaxLevel;
    dest->_MaxLambda = src->_MaxLambda;
    dest->GenerateMipmap = src->GenerateMipmap;
index f9a7faf..25a9538 100644 (file)
@@ -309,20 +309,6 @@ set_tex_parameteri(struct gl_context *ctx,
       return GL_TRUE;
 #endif
 
-   case GL_TEXTURE_CUBE_MAP_SEAMLESS:
-      if (ctx->Extensions.AMD_seamless_cubemap_per_texture) {
-         GLenum param = params[0];
-         if (param != GL_TRUE && param != GL_FALSE) {
-            goto invalid_param;
-         }
-         if (param != texObj->Sampler.CubeMapSeamless) {
-            flush(ctx);
-            texObj->Sampler.CubeMapSeamless = param;
-         }
-         return GL_TRUE;
-      }
-      goto invalid_pname;
-
    default:
       goto invalid_pname;
    }
@@ -973,12 +959,6 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
          break;
 #endif
 
-      case GL_TEXTURE_CUBE_MAP_SEAMLESS:
-         if (!ctx->Extensions.AMD_seamless_cubemap_per_texture)
-            goto invalid_pname;
-         *params = (GLfloat) obj->Sampler.CubeMapSeamless;
-         break;
-
       case GL_TEXTURE_IMMUTABLE_FORMAT:
          if (!ctx->Extensions.ARB_texture_storage)
             goto invalid_pname;
@@ -1078,12 +1058,6 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
          break;
 #endif
 
-      case GL_TEXTURE_CUBE_MAP_SEAMLESS:
-         if (!ctx->Extensions.AMD_seamless_cubemap_per_texture)
-            goto invalid_pname;
-         *params = (GLint) obj->Sampler.CubeMapSeamless;
-         break;
-
       case GL_TEXTURE_IMMUTABLE_FORMAT:
          if (!ctx->Extensions.ARB_texture_storage)
             goto invalid_pname;
index 9fa2211..f383571 100644 (file)
@@ -346,7 +346,7 @@ static void
 log_program_parameters(const struct gl_shader_program *shProg)
 {
    static const char *stages[] = {
-      "vertex", "fragment", "geometry"
+      "vertex", "fragment"
    };
 
    assert(Elements(stages) == MESA_SHADER_TYPES);
index b628df2..a9f76c6 100644 (file)
 #include "main/dispatch.h"
 
 
-/** Used to do error checking for GL_EXT_vertex_array_bgra */
-#define BGRA_OR_4  5
-
-
 /** Used to indicate which GL datatypes are accepted by each of the
  * glVertex/Color/Attrib/EtcPointer() functions.
  */
@@ -105,7 +101,7 @@ type_to_bit(const struct gl_context *ctx, GLenum type)
  * \param attrib  the attribute array index to update
  * \param legalTypes  bitmask of *_BIT above indicating legal datatypes
  * \param sizeMin  min allowable size value
- * \param sizeMax  max allowable size value (may also be BGRA_OR_4)
+ * \param sizeMax  max allowable size value
  * \param size  components per element (1, 2, 3 or 4)
  * \param type  datatype of each component (GL_FLOAT, GL_INT, etc)
  * \param stride  stride between elements, in elements
@@ -125,7 +121,6 @@ update_array(struct gl_context *ctx,
    struct gl_client_array *array;
    GLbitfield typeBit;
    GLsizei elementSize;
-   GLenum format = GL_RGBA;
 
    if (ctx->API != API_OPENGLES && ctx->API != API_OPENGLES2) {
       /* fixed point arrays / data is only allowed with OpenGL ES 1.x/2.0 */
@@ -142,21 +137,8 @@ update_array(struct gl_context *ctx,
       return;
    }
 
-   /* Do size parameter checking.
-    * If sizeMax = BGRA_OR_4 it means that size = GL_BGRA is legal and
-    * must be handled specially.
-    */
-   if (ctx->Extensions.EXT_vertex_array_bgra &&
-       sizeMax == BGRA_OR_4 &&
-       size == GL_BGRA) {
-      if (type != GL_UNSIGNED_BYTE){
-         _mesa_error(ctx, GL_INVALID_VALUE, "%s(GL_BGRA/GLubyte)", func);
-         return;
-      }
-      format = GL_BGRA;
-      size = 4;
-   }
-   else if (size < sizeMin || size > sizeMax || size > 4) {
+   /* Do size parameter checking. */
+   if (size < sizeMin || size > sizeMax || size > 4) {
       _mesa_error(ctx, GL_INVALID_VALUE, "%s(size=%d)", func, size);
       return;
    }
@@ -182,7 +164,6 @@ update_array(struct gl_context *ctx,
    array = &ctx->Array.ArrayObj->VertexAttrib[attrib];
    array->Size = size;
    array->Type = type;
-   array->Format = format;
    array->Stride = stride;
    array->StrideB = stride ? stride : elementSize;
    array->Normalized = normalized;
@@ -242,7 +223,7 @@ _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
    update_array(ctx, "glColorPointer", VERT_ATTRIB_COLOR0,
-                legalTypes, 3, BGRA_OR_4,
+                legalTypes, 3, 4,
                 size, type, stride, GL_TRUE, GL_FALSE, ptr);
 }
 
@@ -286,7 +267,7 @@ _mesa_SecondaryColorPointerEXT(GLint size, GLenum type,
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
    update_array(ctx, "glSecondaryColorPointer", VERT_ATTRIB_COLOR1,
-                legalTypes, 3, BGRA_OR_4,
+                legalTypes, 3, 4,
                 size, type, stride, GL_TRUE, GL_FALSE, ptr);
 }
 
@@ -374,7 +355,7 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
    }
 
    update_array(ctx, "glVertexAttribPointerNV", VERT_ATTRIB_GENERIC(index),
-                legalTypes, 1, BGRA_OR_4,
+                legalTypes, 1, 4,
                 size, type, stride, normalized, GL_FALSE, ptr);
 }
 #endif
@@ -405,7 +386,7 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
    }
 
    update_array(ctx, "glVertexAttribPointer", VERT_ATTRIB_GENERIC(index),
-                legalTypes, 1, BGRA_OR_4,
+                legalTypes, 1, 4,
                 size, type, stride, normalized, GL_FALSE, ptr);
 }
 #endif
@@ -1063,7 +1044,6 @@ _mesa_copy_client_array(struct gl_context *ctx,
 {
    dst->Size = src->Size;
    dst->Type = src->Type;
-   dst->Format = src->Format;
    dst->Stride = src->Stride;
    dst->StrideB = src->StrideB;
    dst->Ptr = src->Ptr;
index 006c7be..7a96068 100644 (file)
@@ -150,22 +150,9 @@ compute_version(struct gl_context *ctx)
                               ctx->Const.GLSLVersion >= 150 &&
                               ctx->Extensions.ARB_depth_clamp &&
                               ctx->Extensions.ARB_draw_elements_base_vertex &&
-                              ctx->Extensions.ARB_fragment_coord_conventions &&
-                              ctx->Extensions.ARB_geometry_shader4 &&
-                              ctx->Extensions.EXT_provoking_vertex &&
-                              ctx->Extensions.ARB_seamless_cube_map &&
-                              ctx->Extensions.ARB_texture_multisample &&
-                              ctx->Extensions.EXT_vertex_array_bgra);
-   const GLboolean ver_3_3 = (ver_3_2 &&
-                              ctx->Const.GLSLVersion >= 330 &&
-                              ctx->Extensions.ARB_blend_func_extended &&
-                              ctx->Extensions.ARB_explicit_attrib_location);
+                              ctx->Extensions.ARB_fragment_coord_conventions);
 
-   if (ver_3_3) {
-      major = 3;
-      minor = 3;
-   }
-   else if (ver_3_2) {
+   if (ver_3_2) {
       major = 3;
       minor = 2;
    }
index efdd9f2..b03e4e0 100644 (file)
@@ -2988,10 +2988,6 @@ get_mesa_program(struct gl_context *ctx,
       target = GL_FRAGMENT_PROGRAM_ARB;
       target_string = "fragment";
       break;
-   case GL_GEOMETRY_SHADER:
-      target = GL_GEOMETRY_PROGRAM_NV;
-      target_string = "geometry";
-      break;
    default:
       assert(!"should not be reached");
       return NULL;
@@ -3280,8 +3276,7 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
       if (linked_prog) {
         static const GLenum targets[] = {
            GL_VERTEX_PROGRAM_ARB,
-           GL_FRAGMENT_PROGRAM_ARB,
-           GL_GEOMETRY_PROGRAM_NV
+           GL_FRAGMENT_PROGRAM_ARB
         };
 
         if (i == MESA_SHADER_VERTEX) {
index 352a80f..640388c 100644 (file)
@@ -912,8 +912,6 @@ _mesa_fprint_program_opt(FILE *f,
       else
          fprintf(f, "# Fragment Program/Shader %u\n", prog->Id);
       break;
-   case MESA_GEOMETRY_PROGRAM:
-      fprintf(f, "# Geometry Shader\n");
    }
 
    for (i = 0; i < prog->NumInstructions; i++) {
@@ -1072,8 +1070,6 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
       type = "frag";
    else if (shader->Type == GL_VERTEX_SHADER)
       type = "vert";
-   else
-      type = "geom";
 
    _mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
    f = fopen(filename, "w");
index c964fcc..498f533 100644 (file)
@@ -109,14 +109,6 @@ _mesa_init_program(struct gl_context *ctx)
    assert(ctx->FragmentProgram.Current);
    ctx->FragmentProgram.Cache = _mesa_new_program_cache();
 #endif
-
-#if FEATURE_ARB_geometry_shader4
-   ctx->GeometryProgram.Enabled = GL_FALSE;
-   /* right now by default we don't have a geometry program */
-   _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current,
-                            NULL);
-   ctx->GeometryProgram.Cache = _mesa_new_program_cache();
-#endif
 }
 
 
@@ -133,10 +125,6 @@ _mesa_free_program_data(struct gl_context *ctx)
 #if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program
    _mesa_reference_fragprog(ctx, &ctx->FragmentProgram.Current, NULL);
    _mesa_delete_shader_cache(ctx, ctx->FragmentProgram.Cache);
-#endif
-#if FEATURE_ARB_geometry_shader4
-   _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, NULL);
-   _mesa_delete_program_cache(ctx, ctx->GeometryProgram.Cache);
 #endif
    free((void *) ctx->Program.ErrorString);
 }
@@ -163,12 +151,6 @@ _mesa_update_default_objects_program(struct gl_context *ctx)
                             ctx->Shared->DefaultFragmentProgram);
    assert(ctx->FragmentProgram.Current);
 #endif
-
-#if FEATURE_ARB_geometry_shader4
-   _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current,
-                            (struct gl_geometry_program *)
-                            ctx->Shared->DefaultGeometryProgram);
-#endif
 }
 
 
@@ -284,20 +266,6 @@ _mesa_init_vertex_program( struct gl_context *ctx, struct gl_vertex_program *pro
 }
 
 
-/**
- * Initialize a new geometry program object.
- */
-struct gl_program *
-_mesa_init_geometry_program( struct gl_context *ctx, struct gl_geometry_program *prog,
-                             GLenum target, GLuint id)
-{
-   if (prog)
-      return _mesa_init_program_struct( ctx, &prog->Base, target, id );
-   else
-      return NULL;
-}
-
-
 /**
  * Allocate and initialize a new fragment/vertex program object but
  * don't put it into the program hash table.  Called via
@@ -326,11 +294,6 @@ _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id)
                                          CALLOC_STRUCT(gl_fragment_program),
                                          target, id );
       break;
-   case MESA_GEOMETRY_PROGRAM:
-      prog = _mesa_init_geometry_program(ctx,
-                                         CALLOC_STRUCT(gl_geometry_program),
-                                         target, id);
-      break;
    default:
       _mesa_problem(ctx, "bad target in _mesa_new_program");
       prog = NULL;
@@ -403,8 +366,6 @@ _mesa_reference_program_(struct gl_context *ctx,
       else if ((*ptr)->Target == GL_FRAGMENT_PROGRAM_ARB)
          ASSERT(prog->Target == GL_FRAGMENT_PROGRAM_ARB ||
                 prog->Target == GL_FRAGMENT_PROGRAM_NV);
-      else if ((*ptr)->Target == MESA_GEOMETRY_PROGRAM)
-         ASSERT(prog->Target == MESA_GEOMETRY_PROGRAM);
    }
 #endif
 
@@ -415,8 +376,7 @@ _mesa_reference_program_(struct gl_context *ctx,
 #if 0
       printf("Program %p ID=%u Target=%s  Refcount-- to %d\n",
              *ptr, (*ptr)->Id,
-             ((*ptr)->Target == GL_VERTEX_PROGRAM_ARB ? "VP" :
-              ((*ptr)->Target == MESA_GEOMETRY_PROGRAM ? "GP" : "FP")),
+             ((*ptr)->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : "FP")),
              (*ptr)->RefCount - 1);
 #endif
       ASSERT((*ptr)->RefCount > 0);
@@ -440,8 +400,7 @@ _mesa_reference_program_(struct gl_context *ctx,
 #if 0
       printf("Program %p ID=%u Target=%s  Refcount++ to %d\n",
              prog, prog->Id,
-             (prog->Target == GL_VERTEX_PROGRAM_ARB ? "VP" :
-              (prog->Target == MESA_GEOMETRY_PROGRAM ? "GP" : "FP")),
+             (prog->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : "FP")),
              prog->RefCount);
 #endif
       /*_glthread_UNLOCK_MUTEX(prog->Mutex);*/
@@ -525,16 +484,6 @@ _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog)
          fpc->PixelCenterInteger = fp->PixelCenterInteger;
       }
       break;
-   case MESA_GEOMETRY_PROGRAM:
-      {
-         const struct gl_geometry_program *gp
-            = (const struct gl_geometry_program *) prog;
-         struct gl_geometry_program *gpc = (struct gl_geometry_program *) clone;
-         gpc->VerticesOut = gp->VerticesOut;
-         gpc->InputType = gp->InputType;
-         gpc->OutputType = gp->OutputType;
-      }
-      break;
    default:
       _mesa_problem(NULL, "Unexpected target in _mesa_clone_program");
    }
@@ -903,9 +852,6 @@ _mesa_valid_register_index(const struct gl_context *ctx,
    case MESA_SHADER_FRAGMENT:
       c = &ctx->Const.FragmentProgram;
       break;
-   case MESA_SHADER_GEOMETRY:
-      c = &ctx->Const.GeometryProgram;
-      break;
    default:
       _mesa_problem(ctx,
                     "unexpected shader type in _mesa_valid_register_index()");
@@ -947,8 +893,6 @@ _mesa_valid_register_index(const struct gl_context *ctx,
          return index < VERT_ATTRIB_GENERIC0 + c->MaxAttribs;
       case MESA_SHADER_FRAGMENT:
          return index < FRAG_ATTRIB_VAR0 + ctx->Const.MaxVarying;
-      case MESA_SHADER_GEOMETRY:
-         return index < GEOM_ATTRIB_VAR0 + ctx->Const.MaxVarying;
       default:
          return GL_FALSE;
       }
@@ -962,8 +906,6 @@ _mesa_valid_register_index(const struct gl_context *ctx,
          return index < VERT_RESULT_VAR0 + ctx->Const.MaxVarying;
       case MESA_SHADER_FRAGMENT:
          return index < FRAG_RESULT_DATA0 + ctx->Const.MaxDrawBuffers;
-      case MESA_SHADER_GEOMETRY:
-         return index < GEOM_RESULT_VAR0 + ctx->Const.MaxVarying;
       default:
          return GL_FALSE;
       }
index 9cd1780..e8d4949 100644 (file)
@@ -74,11 +74,6 @@ _mesa_init_fragment_program(struct gl_context *ctx,
                             struct gl_fragment_program *prog,
                             GLenum target, GLuint id);
 
-extern struct gl_program *
-_mesa_init_geometry_program(struct gl_context *ctx,
-                            struct gl_geometry_program *prog,
-                            GLenum target, GLuint id);
-
 extern struct gl_program *
 _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id);
 
@@ -120,15 +115,6 @@ _mesa_reference_fragprog(struct gl_context *ctx,
                            (struct gl_program *) prog);
 }
 
-static inline void
-_mesa_reference_geomprog(struct gl_context *ctx,
-                         struct gl_geometry_program **ptr,
-                         struct gl_geometry_program *prog)
-{
-   _mesa_reference_program(ctx, (struct gl_program **) ptr,
-                           (struct gl_program *) prog);
-}
-
 extern struct gl_program *
 _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog);
 
@@ -139,13 +125,6 @@ _mesa_clone_vertex_program(struct gl_context *ctx,
    return (struct gl_vertex_program *) _mesa_clone_program(ctx, &prog->Base);
 }
 
-static inline struct gl_geometry_program *
-_mesa_clone_geometry_program(struct gl_context *ctx,
-                             const struct gl_geometry_program *prog)
-{
-   return (struct gl_geometry_program *) _mesa_clone_program(ctx, &prog->Base);
-}
-
 static inline struct gl_fragment_program *
 _mesa_clone_fragment_program(struct gl_context *ctx,
                              const struct gl_fragment_program *prog)
@@ -194,8 +173,6 @@ _mesa_program_target_to_index(GLenum v)
       return MESA_SHADER_VERTEX;
    case GL_FRAGMENT_PROGRAM_ARB:
       return MESA_SHADER_FRAGMENT;
-   case GL_GEOMETRY_PROGRAM_NV:
-      return MESA_SHADER_GEOMETRY;
    default:
       ASSERT(0);
       return ~0;
@@ -207,8 +184,7 @@ _mesa_program_index_to_target(GLuint i)
 {
    GLenum enums[MESA_SHADER_TYPES] = {
          GL_VERTEX_PROGRAM_ARB,
-         GL_FRAGMENT_PROGRAM_ARB,
-         GL_GEOMETRY_PROGRAM_NV,
+         GL_FRAGMENT_PROGRAM_ARB
    };
    if(i >= MESA_SHADER_TYPES)
       return 0;
index 35d1a81..29dd95a 100644 (file)
@@ -771,7 +771,6 @@ _swrast_CreateContext( struct gl_context *ctx )
    swrast->PointSpan.array = swrast->SpanArrays;
 
    init_program_native_limits(&ctx->Const.VertexProgram);
-   init_program_native_limits(&ctx->Const.GeometryProgram);
    init_program_native_limits(&ctx->Const.FragmentProgram);
 
    ctx->swrast_context = swrast;
index 021ec95..b6885f1 100644 (file)
@@ -85,29 +85,6 @@ static void free_space(struct gl_context *ctx)
 } while (0)
 
 
-/**
- * Convert array of BGRA/GLubyte[4] values to RGBA/float[4]
- * \param ptr  input/ubyte array
- * \param fptr  output/float array
- */
-static void
-convert_bgra_to_float(const struct gl_client_array *input,
-                      const GLubyte *ptr, GLfloat *fptr,
-                      GLuint count )
-{
-   GLuint i;
-   assert(input->Normalized);
-   assert(input->Size == 4);
-   for (i = 0; i < count; i++) {
-      const GLubyte *in = (GLubyte *) ptr;  /* in is in BGRA order */
-      *fptr++ = UBYTE_TO_FLOAT(in[2]);  /* red */
-      *fptr++ = UBYTE_TO_FLOAT(in[1]);  /* green */
-      *fptr++ = UBYTE_TO_FLOAT(in[0]);  /* blue */
-      *fptr++ = UBYTE_TO_FLOAT(in[3]);  /* alpha */
-      ptr += input->StrideB;
-   }
-}
-
 static void
 convert_half_to_float(const struct gl_client_array *input,
                      const GLubyte *ptr, GLfloat *fptr,
@@ -185,13 +162,7 @@ static void _tnl_import_array( struct gl_context *ctx,
         CONVERT(GLbyte, BYTE_TO_FLOAT); 
         break;
       case GL_UNSIGNED_BYTE: 
-         if (input->Format == GL_BGRA) {
-            /* See GL_EXT_vertex_array_bgra */
-            convert_bgra_to_float(input, ptr, fptr, count);
-         }
-         else {
-            CONVERT(GLubyte, UBYTE_TO_FLOAT); 
-         }
+         CONVERT(GLubyte, UBYTE_TO_FLOAT); 
         break;
       case GL_SHORT: 
         CONVERT(GLshort, SHORT_TO_FLOAT); 
index 4ed485a..3a1eddb 100644 (file)
@@ -82,10 +82,7 @@ static void TAG(render_lines)( struct gl_context *ctx,
    INIT(GL_LINES);
    for (j=start+1; j<count; j+=2 ) {
       RESET_STIPPLE;
-      if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-         RENDER_LINE( ELT(j-1), ELT(j) );
-      else
-         RENDER_LINE( ELT(j), ELT(j-1) );
+      RENDER_LINE( ELT(j-1), ELT(j) );
    }
    POSTFIX;
 }
@@ -107,10 +104,7 @@ static void TAG(render_line_strip)( struct gl_context *ctx,
    }
 
    for (j=start+1; j<count; j++ ) {
-      if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-         RENDER_LINE( ELT(j-1), ELT(j) );
-      else
-         RENDER_LINE( ELT(j), ELT(j-1) );
+      RENDER_LINE( ELT(j-1), ELT(j) );
    }
    POSTFIX;
 }
@@ -131,24 +125,15 @@ static void TAG(render_line_loop)( struct gl_context *ctx,
    if (start+1 < count) {
       if (TEST_PRIM_BEGIN(flags)) {
         RESET_STIPPLE;
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_LINE( ELT(start), ELT(start+1) );
-         else
-            RENDER_LINE( ELT(start+1), ELT(start) );
+         RENDER_LINE( ELT(start), ELT(start+1) );
       }
 
       for ( i = start+2 ; i < count ; i++) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_LINE( ELT(i-1), ELT(i) );
-         else
-            RENDER_LINE( ELT(i), ELT(i-1) );
+         RENDER_LINE( ELT(i-1), ELT(i) );
       }
 
       if ( TEST_PRIM_END(flags)) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_LINE( ELT(count-1), ELT(start) );
-         else
-            RENDER_LINE( ELT(start), ELT(count-1) );
+         RENDER_LINE( ELT(count-1), ELT(start) );
       }
    }
 
@@ -171,17 +156,11 @@ static void TAG(render_triangles)( struct gl_context *ctx,
         /* Leave the edgeflags as supplied by the user.
          */
         RESET_STIPPLE;
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
-         else
-            RENDER_TRI( ELT(j-1), ELT(j), ELT(j-2) );
+         RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
       }
    } else {
       for (j=start+2; j<count; j+=3) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
-         else
-            RENDER_TRI( ELT(j-1), ELT(j), ELT(j-2) );
+         RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );         
       }
    }
    POSTFIX;
@@ -203,16 +182,9 @@ static void TAG(render_tri_strip)( struct gl_context *ctx,
       for (j=start+2;j<count;j++,parity^=1) {
          GLuint ej2, ej1, ej;
          GLboolean ef2, ef1, ef;
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) {
-            ej2 = ELT(j-2+parity);
-            ej1 = ELT(j-1-parity);
-            ej = ELT(j);
-         }
-         else {
-            ej2 = ELT(j-1+parity);
-            ej1 = ELT(j-parity);
-            ej = ELT(j-2);
-         }
+         ej2 = ELT(j-2+parity);
+         ej1 = ELT(j-1-parity);
+         ej = ELT(j);
         ef2 = EDGEFLAG_GET( ej2 );
         ef1 = EDGEFLAG_GET( ej1 );
         ef = EDGEFLAG_GET( ej );
@@ -229,10 +201,7 @@ static void TAG(render_tri_strip)( struct gl_context *ctx,
       }
    } else {
       for (j=start+2; j<count ; j++, parity^=1) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_TRI( ELT(j-2+parity), ELT(j-1-parity), ELT(j) );
-         else
-            RENDER_TRI( ELT(j-1+parity), ELT(j-parity), ELT(j-2) );
+         RENDER_TRI( ELT(j-2+parity), ELT(j-1-parity), ELT(j) );
       }
    }
    POSTFIX;
@@ -265,20 +234,14 @@ static void TAG(render_tri_fan)( struct gl_context *ctx,
         EDGEFLAG_SET( ejs, GL_TRUE );
         EDGEFLAG_SET( ej1, GL_TRUE );
         EDGEFLAG_SET( ej, GL_TRUE );
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_TRI( ejs, ej1, ej);
-         else
-            RENDER_TRI( ej, ejs, ej1);
+     RENDER_TRI( ejs, ej1, ej);
         EDGEFLAG_SET( ejs, efs );
         EDGEFLAG_SET( ej1, ef1 );
         EDGEFLAG_SET( ej, ef );
       }
    } else {
       for (j=start+2;j<count;j++) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
-            RENDER_TRI( ELT(start), ELT(j-1), ELT(j) );
-         else
-            RENDER_TRI( ELT(j), ELT(start), ELT(j-1) );
+         RENDER_TRI( ELT(start), ELT(j-1), ELT(j) );
       }
    }
 
@@ -367,22 +330,14 @@ static void TAG(render_quads)( struct gl_context *ctx,
    INIT(GL_QUADS);
    if (NEED_EDGEFLAG_SETUP) {
       for (j=start+3; j<count; j+=4) {
-        /* Use user-specified edgeflags for quads.
-         */
-        RESET_STIPPLE;
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
-             !ctx->Const.QuadsFollowProvokingVertexConvention)
-            RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
-         else
-            RENDER_QUAD( ELT(j-2), ELT(j-1), ELT(j), ELT(j-3) );
+           /* Use user-specified edgeflags for quads.
+            */
+           RESET_STIPPLE;
+        RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
       }
    } else {
       for (j=start+3; j<count; j+=4) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
-             !ctx->Const.QuadsFollowProvokingVertexConvention)
-            RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
-         else
-            RENDER_QUAD( ELT(j-2), ELT(j-1), ELT(j), ELT(j-3) );
+         RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
       }
    }
    POSTFIX;
@@ -414,11 +369,7 @@ static void TAG(render_quad_strip)( struct gl_context *ctx,
         EDGEFLAG_SET( ELT(j-2), GL_TRUE );
         EDGEFLAG_SET( ELT(j-1), GL_TRUE );
         EDGEFLAG_SET( ELT(j), GL_TRUE );
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
-             !ctx->Const.QuadsFollowProvokingVertexConvention)
-            RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
-         else
-            RENDER_QUAD( ELT(j-2), ELT(j), ELT(j-1), ELT(j-3) );
+     RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
         EDGEFLAG_SET( ELT(j-3), ef3 );
         EDGEFLAG_SET( ELT(j-2), ef2 );
         EDGEFLAG_SET( ELT(j-1), ef1 );
@@ -426,11 +377,7 @@ static void TAG(render_quad_strip)( struct gl_context *ctx,
       }
    } else {
       for (j=start+3;j<count;j+=2) {
-         if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
-             !ctx->Const.QuadsFollowProvokingVertexConvention)
-            RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
-         else
-            RENDER_QUAD( ELT(j-2), ELT(j), ELT(j-1), ELT(j-3) );
+         RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
       }
    }
    POSTFIX;
index d83f2fd..ba0301c 100644 (file)
@@ -65,7 +65,6 @@ static void init_legacy_currval(struct gl_context *ctx)
       cl->StrideB = 0;
       cl->Enabled = 1;
       cl->Type = GL_FLOAT;
-      cl->Format = GL_RGBA;
       cl->Ptr = (const void *)ctx->Current.Attrib[i];
       cl->_ElementSize = cl->Size * sizeof(GLfloat);
       _mesa_reference_buffer_object(ctx, &cl->BufferObj,
@@ -89,7 +88,6 @@ static void init_generic_currval(struct gl_context *ctx)
        */
       cl->Size = 1;
       cl->Type = GL_FLOAT;
-      cl->Format = GL_RGBA;
       cl->Ptr = (const void *)ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + i];
       cl->Stride = 0;
       cl->StrideB = 0;
@@ -136,7 +134,6 @@ static void init_mat_currval(struct gl_context *ctx)
 
       cl->Ptr = (const void *)ctx->Light.Material.Attrib[i];
       cl->Type = GL_FLOAT;
-      cl->Format = GL_RGBA;
       cl->Stride = 0;
       cl->StrideB = 0;
       cl->Enabled = 1;
index 4962b54..d414b65 100644 (file)
@@ -242,7 +242,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx )
         arrays[attr].StrideB = exec->vtx.vertex_size * sizeof(GLfloat);
         arrays[attr].Stride = exec->vtx.vertex_size * sizeof(GLfloat);
         arrays[attr].Type = GL_FLOAT;
-         arrays[attr].Format = GL_RGBA;
         arrays[attr].Enabled = 1;
          arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat);
          _mesa_reference_buffer_object(ctx,
index 0fa31e6..59b4948 100644 (file)
@@ -195,7 +195,6 @@ static void vbo_bind_vertex_list(struct gl_context *ctx,
         arrays[attr].StrideB = node->vertex_size * sizeof(GLfloat);
         arrays[attr].Stride = node->vertex_size * sizeof(GLfloat);
         arrays[attr].Type = GL_FLOAT;
-         arrays[attr].Format = GL_RGBA;
         arrays[attr].Enabled = 1;
          arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat);
          _mesa_reference_buffer_object(ctx,
index e51fd66..40e526b 100644 (file)
@@ -512,7 +512,6 @@ replay_init( struct copy_context *copy )
 
       dst->Size = src->Size;
       dst->Type = src->Type;
-      dst->Format = GL_RGBA;
       dst->Stride = copy->vertex_size;
       dst->StrideB = copy->vertex_size;
       dst->Ptr = copy->dstbuf + offset;