aboutsummaryrefslogtreecommitdiff
path: root/mesalib
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib')
-rw-r--r--mesalib/Makefile.am2
-rw-r--r--mesalib/configure.ac7
-rw-r--r--mesalib/docs/GL3.txt180
-rw-r--r--mesalib/docs/relnotes/10.0.html1
-rw-r--r--mesalib/include/GL/gl.h31
-rw-r--r--mesalib/include/GL/osmesa.h5
-rw-r--r--mesalib/scons/gallium.py2
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_format.h3
-rw-r--r--mesalib/src/glsl/lower_packed_varyings.cpp7
-rw-r--r--mesalib/src/mesa/Makefile.am39
-rw-r--r--mesalib/src/mesa/main/compiler.h66
-rw-r--r--mesalib/src/mesa/main/glheader.h16
-rw-r--r--mesalib/src/mesa/main/shaderapi.c2
-rw-r--r--mesalib/src/mesa/math/m_clip_tmp.h12
-rw-r--r--mesalib/src/mesa/math/m_debug_util.h2
-rw-r--r--mesalib/src/mesa/program/Makefile.am45
-rw-r--r--mesalib/src/mesa/x86/assyntax.h8
17 files changed, 150 insertions, 278 deletions
diff --git a/mesalib/Makefile.am b/mesalib/Makefile.am
index 343badef4..361fb5122 100644
--- a/mesalib/Makefile.am
+++ b/mesalib/Makefile.am
@@ -64,7 +64,7 @@ IGNORE_FILES = \
parsers: configure
$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h
- $(MAKE) -C src/mesa/program lex.yy.c program_parse.tab.c program_parse.tab.h
+ $(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
# Everything for new a Mesa release:
ARCHIVES = $(PACKAGE_NAME).tar.gz \
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index 0a250471e..a8366ee2f 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -14,10 +14,6 @@ AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([foreign])
-dnl http://people.gnome.org/~walters/docs/build-api.txt
-dnl We don't support srcdir != builddir.
-echo \#buildapi-variable-no-builddir >/dev/null
-
# Support silent build rules, requires at least automake-1.11. Disable
# by either passing --disable-silent-rules to configure or passing V=1
# to make
@@ -974,7 +970,7 @@ if test "x$enable_dri" = xyes; then
;;
esac
;;
- freebsd* | dragonfly* | *netbsd* | openbsd*)
+ *freebsd* | dragonfly* | *netbsd* | openbsd*)
DEFINES="$DEFINES -DHAVE_PTHREAD -DUSE_EXTERNAL_DXTN_LIB=1"
DEFINES="$DEFINES -DHAVE_ALIAS"
@@ -2096,7 +2092,6 @@ AC_CONFIG_FILES([Makefile
src/mesa/drivers/x11/Makefile
src/mesa/main/tests/Makefile
src/mesa/main/tests/hash_table/Makefile
- src/mesa/program/Makefile
src/mesa/x86-64/Makefile
src/mesa/x86/Makefile])
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index ff28ea6a8..7d100dff1 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -20,45 +20,45 @@ Feature Status
GL 3.0:
-GLSL 1.30 DONE
+GLSL 1.30 DONE (i965, r600, radeonsi)
glBindFragDataLocation, glGetFragDataLocation DONE
-Conditional rendering (GL_NV_conditional_render) DONE (i965, r300, r600, swrast)
-Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r300, r600, swrast)
-Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r300, r600)
-Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r300, r600)
-GL_EXT_packed_float DONE (i965, r600)
-GL_EXT_texture_shared_exponent DONE (i965, r600, swrast)
-Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600)
-Framebuffer objects (GL_ARB_framebuffer_object) DONE (i965, r300, r600, swrast)
-Half-float DONE
-Non-normalized Integer texture/framebuffer formats DONE (i965, r600)
-1D/2D Texture arrays DONE
-Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, swrast)
-GL_EXT_texture_compression_rgtc DONE (i965, r300, r600, swrast)
-Red and red/green texture formats DONE (i965, swrast, gallium)
-Transform feedback (GL_EXT_transform_feedback) DONE (i965, r600)
-Vertex array objects (GL_APPLE_vertex_array_object) DONE (i965, r300, r600, swrast)
-sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600)
+Conditional rendering (GL_NV_conditional_render) DONE (i965, r300, r600, radeonsi, swrast)
+Map buffer subranges (GL_ARB_map_buffer_range) DONE (i965, r300, r600, radeonsi, swrast)
+Clamping controls (GL_ARB_color_buffer_float) DONE (i965, r300, r600, radeonsi)
+Float textures, renderbuffers (GL_ARB_texture_float) DONE (i965, r300, r600, radeonsi)
+GL_EXT_packed_float DONE (i965, r600, radeonsi)
+GL_EXT_texture_shared_exponent DONE (i965, r600, radeonsi, swrast)
+Float depth buffers (GL_ARB_depth_buffer_float) DONE (i965, r600, radeonsi)
+Framebuffer objects (GL_ARB_framebuffer_object) DONE (i965, r300, r600, radeonsi, swrast)
+Half-float DONE (i965, r300, r600, radeonsi, swrast)
+Non-normalized Integer texture/framebuffer formats DONE (i965, r600, radeonsi)
+1D/2D Texture arrays DONE (i965, r600, radeonsi)
+Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE (i965, r600, radeonsi, swrast)
+GL_EXT_texture_compression_rgtc DONE (i965, r300, r600, radeonsi, swrast)
+Red and red/green texture formats DONE (i965, r300, r600, radeonsi, swrast)
+Transform feedback (GL_EXT_transform_feedback) DONE (i965, r600, radeonsi)
+Vertex array objects (GL_APPLE_vertex_array_object) DONE (all drivers)
+sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600, radeonsi)
glClearBuffer commands DONE
glGetStringi command DONE
glTexParameterI, glGetTexParameterI commands DONE
glVertexAttribI commands DONE
-Depth format cube textures DONE
+Depth format cube textures DONE (i965, r600, radeonsi)
GLX_ARB_create_context (GLX 1.4 is required) DONE
GL 3.1:
-GLSL 1.40 DONE (i965, r600)
-Forward compatibile context support/deprecations DONE (i965, r600)
-Instanced drawing (GL_ARB_draw_instanced) DONE (i965, gallium, swrast)
-Buffer copying (GL_ARB_copy_buffer) DONE (i965, r300, r600, swrast)
-Primitive restart (GL_NV_primitive_restart) DONE (i965, r600)
-16 vertex texture image units DONE
-Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts (i965, r600)
-Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r300, r600, swrast)
-Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE (i965, r600, swrast)
-Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r300, r600)
+GLSL 1.40 DONE (i965, r600, radeonsi)
+Forward compatible context support/deprecations DONE (i965, r600, radeonsi)
+Instanced drawing (GL_ARB_draw_instanced) DONE (i965, r600, radeonsi, swrast)
+Buffer copying (GL_ARB_copy_buffer) DONE (i965, r300, r600, radeonsi, swrast)
+Primitive restart (GL_NV_primitive_restart) DONE (i965, r300, r600, radeonsi)
+16 vertex texture image units DONE (i965, r600, radeonsi)
+Texture buffer objs (GL_ARB_texture_buffer_object) DONE for OpenGL 3.1 contexts (i965, r600, radeonsi)
+Rectangular textures (GL_ARB_texture_rectangle) DONE (i965, r300, r600, radeonsi, swrast)
+Uniform buffer objs (GL_ARB_uniform_buffer_object) DONE (i965, r600, radeonsi, swrast)
+Signed normalized textures (GL_EXT_texture_snorm) DONE (i965, r300, r600, radeonsi)
GL 3.2:
@@ -66,54 +66,54 @@ GL 3.2:
Core/compatibility profiles DONE
GLSL 1.50 DONE (i965)
Geometry shaders DONE (i965)
-BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r300, r600, swrast)
-Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r300, r600, swrast)
-Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, swrast)
-Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r300, r600, swrast)
-Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600)
-Multisample textures (GL_ARB_texture_multisample) DONE (i965, r600)
-Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast)
-Fence objects (GL_ARB_sync) DONE (i965, r300, r600, swrast)
+BGRA vertex order (GL_ARB_vertex_array_bgra) DONE (i965, r300, r600, radeonsi, swrast)
+Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE (i965, r300, r600, radeonsi, swrast)
+Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (i965, r300, r600, radeonsi, swrast)
+Provoking vertex (GL_ARB_provoking_vertex) DONE (i965, r300, r600, radeonsi, swrast)
+Seamless cubemaps (GL_ARB_seamless_cube_map) DONE (i965, r600, radeonsi)
+Multisample textures (GL_ARB_texture_multisample) DONE (i965, r600, radeonsi)
+Frag depth clamp (GL_ARB_depth_clamp) DONE (i965, r600, swrast, radeonsi)
+Fence objects (GL_ARB_sync) DONE (i965, r300, r600, radeonsi, swrast)
GLX_ARB_create_context_profile DONE
GL 3.3:
GLSL 3.30 DONE (i965)
-GL_ARB_blend_func_extended DONE (i965, r600, softpipe)
-GL_ARB_explicit_attrib_location DONE (i915, i965, r300, r600, swrast)
-GL_ARB_occlusion_query2 DONE (i965, r300, r600, swrast)
-GL_ARB_sampler_objects DONE (i965, r300, r600)
-GL_ARB_shader_bit_encoding DONE
-GL_ARB_texture_rgb10_a2ui DONE (i965, r600)
-GL_ARB_texture_swizzle DONE (same as EXT version) (i965, r300, r600, swrast)
-GL_ARB_timer_query DONE (i965, r600)
-GL_ARB_instanced_arrays DONE (i965, r300, r600)
-GL_ARB_vertex_type_2_10_10_10_rev DONE (i965, r600)
+GL_ARB_blend_func_extended DONE (i965, r600, radeonsi, softpipe)
+GL_ARB_explicit_attrib_location DONE (i915, i965, r300, r600, radeonsi, swrast)
+GL_ARB_occlusion_query2 DONE (i965, r300, r600, radeonsi, swrast)
+GL_ARB_sampler_objects DONE (i965, r300, r600, radeonsi)
+GL_ARB_shader_bit_encoding DONE (i965, r600, radeonsi)
+GL_ARB_texture_rgb10_a2ui DONE (i965, r600, radeonsi)
+GL_ARB_texture_swizzle DONE (i965, r300, r600, radeonsi, swrast)
+GL_ARB_timer_query DONE (i965, r600, radeonsi)
+GL_ARB_instanced_arrays DONE (i965, r300, r600, radeonsi)
+GL_ARB_vertex_type_2_10_10_10_rev DONE (i965, r600, radeonsi)
GL 4.0:
GLSL 4.0 not started
GL_ARB_texture_query_lod DONE (i965)
-GL_ARB_draw_buffers_blend DONE (i965, r600, softpipe)
+GL_ARB_draw_buffers_blend DONE (i965, r600, radeonsi, softpipe)
GL_ARB_draw_indirect started (Christoph)
GL_ARB_gpu_shader5 started
GL_ARB_gpu_shader_fp64 not started
-GL_ARB_sample_shading started (Anuj)
+GL_ARB_sample_shading DONE (i965)
GL_ARB_shader_subroutine not started
GL_ARB_tessellation_shader not started
-GL_ARB_texture_buffer_object_rgb32 DONE (i965, softpipe)
-GL_ARB_texture_cube_map_array DONE (i965, softpipe)
+GL_ARB_texture_buffer_object_rgb32 DONE (i965, r600, radeonsi, softpipe)
+GL_ARB_texture_cube_map_array DONE (i965, r600, softpipe)
GL_ARB_texture_gather DONE (i965)
-GL_ARB_transform_feedback2 DONE
-GL_ARB_transform_feedback3 DONE
+GL_ARB_transform_feedback2 DONE (r600, radeonsi)
+GL_ARB_transform_feedback3 DONE (r600, radeonsi)
GL 4.1:
GLSL 4.1 not started
-GL_ARB_ES2_compatibility DONE (i965, r300, r600)
+GL_ARB_ES2_compatibility DONE (i965, r300, r600, radeonsi)
GL_ARB_get_program_binary DONE (0 binary formats)
GL_ARB_separate_shader_objects some infrastructure done
GL_ARB_shader_precision not started
@@ -127,55 +127,55 @@ GLSL 4.2 not started
GL_ARB_texture_compression_bptc not started
GL_ARB_compressed_texture_pixel_storage not started
GL_ARB_shader_atomic_counters in progress (Curro)
-GL_ARB_texture_storage DONE (i965, r300, r600, swrast, gallium)
-GL_ARB_transform_feedback_instanced DONE
+GL_ARB_texture_storage DONE (all drivers)
+GL_ARB_transform_feedback_instanced DONE (r600, radeonsi)
GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi)
GL_ARB_shader_image_load_store not started
-GL_ARB_conservative_depth DONE (i965, softpipe)
-GL_ARB_shading_language_420pack DONE (i965, gallium)
-GL_ARB_internalformat_query DONE (i965, gallium)
+GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
+GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
+GL_ARB_internalformat_query DONE (i965, r300, r600, radeonsi)
GL_ARB_map_buffer_alignment DONE (r300, r600, radeonsi)
GL 4.3:
GLSL 4.3 not started
-ARB_arrays_of_arrays not started
-ARB_ES3_compatibility DONE (i965)
-ARB_clear_buffer_object not started
-ARB_compute_shader started (gallium)
-ARB_copy_image not started
-KHR_debug DONE
-ARB_explicit_uniform_location not started
-ARB_fragment_layer_viewport not started
-ARB_framebuffer_no_attachments not started
-ARB_internalformat_query2 not started
-ARB_invalidate_subdata not started
-ARB_multi_draw_indirect not started
-ARB_program_interface_query not started
-ARB_robust_buffer_access_behavior not started
-ARB_shader_image_size not started
-ARB_shader_storage_buffer_object not started
-ARB_stencil_texturing not started
-ARB_texture_buffer_range DONE (nv50, nvc0, i965)
-ARB_texture_query_levels DONE (i965)
-ARB_texture_storage_multisample DONE (i965)
-ARB_texture_view not started
-ARB_vertex_attrib_binding started (Fredrik)
+GL_ARB_arrays_of_arrays not started
+GL_ARB_ES3_compatibility DONE (i965)
+GL_ARB_clear_buffer_object not started
+GL_ARB_compute_shader not started
+GL_ARB_copy_image not started
+GL_KHR_debug DONE (all drivers)
+GL_ARB_explicit_uniform_location not started
+GL_ARB_fragment_layer_viewport not started
+GL_ARB_framebuffer_no_attachments not started
+GL_ARB_internalformat_query2 not started
+GL_ARB_invalidate_subdata DONE (all drivers)
+GL_ARB_multi_draw_indirect not started
+GL_ARB_program_interface_query not started
+GL_ARB_robust_buffer_access_behavior not started
+GL_ARB_shader_image_size not started
+GL_ARB_shader_storage_buffer_object not started
+GL_ARB_stencil_texturing not started
+GL_ARB_texture_buffer_range DONE (nv50, nvc0, i965, r600, radeonsi)
+GL_ARB_texture_query_levels DONE (i965)
+GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
+GL_ARB_texture_view not started
+GL_ARB_vertex_attrib_binding started (Fredrik)
GL 4.4:
GLSL 4.4 not started
-MAX_VERTEX_ATTRIB_STRIDE not started
-ARB_buffer_storage not started
-ARB_clear_texture not started
-ARB_enhanced_layouts not started
-ARB_multi_bind not started
-ARB_query_buffer_object not started
-ARB_texture_mirror_clamp_to_edge DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast)
-ARB_texture_stencil8 not started
-ARB_vertex_type_10f_11f_11f_rev not started
+GL_MAX_VERTEX_ATTRIB_STRIDE not started
+GL_ARB_buffer_storage not started
+GL_ARB_clear_texture not started
+GL_ARB_enhanced_layouts not started
+GL_ARB_multi_bind not started
+GL_ARB_query_buffer_object not started
+GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast)
+GL_ARB_texture_stencil8 not started
+GL_ARB_vertex_type_10f_11f_11f_rev not started
More info about these features and the work involved can be found at
diff --git a/mesalib/docs/relnotes/10.0.html b/mesalib/docs/relnotes/10.0.html
index 5ff53398e..b74d03dc2 100644
--- a/mesalib/docs/relnotes/10.0.html
+++ b/mesalib/docs/relnotes/10.0.html
@@ -50,6 +50,7 @@ Note: some of the new features are only available with certain drivers.
<li>GL_ARB_texture_query_levels on i965.</li>
<li>GL_ARB_texture_mirror_clamp_to_edge.</li>
<li>GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, and GL_ARB_transform_feedback_instanced on i965/Gen7 (with appropriate kernel support).</li>
+<li>GL_ARB_sample_shading on i965.</li>
<li>GL_KHR_debug</li>
</ul>
diff --git a/mesalib/include/GL/gl.h b/mesalib/include/GL/gl.h
index 6b94e3fb0..b484b96ce 100644
--- a/mesalib/include/GL/gl.h
+++ b/mesalib/include/GL/gl.h
@@ -33,25 +33,14 @@
/**********************************************************************
- * Begin system-specific stuff. Do not do any of this when building
- * for SciTech SNAP, as this is all done before this header file is
- * included.
+ * Begin system-specific stuff.
*/
-#if !defined(__SCITECH_SNAP__)
-
-#if defined(__BEOS__)
-#include <stdlib.h> /* to get some BeOS-isms */
-#endif
-
-#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
-#define OPENSTEP
-#endif
#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
#define __WIN32__
#endif
-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
+#if defined(__WIN32__) && !defined(__CYGWIN__)
# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
# define GLAPI __declspec(dllexport)
# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
@@ -72,10 +61,6 @@
# define GLAPIENTRY
#endif /* WIN32 && !CYGWIN */
-#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
-# define PRAGMA_EXPORT_SUPPORTED 1
-#endif
-
/*
* WINDOWS: Include windows.h here to define APIENTRY.
* It is also useful when applications include this file by
@@ -91,10 +76,6 @@
#include <windows.h>
#endif
-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
-#pragma import on
-#endif
-
#ifndef GLAPI
#define GLAPI extern
#endif
@@ -116,15 +97,10 @@
#define GLAPIENTRYP GLAPIENTRY *
#endif
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
-
#if defined(PRAGMA_EXPORT_SUPPORTED)
#pragma export on
#endif
-#endif /* !__SCITECH_SNAP__ */
/*
* End system-specific stuff.
**********************************************************************/
@@ -2177,9 +2153,6 @@ typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum t
#pragma export off
#endif
-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
-#pragma import off
-#endif
/*
* End system-specific stuff
**********************************************************************/
diff --git a/mesalib/include/GL/osmesa.h b/mesalib/include/GL/osmesa.h
index c36f64981..10c472d49 100644
--- a/mesalib/include/GL/osmesa.h
+++ b/mesalib/include/GL/osmesa.h
@@ -101,11 +101,6 @@ extern "C" {
typedef struct osmesa_context *OSMesaContext;
-#if defined(__QUICKDRAW__)
-#pragma export on
-#endif
-
-
/*
* Create an Off-Screen Mesa rendering context. The only attribute needed is
* an RGBA vs Color-Index mode flag.
diff --git a/mesalib/scons/gallium.py b/mesalib/scons/gallium.py
index be3c3e7d9..ea8bacdce 100644
--- a/mesalib/scons/gallium.py
+++ b/mesalib/scons/gallium.py
@@ -295,8 +295,6 @@ def generate(env):
cppdefines += ['_DEBUG']
if platform == 'windows':
cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_USER']
- if platform == 'haiku':
- cppdefines += ['BEOS_THREADS']
if env['embedded']:
cppdefines += ['PIPE_SUBSYSTEM_EMBEDDED']
if env['texture_float']:
diff --git a/mesalib/src/gallium/auxiliary/util/u_format.h b/mesalib/src/gallium/auxiliary/util/u_format.h
index dc777c35c..369c3994a 100644
--- a/mesalib/src/gallium/auxiliary/util/u_format.h
+++ b/mesalib/src/gallium/auxiliary/util/u_format.h
@@ -696,6 +696,9 @@ util_format_is_rgba8_variant(const struct util_format_description *desc)
if(desc->channel[chan].type != UTIL_FORMAT_TYPE_UNSIGNED &&
desc->channel[chan].type != UTIL_FORMAT_TYPE_VOID)
return FALSE;
+ if(desc->channel[chan].type == UTIL_FORMAT_TYPE_UNSIGNED &&
+ !desc->channel[chan].normalized)
+ return FALSE;
if(desc->channel[chan].size != 8)
return FALSE;
}
diff --git a/mesalib/src/glsl/lower_packed_varyings.cpp b/mesalib/src/glsl/lower_packed_varyings.cpp
index 2bcadfd55..61ee692f6 100644
--- a/mesalib/src/glsl/lower_packed_varyings.cpp
+++ b/mesalib/src/glsl/lower_packed_varyings.cpp
@@ -506,17 +506,16 @@ lower_packed_varyings_visitor::lower_arraylike(ir_rvalue *rvalue,
ir_constant *constant = new(this->mem_ctx) ir_constant(i);
ir_dereference_array *dereference_array = new(this->mem_ctx)
ir_dereference_array(rvalue, constant);
- char *subscripted_name
- = ralloc_asprintf(this->mem_ctx, "%s[%d]", name, i);
if (gs_input_toplevel) {
/* Geometry shader inputs are a special case. Instead of storing
* each element of the array at a different location, all elements
* are at the same location, but with a different vertex index.
*/
(void) this->lower_rvalue(dereference_array, fine_location,
- unpacked_var, subscripted_name,
- false, i);
+ unpacked_var, name, false, i);
} else {
+ char *subscripted_name
+ = ralloc_asprintf(this->mem_ctx, "%s[%d]", name, i);
fine_location =
this->lower_rvalue(dereference_array, fine_location,
unpacked_var, subscripted_name,
diff --git a/mesalib/src/mesa/Makefile.am b/mesalib/src/mesa/Makefile.am
index f86caee35..a54b8ac1b 100644
--- a/mesalib/src/mesa/Makefile.am
+++ b/mesalib/src/mesa/Makefile.am
@@ -19,7 +19,7 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
-SUBDIRS = program x86 x86-64 . main/tests
+SUBDIRS = x86 x86-64 . main/tests
if HAVE_X11_DRIVER
SUBDIRS += drivers/x11
@@ -59,11 +59,17 @@ main/git_sha1.h: main/git_sha1.h.tmp
GLAPI = $(top_srcdir)/src/mapi/glapi/gen
include $(GLAPI)/glapi_gen.mk
+BUILDDIR = $(builddir)/
+include Makefile.sources
+
BUILT_SOURCES = \
main/git_sha1.h \
- main/get_hash.h
+ main/get_hash.h \
+ $(BUILDDIR)program/program_parse.tab.c \
+ $(BUILDDIR)program/lex.yy.c
CLEANFILES = \
$(BUILT_SOURCES) \
+ $(BUILDDIR)program/program_parse.tab.h \
git_sha1.h.tmp
GET_HASH_GEN = main/get_hash_generator.py
@@ -85,10 +91,6 @@ if HAVE_GALLIUM
noinst_LTLIBRARIES += libmesagallium.la
endif
-SRCDIR = $(top_srcdir)/src/mesa/
-BUILDDIR = $(top_builddir)/src/mesa/
-include Makefile.sources
-
AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS)
AM_CFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CFLAGS)
AM_CXXFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CXXFLAGS)
@@ -97,45 +99,46 @@ MESA_ASM_FILES_FOR_ARCH =
if HAVE_X86_ASM
MESA_ASM_FILES_FOR_ARCH += $(X86_FILES)
-AM_CPPFLAGS += \
- -I$(top_builddir)/src/mesa/x86 \
- -I$(top_srcdir)/src/mesa/x86
+AM_CPPFLAGS += -I$(builddir)/x86 -I$(srcdir)/x86
endif
if HAVE_X86_64_ASM
MESA_ASM_FILES_FOR_ARCH += $(X86_64_FILES)
-AM_CPPFLAGS += \
- -I$(top_builddir)/src/mesa/x86-64 \
- -I$(top_srcdir)/src/mesa/x86-64
+AM_CPPFLAGS += -I$(builddir)/x86-64 -I$(srcdir)/x86-64
endif
if HAVE_SPARC_ASM
MESA_ASM_FILES_FOR_ARCH += $(SPARC_FILES)
-AM_CPPFLAGS += \
- -I$(top_builddir)/src/mesa/sparc \
- -I$(top_srcdir)/src/mesa/sparc
+AM_CPPFLAGS += -I$(builddir)/sparc -I$(srcdir)/sparc
endif
libmesa_la_SOURCES = \
$(MESA_FILES) \
+ $(PROGRAM_FILES) \
$(MESA_ASM_FILES_FOR_ARCH)
libmesa_la_LIBADD = \
$(top_builddir)/src/glsl/libglsl.la \
- $(top_builddir)/src/mesa/program/libprogram.la \
$()
-libmesa_la_LDFLAGS =
libmesagallium_la_SOURCES = \
$(MESA_GALLIUM_FILES) \
+ $(PROGRAM_FILES) \
$(MESA_ASM_FILES_FOR_ARCH)
libmesagallium_la_LIBADD = \
$(top_builddir)/src/glsl/libglsl.la \
- $(top_builddir)/src/mesa/program/libprogram.la \
$()
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gl.pc
+$(BUILDDIR)program/lex.yy.c: program/program_lexer.l
+ $(MKDIR_P) $(builddir)/program
+ $(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $<
+
+$(BUILDDIR)program/program_parse.tab.c $(BUILDDIR)program/program_parse.tab.h: program/program_parse.y
+ $(MKDIR_P) $(builddir)/program
+ $(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=$(BUILDDIR)program/program_parse.tab.c $<
+
# Emacs tags
tags:
etags `find . -name \*.[ch]` $(top_srcdir)/include/GL/*.h
diff --git a/mesalib/src/mesa/main/compiler.h b/mesalib/src/mesa/main/compiler.h
index d806d5b9d..97075f58e 100644
--- a/mesalib/src/mesa/main/compiler.h
+++ b/mesalib/src/mesa/main/compiler.h
@@ -36,11 +36,7 @@
#include <assert.h>
#include <ctype.h>
-#if defined(__alpha__) && defined(CCPML)
-#include <cpml.h> /* use Compaq's Fast Math Library on Alpha */
-#else
#include <math.h>
-#endif
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
@@ -84,15 +80,13 @@ extern "C" {
*/
#if defined(_MSC_VER)
# define finite _finite
-#elif defined(__WATCOMC__)
-# define finite _finite
#endif
/**
* Disable assorted warnings
*/
-#if !defined(OPENSTEP) && (defined(_WIN32) && !defined(__CYGWIN__)) && !defined(BUILD_FOR_SNAP)
+#if defined(_WIN32) && !defined(__CYGWIN__)
# if !defined(__GNUC__) /* mingw environment */
# pragma warning( disable : 4068 ) /* unknown pragma */
# pragma warning( disable : 4710 ) /* function 'foo' not inlined */
@@ -107,9 +101,6 @@ extern "C" {
# endif
# endif
#endif
-#if defined(__WATCOMC__)
-# pragma disable_message(201) /* Disable unreachable code warnings */
-#endif
@@ -198,7 +189,7 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
-#if !defined(CAPI) && defined(_WIN32) && !defined(BUILD_FOR_SNAP)
+#if !defined(CAPI) && defined(_WIN32)
#define CAPI _cdecl
#endif
@@ -208,7 +199,7 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
* than GNU C
*/
#ifndef _ASMAPI
-#if defined(_WIN32) && !defined(BUILD_FOR_SNAP)/* was: !defined( __GNUC__ ) && !defined( VMS ) && !defined( __INTEL_COMPILER )*/
+#if defined(_WIN32)
#define _ASMAPI __cdecl
#else
#define _ASMAPI
@@ -239,9 +230,7 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
* ASSERT macro
*/
#if !defined(_WIN32_WCE)
-#if defined(BUILD_FOR_SNAP) && defined(CHECKED)
-# define ASSERT(X) _CHECK(X)
-#elif defined(DEBUG)
+#if defined(DEBUG)
# define ASSERT(X) assert(X)
#else
# define ASSERT(X)
@@ -259,6 +248,21 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
(void) sizeof(char [1 - 2*!(COND)]); \
} while (0)
+/**
+ * Unreachable macro. Useful for suppressing "control reaches end of non-void
+ * function" warnings.
+ */
+#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 5
+#define unreachable() __builtin_unreachable()
+#elif (defined(__clang__) && defined(__has_builtin))
+# if __has_builtin(__builtin_unreachable)
+# define unreachable() __builtin_unreachable()
+# endif
+#endif
+
+#ifndef unreachable
+#define unreachable()
+#endif
#if (__GNUC__ >= 3)
#define PRINTFLIKE(f, a) __attribute__ ((format(__printf__, f, a)))
@@ -322,7 +326,7 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
defined(ia64) || defined(__ia64__) || \
defined(__hppa__) || defined(hpux) || \
defined(__mips) || defined(_MIPS_ARCH) || \
- defined(__arm__) || \
+ defined(__arm__) || defined(__aarch64__) || \
defined(__sh__) || defined(__m32r__) || \
(defined(__sun) && defined(_IEEE_754)) || \
defined(__alpha__)
@@ -383,36 +387,6 @@ do { \
__asm__ ( "fnclex ; fldcw %0" : : "m" (*&(x)) ); \
} while (0)
-#elif defined(__WATCOMC__) && defined(__386__)
-#define DEFAULT_X86_FPU 0x037f /* See GCC comments above */
-#define FAST_X86_FPU 0x003f /* See GCC comments above */
-void _watcom_start_fast_math(unsigned short *x,unsigned short *mask);
-#pragma aux _watcom_start_fast_math = \
- "fnstcw word ptr [eax]" \
- "fldcw word ptr [ecx]" \
- parm [eax] [ecx] \
- modify exact [];
-void _watcom_end_fast_math(unsigned short *x);
-#pragma aux _watcom_end_fast_math = \
- "fnclex" \
- "fldcw word ptr [eax]" \
- parm [eax] \
- modify exact [];
-#if defined(NO_FAST_MATH)
-#define START_FAST_MATH(x) \
-do { \
- static GLushort mask = DEFAULT_X86_FPU; \
- _watcom_start_fast_math(&x,&mask); \
-} while (0)
-#else
-#define START_FAST_MATH(x) \
-do { \
- static GLushort mask = FAST_X86_FPU; \
- _watcom_start_fast_math(&x,&mask); \
-} while (0)
-#endif
-#define END_FAST_MATH(x) _watcom_end_fast_math(&x)
-
#elif defined(_MSC_VER) && defined(_M_IX86)
#define DEFAULT_X86_FPU 0x037f /* See GCC comments above */
#define FAST_X86_FPU 0x003f /* See GCC comments above */
diff --git a/mesalib/src/mesa/main/glheader.h b/mesalib/src/mesa/main/glheader.h
index 4ed51b317..7f7f9a39b 100644
--- a/mesalib/src/mesa/main/glheader.h
+++ b/mesalib/src/mesa/main/glheader.h
@@ -33,22 +33,6 @@
#define GLHEADER_H
-#ifdef WGLAPI
-#undef WGLAPI
-#endif
-
-
-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) && !defined(BUILD_FOR_SNAP)
-# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
-# define WGLAPI __declspec(dllexport)
-# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
-# define WGLAPI __declspec(dllimport)
-# else /* for use with static link lib build of Win32 edition only */
-# define WGLAPI __declspec(dllimport)
-# endif /* _STATIC_MESA support */
-#endif /* WIN32 / CYGWIN bracket */
-
-
#define GL_GLEXT_PROTOTYPES
#include "GL/gl.h"
#include "GL/glext.h"
diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c
index 7da860ddf..1d9aac39d 100644
--- a/mesalib/src/mesa/main/shaderapi.c
+++ b/mesalib/src/mesa/main/shaderapi.c
@@ -825,6 +825,8 @@ compile_shader(struct gl_context *ctx, GLuint shaderObj)
fprintf(stderr, "GLSL source for %s shader %d:\n",
_mesa_glsl_shader_target_name(sh->Type), sh->Name);
fprintf(stderr, "%s\n", sh->Source);
+ fprintf(stderr, "Info Log:\n%s\n", sh->InfoLog);
+ fflush(stderr);
}
if (ctx->Shader.Flags & GLSL_REPORT_ERRORS) {
diff --git a/mesalib/src/mesa/math/m_clip_tmp.h b/mesalib/src/mesa/math/m_clip_tmp.h
index 5cfcf91dd..45dec47f0 100644
--- a/mesalib/src/mesa/math/m_clip_tmp.h
+++ b/mesalib/src/mesa/math/m_clip_tmp.h
@@ -60,7 +60,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points4)( GLvector4f *clip_vec,
const GLfloat cy = from[1];
const GLfloat cz = from[2];
const GLfloat cw = from[3];
-#if defined(macintosh) || defined(__powerpc__)
+#if defined(__powerpc__)
/* on powerpc cliptest is 17% faster in this way. */
GLuint mask;
mask = (((cw < cx) << CLIP_RIGHT_SHIFT));
@@ -71,7 +71,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points4)( GLvector4f *clip_vec,
mask |= (((cw < cz) << CLIP_FAR_SHIFT));
mask |= (((cw < -cz) << CLIP_NEAR_SHIFT));
}
-#else /* !defined(macintosh)) */
+#else
GLubyte mask = 0;
if (-cx + cw < 0) mask |= CLIP_RIGHT_BIT;
if ( cx + cw < 0) mask |= CLIP_LEFT_BIT;
@@ -81,7 +81,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_points4)( GLvector4f *clip_vec,
if (-cz + cw < 0) mask |= CLIP_FAR_BIT;
if ( cz + cw < 0) mask |= CLIP_NEAR_BIT;
}
-#endif /* defined(macintosh) */
+#endif
clipMask[i] = mask;
if (mask) {
@@ -140,7 +140,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_np_points4)( GLvector4f *clip_vec,
const GLfloat cy = from[1];
const GLfloat cz = from[2];
const GLfloat cw = from[3];
-#if defined(macintosh) || defined(__powerpc__)
+#if defined(__powerpc__)
/* on powerpc cliptest is 17% faster in this way. */
GLuint mask;
mask = (((cw < cx) << CLIP_RIGHT_SHIFT));
@@ -151,7 +151,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_np_points4)( GLvector4f *clip_vec,
mask |= (((cw < cz) << CLIP_FAR_SHIFT));
mask |= (((cw < -cz) << CLIP_NEAR_SHIFT));
}
-#else /* !defined(macintosh)) */
+#else
GLubyte mask = 0;
if (-cx + cw < 0) mask |= CLIP_RIGHT_BIT;
if ( cx + cw < 0) mask |= CLIP_LEFT_BIT;
@@ -161,7 +161,7 @@ static GLvector4f * _XFORMAPI TAG(cliptest_np_points4)( GLvector4f *clip_vec,
if (-cz + cw < 0) mask |= CLIP_FAR_BIT;
if ( cz + cw < 0) mask |= CLIP_NEAR_BIT;
}
-#endif /* defined(macintosh) */
+#endif
clipMask[i] = mask;
if (mask) {
diff --git a/mesalib/src/mesa/math/m_debug_util.h b/mesalib/src/mesa/math/m_debug_util.h
index d526e9656..d05da8994 100644
--- a/mesalib/src/mesa/math/m_debug_util.h
+++ b/mesalib/src/mesa/math/m_debug_util.h
@@ -305,8 +305,6 @@ enum { NIL = 0, ONE = 1, NEG = -1, VAR = 2 };
# define ALIGN16(type, array) type array __attribute__ ((aligned (16)))
#elif defined(_MSC_VER)
# define ALIGN16(type, array) type array __declspec(align(16)) /* GH: Does this work? */
-#elif defined(__WATCOMC__)
-# define ALIGN16(type, array) /* Watcom does not support this */
#elif defined(__xlC__)
# define ALIGN16(type, array) type __align (16) array
#else
diff --git a/mesalib/src/mesa/program/Makefile.am b/mesalib/src/mesa/program/Makefile.am
deleted file mode 100644
index 5e05782fb..000000000
--- a/mesalib/src/mesa/program/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright © 2012 Intel Corporation
-#
-# 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 (including the next
-# paragraph) 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.
-
-include ../Makefile.sources
-
-AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS)
-AM_CFLAGS = $(VISIBILITY_CFLAGS)
-AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
-
-SRCDIR = $(top_srcdir)/src/mesa/
-BUILDDIR = $(top_builddir)/src/mesa/
-
-noinst_LTLIBRARIES = libprogram.la
-
-libprogram_la_SOURCES = $(PROGRAM_FILES)
-
-lex.yy.c: program_lexer.l
- $(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $<
-
-program_parse.tab.c program_parse.tab.h: program_parse.y
- $(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=program_parse.tab.c $<
-
-BUILT_SOURCES = \
- program_parse.tab.c \
- program_parse.tab.h \
- lex.yy.c
-CLEANFILES = $(BUILT_SOURCES)
diff --git a/mesalib/src/mesa/x86/assyntax.h b/mesalib/src/mesa/x86/assyntax.h
index 4a41812f6..fa7d92ea5 100644
--- a/mesalib/src/mesa/x86/assyntax.h
+++ b/mesalib/src/mesa/x86/assyntax.h
@@ -920,17 +920,9 @@
#define D_BYTE db
/* #define SPACE */
/* #define COMM */
-#if defined(__WATCOMC__)
-SECTION _TEXT public align=16 class=CODE use32 flat
-SECTION _DATA public align=16 class=DATA use32 flat
-#define SEG_TEXT SECTION _TEXT
-#define SEG_DATA SECTION _DATA
-#define SEG_BSS SECTION .bss
-#else
#define SEG_DATA SECTION .data
#define SEG_TEXT SECTION .text
#define SEG_BSS SECTION .bss
-#endif
#define D_SPACE(n) db n REP 0