From dc33940df2c7cdc90b352e77e9d9c493deed36d2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Tue, 1 Oct 2013 21:37:39 +0000 Subject: [PATCH] [[MESA] - 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 --- .../mesa/generated/glsl/glcpp/glcpp-parse.c | 3 - .../opengl/mesa/generated/glsl/glsl_lexer.cpp | 1 - .../mesa/generated/glsl/glsl_parser.cpp | 23 --- .../dll/opengl/mesa/src/glsl/ast_to_hir.cpp | 11 -- .../mesa/src/glsl/builtin_variables.cpp | 2 - .../opengl/mesa/src/glsl/glcpp/glcpp-parse.c | 3 - .../dll/opengl/mesa/src/glsl/glsl_lexer.cpp | 1 - .../dll/opengl/mesa/src/glsl/glsl_parser.cpp | 43 ------ .../mesa/src/glsl/glsl_parser_extras.cpp | 8 - .../opengl/mesa/src/glsl/glsl_parser_extras.h | 3 - reactos/dll/opengl/mesa/src/glsl/linker.cpp | 26 +--- reactos/dll/opengl/mesa/src/glsl/main.cpp | 4 +- .../mesa/src/mesa/drivers/common/meta.c | 8 - .../dll/opengl/mesa/src/mesa/main/api_exec.c | 13 -- .../opengl/mesa/src/mesa/main/api_validate.c | 6 +- .../dll/opengl/mesa/src/mesa/main/arrayobj.c | 1 - .../dll/opengl/mesa/src/mesa/main/config.h | 10 -- .../dll/opengl/mesa/src/mesa/main/context.c | 51 ------- .../dll/opengl/mesa/src/mesa/main/dispatch.h | 83 ----------- reactos/dll/opengl/mesa/src/mesa/main/dlist.c | 113 -------------- .../dll/opengl/mesa/src/mesa/main/enable.c | 12 -- .../opengl/mesa/src/mesa/main/extensions.c | 16 -- .../dll/opengl/mesa/src/mesa/main/fbobject.c | 34 ----- .../dll/opengl/mesa/src/mesa/main/fbobject.h | 12 -- reactos/dll/opengl/mesa/src/mesa/main/get.c | 34 ----- .../dll/opengl/mesa/src/mesa/main/glheader.h | 7 - reactos/dll/opengl/mesa/src/mesa/main/light.c | 33 ---- reactos/dll/opengl/mesa/src/mesa/main/light.h | 3 - .../dll/opengl/mesa/src/mesa/main/mtypes.h | 141 +----------------- .../dll/opengl/mesa/src/mesa/main/shaderapi.c | 107 ------------- .../dll/opengl/mesa/src/mesa/main/shaderobj.c | 9 +- .../dll/opengl/mesa/src/mesa/main/shaderobj.h | 3 - reactos/dll/opengl/mesa/src/mesa/main/state.c | 31 ---- .../dll/opengl/mesa/src/mesa/main/texobj.c | 2 - .../dll/opengl/mesa/src/mesa/main/texparam.c | 26 ---- .../mesa/src/mesa/main/uniform_query.cpp | 2 +- .../dll/opengl/mesa/src/mesa/main/varray.c | 34 +---- .../dll/opengl/mesa/src/mesa/main/version.c | 17 +-- .../mesa/src/mesa/program/ir_to_mesa.cpp | 7 +- .../opengl/mesa/src/mesa/program/prog_print.c | 4 - .../opengl/mesa/src/mesa/program/program.c | 62 +------- .../opengl/mesa/src/mesa/program/program.h | 26 +--- .../opengl/mesa/src/mesa/swrast/s_context.c | 1 - reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c | 31 +--- .../opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h | 93 +++--------- .../opengl/mesa/src/mesa/vbo/vbo_context.c | 3 - .../opengl/mesa/src/mesa/vbo/vbo_exec_draw.c | 1 - .../opengl/mesa/src/mesa/vbo/vbo_save_draw.c | 1 - .../opengl/mesa/src/mesa/vbo/vbo_split_copy.c | 1 - 49 files changed, 42 insertions(+), 1124 deletions(-) diff --git a/reactos/dll/opengl/mesa/generated/glsl/glcpp/glcpp-parse.c b/reactos/dll/opengl/mesa/generated/glsl/glcpp/glcpp-parse.c index 34db5684d51..9b263d10208 100644 --- a/reactos/dll/opengl/mesa/generated/glsl/glcpp/glcpp-parse.c +++ b/reactos/dll/opengl/mesa/generated/glsl/glcpp/glcpp-parse.c @@ -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); diff --git a/reactos/dll/opengl/mesa/generated/glsl/glsl_lexer.cpp b/reactos/dll/opengl/mesa/generated/glsl/glsl_lexer.cpp index 20f6ef554a7..1a7edbff6f4 100644 --- a/reactos/dll/opengl/mesa/generated/glsl/glsl_lexer.cpp +++ b/reactos/dll/opengl/mesa/generated/glsl/glsl_lexer.cpp @@ -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 { diff --git a/reactos/dll/opengl/mesa/generated/glsl/glsl_parser.cpp b/reactos/dll/opengl/mesa/generated/glsl/glsl_parser.cpp index cf075cc648f..0dac6d62a3e 100644 --- a/reactos/dll/opengl/mesa/generated/glsl/glsl_parser.cpp +++ b/reactos/dll/opengl/mesa/generated/glsl/glsl_parser.cpp @@ -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; diff --git a/reactos/dll/opengl/mesa/src/glsl/ast_to_hir.cpp b/reactos/dll/opengl/mesa/src/glsl/ast_to_hir.cpp index c77511e20fe..db5b68ce548 100644 --- a/reactos/dll/opengl/mesa/src/glsl/ast_to_hir.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/ast_to_hir.cpp @@ -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, diff --git a/reactos/dll/opengl/mesa/src/glsl/builtin_variables.cpp b/reactos/dll/opengl/mesa/src/glsl/builtin_variables.cpp index ed6b922ca62..6a4f372dfd1 100644 --- a/reactos/dll/opengl/mesa/src/glsl/builtin_variables.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/builtin_variables.cpp @@ -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; diff --git a/reactos/dll/opengl/mesa/src/glsl/glcpp/glcpp-parse.c b/reactos/dll/opengl/mesa/src/glsl/glcpp/glcpp-parse.c index 3f80ffb3398..3fc9a698ab8 100644 --- a/reactos/dll/opengl/mesa/src/glsl/glcpp/glcpp-parse.c +++ b/reactos/dll/opengl/mesa/src/glsl/glcpp/glcpp-parse.c @@ -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); diff --git a/reactos/dll/opengl/mesa/src/glsl/glsl_lexer.cpp b/reactos/dll/opengl/mesa/src/glsl/glsl_lexer.cpp index 838c5a73439..3891bb0647f 100644 --- a/reactos/dll/opengl/mesa/src/glsl/glsl_lexer.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/glsl_lexer.cpp @@ -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 { diff --git a/reactos/dll/opengl/mesa/src/glsl/glsl_parser.cpp b/reactos/dll/opengl/mesa/src/glsl/glsl_parser.cpp index 56cee32d1f9..6e2508c642a 100644 --- a/reactos/dll/opengl/mesa/src/glsl/glsl_parser.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/glsl_parser.cpp @@ -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 */ diff --git a/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.cpp b/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.cpp index 2a72ba1f6f9..bbed708942a 100644 --- a/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.cpp @@ -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; diff --git a/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.h b/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.h index ee8f71b8280..70dc0ae3468 100644 --- a/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.h +++ b/reactos/dll/opengl/mesa/src/glsl/glsl_parser_extras.h @@ -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; diff --git a/reactos/dll/opengl/mesa/src/glsl/linker.cpp b/reactos/dll/opengl/mesa/src/glsl/linker.cpp index 961f61a524e..816cc277176 100644 --- a/reactos/dll/opengl/mesa/src/glsl/linker.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/linker.cpp @@ -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]; diff --git a/reactos/dll/opengl/mesa/src/glsl/main.cpp b/reactos/dll/opengl/mesa/src/glsl/main.cpp index e174224712b..c548127d952 100644 --- a/reactos/dll/opengl/mesa/src/glsl/main.cpp +++ b/reactos/dll/opengl/mesa/src/glsl/main.cpp @@ -117,7 +117,7 @@ usage_fail(const char *name) { const char *header = - "usage: %s [options] \n" + "usage: %s [options] \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 diff --git a/reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c b/reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c index 06aba33637d..1689e6227ab 100644 --- a/reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c +++ b/reactos/dll/opengl/mesa/src/mesa/drivers/common/meta.c @@ -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); } diff --git a/reactos/dll/opengl/mesa/src/mesa/main/api_exec.c b/reactos/dll/opengl/mesa/src/mesa/main/api_exec.c index d7461b0e0d2..81836f39a93 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/api_exec.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/api_exec.c @@ -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 */ diff --git a/reactos/dll/opengl/mesa/src/mesa/main/api_validate.c b/reactos/dll/opengl/mesa/src/mesa/main/api_validate.c index 2f71f53f366..0879a683eb0 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/api_validate.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/api_validate.c @@ -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 { diff --git a/reactos/dll/opengl/mesa/src/mesa/main/arrayobj.c b/reactos/dll/opengl/mesa/src/mesa/main/arrayobj.c index 04c403cae8a..3bd63d8748b 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/arrayobj.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/arrayobj.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/config.h b/reactos/dll/opengl/mesa/src/mesa/main/config.h index 25e4896c69f..8620b748159 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/config.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/config.h @@ -285,16 +285,6 @@ /** 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 diff --git a/reactos/dll/opengl/mesa/src/mesa/main/context.c b/reactos/dll/opengl/mesa/src/mesa/main/context.c index 0335dca903f..522e7926860 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/context.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/context.c @@ -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++) { diff --git a/reactos/dll/opengl/mesa/src/mesa/main/dispatch.h b/reactos/dll/opengl/mesa/src/mesa/main/dispatch.h index b68b01bcc5a..7b01b00ebdf 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/dispatch.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/dispatch.h @@ -505,7 +505,6 @@ #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 @@ -635,9 +634,6 @@ #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 @@ -912,14 +908,12 @@ #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 diff --git a/reactos/dll/opengl/mesa/src/mesa/main/dlist.c b/reactos/dll/opengl/mesa/src/mesa/main/dlist.c index 3177df2ad3a..f9fd7e99646 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/dlist.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/dlist.c @@ -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 */ diff --git a/reactos/dll/opengl/mesa/src/mesa/main/enable.c b/reactos/dll/opengl/mesa/src/mesa/main/enable.c index beb4e04d887..0b36a9e0122 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/enable.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/enable.c @@ -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) { diff --git a/reactos/dll/opengl/mesa/src/mesa/main/extensions.c b/reactos/dll/opengl/mesa/src/mesa/main/extensions.c index 2793ab4e8d9..3d5bdb09c12 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/extensions.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/extensions.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/fbobject.c b/reactos/dll/opengl/mesa/src/mesa/main/fbobject.c index 610269fe264..64c6695c401 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/fbobject.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/fbobject.c @@ -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 */ diff --git a/reactos/dll/opengl/mesa/src/mesa/main/fbobject.h b/reactos/dll/opengl/mesa/src/mesa/main/fbobject.h index 0a70a436dea..82367afcf1a 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/fbobject.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/fbobject.h @@ -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 */ diff --git a/reactos/dll/opengl/mesa/src/mesa/main/get.c b/reactos/dll/opengl/mesa/src/mesa/main/get.c index 514e1644e04..4b090be1750 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/get.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/get.c @@ -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 }, diff --git a/reactos/dll/opengl/mesa/src/mesa/main/glheader.h b/reactos/dll/opengl/mesa/src/mesa/main/glheader.h index 372b6fdadf3..045ea8870d3 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/glheader.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/glheader.h @@ -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. diff --git a/reactos/dll/opengl/mesa/src/mesa/main/light.c b/reactos/dll/opengl/mesa/src/mesa/main/light.c index af83365fe42..5ad3eb1cb2a 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/light.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/light.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/light.h b/reactos/dll/opengl/mesa/src/mesa/main/light.h index 9b66c7ed853..decf7be6bc9 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/light.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/light.h @@ -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 diff --git a/reactos/dll/opengl/mesa/src/mesa/main/mtypes.h b/reactos/dll/opengl/mesa/src/mesa/main/mtypes.h index ee5cf50bbc5..b06359e5974 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/mtypes.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/mtypes.h @@ -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]; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c b/reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c index 2440d22aa15..c79c6b530e8 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/shaderapi.c @@ -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); diff --git a/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c b/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c index b77a5b7afb4..7bfb45f9833 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.c @@ -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, ""); } diff --git a/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.h b/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.h index 5470b51d7a0..c0cbea6198e 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.h +++ b/reactos/dll/opengl/mesa/src/mesa/main/shaderobj.h @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/state.c b/reactos/dll/opengl/mesa/src/mesa/main/state.c index 059a4cabd63..46eb8c30be6 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/state.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/state.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/texobj.c b/reactos/dll/opengl/mesa/src/mesa/main/texobj.c index be101e12620..e800070f780 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/texobj.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/texobj.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/texparam.c b/reactos/dll/opengl/mesa/src/mesa/main/texparam.c index f9a7faf5dae..25a95385347 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/texparam.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/texparam.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/uniform_query.cpp b/reactos/dll/opengl/mesa/src/mesa/main/uniform_query.cpp index 9fa22117892..f3835717975 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/uniform_query.cpp +++ b/reactos/dll/opengl/mesa/src/mesa/main/uniform_query.cpp @@ -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); diff --git a/reactos/dll/opengl/mesa/src/mesa/main/varray.c b/reactos/dll/opengl/mesa/src/mesa/main/varray.c index b628df20171..a9f76c6f19a 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/varray.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/varray.c @@ -40,10 +40,6 @@ #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; diff --git a/reactos/dll/opengl/mesa/src/mesa/main/version.c b/reactos/dll/opengl/mesa/src/mesa/main/version.c index 006c7bef3a3..7a960682b9a 100644 --- a/reactos/dll/opengl/mesa/src/mesa/main/version.c +++ b/reactos/dll/opengl/mesa/src/mesa/main/version.c @@ -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; } diff --git a/reactos/dll/opengl/mesa/src/mesa/program/ir_to_mesa.cpp b/reactos/dll/opengl/mesa/src/mesa/program/ir_to_mesa.cpp index efdd9f25469..b03e4e0c638 100644 --- a/reactos/dll/opengl/mesa/src/mesa/program/ir_to_mesa.cpp +++ b/reactos/dll/opengl/mesa/src/mesa/program/ir_to_mesa.cpp @@ -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) { diff --git a/reactos/dll/opengl/mesa/src/mesa/program/prog_print.c b/reactos/dll/opengl/mesa/src/mesa/program/prog_print.c index 352a80f2718..640388c3c2f 100644 --- a/reactos/dll/opengl/mesa/src/mesa/program/prog_print.c +++ b/reactos/dll/opengl/mesa/src/mesa/program/prog_print.c @@ -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"); diff --git a/reactos/dll/opengl/mesa/src/mesa/program/program.c b/reactos/dll/opengl/mesa/src/mesa/program/program.c index c964fcc44a1..498f533f76d 100644 --- a/reactos/dll/opengl/mesa/src/mesa/program/program.c +++ b/reactos/dll/opengl/mesa/src/mesa/program/program.c @@ -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; } diff --git a/reactos/dll/opengl/mesa/src/mesa/program/program.h b/reactos/dll/opengl/mesa/src/mesa/program/program.h index 9cd1780b892..e8d49499fb0 100644 --- a/reactos/dll/opengl/mesa/src/mesa/program/program.h +++ b/reactos/dll/opengl/mesa/src/mesa/program/program.h @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c b/reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c index 35d1a81ddd2..29dd95a2b60 100644 --- a/reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c +++ b/reactos/dll/opengl/mesa/src/mesa/swrast/s_context.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c b/reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c index 021ec95987e..b6885f1ce11 100644 --- a/reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c +++ b/reactos/dll/opengl/mesa/src/mesa/tnl/t_draw.c @@ -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); diff --git a/reactos/dll/opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h b/reactos/dll/opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h index 4ed485a7bfd..3a1eddb2db2 100644 --- a/reactos/dll/opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h +++ b/reactos/dll/opengl/mesa/src/mesa/tnl/t_vb_rendertmp.h @@ -82,10 +82,7 @@ static void TAG(render_lines)( struct gl_context *ctx, INIT(GL_LINES); for (j=start+1; jLight.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; jLight.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; jLight.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;jLight.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; jLight.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;jLight.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; jLight.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; jLight.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;jLight.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; diff --git a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_context.c b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_context.c index d83f2fd23a5..ba0301c7103 100644 --- a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_context.c +++ b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_context.c @@ -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; diff --git a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c index 4962b54e1f7..d414b6578f5 100644 --- a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c +++ b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_exec_draw.c @@ -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, diff --git a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c index 0fa31e62207..59b4948907f 100644 --- a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c +++ b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_save_draw.c @@ -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, diff --git a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c index e51fd667bae..40e526b1d73 100644 --- a/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c +++ b/reactos/dll/opengl/mesa/src/mesa/vbo/vbo_split_copy.c @@ -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; -- 2.17.1