mesa: include mtypes.h less
authorMarek Olšák <marek.olsak@amd.com>
Sun, 8 Apr 2018 17:13:08 +0000 (13:13 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 12 Apr 2018 23:31:30 +0000 (19:31 -0400)
- remove mtypes.h from most header files
- add main/menums.h for often used definitions
- remove main/core.h

v2: fix radv build

Reviewed-by: Brian Paul <brianp@vmware.com>
177 files changed:
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_private.h
src/amd/vulkan/radv_radeon_winsys.h
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
src/compiler/glsl/ast_function.cpp
src/compiler/glsl/ast_to_hir.cpp
src/compiler/glsl/builtin_functions.cpp
src/compiler/glsl/builtin_functions.h
src/compiler/glsl/builtin_variables.cpp
src/compiler/glsl/glcpp/glcpp-parse.y
src/compiler/glsl/glcpp/glcpp.c
src/compiler/glsl/glcpp/glcpp.h
src/compiler/glsl/glcpp/pp.c
src/compiler/glsl/glsl_parser_extras.cpp
src/compiler/glsl/glsl_to_nir.cpp
src/compiler/glsl/ir.cpp
src/compiler/glsl/ir.h
src/compiler/glsl/ir_constant_expression.cpp
src/compiler/glsl/ir_function_detect_recursion.cpp
src/compiler/glsl/ir_optimization.h
src/compiler/glsl/ir_set_program_inouts.cpp
src/compiler/glsl/ir_uniform.h
src/compiler/glsl/link_atomics.cpp
src/compiler/glsl/link_functions.cpp
src/compiler/glsl/link_interface_blocks.cpp
src/compiler/glsl/link_uniform_blocks.cpp
src/compiler/glsl/link_uniform_initializers.cpp
src/compiler/glsl/link_uniforms.cpp
src/compiler/glsl/link_varyings.cpp
src/compiler/glsl/linker.cpp
src/compiler/glsl/linker.h
src/compiler/glsl/lower_blend_equation_advanced.cpp
src/compiler/glsl/lower_cs_derived.cpp
src/compiler/glsl/lower_distance.cpp
src/compiler/glsl/lower_named_interface_blocks.cpp
src/compiler/glsl/lower_packed_varyings.cpp
src/compiler/glsl/lower_shared_reference.cpp
src/compiler/glsl/lower_tess_level.cpp
src/compiler/glsl/lower_ubo_reference.cpp
src/compiler/glsl/lower_vector_derefs.cpp
src/compiler/glsl/lower_vertex_id.cpp
src/compiler/glsl/main.cpp
src/compiler/glsl/opt_algebraic.cpp
src/compiler/glsl/opt_dead_builtin_varyings.cpp
src/compiler/glsl/s_expression.cpp
src/compiler/glsl/s_expression.h
src/compiler/glsl/shader_cache.cpp
src/compiler/glsl/shader_cache.h
src/compiler/glsl/standalone.cpp
src/compiler/glsl/standalone_scaffolding.cpp
src/compiler/glsl/standalone_scaffolding.h
src/compiler/glsl_types.h
src/compiler/nir/nir_constant_expressions.py
src/compiler/nir/nir_gather_info.c
src/compiler/nir/nir_lower_atomics.c
src/compiler/nir/nir_lower_samplers.c
src/compiler/nir/nir_lower_samplers_as_deref.c
src/gallium/state_trackers/glx/xlib/glx_usefont.c
src/gallium/state_trackers/glx/xlib/xm_api.h
src/intel/common/gen_urb_config.c
src/intel/compiler/brw_compiler.h
src/intel/compiler/brw_eu.h
src/mesa/Makefile.sources
src/mesa/drivers/dri/common/dri_util.h
src/mesa/drivers/dri/i915/intel_context.h
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/r200/r200_state_init.c
src/mesa/drivers/dri/r200/r200_vertprog.c
src/mesa/drivers/dri/radeon/radeon_state.c
src/mesa/drivers/dri/radeon/radeon_state_init.c
src/mesa/main/api_arrayelt.h
src/mesa/main/buffers.h
src/mesa/main/colormac.h
src/mesa/main/context.h
src/mesa/main/copyimage.h
src/mesa/main/core.h [deleted file]
src/mesa/main/dd.h
src/mesa/main/debug.c
src/mesa/main/debug_output.h
src/mesa/main/dlist.h
src/mesa/main/drawtex.c
src/mesa/main/errors.h
src/mesa/main/eval.h
src/mesa/main/execmem.c
src/mesa/main/extensions.h
src/mesa/main/extensions_table.c
src/mesa/main/ffvertex_prog.c
src/mesa/main/format_pack.py
src/mesa/main/format_unpack.py
src/mesa/main/format_utils.c
src/mesa/main/format_utils.h
src/mesa/main/formats.c
src/mesa/main/glformats.h
src/mesa/main/glheader.h
src/mesa/main/glspirv.c
src/mesa/main/glspirv.h
src/mesa/main/glthread.h
src/mesa/main/hash.c
src/mesa/main/hash.h
src/mesa/main/imports.c
src/mesa/main/imports.h
src/mesa/main/menums.h [new file with mode: 0644]
src/mesa/main/mipmap.c
src/mesa/main/mipmap.h
src/mesa/main/mtypes.h
src/mesa/main/pack.c
src/mesa/main/pack.h
src/mesa/main/pbo.c
src/mesa/main/pbo.h
src/mesa/main/pixeltransfer.h
src/mesa/main/querymatrix.c
src/mesa/main/querymatrix.h
src/mesa/main/remap.c
src/mesa/main/renderbuffer.h
src/mesa/main/shader_query.cpp
src/mesa/main/shaderapi.h
src/mesa/main/shaderobj.h
src/mesa/main/texcompress_bptc.c
src/mesa/main/texcompress_etc.c
src/mesa/main/texcompress_fxt1.c
src/mesa/main/texcompress_rgtc.c
src/mesa/main/texobj.h
src/mesa/main/texstore.c
src/mesa/main/texstore.h
src/mesa/main/texturebindless.h
src/mesa/main/uniform_query.cpp
src/mesa/main/varray.h
src/mesa/main/version.h
src/mesa/main/vtxfmt.h
src/mesa/math/m_matrix.c
src/mesa/meson.build
src/mesa/program/ir_to_mesa.h
src/mesa/program/prog_execute.c
src/mesa/program/prog_execute.h
src/mesa/program/prog_instruction.c
src/mesa/program/prog_parameter.h
src/mesa/program/prog_print.h
src/mesa/program/prog_to_nir.c
src/mesa/program/program.h
src/mesa/program/program_parse.y
src/mesa/program/programopt.h
src/mesa/program/symbol_table.c
src/mesa/state_tracker/st_atom_depth.c
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_bufferobjects.c
src/mesa/state_tracker/st_cb_clear.c
src/mesa/state_tracker/st_cb_drawpixels.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_draw.c
src/mesa/state_tracker/st_gen_mipmap.c
src/mesa/state_tracker/st_glsl_to_tgsi_private.h
src/mesa/state_tracker/st_manager.h
src/mesa/state_tracker/st_program.c
src/mesa/swrast/s_context.c
src/mesa/swrast/s_fog.c
src/mesa/swrast/s_span.c
src/mesa/swrast/s_stencil.c
src/mesa/swrast/s_texfetch.c
src/mesa/swrast/s_zoom.c
src/mesa/tnl/t_rebase.c
src/mesa/tnl/t_vb_fog.c
src/mesa/tnl/t_vb_texgen.c
src/mesa/tnl/tnl.h
src/mesa/vbo/vbo_attrib.h
src/mesa/vbo/vbo_context.c
src/mesa/vbo/vbo_exec.c
src/mesa/vbo/vbo_exec.h
src/mesa/vbo/vbo_noop.h
src/mesa/vbo/vbo_primitive_restart.c
src/mesa/vbo/vbo_private.h
src/mesa/vbo/vbo_save.c
src/mesa/vbo/vbo_save.h
src/mesa/vbo/vbo_save_draw.c
src/mesa/vbo/vbo_save_loopback.c
src/util/register_allocate.c
src/util/xmlconfig.h

index fce3201..88fccb2 100644 (file)
@@ -48,6 +48,7 @@
 #include "util/debug.h"
 #include "ac_exp_param.h"
 #include "ac_shader_util.h"
+#include "main/menums.h"
 
 struct radv_blend_state {
        uint32_t blend_enable_4bit;
index fb94c50..df8fe89 100644 (file)
@@ -43,6 +43,7 @@
 #define VG(x)
 #endif
 
+#include "c11/threads.h"
 #include <amdgpu.h>
 #include "compiler/shader_enums.h"
 #include "util/macros.h"
index 270b3bc..ba16bf3 100644 (file)
@@ -29,6 +29,7 @@
 #ifndef RADV_RADEON_WINSYS_H
 #define RADV_RADEON_WINSYS_H
 
+#include <stdio.h>
 #include <stdint.h>
 #include <stdbool.h>
 #include <stdlib.h>
index 9e83390..32f263a 100644 (file)
@@ -33,6 +33,8 @@
 #include <amdgpu.h>
 #include <amdgpu_drm.h>
 #include <inttypes.h>
+#include <pthread.h>
+#include <unistd.h>
 
 #include "util/u_atomic.h"
 
index cd7ab38..9921d38 100644 (file)
@@ -26,6 +26,8 @@
 #include <amdgpu.h>
 #include <amdgpu_drm.h>
 #include <assert.h>
+#include <pthread.h>
+#include <errno.h>
 
 #include "ac_debug.h"
 #include "radv_radeon_winsys.h"
index 94e0a16..22d58e4 100644 (file)
@@ -25,7 +25,7 @@
 #include "ast.h"
 #include "compiler/glsl_types.h"
 #include "ir.h"
-#include "main/core.h" /* for MIN2 */
+#include "main/mtypes.h"
 #include "main/shaderobj.h"
 #include "builtin_functions.h"
 
index 168ab7e..94ce3c4 100644 (file)
@@ -54,6 +54,7 @@
 #include "ast.h"
 #include "compiler/glsl_types.h"
 #include "util/hash_table.h"
+#include "main/mtypes.h"
 #include "main/macros.h"
 #include "main/shaderobj.h"
 #include "ir.h"
index 5f772c9..e1ee994 100644 (file)
@@ -75,7 +75,7 @@
 
 #include <stdarg.h>
 #include <stdio.h>
-#include "main/core.h" /* for struct gl_shader */
+#include "main/mtypes.h"
 #include "main/shaderobj.h"
 #include "ir_builder.h"
 #include "glsl_parser_extras.h"
index 89ec9b7..50f4f3b 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef BULITIN_FUNCTIONS_H
 #define BULITIN_FUNCTIONS_H
 
+struct gl_shader;
+
 extern void
 _mesa_glsl_initialize_builtin_functions();
 
index a1cdec5..78fccc4 100644 (file)
@@ -26,7 +26,7 @@
 #include "linker.h"
 #include "glsl_parser_extras.h"
 #include "glsl_symbol_table.h"
-#include "main/core.h"
+#include "main/mtypes.h"
 #include "main/uniforms.h"
 #include "program/prog_statevars.h"
 #include "program/prog_instruction.h"
index 913bce1..ccb3aa1 100644 (file)
@@ -29,8 +29,7 @@
 #include <inttypes.h>
 
 #include "glcpp.h"
-#include "main/core.h" /* for struct gl_extensions */
-#include "main/mtypes.h" /* for gl_api enum */
+#include "main/mtypes.h"
 
 static void
 yyerror(YYLTYPE *locp, glcpp_parser_t *parser, const char *error);
index f08b144..89728ff 100644 (file)
@@ -27,7 +27,6 @@
 #include <getopt.h>
 
 #include "glcpp.h"
-#include "main/mtypes.h"
 #include "main/shaderobj.h"
 #include "util/strtod.h"
 
index 9d997cd..c7e382e 100644 (file)
@@ -27,7 +27,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 
-#include "main/mtypes.h"
+#include "main/menums.h"
 
 #include "util/ralloc.h"
 
@@ -35,6 +35,8 @@
 
 #include "util/string_buffer.h"
 
+struct gl_context;
+
 #define yyscan_t void*
 
 /* Some data types used for parser values. */
index fab5222..32dee11 100644 (file)
@@ -25,6 +25,7 @@
 #include <string.h>
 #include <ctype.h>
 #include "glcpp.h"
+#include "main/mtypes.h"
 
 void
 glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
index 5dd362b..25003ee 100644 (file)
@@ -26,7 +26,6 @@
 #include <string.h>
 #include <assert.h>
 
-#include "main/core.h" /* for struct gl_context */
 #include "main/context.h"
 #include "main/debug_output.h"
 #include "main/formats.h"
index dbb58d8..17d58ac 100644 (file)
@@ -32,6 +32,7 @@
 #include "compiler/nir/nir_control_flow.h"
 #include "compiler/nir/nir_builder.h"
 #include "main/imports.h"
+#include "main/mtypes.h"
 
 /*
  * pass to lower GLSL IR to NIR
index 2c61dd9..e3134ea 100644 (file)
@@ -21,7 +21,6 @@
  * DEALINGS IN THE SOFTWARE.
  */
 #include <string.h>
-#include "main/core.h" /* for MAX2 */
 #include "ir.h"
 #include "compiler/glsl_types.h"
 #include "glsl_parser_extras.h"
index 6d3ef89..471d9e7 100644 (file)
@@ -33,7 +33,6 @@
 #include "list.h"
 #include "ir_visitor.h"
 #include "ir_hierarchical_visitor.h"
-#include "main/mtypes.h"
 
 #ifdef __cplusplus
 
index fe9bd1d..4a0aff7 100644 (file)
  */
 
 #include <math.h>
-#include "main/core.h" /* for MAX2, MIN2, CLAMP */
 #include "util/rounding.h" /* for _mesa_roundeven */
 #include "util/half_float.h"
 #include "ir.h"
 #include "compiler/glsl_types.h"
 #include "util/hash_table.h"
+#include "main/imports.h"
 
 static float
 dot_f(ir_constant *op0, ir_constant *op1)
index 38e4357..5b05274 100644 (file)
  *
  * \author Ian Romanick <ian.d.romanick@intel.com>
  */
-#include "main/core.h"
 #include "ir.h"
 #include "glsl_parser_extras.h"
 #include "linker.h"
index 81049a4..b0e8460 100644 (file)
@@ -30,6 +30,9 @@
 #ifndef GLSL_IR_OPTIMIZATION_H
 #define GLSL_IR_OPTIMIZATION_H
 
+struct gl_linked_shader;
+struct gl_shader_program;
+
 /* Operations for lower_instructions() */
 #define SUB_TO_ADD_NEG     0x01
 #define FDIV_TO_MUL_RCP    0x02
index 1b6c8d7..ba1e441 100644 (file)
  * from the GLSL IR.
  */
 
-#include "main/core.h" /* for struct gl_program */
 #include "ir.h"
 #include "ir_visitor.h"
 #include "compiler/glsl_types.h"
+#include "main/mtypes.h"
 
 namespace {
 
index 9545c49..9770790 100644 (file)
@@ -28,7 +28,7 @@
 /* stdbool.h is necessary because this file is included in both C and C++ code.
  */
 #include <stdbool.h>
-
+#include "util/macros.h"
 #include "program/prog_parameter.h"  /* For union gl_constant_value. */
 
 /**
index d4a6eed..bc03d64 100644 (file)
@@ -25,7 +25,9 @@
 #include "ir.h"
 #include "ir_uniform.h"
 #include "linker.h"
+#include "main/errors.h"
 #include "main/macros.h"
+#include "main/mtypes.h"
 
 namespace {
    /*
index 56d2933..e73a72c 100644 (file)
@@ -21,7 +21,6 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "main/core.h"
 #include "glsl_symbol_table.h"
 #include "glsl_parser_extras.h"
 #include "ir.h"
@@ -29,6 +28,7 @@
 #include "util/set.h"
 #include "util/hash_table.h"
 #include "linker.h"
+#include "main/mtypes.h"
 
 static ir_function_signature *
 find_matching_signature(const char *name, const exec_list *actual_parameters,
index ce90d91..7c3037e 100644 (file)
@@ -30,6 +30,7 @@
 #include "glsl_symbol_table.h"
 #include "linker.h"
 #include "main/macros.h"
+#include "main/mtypes.h"
 #include "util/hash_table.h"
 
 
index 683b296..e9e29d1 100644 (file)
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "main/core.h"
 #include "ir.h"
 #include "linker.h"
 #include "ir_uniform.h"
 #include "link_uniform_block_active_visitor.h"
 #include "util/hash_table.h"
 #include "program.h"
+#include "main/errors.h"
+#include "main/mtypes.h"
 
 namespace {
 
index d6d63bd..64f47f9 100644 (file)
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "main/core.h"
 #include "ir.h"
 #include "linker.h"
 #include "ir_uniform.h"
 #include "string_to_uint_map.h"
+#include "main/mtypes.h"
 
 /* These functions are put in a "private" namespace instead of being marked
  * static so that the unit tests can access them.  See
index a73dcd4..23ff7ec 100644 (file)
@@ -21,7 +21,6 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
-#include "main/core.h"
 #include "ir.h"
 #include "linker.h"
 #include "ir_uniform.h"
@@ -29,6 +28,7 @@
 #include "program.h"
 #include "string_to_uint_map.h"
 #include "ir_array_refcount.h"
+#include "main/mtypes.h"
 
 /**
  * \file link_uniforms.cpp
index 1fdfcb8..211633d 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 
+#include "main/errors.h"
 #include "main/mtypes.h"
 #include "glsl_symbol_table.h"
 #include "glsl_parser_extras.h"
index af09b7d..ecd267b 100644 (file)
@@ -66,7 +66,6 @@
 
 #include <ctype.h>
 #include "util/strndup.h"
-#include "main/core.h"
 #include "glsl_symbol_table.h"
 #include "glsl_parser_extras.h"
 #include "ir.h"
 #include "builtin_functions.h"
 #include "shader_cache.h"
 
+#include "main/imports.h"
 #include "main/shaderobj.h"
 #include "main/enums.h"
+#include "main/mtypes.h"
 
 
 namespace {
index 12a48e0..454b65a 100644 (file)
 #ifndef GLSL_LINKER_H
 #define GLSL_LINKER_H
 
+struct gl_shader_program;
+struct gl_shader;
+struct gl_linked_shader;
+
 extern bool
 link_function_calls(gl_shader_program *prog, gl_linked_shader *main,
                     gl_shader **shader_list, unsigned num_shaders);
index b05a2e0..c85b39b 100644 (file)
@@ -29,6 +29,7 @@
 #include "program/prog_statevars.h"
 #include "util/bitscan.h"
 #include "builtin_functions.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index f7ec2a4..15534b0 100644 (file)
@@ -43,6 +43,7 @@
 #include "linker.h"
 #include "program/prog_statevars.h"
 #include "builtin_functions.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index 530f79d..b4e730c 100644 (file)
@@ -50,6 +50,7 @@
 #include "ir_rvalue_visitor.h"
 #include "ir.h"
 #include "program/prog_instruction.h" /* For WRITEMASK_* */
+#include "main/mtypes.h"
 
 #define GLSL_CLIP_VAR_NAME "gl_ClipDistanceMESA"
 
index 136352a..498954a 100644 (file)
@@ -64,6 +64,7 @@
 #include "ir_optimization.h"
 #include "ir_rvalue_visitor.h"
 #include "util/hash_table.h"
+#include "main/mtypes.h"
 
 static const glsl_type *
 process_array_type(const glsl_type *type, unsigned idx)
index c622f5e..5c1eed7 100644 (file)
 #include "ir_builder.h"
 #include "ir_optimization.h"
 #include "program/prog_instruction.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index 5de269f..a46d054 100644 (file)
@@ -37,6 +37,7 @@
 #include "main/macros.h"
 #include "util/list.h"
 #include "glsl_parser_extras.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index b0965eb..3e4c7f0 100644 (file)
@@ -49,6 +49,7 @@
 #include "ir_rvalue_visitor.h"
 #include "ir.h"
 #include "program/prog_instruction.h" /* For WRITEMASK_* */
+#include "main/mtypes.h"
 
 namespace {
 
index 1e35b44..453c0fa 100644 (file)
@@ -37,6 +37,7 @@
 #include "ir_builder.h"
 #include "main/macros.h"
 #include "glsl_parser_extras.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index a83658d..7583d1f 100644 (file)
@@ -24,6 +24,7 @@
 #include "ir_builder.h"
 #include "ir_rvalue_visitor.h"
 #include "ir_optimization.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index 6b41fee..3b641ca 100644 (file)
@@ -38,6 +38,7 @@
 #include "linker.h"
 #include "program/prog_statevars.h"
 #include "builtin_functions.h"
+#include "main/mtypes.h"
 
 namespace {
 
index e082bd6..a730c03 100644 (file)
@@ -21,6 +21,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <stdlib.h>
 #include <stdio.h>
 #include <getopt.h>
 
@@ -33,7 +34,6 @@
  * offline compile GLSL code and examine the resulting GLSL IR.
  */
 
-#include "main/mtypes.h"
 #include "standalone.h"
 
 static struct standalone_options options;
index ce5f265..1a8ee36 100644 (file)
@@ -34,6 +34,7 @@
 #include "ir_optimization.h"
 #include "ir_builder.h"
 #include "compiler/glsl_types.h"
+#include "main/mtypes.h"
 
 using namespace ir_builder;
 
index 4526f2b..0ce1921 100644 (file)
  * The same is done for the gl_FragData fragment shader output.
  */
 
-#include "main/core.h" /* for snprintf and ARRAY_SIZE */
 #include "ir.h"
 #include "ir_rvalue_visitor.h"
 #include "ir_optimization.h"
 #include "ir_print_visitor.h"
 #include "compiler/glsl_types.h"
 #include "link_varyings.h"
+#include "main/mtypes.h"
 
 namespace {
 
index f82e155..12baf1d 100644 (file)
@@ -25,6 +25,8 @@
 #include <assert.h>
 #include <stdio.h>
 #include <math.h>
+#include <string.h>
+#include <stdlib.h>
 #include "s_expression.h"
 
 s_symbol::s_symbol(const char *str, size_t n)
index 5456b6b..38caabb 100644 (file)
@@ -25,7 +25,6 @@
 #ifndef S_EXPRESSION_H
 #define S_EXPRESSION_H
 
-#include "main/core.h" /* for Elements */
 #include "util/strtod.h"
 #include "list.h"
 
index e43ed7a..042f3a6 100644 (file)
 #include "ir_uniform.h"
 #include "linker.h"
 #include "link_varyings.h"
-#include "main/core.h"
 #include "nir.h"
 #include "program.h"
 #include "serialize.h"
 #include "shader_cache.h"
 #include "util/mesa-sha1.h"
 #include "string_to_uint_map.h"
+#include "main/mtypes.h"
 
 extern "C" {
 #include "main/enums.h"
index eeefb3a..b3603d9 100644 (file)
@@ -26,6 +26,9 @@
 
 #include "util/disk_cache.h"
 
+struct gl_context;
+struct gl_shader_program;
+
 void
 shader_cache_write_program_metadata(struct gl_context *ctx,
                                     struct gl_shader_program *prog);
index c989aef..c24a220 100644 (file)
@@ -43,6 +43,7 @@
 #include "ir_builder_print_visitor.h"
 #include "builtin_functions.h"
 #include "opt_add_neg_to_sub.h"
+#include "main/mtypes.h"
 
 class dead_variable_visitor : public ir_hierarchical_visitor {
 public:
index caaddc0..ec5f28a 100644 (file)
@@ -34,6 +34,7 @@
 #include <string.h>
 #include "util/ralloc.h"
 #include "util/strtod.h"
+#include "main/mtypes.h"
 
 void
 _mesa_warning(struct gl_context *ctx, const char *fmt, ...)
index c8d9059..7da76f0 100644 (file)
@@ -31,7 +31,7 @@
 #define STANDALONE_SCAFFOLDING_H
 
 #include <assert.h>
-#include "main/mtypes.h"
+#include "main/menums.h"
 #include "program/prog_statevars.h"
 
 extern "C" void
index 88f987f..efc6324 100644 (file)
 
 #include "shader_enums.h"
 #include "blob.h"
+#include "c11/threads.h"
+
+#ifdef __cplusplus
+#include "main/config.h"
+#endif
 
 struct glsl_type;
 
@@ -146,7 +151,7 @@ enum {
 #ifdef __cplusplus
 #include "GL/gl.h"
 #include "util/ralloc.h"
-#include "main/mtypes.h" /* for gl_texture_index, C++'s enum rules are broken */
+#include "main/menums.h" /* for gl_texture_index, C++'s enum rules are broken */
 
 struct glsl_type {
    GLenum gl_type;
index ee92be5..db5bde2 100644 (file)
@@ -76,7 +76,6 @@ template = """\
  */
 
 #include <math.h>
-#include "main/core.h"
 #include "util/rounding.h" /* for _mesa_roundeven */
 #include "util/half_float.h"
 #include "nir_constant_expressions.h"
index 5530009..eaf0ca6 100644 (file)
@@ -21,8 +21,8 @@
  * IN THE SOFTWARE.
  */
 
-#include "main/mtypes.h"
 #include "nir.h"
+#include "main/menums.h"
 
 static void
 set_io_mask(nir_shader *shader, nir_variable *var, int offset, int len,
index ee66aa3..383e323 100644 (file)
@@ -28,6 +28,7 @@
 #include "compiler/glsl/ir_uniform.h"
 #include "nir.h"
 #include "main/config.h"
+#include "main/mtypes.h"
 #include <assert.h>
 
 /*
index 9aa4a9e..7690665 100644 (file)
@@ -29,8 +29,6 @@
 
 #include "main/compiler.h"
 #include "main/mtypes.h"
-#include "program/prog_parameter.h"
-#include "program/program.h"
 
 /* Calculate the sampler index based on array indicies and also
  * calculate the base uniform location for struct members.
index 2a2fb5b..cb0c827 100644 (file)
@@ -61,8 +61,6 @@
 
 #include "main/compiler.h"
 #include "main/mtypes.h"
-#include "program/prog_parameter.h"
-#include "program/program.h"
 
 struct lower_samplers_as_deref_state {
    nir_shader *shader;
index e420679..d2b57d6 100644 (file)
@@ -57,7 +57,7 @@ and create a window, you must do the following to use the X/Mesa interface:
 #define XMESA_H
 
 
-#include "main/core.h" /* for gl_config */
+#include "main/mtypes.h" /* for gl_config */
 #include "state_tracker/st_api.h"
 #include "os/os_thread.h"
 
index 937163b..0b63214 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "util/macros.h"
 #include "main/macros.h"
+#include "compiler/shader_enums.h"
 
 #include "gen_l3_config.h"
 
index d3ae649..875b293 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdio.h>
 #include "dev/gen_device_info.h"
 #include "main/macros.h"
+#include "main/mtypes.h"
 #include "util/ralloc.h"
 
 #ifdef __cplusplus
index ca72666..120a74f 100644 (file)
@@ -34,6 +34,7 @@
 #define BRW_EU_H
 
 #include <stdbool.h>
+#include <stdio.h>
 #include "brw_inst.h"
 #include "brw_eu_defines.h"
 #include "brw_reg.h"
index 92565ef..d78493e 100644 (file)
@@ -55,7 +55,6 @@ MAIN_FILES = \
        main/convolve.h \
        main/copyimage.c \
        main/copyimage.h \
-       main/core.h \
        main/cpuinfo.c \
        main/cpuinfo.h \
        main/dd.h \
@@ -148,6 +147,7 @@ MAIN_FILES = \
        main/mipmap.h \
        main/mm.c \
        main/mm.h \
+       main/menums.h \
        main/mtypes.h \
        main/multisample.c \
        main/multisample.h \
index 5018f2f..062c83f 100644 (file)
 
 #include <GL/gl.h>
 #include <GL/internal/dri_interface.h>
-#include "main/mtypes.h"
+#include "main/menums.h"
+#include "main/formats.h"
 #include "util/xmlconfig.h"
 #include <stdbool.h>
 
+struct gl_config;
+struct gl_context;
+
 /**
  * Extensions.
  */
index 5361dcf..a219c7f 100644 (file)
@@ -32,6 +32,7 @@
 #include <stdbool.h>
 #include <string.h>
 #include "main/mtypes.h"
+#include "main/errors.h"
 
 #include <drm.h>
 #include <intel_bufmgr.h>
index f049d08..6d42401 100644 (file)
@@ -36,6 +36,7 @@
 #include <stdbool.h>
 #include "main/macros.h"
 #include "main/mtypes.h"
+#include "main/errors.h"
 #include "vbo/vbo.h"
 #include "brw_structs.h"
 #include "brw_pipe_control.h"
index 4b589cd..41c3df7 100644 (file)
@@ -31,6 +31,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  *   Keith Whitwell <keithw@vmware.com>
  */
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/enums.h"
index f69f4a0..7076ec0 100644 (file)
@@ -30,6 +30,8 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
  *   Aapo Tahkola <aet@rasterburn.org>
  *   Roland Scheidegger <rscheidegger_lists@hispeed.ch>
  */
+
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 #include "main/enums.h"
index 58d8fc5..8b72c98 100644 (file)
@@ -41,7 +41,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/fbobject.h"
 #include "util/simple_list.h"
 #include "main/state.h"
-#include "main/core.h"
 #include "main/stencil.h"
 #include "main/viewport.h"
 
index b847be5..6a8cf60 100644 (file)
@@ -27,6 +27,7 @@
  *    Keith Whitwell <keithw@vmware.com>
  */
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/api_arrayelt.h"
index 965e0ad..6543a58 100644 (file)
 #ifndef API_ARRAYELT_H
 #define API_ARRAYELT_H
 
+#include <stdbool.h>
+#include "dd.h"
 
-#include "main/mtypes.h"
-
+struct _glapi_table;
 
 extern GLboolean _ae_create_context( struct gl_context *ctx );
 extern void _ae_destroy_context( struct gl_context *ctx );
index c438107..913af78 100644 (file)
@@ -34,7 +34,7 @@
 
 
 #include "glheader.h"
-#include "mtypes.h"
+#include "menums.h"
 
 struct gl_context;
 struct gl_framebuffer;
index 33ca5af..8cd305c 100644 (file)
@@ -35,7 +35,6 @@
 
 #include "config.h"
 #include "macros.h"
-#include "mtypes.h"
 
 
 /**
index 86be66f..ef06540 100644 (file)
@@ -49,6 +49,7 @@
 #define CONTEXT_H
 
 
+#include "errors.h"
 #include "imports.h"
 #include "extensions.h"
 #include "mtypes.h"
index ea2f15b..7cebb30 100644 (file)
@@ -29,7 +29,7 @@
 #ifndef COPYIMAGE_H
 #define COPYIMAGE_H
 
-#include "mtypes.h"
+#include "glheader.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/mesa/main/core.h b/src/mesa/main/core.h
deleted file mode 100644 (file)
index 73ed01c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Mesa 3-D graphics library
- *
- * Copyright (C) 2010 LunarG Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Chia-I Wu <olv@lunarg.com>
- */
-
-
-/**
- * \file core.h
- * The public header of core mesa.
- *
- * This file is the (only) public header of core mesa.  It is supposed to be
- * used by GLX, WGL, and GLSL.
- */
-
-
-#ifndef CORE_H
-#define CORE_H
-
-
-#include "main/glheader.h"
-#include "main/compiler.h"
-#include "main/imports.h"
-#include "main/macros.h"
-
-#include "main/mtypes.h"
-
-/* for GLSL */
-#include "program/prog_parameter.h"
-
-
-#endif /* CORE_H */
index 09e9c41..64ddd81 100644 (file)
@@ -31,9 +31,9 @@
 #ifndef DD_INCLUDED
 #define DD_INCLUDED
 
-/* THIS FILE ONLY INCLUDED BY mtypes.h !!!!! */
-
 #include "glheader.h"
+#include "formats.h"
+#include "menums.h"
 
 struct gl_bitmap_atlas;
 struct gl_buffer_object;
@@ -50,6 +50,8 @@ struct gl_shader_program;
 struct gl_texture_image;
 struct gl_texture_object;
 struct gl_memory_info;
+struct gl_transform_feedback_object;
+struct ati_fragment_shader;
 struct util_queue_monitoring;
 struct _mesa_prim;
 struct _mesa_index_buffer;
index d7e0143..b1fa1f0 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include <stdio.h>
+#include "errors.h"
 #include "mtypes.h"
 #include "attrib.h"
 #include "enums.h"
index 63e3e7b..8a5eedc 100644 (file)
 #include <stdio.h>
 #include <stdarg.h>
 #include "glheader.h"
-#include "mtypes.h"
+#include "menums.h"
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
 
 void
 _mesa_init_debug_output(struct gl_context *ctx);
index 22b696f..1ac17d5 100644 (file)
@@ -33,8 +33,8 @@
 #define DLIST_H
 
 #include <stdio.h>
-#include "main/mtypes.h"
 
+struct gl_context;
 
 /**
  * Describes the location and size of a glBitmap image in a texture atlas.
index 9c4fdf9..6114b32 100644 (file)
@@ -21,6 +21,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include "main/errors.h"
 #include "main/drawtex.h"
 #include "main/state.h"
 #include "main/imports.h"
index b784b11..5911da2 100644 (file)
 #include <stdio.h>
 #include <stdarg.h>
 #include "glheader.h"
-#include "mtypes.h"
+#include "menums.h"
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
+
 extern void
 _mesa_warning( struct gl_context *gc, const char *fmtString, ... ) PRINTFLIKE(2, 3);
 
index 5b2fce1..938e357 100644 (file)
@@ -37,7 +37,7 @@
 #define EVAL_H
 
 
-#include "main/mtypes.h"
+#include "dd.h"
 #include <stdbool.h>
 
 
index 21c5de7..2142b50 100644 (file)
@@ -34,7 +34,7 @@
 #include <stdio.h>
 #include "imports.h"
 #include "execmem.h"
-
+#include "c11/threads.h"
 
 
 #if defined(__linux__) || defined(__OpenBSD__) || defined(_NetBSD__) || defined(__sun) || defined(__HAIKU__)
index 159610b..705d65d 100644 (file)
@@ -36,7 +36,7 @@
 #ifndef _EXTENSIONS_H_
 #define _EXTENSIONS_H_
 
-#include "glheader.h"
+#include "mtypes.h"
 
 #ifdef __cplusplus
 extern "C" {
index 1e37fbc..6241705 100644 (file)
@@ -23,7 +23,6 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include "main/mtypes.h"
 #include "main/extensions.h"
 
 /**
index c7b6394..1c75559 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/mtypes.h"
 #include "main/macros.h"
index 71c467f..77ab166 100644 (file)
@@ -42,6 +42,8 @@ string = """/*
 
 #include <stdint.h>
 
+#include "config.h"
+#include "errors.h"
 #include "format_pack.h"
 #include "format_utils.h"
 #include "macros.h"
index c8b1b24..87f64cc 100644 (file)
@@ -42,6 +42,7 @@ string = """/*
 
 #include <stdint.h>
 
+#include "errors.h"
 #include "format_unpack.h"
 #include "format_utils.h"
 #include "macros.h"
index 3158075..6959bf0 100644 (file)
@@ -22,6 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include "errors.h"
 #include "format_utils.h"
 #include "glformats.h"
 #include "format_pack.h"
index 378997b..78365ca 100644 (file)
@@ -31,6 +31,7 @@
 #ifndef FORMAT_UTILS_H
 #define FORMAT_UTILS_H
 
+#include "formats.h"
 #include "imports.h"
 #include "macros.h"
 #include "util/rounding.h"
index 8d32757..fdb53af 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 
+#include "errors.h"
 #include "imports.h"
 #include "formats.h"
 #include "macros.h"
index 5c9d826..844f1e2 100644 (file)
@@ -36,6 +36,8 @@
 extern "C" {
 #endif
 
+struct gl_context;
+
 extern void
 _mesa_compute_component_mapping(GLenum inFormat, GLenum outFormat, GLubyte *map);
 
index a6e6b6a..1664882 100644 (file)
 extern "C" {
 #endif
 
+
 /* Custom Mesa types to save space. */
 typedef unsigned short GLenum16;
 typedef unsigned char GLbitfield8;
 typedef unsigned short GLbitfield16;
+typedef GLuint64 GLbitfield64;
 
 typedef int GLclampx;
 
index 71dc915..c585bc5 100644 (file)
@@ -24,6 +24,7 @@
 #include "glspirv.h"
 #include "errors.h"
 #include "shaderobj.h"
+#include "mtypes.h"
 
 #include "compiler/nir/nir.h"
 #include "compiler/spirv/nir_spirv.h"
index 81626ce..cbcd3c0 100644 (file)
 #define GLSPIRV_H
 
 #include "compiler/nir/nir.h"
-#include "mtypes.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
+struct gl_shader;
+
 /**
  * A SPIR-V module contains the raw SPIR-V binary as set by ShaderBinary.
  *
index 306246c..8cd5d02 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef _GLTHREAD_H
 #define _GLTHREAD_H
 
-#include "main/mtypes.h"
-
 /* The size of one batch and the maximum size of one call.
  *
  * This should be as low as possible, so that:
@@ -50,6 +48,7 @@
 #include "util/u_queue.h"
 
 enum marshal_dispatch_cmd_id;
+struct gl_context;
 
 /** A single batch of commands queued up for execution. */
 struct glthread_batch
index d0e575e..9a6d5ed 100644 (file)
@@ -34,6 +34,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include "errors.h"
 #include "glheader.h"
 #include "hash.h"
 #include "util/hash_table.h"
index 02960e3..64f2962 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "glheader.h"
 #include "imports.h"
+#include "c11/threads.h"
 
 /**
  * Magic GLuint object name that gets stored outside of the struct hash_table.
index de4dd0e..b4685b6 100644 (file)
@@ -48,7 +48,6 @@
 #include "util/rounding.h" /* for _mesa_roundeven */
 #include "imports.h"
 #include "context.h"
-#include "mtypes.h"
 #include "version.h"
 
 #ifdef _GNU_SOURCE
index 51fa72c..72ce878 100644 (file)
@@ -41,7 +41,6 @@
 #include <string.h>
 #include "compiler.h"
 #include "glheader.h"
-#include "errors.h"
 #include "util/bitscan.h"
 
 #ifdef __cplusplus
diff --git a/src/mesa/main/menums.h b/src/mesa/main/menums.h
new file mode 100644 (file)
index 0000000..40b16cb
--- /dev/null
@@ -0,0 +1,213 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
+ * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.
+ * Copyright (C) 2018 Advanced Micro Devices, Inc.  All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file menums.h
+ * Often used definitions and enums.
+ */
+
+#ifndef MENUMS_H
+#define MENUMS_H
+
+#include "util/macros.h"
+
+/**
+ * Enum for the OpenGL APIs we know about and may support.
+ *
+ * NOTE: This must match the api_enum table in
+ * src/mesa/main/get_hash_generator.py
+ */
+typedef enum
+{
+   API_OPENGL_COMPAT,      /* legacy / compatibility contexts */
+   API_OPENGLES,
+   API_OPENGLES2,
+   API_OPENGL_CORE,
+   API_OPENGL_LAST = API_OPENGL_CORE
+} gl_api;
+
+/**
+ * An index for each type of texture object.  These correspond to the GL
+ * texture target enums, such as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc.
+ * Note: the order is from highest priority to lowest priority.
+ */
+typedef enum
+{
+   TEXTURE_2D_MULTISAMPLE_INDEX,
+   TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX,
+   TEXTURE_CUBE_ARRAY_INDEX,
+   TEXTURE_BUFFER_INDEX,
+   TEXTURE_2D_ARRAY_INDEX,
+   TEXTURE_1D_ARRAY_INDEX,
+   TEXTURE_EXTERNAL_INDEX,
+   TEXTURE_CUBE_INDEX,
+   TEXTURE_3D_INDEX,
+   TEXTURE_RECT_INDEX,
+   TEXTURE_2D_INDEX,
+   TEXTURE_1D_INDEX,
+   NUM_TEXTURE_TARGETS
+} gl_texture_index;
+
+/**
+ * Remapped color logical operations
+ *
+ * With the exception of NVIDIA hardware, which consumes the OpenGL enumerants
+ * directly, everything wants this mapping of color logical operations.
+ *
+ * Fun fact: These values are just the bit-reverse of the low-nibble of the GL
+ * enumerant values (i.e., `GL_NOOP & 0x0f` is `b0101' while
+ * \c COLOR_LOGICOP_NOOP is `b1010`).
+ *
+ * Fun fact #2: These values are just an encoding of the operation as a table
+ * of bit values. The result of the logic op is:
+ *
+ *    result_bit = (logic_op >> (2 * src_bit + dst_bit)) & 1
+ *
+ * For the GL enums, the result is:
+ *
+ *    result_bit = logic_op & (1 << (2 * src_bit + dst_bit))
+ */
+enum PACKED gl_logicop_mode {
+   COLOR_LOGICOP_CLEAR = 0,
+   COLOR_LOGICOP_NOR = 1,
+   COLOR_LOGICOP_AND_INVERTED = 2,
+   COLOR_LOGICOP_COPY_INVERTED = 3,
+   COLOR_LOGICOP_AND_REVERSE = 4,
+   COLOR_LOGICOP_INVERT = 5,
+   COLOR_LOGICOP_XOR = 6,
+   COLOR_LOGICOP_NAND = 7,
+   COLOR_LOGICOP_AND = 8,
+   COLOR_LOGICOP_EQUIV = 9,
+   COLOR_LOGICOP_NOOP = 10,
+   COLOR_LOGICOP_OR_INVERTED = 11,
+   COLOR_LOGICOP_COPY = 12,
+   COLOR_LOGICOP_OR_REVERSE = 13,
+   COLOR_LOGICOP_OR = 14,
+   COLOR_LOGICOP_SET = 15
+};
+
+/**
+ * Indexes for all renderbuffers
+ */
+typedef enum
+{
+   /* the four standard color buffers */
+   BUFFER_FRONT_LEFT,
+   BUFFER_BACK_LEFT,
+   BUFFER_FRONT_RIGHT,
+   BUFFER_BACK_RIGHT,
+   BUFFER_DEPTH,
+   BUFFER_STENCIL,
+   BUFFER_ACCUM,
+   /* optional aux buffer */
+   BUFFER_AUX0,
+   /* generic renderbuffers */
+   BUFFER_COLOR0,
+   BUFFER_COLOR1,
+   BUFFER_COLOR2,
+   BUFFER_COLOR3,
+   BUFFER_COLOR4,
+   BUFFER_COLOR5,
+   BUFFER_COLOR6,
+   BUFFER_COLOR7,
+   BUFFER_COUNT,
+   BUFFER_NONE = -1,
+} gl_buffer_index;
+
+typedef enum
+{
+   MAP_USER,
+   MAP_INTERNAL,
+   MAP_COUNT
+} gl_map_buffer_index;
+
+/** @{
+ *
+ * These are a mapping of the GL_ARB_debug_output/GL_KHR_debug enums
+ * to small enums suitable for use as an array index.
+ */
+
+enum mesa_debug_source
+{
+   MESA_DEBUG_SOURCE_API,
+   MESA_DEBUG_SOURCE_WINDOW_SYSTEM,
+   MESA_DEBUG_SOURCE_SHADER_COMPILER,
+   MESA_DEBUG_SOURCE_THIRD_PARTY,
+   MESA_DEBUG_SOURCE_APPLICATION,
+   MESA_DEBUG_SOURCE_OTHER,
+   MESA_DEBUG_SOURCE_COUNT
+};
+
+enum mesa_debug_type
+{
+   MESA_DEBUG_TYPE_ERROR,
+   MESA_DEBUG_TYPE_DEPRECATED,
+   MESA_DEBUG_TYPE_UNDEFINED,
+   MESA_DEBUG_TYPE_PORTABILITY,
+   MESA_DEBUG_TYPE_PERFORMANCE,
+   MESA_DEBUG_TYPE_OTHER,
+   MESA_DEBUG_TYPE_MARKER,
+   MESA_DEBUG_TYPE_PUSH_GROUP,
+   MESA_DEBUG_TYPE_POP_GROUP,
+   MESA_DEBUG_TYPE_COUNT
+};
+
+enum mesa_debug_severity
+{
+   MESA_DEBUG_SEVERITY_LOW,
+   MESA_DEBUG_SEVERITY_MEDIUM,
+   MESA_DEBUG_SEVERITY_HIGH,
+   MESA_DEBUG_SEVERITY_NOTIFICATION,
+   MESA_DEBUG_SEVERITY_COUNT
+};
+
+/** @} */
+
+/** Set a single bit */
+#define BITFIELD_BIT(b)      (1u << (b))
+/** Set all bits up to excluding bit b */
+#define BITFIELD_MASK(b)      \
+   ((b) == 32 ? (~0u) : BITFIELD_BIT((b) % 32) - 1)
+/** Set count bits starting from bit b  */
+#define BITFIELD_RANGE(b, count) \
+   (BITFIELD_MASK((b) + (count)) & ~BITFIELD_MASK(b))
+
+
+/**
+ * \name 64-bit extension of GLbitfield.
+ */
+/*@{*/
+
+/** Set a single bit */
+#define BITFIELD64_BIT(b)      (1ull << (b))
+/** Set all bits up to excluding bit b */
+#define BITFIELD64_MASK(b)      \
+   ((b) == 64 ? (~0ull) : BITFIELD64_BIT(b) - 1)
+/** Set count bits starting from bit b  */
+#define BITFIELD64_RANGE(b, count) \
+   (BITFIELD64_MASK((b) + (count)) & ~BITFIELD64_MASK(b))
+
+#endif
index 1ed82c5..9b6eee4 100644 (file)
@@ -27,6 +27,7 @@
  * \file mipmap.c  mipmap generation and teximage resizing functions.
  */
 
+#include "errors.h"
 #include "imports.h"
 #include "formats.h"
 #include "glformats.h"
index 1f108f7..3ec9972 100644 (file)
 #ifndef MIPMAP_H
 #define MIPMAP_H
 
-#include "mtypes.h"
+#include "glheader.h"
+
+struct gl_context;
+struct gl_texture_object;
 
 unsigned
 _mesa_compute_num_levels(struct gl_context *ctx,
index b7a7b34..b65e7b2 100644 (file)
@@ -39,6 +39,7 @@
 #include "c11/threads.h"
 
 #include "main/glheader.h"
+#include "main/menums.h"
 #include "main/config.h"
 #include "glapi/glapi.h"
 #include "math/m_matrix.h"     /* GLmatrix */
 extern "C" {
 #endif
 
-
-/** Set a single bit */
-#define BITFIELD_BIT(b)      ((GLbitfield)1 << (b))
-/** Set all bits up to excluding bit b */
-#define BITFIELD_MASK(b)      \
-   ((b) == 32 ? (~(GLbitfield)0) : BITFIELD_BIT((b) % 32) - 1)
-/** Set count bits starting from bit b  */
-#define BITFIELD_RANGE(b, count) \
-   (BITFIELD_MASK((b) + (count)) & ~BITFIELD_MASK(b))
-
-
-/**
- * \name 64-bit extension of GLbitfield.
- */
-/*@{*/
-typedef GLuint64 GLbitfield64;
-
-/** Set a single bit */
-#define BITFIELD64_BIT(b)      ((GLbitfield64)1 << (b))
-/** Set all bits up to excluding bit b */
-#define BITFIELD64_MASK(b)      \
-   ((b) == 64 ? (~(GLbitfield64)0) : BITFIELD64_BIT(b) - 1)
-/** Set count bits starting from bit b  */
-#define BITFIELD64_RANGE(b, count) \
-   (BITFIELD64_MASK((b) + (count)) & ~BITFIELD64_MASK(b))
-
-
 #define GET_COLORMASK_BIT(mask, buf, chan) (((mask) >> (4 * (buf) + (chan))) & 0x1)
 #define GET_COLORMASK(mask, buf) (((mask) >> (4 * (buf))) & 0xf)
 
@@ -136,34 +110,6 @@ _mesa_varying_slot_in_fs(gl_varying_slot slot)
 }
 
 /**
- * Indexes for all renderbuffers
- */
-typedef enum
-{
-   /* the four standard color buffers */
-   BUFFER_FRONT_LEFT,
-   BUFFER_BACK_LEFT,
-   BUFFER_FRONT_RIGHT,
-   BUFFER_BACK_RIGHT,
-   BUFFER_DEPTH,
-   BUFFER_STENCIL,
-   BUFFER_ACCUM,
-   /* optional aux buffer */
-   BUFFER_AUX0,
-   /* generic renderbuffers */
-   BUFFER_COLOR0,
-   BUFFER_COLOR1,
-   BUFFER_COLOR2,
-   BUFFER_COLOR3,
-   BUFFER_COLOR4,
-   BUFFER_COLOR5,
-   BUFFER_COLOR6,
-   BUFFER_COLOR7,
-   BUFFER_COUNT,
-   BUFFER_NONE = -1,
-} gl_buffer_index;
-
-/**
  * Bit flags for all renderbuffers
  */
 #define BUFFER_BIT_FRONT_LEFT   (1 << BUFFER_FRONT_LEFT)
@@ -417,43 +363,6 @@ union gl_color_union
    GLuint ui[4];
 };
 
-/**
- * Remapped color logical operations
- *
- * With the exception of NVIDIA hardware, which consumes the OpenGL enumerants
- * directly, everything wants this mapping of color logical operations.
- *
- * Fun fact: These values are just the bit-reverse of the low-nibble of the GL
- * enumerant values (i.e., `GL_NOOP & 0x0f` is `b0101' while
- * \c COLOR_LOGICOP_NOOP is `b1010`).
- *
- * Fun fact #2: These values are just an encoding of the operation as a table
- * of bit values. The result of the logic op is:
- *
- *    result_bit = (logic_op >> (2 * src_bit + dst_bit)) & 1
- *
- * For the GL enums, the result is:
- *
- *    result_bit = logic_op & (1 << (2 * src_bit + dst_bit))
- */
-enum PACKED gl_logicop_mode {
-   COLOR_LOGICOP_CLEAR = 0,
-   COLOR_LOGICOP_NOR = 1,
-   COLOR_LOGICOP_AND_INVERTED = 2,
-   COLOR_LOGICOP_COPY_INVERTED = 3,
-   COLOR_LOGICOP_AND_REVERSE = 4,
-   COLOR_LOGICOP_INVERT = 5,
-   COLOR_LOGICOP_XOR = 6,
-   COLOR_LOGICOP_NAND = 7,
-   COLOR_LOGICOP_AND = 8,
-   COLOR_LOGICOP_EQUIV = 9,
-   COLOR_LOGICOP_NOOP = 10,
-   COLOR_LOGICOP_OR_INVERTED = 11,
-   COLOR_LOGICOP_COPY = 12,
-   COLOR_LOGICOP_OR_REVERSE = 13,
-   COLOR_LOGICOP_OR = 14,
-   COLOR_LOGICOP_SET = 15
-};
 
 /**
  * Color buffer attribute group (GL_COLOR_BUFFER_BIT).
@@ -918,29 +827,6 @@ struct gl_stencil_attrib
 
 
 /**
- * An index for each type of texture object.  These correspond to the GL
- * texture target enums, such as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc.
- * Note: the order is from highest priority to lowest priority.
- */
-typedef enum
-{
-   TEXTURE_2D_MULTISAMPLE_INDEX,
-   TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX,
-   TEXTURE_CUBE_ARRAY_INDEX,
-   TEXTURE_BUFFER_INDEX,
-   TEXTURE_2D_ARRAY_INDEX,
-   TEXTURE_1D_ARRAY_INDEX,
-   TEXTURE_EXTERNAL_INDEX,
-   TEXTURE_CUBE_INDEX,
-   TEXTURE_3D_INDEX,
-   TEXTURE_RECT_INDEX,
-   TEXTURE_2D_INDEX,
-   TEXTURE_1D_INDEX,
-   NUM_TEXTURE_TARGETS
-} gl_texture_index;
-
-
-/**
  * Bit flags for each type of texture object
  */
 /*@{*/
@@ -1411,14 +1297,6 @@ struct gl_viewport_attrib
 };
 
 
-typedef enum
-{
-   MAP_USER,
-   MAP_INTERNAL,
-   MAP_COUNT
-} gl_map_buffer_index;
-
-
 /**
  * Fields describing a mapped buffer range.
  */
@@ -1629,22 +1507,6 @@ struct gl_vertex_array_object
 
 
 /**
- * Enum for the OpenGL APIs we know about and may support.
- *
- * NOTE: This must match the api_enum table in
- * src/mesa/main/get_hash_generator.py
- */
-typedef enum
-{
-   API_OPENGL_COMPAT,      /* legacy / compatibility contexts */
-   API_OPENGLES,
-   API_OPENGLES2,
-   API_OPENGL_CORE,
-   API_OPENGL_LAST = API_OPENGL_CORE
-} gl_api;
-
-
-/**
  * Vertex array state
  */
 struct gl_array_attrib
@@ -2113,39 +1975,6 @@ struct gl_bindless_image
 
 
 /**
- * Names of the various vertex/fragment program register files, etc.
- *
- * NOTE: first four tokens must fit into 2 bits (see t_vb_arbprogram.c)
- * All values should fit in a 4-bit field.
- *
- * NOTE: PROGRAM_STATE_VAR, PROGRAM_CONSTANT, and PROGRAM_UNIFORM can all be
- * considered to be "uniform" variables since they can only be set outside
- * glBegin/End.  They're also all stored in the same Parameters array.
- */
-typedef enum
-{
-   PROGRAM_TEMPORARY,   /**< machine->Temporary[] */
-   PROGRAM_ARRAY,       /**< Arrays & Matrixes */
-   PROGRAM_INPUT,       /**< machine->Inputs[] */
-   PROGRAM_OUTPUT,      /**< machine->Outputs[] */
-   PROGRAM_STATE_VAR,   /**< gl_program->Parameters[] */
-   PROGRAM_CONSTANT,    /**< gl_program->Parameters[] */
-   PROGRAM_UNIFORM,     /**< gl_program->Parameters[] */
-   PROGRAM_WRITE_ONLY,  /**< A dummy, write-only register */
-   PROGRAM_ADDRESS,     /**< machine->AddressReg */
-   PROGRAM_SAMPLER,     /**< for shader samplers, compile-time only */
-   PROGRAM_SYSTEM_VALUE,/**< InstanceId, PrimitiveID, etc. */
-   PROGRAM_UNDEFINED,   /**< Invalid/TBD value */
-   PROGRAM_IMMEDIATE,   /**< Immediate value, used by TGSI */
-   PROGRAM_BUFFER,      /**< for shader buffers, compile-time only */
-   PROGRAM_MEMORY,      /**< for shared, global and local memory */
-   PROGRAM_IMAGE,       /**< for shader images, compile-time only */
-   PROGRAM_HW_ATOMIC,   /**< for hw atomic counters, compile-time only */
-   PROGRAM_FILE_MAX
-} gl_register_file;
-
-
-/**
  * Current vertex processing mode: fixed function vs. shader.
  * In reality, fixed function is probably implemented by a shader but that's
  * not what we care about here.
@@ -4531,48 +4360,6 @@ struct gl_dlist_state
    } Current;
 };
 
-/** @{
- *
- * These are a mapping of the GL_ARB_debug_output/GL_KHR_debug enums
- * to small enums suitable for use as an array index.
- */
-
-enum mesa_debug_source
-{
-   MESA_DEBUG_SOURCE_API,
-   MESA_DEBUG_SOURCE_WINDOW_SYSTEM,
-   MESA_DEBUG_SOURCE_SHADER_COMPILER,
-   MESA_DEBUG_SOURCE_THIRD_PARTY,
-   MESA_DEBUG_SOURCE_APPLICATION,
-   MESA_DEBUG_SOURCE_OTHER,
-   MESA_DEBUG_SOURCE_COUNT
-};
-
-enum mesa_debug_type
-{
-   MESA_DEBUG_TYPE_ERROR,
-   MESA_DEBUG_TYPE_DEPRECATED,
-   MESA_DEBUG_TYPE_UNDEFINED,
-   MESA_DEBUG_TYPE_PORTABILITY,
-   MESA_DEBUG_TYPE_PERFORMANCE,
-   MESA_DEBUG_TYPE_OTHER,
-   MESA_DEBUG_TYPE_MARKER,
-   MESA_DEBUG_TYPE_PUSH_GROUP,
-   MESA_DEBUG_TYPE_POP_GROUP,
-   MESA_DEBUG_TYPE_COUNT
-};
-
-enum mesa_debug_severity
-{
-   MESA_DEBUG_SEVERITY_LOW,
-   MESA_DEBUG_SEVERITY_MEDIUM,
-   MESA_DEBUG_SEVERITY_HIGH,
-   MESA_DEBUG_SEVERITY_NOTIFICATION,
-   MESA_DEBUG_SEVERITY_COUNT
-};
-
-/** @} */
-
 /**
  * Driver-specific state flags.
  *
index 94a6d28..64ad115 100644 (file)
@@ -42,6 +42,7 @@
 #endif
 
 
+#include "errors.h"
 #include "glheader.h"
 #include "enums.h"
 #include "image.h"
index ac0a099..8625a14 100644 (file)
 #define PACK_H
 
 
-#include "mtypes.h"
+#include "glheader.h"
 
+struct gl_context;
+struct gl_pixelstore_attrib;
 
 extern void
 _mesa_unpack_polygon_stipple(const GLubyte *pattern, GLuint dest[32],
index 7762324..cea55f2 100644 (file)
@@ -31,6 +31,7 @@
 
 
 
+#include "errors.h"
 #include "glheader.h"
 #include "bufferobj.h"
 #include "glformats.h"
index b3f24e6..bc76417 100644 (file)
 #define PBO_H
 
 
-#include "mtypes.h"
+#include "glheader.h"
 
+struct gl_context;
+struct gl_pixelstore_attrib;
 
 extern GLboolean
 _mesa_validate_pbo_access(GLuint dimensions,
index b0a301f..caa2911 100644 (file)
@@ -28,7 +28,9 @@
 #define PIXELTRANSFER_H
 
 
-#include "mtypes.h"
+#include "glheader.h"
+
+struct gl_context;
 
 
 extern void
index 18361c9..b80bae6 100644 (file)
@@ -17,6 +17,7 @@
 #include "glheader.h"
 #include "querymatrix.h"
 #include "main/get.h"
+#include "util/macros.h"
 
 
 /**
index e08d843..6492189 100644 (file)
@@ -25,7 +25,7 @@
 #define QUERYMATRIX_H
 
 
-#include "mtypes.h"
+#include "glheader.h"
 
 
 /*
index 6dc4235..fa412c0 100644 (file)
@@ -44,6 +44,7 @@
 
 #define need_MESA_remap_table
 #include "main/remap_helper.h"
+#include "errors.h"
 
 
 /* this is global for quick access */
index f9a6462..3f568e1 100644 (file)
@@ -27,7 +27,7 @@
 #define RENDERBUFFER_H
 
 #include "glheader.h"
-#include "mtypes.h"
+#include "menums.h"
 
 #ifdef __cplusplus
 extern "C" {
index 6712bb4..86064a9 100644 (file)
@@ -29,7 +29,6 @@
  */
 
 #include "main/context.h"
-#include "main/core.h"
 #include "main/enums.h"
 #include "main/shaderapi.h"
 #include "main/shaderobj.h"
index 7915248..dbfd68f 100644 (file)
@@ -29,7 +29,7 @@
 
 
 #include "glheader.h"
-
+#include "compiler/shader_enums.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -38,6 +38,11 @@ extern "C" {
 
 struct _glapi_table;
 struct gl_context;
+struct gl_linked_shader;
+struct gl_pipeline_object;
+struct gl_program;
+struct gl_program_resource;
+struct gl_shader;
 struct gl_shader_program;
 
 extern GLbitfield
index fedb4dc..c7ccc54 100644 (file)
 
 
 #include "main/glheader.h"
-#include "main/mtypes.h"
+#include "compiler/shader_enums.h"
 #include "program/ir_to_mesa.h"
+#include "util/macros.h"
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_shader_program_data;
+struct gl_linked_shader;
+struct dd_function_table;
+struct gl_pipeline_object;
 
 /**
  * Internal functions
index 26e5915..fd37be9 100644 (file)
@@ -34,6 +34,7 @@
 #include "texstore.h"
 #include "macros.h"
 #include "image.h"
+#include "mtypes.h"
 
 #define BLOCK_SIZE 4
 #define N_PARTITIONS 64
index faeaae9..099787b 100644 (file)
@@ -41,6 +41,7 @@
 #include "texcompress.h"
 #include "texcompress_etc.h"
 #include "texstore.h"
+#include "config.h"
 #include "macros.h"
 #include "format_unpack.h"
 #include "util/format_srgb.h"
index c5646fb..19df6ba 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 
+#include "errors.h"
 #include "glheader.h"
 #include "imports.h"
 #include "image.h"
@@ -37,6 +38,7 @@
 #include "texcompress.h"
 #include "texcompress_fxt1.h"
 #include "texstore.h"
+#include "mtypes.h"
 
 
 static void
index 8cab7a5..843b42e 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 
+#include "config.h"
 #include "glheader.h"
 #include "imports.h"
 #include "image.h"
index dbac1fe..743e6b7 100644 (file)
@@ -33,7 +33,6 @@
 
 
 #include "glheader.h"
-#include "mtypes.h"
 #include "samplerobj.h"
 
 
index 3314e55..31163f6 100644 (file)
@@ -51,6 +51,7 @@
  */
 
 
+#include "errors.h"
 #include "glheader.h"
 #include "bufferobj.h"
 #include "format_pack.h"
index b8281c5..2fef7ba 100644 (file)
 #define TEXSTORE_H
 
 
-#include "mtypes.h"
+#include "glheader.h"
 #include "formats.h"
+#include "util/macros.h"
 
+struct gl_context;
+struct gl_pixelstore_attrib;
+struct gl_texture_image;
 
 /**
  * This macro defines the (many) parameters to the texstore functions.
index 8a9fff6..ac97e95 100644 (file)
 #ifndef TEXTUREBINDLESS_H
 #define TEXTUREBINDLESS_H
 
-#include "mtypes.h"
+#include "glheader.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
+
 /**
  * \name Internal functions
  */
index f901fcb..de594fc 100644 (file)
@@ -26,8 +26,8 @@
 
 #include <stdlib.h>
 #include <inttypes.h>  /* for PRIx64 macro */
+#include <math.h>
 
-#include "main/core.h"
 #include "main/context.h"
 #include "main/shaderapi.h"
 #include "main/shaderobj.h"
index 77027be..25d2a29 100644 (file)
@@ -27,8 +27,6 @@
 #ifndef VARRAY_H
 #define VARRAY_H
 
-
-#include "mtypes.h"
 #include "bufferobj.h"
 
 
index adfec6f..4469509 100644 (file)
 #ifndef VERSION_H
 #define VERSION_H
 
-#include "mtypes.h"
+#include <stdbool.h>
+#include "glheader.h"
+#include "menums.h"
 
+struct gl_context;
+struct gl_constants;
+struct gl_extensions;
 
 extern GLuint
 _mesa_get_version(const struct gl_extensions *extensions,
index 4f8bc9c..20fc466 100644 (file)
 #ifndef _VTXFMT_H_
 #define _VTXFMT_H_
 
-#include "mtypes.h"
+#include "dd.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
+
 extern void _mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
 extern void _mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
 extern void _mesa_initialize_vbo_vtxfmt(struct gl_context *ctx);
index 493d0e5..57a4953 100644 (file)
@@ -35,6 +35,7 @@
 
 
 #include "c99_math.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/macros.h"
index d2d058b..7bfd196 100644 (file)
@@ -106,7 +106,6 @@ files_libmesa_common = files(
   'main/convolve.h',
   'main/copyimage.c',
   'main/copyimage.h',
-  'main/core.h',
   'main/cpuinfo.c',
   'main/cpuinfo.h',
   'main/dd.h',
@@ -190,6 +189,7 @@ files_libmesa_common = files(
   'main/mipmap.h',
   'main/mm.c',
   'main/mm.h',
+  'main/menums.h',
   'main/mtypes.h',
   'main/multisample.c',
   'main/multisample.h',
index 9714f50..7a4911c 100644 (file)
@@ -33,6 +33,8 @@ extern "C" {
 struct gl_context;
 struct gl_shader;
 struct gl_shader_program;
+struct gl_linked_shader;
+struct gl_program_parameter_list;
 
 void _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
 GLboolean _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog);
index b5a7a69..c50465d 100644 (file)
 
 
 #include "c99_math.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
+#include "main/mtypes.h"
 #include "prog_execute.h"
 #include "prog_instruction.h"
 #include "prog_parameter.h"
index 3603e3b..ef04087 100644 (file)
 #define PROG_EXECUTE_H
 
 #include "main/config.h"
-#include "main/mtypes.h"
+#include "main/glheader.h"
+#include "compiler/shader_enums.h"
 
+struct gl_context;
 
 typedef void (*FetchTexelLodFunc)(struct gl_context *ctx, const GLfloat texcoord[4],
                                   GLfloat lambda, GLuint unit, GLfloat color[4]);
index 9f03867..91830d8 100644 (file)
@@ -26,8 +26,8 @@
 
 #include "main/glheader.h"
 #include "main/imports.h"
-#include "main/mtypes.h"
 #include "prog_instruction.h"
+#include "prog_parameter.h"
 
 
 /**
index 8e36a1c..cc551c1 100644 (file)
@@ -31,7 +31,6 @@
 #ifndef PROG_PARAMETER_H
 #define PROG_PARAMETER_H
 
-#include "main/mtypes.h"
 #include "prog_statevars.h"
 
 #include <string.h>
 extern "C" {
 #endif
 
+/**
+ * Names of the various vertex/fragment program register files, etc.
+ *
+ * NOTE: first four tokens must fit into 2 bits (see t_vb_arbprogram.c)
+ * All values should fit in a 4-bit field.
+ *
+ * NOTE: PROGRAM_STATE_VAR, PROGRAM_CONSTANT, and PROGRAM_UNIFORM can all be
+ * considered to be "uniform" variables since they can only be set outside
+ * glBegin/End.  They're also all stored in the same Parameters array.
+ */
+typedef enum
+{
+   PROGRAM_TEMPORARY,   /**< machine->Temporary[] */
+   PROGRAM_ARRAY,       /**< Arrays & Matrixes */
+   PROGRAM_INPUT,       /**< machine->Inputs[] */
+   PROGRAM_OUTPUT,      /**< machine->Outputs[] */
+   PROGRAM_STATE_VAR,   /**< gl_program->Parameters[] */
+   PROGRAM_CONSTANT,    /**< gl_program->Parameters[] */
+   PROGRAM_UNIFORM,     /**< gl_program->Parameters[] */
+   PROGRAM_WRITE_ONLY,  /**< A dummy, write-only register */
+   PROGRAM_ADDRESS,     /**< machine->AddressReg */
+   PROGRAM_SAMPLER,     /**< for shader samplers, compile-time only */
+   PROGRAM_SYSTEM_VALUE,/**< InstanceId, PrimitiveID, etc. */
+   PROGRAM_UNDEFINED,   /**< Invalid/TBD value */
+   PROGRAM_IMMEDIATE,   /**< Immediate value, used by TGSI */
+   PROGRAM_BUFFER,      /**< for shader buffers, compile-time only */
+   PROGRAM_MEMORY,      /**< for shared, global and local memory */
+   PROGRAM_IMAGE,       /**< for shader images, compile-time only */
+   PROGRAM_HW_ATOMIC,   /**< for hw atomic counters, compile-time only */
+   PROGRAM_FILE_MAX
+} gl_register_file;
+
 
 /**
  * Actual data for constant values of parameters.
index 98a43e6..89fc423 100644 (file)
@@ -29,7 +29,7 @@
 #include <stdio.h>
 
 #include "main/glheader.h"
-#include "main/mtypes.h"
+#include "prog_parameter.h"
 
 
 #ifdef __cplusplus
index 3ee44ce..cd874e4 100644 (file)
@@ -27,6 +27,7 @@
 #include "compiler/nir/nir_builder.h"
 #include "compiler/glsl/list.h"
 #include "main/imports.h"
+#include "main/mtypes.h"
 #include "util/ralloc.h"
 
 #include "prog_to_nir.h"
index 659385f..49e888e 100644 (file)
@@ -40,7 +40,7 @@
 #ifndef PROGRAM_H
 #define PROGRAM_H
 
-#include "main/mtypes.h"
+#include "prog_parameter.h"
 
 
 #ifdef __cplusplus
index 9b63764..415ff2a 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "main/errors.h"
 #include "main/mtypes.h"
 #include "main/imports.h"
 #include "program/program.h"
index 5d70e57..70a820a 100644 (file)
 #ifndef PROGRAMOPT_H
 #define PROGRAMOPT_H 1
 
-#include "main/mtypes.h"
+#include "main/glheader.h"
+#include "prog_parameter.h"
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct gl_context;
+struct gl_program;
 
 extern void
 _mesa_insert_mvp_code(struct gl_context *ctx, struct gl_program *vprog);
index f5dacbb..e01faa5 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include "main/imports.h"
+#include "main/errors.h"
 #include "symbol_table.h"
 #include "../../util/hash_table.h"
 #include "util/u_string.h"
index 3b2beaf..6ddb8f5 100644 (file)
@@ -41,7 +41,6 @@
 #include "pipe/p_defines.h"
 #include "cso_cache/cso_context.h"
 
-#include "main/core.h"
 #include "main/stencil.h"
 
 
index c41ed2b..b25ae5f 100644 (file)
@@ -30,6 +30,7 @@
   *   Brian Paul
   */
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/bufferobj.h"
index 044916b..5ebe94f 100644 (file)
@@ -33,6 +33,7 @@
 
 #include <inttypes.h>  /* for PRId64 macro */
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/mtypes.h"
 #include "main/arrayobj.h"
index 6867718..fbc577a 100644 (file)
@@ -33,6 +33,7 @@
   *   Michel Dänzer
   */
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/accum.h"
 #include "main/formats.h"
index 471eb19..bb73644 100644 (file)
@@ -30,6 +30,7 @@
   *   Brian Paul
   */
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/bufferobj.h"
index 628e4af..8cc8e08 100644 (file)
@@ -28,6 +28,7 @@
 #include <stdio.h>
 #include "main/bufferobj.h"
 #include "main/enums.h"
+#include "main/errors.h"
 #include "main/fbobject.h"
 #include "main/formats.h"
 #include "main/format_utils.h"
index 8011d0f..6243659 100644 (file)
@@ -36,6 +36,7 @@
  */
 
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/bufferobj.h"
index f2aa800..3f10587 100644 (file)
@@ -26,6 +26,7 @@
  **************************************************************************/
 
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/mipmap.h"
 #include "main/teximage.h"
index 19dde16..c482828 100644 (file)
 #ifndef ST_GLSL_TO_TGSI_PRIVATE_H
 #define ST_GLSL_TO_TGSI_PRIVATE_H
 
-#include <mesa/main/mtypes.h>
-#include <compiler/glsl_types.h>
-#include <compiler/glsl/ir.h>
-#include <tgsi/tgsi_info.h>
+#include "mesa/main/mtypes.h"
+#include "program/prog_parameter.h"
+#include "compiler/glsl_types.h"
+#include "compiler/glsl/ir.h"
+#include "tgsi/tgsi_info.h"
 #include <ostream>
 
 int swizzle_for_size(int size);
index 1a1ea79..162dcc2 100644 (file)
@@ -28,7 +28,7 @@
 #ifndef ST_MANAGER_H
 #define ST_MANAGER_H
 
-#include "main/mtypes.h"
+#include "main/menums.h"
 
 #include "pipe/p_compiler.h"
 
index 3f8df31..fe72dda 100644 (file)
@@ -31,6 +31,7 @@
   */
 
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/hash.h"
 #include "main/mtypes.h"
index 0c12a63..9480d9e 100644 (file)
@@ -25,6 +25,7 @@
  *    Keith Whitwell <keithw@vmware.com> Brian Paul
  */
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/bufferobj.h"
 #include "main/mtypes.h"
index 8b0bdf8..33da09b 100644 (file)
@@ -24,6 +24,7 @@
 
 
 #include "c99_math.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 
index 9bc1f22..87b72e8 100644 (file)
@@ -32,6 +32,7 @@
  */
 
 #include "c99_math.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/format_pack.h"
 #include "main/format_unpack.h"
index 294b593..7a4dc45 100644 (file)
@@ -28,7 +28,6 @@
 #include "main/imports.h"
 #include "main/format_pack.h"
 #include "main/format_unpack.h"
-#include "main/core.h"
 #include "main/stencil.h"
 
 #include "s_context.h"
index e2c3c08..fec8728 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 
+#include "main/errors.h"
 #include "main/macros.h"
 #include "main/texcompress.h"
 #include "main/texcompress_fxt1.h"
index 34b8eb1..2472aa7 100644 (file)
@@ -22,6 +22,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 #include "main/imports.h"
index d285124..09a8a3d 100644 (file)
@@ -48,6 +48,7 @@
 
 #include <stdio.h>
 #include "main/bufferobj.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/mtypes.h"
index 5489ed6..c224a41 100644 (file)
@@ -27,6 +27,7 @@
 
 
 #include "c99_math.h"
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 #include "main/imports.h"
index a13262d..bd58532 100644 (file)
@@ -34,6 +34,7 @@
  * including any use thereof or modifications thereto.
  */
 
+#include "main/errors.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 #include "main/imports.h"
index 45052a3..e506aee 100644 (file)
@@ -33,6 +33,9 @@
 struct gl_vertex_array;
 struct gl_context;
 struct gl_program;
+struct gl_buffer_object;
+struct gl_transform_feedback_object;
+struct dd_function_table;
 
 
 /* These are the public-access functions exported from tnl.  (A few
index 0592d84..165734b 100644 (file)
@@ -32,8 +32,6 @@
 #ifndef VBO_ATTRIB_H
 #define VBO_ATTRIB_H
 
-#include "main/mtypes.h"
-
 /*
  * Note: The first 32 attributes match the VERT_ATTRIB_* definitions.
  * However, we have extra attributes for storing per-vertex glMaterial
index f698fd0..ada78ff 100644 (file)
@@ -26,7 +26,7 @@
  */
 
 #include "c99_alloca.h"
-#include "main/mtypes.h"
+#include "main/errors.h"
 #include "main/bufferobj.h"
 #include "math/m_eval.h"
 #include "main/vtxfmt.h"
index b23747a..357ec1d 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "main/glheader.h"
 #include "main/arrayobj.h"
-#include "main/mtypes.h"
 #include "main/api_arrayelt.h"
 #include "main/vtxfmt.h"
 #include "vbo_private.h"
index 853fc68..1170883 100644 (file)
@@ -34,8 +34,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #ifndef VBO_EXEC_H
 #define VBO_EXEC_H
 
-
-#include "main/mtypes.h"
+#include "main/dd.h"
 #include "main/imports.h"
 #include "vbo.h"
 #include "vbo_attrib.h"
index 8aa17ce..0ca1bfa 100644 (file)
@@ -26,9 +26,9 @@
 #ifndef VBO_NOOP_H
 #define VBO_NOOP_H
 
+#include "main/dd.h"
 
-#include "main/mtypes.h"
-
+struct _glapi_table;
 
 extern void
 _mesa_noop_vtxfmt_init(GLvertexformat *vfmt);
index f170347..a3c65f4 100644 (file)
@@ -28,6 +28,7 @@
  *
  */
 
+#include "main/errors.h"
 #include "main/imports.h"
 #include "main/macros.h"
 #include "main/varray.h"
index 7cc64ec..589c61d 100644 (file)
@@ -35,7 +35,6 @@
 #include "vbo/vbo_attrib.h"
 #include "vbo/vbo_exec.h"
 #include "vbo/vbo_save.h"
-#include "main/mtypes.h"
 #include "main/varray.h"
 
 
index 3619641..73bc49a 100644 (file)
@@ -26,7 +26,6 @@
  */
 
 
-#include "main/mtypes.h"
 #include "main/arrayobj.h"
 #include "main/bufferobj.h"
 
index b158c07..2a19224 100644 (file)
@@ -34,7 +34,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #ifndef VBO_SAVE_H
 #define VBO_SAVE_H
 
-#include "main/mtypes.h"
 #include "vbo.h"
 #include "vbo_attrib.h"
 
index 096e43c..f4b2c80 100644 (file)
@@ -32,7 +32,6 @@
 #include "main/bufferobj.h"
 #include "main/context.h"
 #include "main/imports.h"
-#include "main/mtypes.h"
 #include "main/macros.h"
 #include "main/light.h"
 #include "main/state.h"
index f1a93d6..36b1f71 100644 (file)
@@ -30,7 +30,6 @@
 #include "main/glheader.h"
 #include "main/enums.h"
 #include "main/imports.h"
-#include "main/mtypes.h"
 #include "main/dispatch.h"
 #include "glapi/glapi.h"
 
index de8978b..500540b 100644 (file)
@@ -75,7 +75,6 @@
 #include "ralloc.h"
 #include "main/imports.h"
 #include "main/macros.h"
-#include "main/mtypes.h"
 #include "util/bitset.h"
 #include "register_allocate.h"
 
index 77aa14c..f7683a6 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "util/mesa-sha1.h"
 #include "util/ralloc.h"
+#include <string.h>
 
 #define STRING_CONF_MAXLEN 25