From e8d5e7c4bb11f7fcb0a4ba5c13f43e7929849a2f Mon Sep 17 00:00:00 2001
From: marha
Date: Mon, 15 Jun 2015 20:27:26 +0200
Subject: fontconfig libX11 libxcb xcb-proto mesa pixman xserver
xkeyboard-config git update 15 June 2015
xserver commit fa12f2c150b2f50de9dac4a2b09265f13af353af
libxcb commit f85661c3bca97faa72431df92a3867be39a74e23
libxcb/xcb-proto commit fef8a4cdc2cacd9541a656026371a3d338dadb8e
xkeyboard-config commit 61fb58a95a071cc1c212f6d3808908c086219fe0
libX11 commit f0286b2770ece10aef5e2e8c004260217f12fd25
pixman commit eebc1b78200aff075dbcae9c8d00edad1f830d91
fontconfig commit f6d61c9beed856a925bd60c025b55284b2d88161
mesa commit 932d1613d1e15ec22555e5ec09105c49eb850e36
---
mesalib/Android.common.mk | 9 +
mesalib/Android.mk | 12 +-
mesalib/CleanSpec.mk | 1 +
mesalib/VERSION | 2 +-
mesalib/configure.ac | 32 +-
mesalib/docs/GL3.txt | 16 +-
mesalib/docs/devinfo.html | 394 +++--
mesalib/docs/index.html | 19 +
mesalib/docs/relnotes.html | 3 +
mesalib/docs/relnotes/10.5.6.html | 147 ++
mesalib/docs/relnotes/10.5.7.html | 103 ++
mesalib/docs/relnotes/10.6.0.html | 248 ++-
mesalib/docs/relnotes/10.7.0.html | 60 +
mesalib/include/EGL/egl.h | 562 +++----
mesalib/include/EGL/eglext.h | 258 ++-
mesalib/include/EGL/eglmesaext.h | 33 +-
mesalib/include/EGL/eglplatform.h | 19 +-
mesalib/include/KHR/khrplatform.h | 19 +-
mesalib/scons/llvm.py | 4 +-
mesalib/src/Makefile.am | 3 +-
mesalib/src/gallium/Android.common.mk | 8 +
mesalib/src/gallium/Android.mk | 15 +-
mesalib/src/gallium/auxiliary/Android.mk | 11 +
mesalib/src/gallium/auxiliary/hud/hud_context.c | 6 +
mesalib/src/gallium/auxiliary/nir/tgsi_to_nir.c | 3 -
mesalib/src/gallium/auxiliary/util/u_blit.c | 6 +
mesalib/src/gallium/auxiliary/util/u_blitter.c | 27 +
mesalib/src/gallium/auxiliary/util/u_blitter.h | 16 +-
mesalib/src/gallium/auxiliary/util/u_dump_state.c | 2 +
mesalib/src/gallium/auxiliary/util/u_format_etc.c | 3 +-
mesalib/src/gallium/auxiliary/util/u_math.h | 20 +
mesalib/src/gallium/auxiliary/util/u_tests.h | 8 +
mesalib/src/glsl/Android.mk | 1 -
mesalib/src/glsl/Makefile.am | 33 +-
mesalib/src/glsl/SConscript | 4 +-
mesalib/src/glsl/ast_array_index.cpp | 2 +-
mesalib/src/glsl/ast_function.cpp | 30 +-
mesalib/src/glsl/ast_to_hir.cpp | 128 +-
mesalib/src/glsl/builtin_functions.cpp | 18 +
mesalib/src/glsl/glsl_parser_extras.cpp | 4 +-
mesalib/src/glsl/glsl_types.cpp | 2 +-
mesalib/src/glsl/glsl_types.h | 14 +-
mesalib/src/glsl/ir.cpp | 4 +-
mesalib/src/glsl/ir.h | 24 +
mesalib/src/glsl/ir_hierarchical_visitor.cpp | 9 +
mesalib/src/glsl/ir_hierarchical_visitor.h | 3 +-
mesalib/src/glsl/ir_hv_accept.cpp | 6 +
mesalib/src/glsl/ir_print_visitor.cpp | 5 +
mesalib/src/glsl/ir_print_visitor.h | 1 +
mesalib/src/glsl/ir_uniform.h | 5 +
mesalib/src/glsl/ir_visitor.h | 2 +
mesalib/src/glsl/link_atomics.cpp | 2 +-
mesalib/src/glsl/link_uniform_initializers.cpp | 4 +-
mesalib/src/glsl/link_uniforms.cpp | 55 +-
mesalib/src/glsl/link_varyings.cpp | 2 +-
mesalib/src/glsl/linker.cpp | 30 +-
mesalib/src/glsl/lower_clip_distance.cpp | 8 +-
mesalib/src/glsl/main.cpp | 8 +-
mesalib/src/glsl/nir/glsl_to_nir.cpp | 15 +-
mesalib/src/glsl/nir/nir_intrinsics.h | 20 +-
mesalib/src/glsl/nir/nir_lower_atomics.c | 2 +-
mesalib/src/glsl/nir/nir_lower_io.c | 2 -
mesalib/src/glsl/nir/nir_lower_phis_to_scalar.c | 5 +
mesalib/src/glsl/nir/nir_opt_algebraic.py | 2 +
mesalib/src/glsl/nir/nir_opt_peephole_ffma.c | 19 +-
mesalib/src/glsl/standalone_scaffolding.cpp | 2 +-
mesalib/src/loader/Android.mk | 2 +
mesalib/src/loader/Makefile.am | 10 +-
.../src/mapi/glapi/gen/AMD_performance_monitor.xml | 22 +-
.../src/mapi/glapi/gen/APPLE_object_purgeable.xml | 6 +-
.../mapi/glapi/gen/APPLE_vertex_array_object.xml | 10 +-
.../src/mapi/glapi/gen/ARB_ES2_compatibility.xml | 10 +-
mesalib/src/mapi/glapi/gen/ARB_base_instance.xml | 9 +-
.../src/mapi/glapi/gen/ARB_blend_func_extended.xml | 4 +-
.../src/mapi/glapi/gen/ARB_clear_buffer_object.xml | 8 +-
mesalib/src/mapi/glapi/gen/ARB_clear_texture.xml | 4 +-
mesalib/src/mapi/glapi/gen/ARB_clip_control.xml | 2 +-
mesalib/src/mapi/glapi/gen/ARB_compute_shader.xml | 4 +-
mesalib/src/mapi/glapi/gen/ARB_copy_buffer.xml | 2 +-
mesalib/src/mapi/glapi/gen/ARB_copy_image.xml | 2 +-
.../src/mapi/glapi/gen/ARB_direct_state_access.xml | 158 +-
.../src/mapi/glapi/gen/ARB_draw_buffers_blend.xml | 8 +-
.../glapi/gen/ARB_draw_elements_base_vertex.xml | 11 +-
mesalib/src/mapi/glapi/gen/ARB_draw_indirect.xml | 8 +-
mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml | 4 +-
.../src/mapi/glapi/gen/ARB_framebuffer_object.xml | 46 +-
.../src/mapi/glapi/gen/ARB_geometry_shader4.xml | 2 +-
.../src/mapi/glapi/gen/ARB_get_program_binary.xml | 6 +-
mesalib/src/mapi/glapi/gen/ARB_gpu_shader_fp64.xml | 36 +-
.../mapi/glapi/gen/ARB_internalformat_query.xml | 3 +-
.../src/mapi/glapi/gen/ARB_invalidate_subdata.xml | 12 +-
.../src/mapi/glapi/gen/ARB_map_buffer_range.xml | 4 +-
mesalib/src/mapi/glapi/gen/ARB_multi_bind.xml | 12 +-
.../mapi/glapi/gen/ARB_program_interface_query.xml | 12 +-
mesalib/src/mapi/glapi/gen/ARB_robustness.xml | 40 +-
mesalib/src/mapi/glapi/gen/ARB_sampler_objects.xml | 28 +-
.../mapi/glapi/gen/ARB_separate_shader_objects.xml | 122 +-
.../mapi/glapi/gen/ARB_shader_atomic_counters.xml | 2 +-
.../mapi/glapi/gen/ARB_shader_image_load_store.xml | 4 +-
mesalib/src/mapi/glapi/gen/ARB_sync.xml | 14 +-
.../mapi/glapi/gen/ARB_texture_buffer_range.xml | 2 +-
.../src/mapi/glapi/gen/ARB_texture_multisample.xml | 8 +-
mesalib/src/mapi/glapi/gen/ARB_texture_storage.xml | 12 +-
.../glapi/gen/ARB_texture_storage_multisample.xml | 4 +-
mesalib/src/mapi/glapi/gen/ARB_texture_view.xml | 2 +-
.../mapi/glapi/gen/ARB_uniform_buffer_object.xml | 14 +-
.../src/mapi/glapi/gen/ARB_vertex_array_object.xml | 8 +-
.../src/mapi/glapi/gen/ARB_vertex_attrib_64bit.xml | 20 +-
.../mapi/glapi/gen/ARB_vertex_attrib_binding.xml | 12 +-
.../glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml | 106 +-
mesalib/src/mapi/glapi/gen/ARB_viewport_array.xml | 20 +-
.../src/mapi/glapi/gen/EXT_framebuffer_object.xml | 6 +-
mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml | 28 +-
.../src/mapi/glapi/gen/EXT_provoking_vertex.xml | 2 +-
.../mapi/glapi/gen/EXT_separate_shader_objects.xml | 94 +-
mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml | 4 +-
.../src/mapi/glapi/gen/EXT_transform_feedback.xml | 16 +-
mesalib/src/mapi/glapi/gen/GL3x.xml | 100 +-
mesalib/src/mapi/glapi/gen/GL4x.xml | 10 +-
.../src/mapi/glapi/gen/INTEL_performance_query.xml | 20 +-
mesalib/src/mapi/glapi/gen/KHR_debug.xml | 20 +-
mesalib/src/mapi/glapi/gen/Makefile.am | 8 +-
.../src/mapi/glapi/gen/NV_primitive_restart.xml | 4 +-
mesalib/src/mapi/glapi/gen/NV_texture_barrier.xml | 2 +-
mesalib/src/mapi/glapi/gen/NV_vdpau_interop.xml | 20 +-
mesalib/src/mapi/glapi/gen/OES_EGL_image.xml | 6 +-
mesalib/src/mapi/glapi/gen/OES_fixed_point.xml | 123 +-
.../src/mapi/glapi/gen/OES_single_precision.xml | 17 +-
mesalib/src/mapi/glapi/gen/apiexec.py | 240 +++
mesalib/src/mapi/glapi/gen/es_EXT.xml | 166 +-
mesalib/src/mapi/glapi/gen/glX_proto_recv.py | 62 +-
mesalib/src/mapi/glapi/gen/glX_proto_send.py | 70 +-
mesalib/src/mapi/glapi/gen/glX_proto_size.py | 99 +-
mesalib/src/mapi/glapi/gen/glX_server_table.py | 38 +-
mesalib/src/mapi/glapi/gen/gl_API.dtd | 2 -
mesalib/src/mapi/glapi/gen/gl_API.xml | 1741 +++++++++-----------
mesalib/src/mapi/glapi/gen/gl_SPARC_asm.py | 41 +-
mesalib/src/mapi/glapi/gen/gl_XML.py | 20 +-
mesalib/src/mapi/glapi/gen/gl_and_es_API.xml | 86 +-
mesalib/src/mapi/glapi/gen/gl_apitemp.py | 44 +-
mesalib/src/mapi/glapi/gen/gl_enums.py | 34 +-
mesalib/src/mapi/glapi/gen/gl_genexec.py | 90 +-
mesalib/src/mapi/glapi/gen/gl_gentable.py | 34 +-
mesalib/src/mapi/glapi/gen/gl_procs.py | 52 +-
mesalib/src/mapi/glapi/gen/gl_table.py | 97 +-
mesalib/src/mapi/glapi/gen/gl_x86-64_asm.py | 47 +-
mesalib/src/mapi/glapi/gen/gl_x86_asm.py | 45 +-
mesalib/src/mapi/glapi/gen/remap_helper.py | 53 +-
mesalib/src/mapi/glapi/gen/static_data.py | 1729 +++++++++++++++++++
mesalib/src/mesa/Android.gen.mk | 16 +-
mesalib/src/mesa/Android.libmesa_glsl_utils.mk | 6 +-
mesalib/src/mesa/Makefile.am | 1 -
mesalib/src/mesa/drivers/SConscript | 3 -
mesalib/src/mesa/drivers/common/meta_blit.c | 6 +-
.../src/mesa/drivers/common/meta_tex_subimage.c | 12 +-
mesalib/src/mesa/drivers/dri/Makefile.am | 1 +
mesalib/src/mesa/drivers/dri/common/Android.mk | 8 +-
mesalib/src/mesa/drivers/dri/common/Makefile.am | 6 +-
.../src/mesa/drivers/dri/common/Makefile.sources | 4 +-
mesalib/src/mesa/drivers/dri/common/SConscript | 2 +-
mesalib/src/mesa/drivers/dri/common/dri_util.c | 22 +-
mesalib/src/mesa/drivers/dri/swrast/swrast.c | 4 +-
mesalib/src/mesa/drivers/haiku/swrast/SConscript | 33 -
.../src/mesa/drivers/haiku/swrast/SoftwareRast.cpp | 697 --------
.../src/mesa/drivers/haiku/swrast/SoftwareRast.h | 95 --
.../mesa/drivers/haiku/swrast/SoftwareRast.rdef | 39 -
mesalib/src/mesa/main/api_exec.h | 3 +
mesalib/src/mesa/main/api_loopback.c | 2 +
mesalib/src/mesa/main/arrayobj.c | 22 -
mesalib/src/mesa/main/attrib.c | 22 +
mesalib/src/mesa/main/blit.c | 7 -
mesalib/src/mesa/main/bufferobj.c | 105 --
mesalib/src/mesa/main/buffers.c | 21 -
mesalib/src/mesa/main/clear.c | 32 -
mesalib/src/mesa/main/config.h | 13 +-
mesalib/src/mesa/main/context.c | 73 +-
mesalib/src/mesa/main/copyimage.c | 39 +-
mesalib/src/mesa/main/depth.c | 6 +-
mesalib/src/mesa/main/dlist.c | 30 +-
mesalib/src/mesa/main/errors.c | 1 +
mesalib/src/mesa/main/extensions.c | 2 +-
mesalib/src/mesa/main/fbobject.c | 103 +-
mesalib/src/mesa/main/formats.c | 11 +
mesalib/src/mesa/main/genmipmap.c | 7 -
mesalib/src/mesa/main/get.c | 12 +
mesalib/src/mesa/main/get_hash_params.py | 8 +-
mesalib/src/mesa/main/getstring.c | 16 +-
mesalib/src/mesa/main/glformats.c | 43 +-
mesalib/src/mesa/main/glformats.h | 2 +-
mesalib/src/mesa/main/glheader.h | 6 -
mesalib/src/mesa/main/hash.c | 28 -
mesalib/src/mesa/main/hash.h | 3 -
mesalib/src/mesa/main/mtypes.h | 14 +-
mesalib/src/mesa/main/pipelineobj.c | 6 -
mesalib/src/mesa/main/program_resource.c | 6 +-
mesalib/src/mesa/main/queryobj.c | 7 -
mesalib/src/mesa/main/readpix.c | 25 +-
mesalib/src/mesa/main/readpix.h | 3 +
mesalib/src/mesa/main/samplerobj.c | 7 -
mesalib/src/mesa/main/shader_query.cpp | 25 +-
mesalib/src/mesa/main/shaderapi.c | 6 +-
mesalib/src/mesa/main/shaderobj.c | 4 +-
mesalib/src/mesa/main/shared.c | 1 -
mesalib/src/mesa/main/state.c | 2 +-
mesalib/src/mesa/main/texgetimage.c | 14 -
mesalib/src/mesa/main/teximage.c | 76 +-
mesalib/src/mesa/main/texobj.c | 14 -
mesalib/src/mesa/main/texparam.c | 84 -
mesalib/src/mesa/main/texstorage.c | 7 -
mesalib/src/mesa/main/textureview.c | 95 +-
mesalib/src/mesa/main/textureview.h | 9 +-
mesalib/src/mesa/main/transformfeedback.c | 42 -
mesalib/src/mesa/main/uniform_query.cpp | 15 +-
mesalib/src/mesa/main/uniforms.h | 4 -
mesalib/src/mesa/main/varray.c | 64 -
mesalib/src/mesa/main/version.c | 75 +-
mesalib/src/mesa/main/version.h | 3 -
mesalib/src/mesa/main/vtxfmt.c | 2 +-
mesalib/src/mesa/program/dummy_errors.c | 30 +
mesalib/src/mesa/program/ir_to_mesa.cpp | 20 +-
mesalib/src/mesa/program/prog_execute.c | 2 +-
mesalib/src/mesa/program/prog_instruction.c | 12 +-
mesalib/src/mesa/program/prog_instruction.h | 33 +-
mesalib/src/mesa/program/prog_optimize.c | 4 +-
mesalib/src/mesa/program/prog_print.c | 8 +-
mesalib/src/mesa/program/prog_to_nir.c | 108 +-
mesalib/src/mesa/program/program.c | 24 +-
mesalib/src/mesa/program/program_parse.y | 8 +-
mesalib/src/mesa/program/program_parse_extra.c | 4 +-
mesalib/src/mesa/program/programopt.c | 6 +-
mesalib/src/mesa/state_tracker/st_atom_shader.c | 2 +-
mesalib/src/mesa/state_tracker/st_cb_bitmap.c | 8 +-
mesalib/src/mesa/state_tracker/st_cb_blit.c | 4 +
mesalib/src/mesa/state_tracker/st_cb_clear.c | 6 +
mesalib/src/mesa/state_tracker/st_cb_drawpixels.c | 8 +-
mesalib/src/mesa/state_tracker/st_cb_drawtex.c | 6 +
mesalib/src/mesa/state_tracker/st_cb_program.c | 8 +-
mesalib/src/mesa/state_tracker/st_context.c | 6 -
mesalib/src/mesa/state_tracker/st_draw.c | 2 +-
mesalib/src/mesa/state_tracker/st_extensions.c | 6 -
mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 829 ++++++----
mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.h | 2 +
mesalib/src/mesa/state_tracker/st_manager.c | 3 +-
mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c | 9 +-
mesalib/src/mesa/state_tracker/st_program.c | 24 +-
mesalib/src/mesa/state_tracker/st_program.h | 1 +
mesalib/src/mesa/tnl/t_context.c | 1 +
mesalib/src/mesa/vbo/vbo_exec_array.c | 5 +-
248 files changed, 6976 insertions(+), 5040 deletions(-)
create mode 100644 mesalib/docs/relnotes/10.5.6.html
create mode 100644 mesalib/docs/relnotes/10.5.7.html
create mode 100644 mesalib/docs/relnotes/10.7.0.html
create mode 100644 mesalib/src/mapi/glapi/gen/apiexec.py
create mode 100644 mesalib/src/mapi/glapi/gen/static_data.py
delete mode 100644 mesalib/src/mesa/drivers/haiku/swrast/SConscript
delete mode 100644 mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.cpp
delete mode 100644 mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.h
delete mode 100644 mesalib/src/mesa/drivers/haiku/swrast/SoftwareRast.rdef
create mode 100644 mesalib/src/mesa/program/dummy_errors.c
(limited to 'mesalib')
diff --git a/mesalib/Android.common.mk b/mesalib/Android.common.mk
index edf52d6fa..d662d6018 100644
--- a/mesalib/Android.common.mk
+++ b/mesalib/Android.common.mk
@@ -68,7 +68,16 @@ LOCAL_CFLAGS += \
endif
endif
+ifeq ($(MESA_ENABLE_LLVM),true)
+LOCAL_CFLAGS += \
+ -DHAVE_LLVM=0x0305 -DLLVM_VERSION_PATCH=2 \
+ -D__STDC_CONSTANT_MACROS \
+ -D__STDC_FORMAT_MACROS \
+ -D__STDC_LIMIT_MACROS
+endif
+
LOCAL_CPPFLAGS += \
+ $(if $(filter true,$(MESA_LOLLIPOP_BUILD)),-D_USING_LIBCXX) \
-Wno-error=non-virtual-dtor \
-Wno-non-virtual-dtor
diff --git a/mesalib/Android.mk b/mesalib/Android.mk
index b19419ba7..69e0d33f1 100644
--- a/mesalib/Android.mk
+++ b/mesalib/Android.mk
@@ -24,7 +24,7 @@
# BOARD_GPU_DRIVERS should be defined. The valid values are
#
# classic drivers: i915 i965
-# gallium drivers: swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx
+# gallium drivers: swrast freedreno i915g ilo nouveau r300g r600g radeonsi vc4 vmwgfx
#
# The main target is libGLES_mesa. For each classic driver enabled, a DRI
# module will also be built. DRI modules will be loaded by libGLES_mesa.
@@ -48,7 +48,7 @@ MESA_PYTHON2 := python
DRM_GRALLOC_TOP := hardware/drm_gralloc
classic_drivers := i915 i965
-gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx
+gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g radeonsi vmwgfx vc4
MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS))
@@ -80,6 +80,8 @@ else
MESA_BUILD_GALLIUM := false
endif
+MESA_ENABLE_LLVM := $(if $(filter radeonsi,$(MESA_GPU_DRIVERS)),true,false)
+
# add subdirectories
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
@@ -89,13 +91,9 @@ SUBDIRS := \
src/glsl \
src/mesa \
src/util \
- src/egl/main
-
-ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
-SUBDIRS += \
+ src/egl/main \
src/egl/drivers/dri2 \
src/mesa/drivers/dri
-endif
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
SUBDIRS += src/gallium
diff --git a/mesalib/CleanSpec.mk b/mesalib/CleanSpec.mk
index 20681638e..d08b0def7 100644
--- a/mesalib/CleanSpec.mk
+++ b/mesalib/CleanSpec.mk
@@ -13,3 +13,4 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/libGLES_mesa_int
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/EXECUTABLES/mesa_*_intermediates)
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/EXECUTABLES/glsl_compiler_intermediates)
$(call add-clean-step, rm -rf $(HOST_OUT_release)/*/STATIC_LIBRARIES/libmesa_*_intermediates)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/SHARED_LIBRARIES/*_dri_intermediates)
diff --git a/mesalib/VERSION b/mesalib/VERSION
index 8d3030650..1edd8fc00 100644
--- a/mesalib/VERSION
+++ b/mesalib/VERSION
@@ -1 +1 @@
-10.6.0-devel
+10.7.0-devel
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index 095e23e69..34d1ac988 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -649,6 +649,7 @@ if test "x$enable_asm" = xyes; then
fi
AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"])
+AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"])
AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
dnl Check to see if dlopen is in default libraries (like Solaris, which
@@ -713,15 +714,15 @@ AC_ARG_ENABLE([opengl],
[enable_opengl="$enableval"],
[enable_opengl=yes])
AC_ARG_ENABLE([gles1],
- [AS_HELP_STRING([--enable-gles1],
- [enable support for OpenGL ES 1.x API @<:@default=disabled@:>@])],
+ [AS_HELP_STRING([--disable-gles1],
+ [disable support for OpenGL ES 1.x API @<:@default=enabled@:>@])],
[enable_gles1="$enableval"],
- [enable_gles1=no])
+ [enable_gles1=yes])
AC_ARG_ENABLE([gles2],
- [AS_HELP_STRING([--enable-gles2],
- [enable support for OpenGL ES 2.x API @<:@default=disabled@:>@])],
+ [AS_HELP_STRING([--disable-gles2],
+ [disable support for OpenGL ES 2.x API @<:@default=enabled@:>@])],
[enable_gles2="$enableval"],
- [enable_gles2=no])
+ [enable_gles2=yes])
AC_ARG_ENABLE([dri],
[AS_HELP_STRING([--enable-dri],
@@ -1920,10 +1921,7 @@ if test "x$enable_gallium_llvm" = xyes; then
AC_MSG_ERROR([LLVM $LLVM_REQUIRED_VERSION_MAJOR.$LLVM_REQUIRED_VERSION_MINOR or newer is required])
fi
- LLVM_COMPONENTS="engine bitwriter"
- if $LLVM_CONFIG --components | grep -qw 'mcjit'; then
- LLVM_COMPONENTS="${LLVM_COMPONENTS} mcjit"
- fi
+ LLVM_COMPONENTS="engine bitwriter mcjit mcdisassembler"
if test "x$enable_opencl" = xyes; then
llvm_check_version_for "3" "5" "0" "opencl"
@@ -2050,16 +2048,19 @@ require_egl_drm() {
}
radeon_llvm_check() {
+ if test ${LLVM_VERSION_INT} -lt 307; then
+ amdgpu_llvm_target_name='r600'
+ else
+ amdgpu_llvm_target_name='amdgpu'
+ fi
if test "x$enable_gallium_llvm" != "xyes"; then
AC_MSG_ERROR([--enable-gallium-llvm is required when building $1])
fi
llvm_check_version_for "3" "4" "2" $1
- if test true && $LLVM_CONFIG --targets-built | grep -qvw 'R600' ; then
- AC_MSG_ERROR([LLVM R600 Target not enabled. You can enable it when building the LLVM
- sources with the --enable-experimental-targets=R600
- configure flag])
+ if test true && $LLVM_CONFIG --targets-built | grep -iqvw $amdgpu_llvm_target_name ; then
+ AC_MSG_ERROR([LLVM $amdgpu_llvm_target_name not enabled in your LLVM build.])
fi
- LLVM_COMPONENTS="${LLVM_COMPONENTS} r600 bitreader ipo"
+ LLVM_COMPONENTS="${LLVM_COMPONENTS} $amdgpu_llvm_target_name bitreader ipo"
NEED_RADEON_LLVM=yes
if test "x$have_libelf" != xyes; then
AC_MSG_ERROR([$1 requires libelf when using llvm])
@@ -2352,7 +2353,6 @@ AC_CONFIG_FILES([Makefile
src/gallium/drivers/svga/Makefile
src/gallium/drivers/trace/Makefile
src/gallium/drivers/vc4/Makefile
- src/gallium/drivers/vc4/kernel/Makefile
src/gallium/state_trackers/clover/Makefile
src/gallium/state_trackers/dri/Makefile
src/gallium/state_trackers/glx/xlib/Makefile
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index c7009308a..f2d06f173 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -102,8 +102,8 @@ GL 4.0, GLSL 4.00:
- Dynamically uniform UBO array indices DONE (r600)
- Implicit signed -> unsigned conversions DONE
- Fused multiply-add DONE ()
- - Packing/bitfield/conversion functions DONE (r600, radeonsi)
- - Enhanced textureGather DONE (r600, radeonsi)
+ - Packing/bitfield/conversion functions DONE (r600, radeonsi, softpipe)
+ - Enhanced textureGather DONE (r600, radeonsi, softpipe)
- Geometry shader instancing DONE (r600)
- Geometry shader multiple streams DONE ()
- Enhanced per-sample shading DONE (r600, radeonsi)
@@ -115,7 +115,7 @@ GL 4.0, GLSL 4.00:
GL_ARB_tessellation_shader started (Chris, Ilia)
GL_ARB_texture_buffer_object_rgb32 DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_texture_cube_map_array DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
- GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
+ GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_texture_query_lod DONE (i965, nv50, nvc0, r600, radeonsi)
GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
@@ -153,7 +153,7 @@ GL 4.3, GLSL 4.30:
GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
GL_ARB_clear_buffer_object DONE (all drivers)
GL_ARB_compute_shader in progress (jljusten)
- GL_ARB_copy_image DONE (i965)
+ GL_ARB_copy_image DONE (i965) (gallium - in progress, VMware)
GL_KHR_debug DONE (all drivers)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_fragment_layer_viewport DONE (nv50, nvc0, r600, llvmpipe)
@@ -164,7 +164,7 @@ GL 4.3, GLSL 4.30:
GL_ARB_program_interface_query DONE (all drivers)
GL_ARB_robust_buffer_access_behavior not started
GL_ARB_shader_image_size in progress (Martin Peres)
- GL_ARB_shader_storage_buffer_object not started
+ GL_ARB_shader_storage_buffer_object in progress (Iago Toral, Samuel Iglesias)
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_texture_buffer_range DONE (nv50, nvc0, i965, r600, radeonsi, llvmpipe)
GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
@@ -177,7 +177,7 @@ GL 4.4, GLSL 4.40:
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
GL_ARB_buffer_storage DONE (i965, nv50, nvc0, r600, radeonsi)
- GL_ARB_clear_texture DONE (i965)
+ GL_ARB_clear_texture DONE (i965) (gallium - in progress, VMware)
GL_ARB_enhanced_layouts not started
GL_ARB_multi_bind DONE (all drivers)
GL_ARB_query_buffer_object not started
@@ -190,7 +190,7 @@ GL 4.5, GLSL 4.50:
GL_ARB_ES3_1_compatibility not started
GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, llvmpipe, softpipe)
- GL_ARB_cull_distance not started
+ GL_ARB_cull_distance in progress (Tobias)
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600)
GL_ARB_direct_state_access DONE (all drivers)
- Transform Feedback object DONE
@@ -221,7 +221,7 @@ GLES3.1, GLSL ES 3.1
GL_ARB_shader_atomic_counters DONE (i965)
GL_ARB_shader_image_load_store in progress (curro)
GL_ARB_shader_image_size in progress (Martin Peres)
- GL_ARB_shader_storage_buffer_object not started
+ GL_ARB_shader_storage_buffer_object in progress (Iago Toral, Samuel Iglesias)
GL_ARB_shading_language_packing DONE (all drivers)
GL_ARB_separate_shader_objects DONE (all drivers)
GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
diff --git a/mesalib/docs/devinfo.html b/mesalib/docs/devinfo.html
index 8d20eea3c..0da18b9b7 100644
--- a/mesalib/docs/devinfo.html
+++ b/mesalib/docs/devinfo.html
@@ -17,158 +17,240 @@
Development Notes
-Adding Extensions
-
-
-To add a new GL extension to Mesa you have to do at least the following.
-
-
-Coding Style
+Coding Style
-Mesa's code style has changed over the years. Here's the latest.
+Mesa is over 20 years old and the coding style has evolved over time.
+Some old parts use a style that's a bit out of date.
+If the guidelines below don't cover something, try following the format of
+existing, neighboring code.
-Comment your code! It's extremely important that open-source code be
-well documented. Also, strive to write clean, easily understandable code.
+Basic formatting guidelines
-
-3-space indentation
-
+
+- 3-space indentation, no tabs.
+
- Limit lines to 78 or fewer characters. The idea is to prevent line
+wrapping in 80-column editors and terminals. There are exceptions, such
+as if you're defining a large, static table of information.
+
- Opening braces go on the same line as the if/for/while statement.
+For example:
+
+ if (condition) {
+ foo;
+ } else {
+ bar;
+ }
+
-
-If you use tabs, set them to 8 columns
-
+ - Put a space before/after operators. For example, a = b + c;
+and not a=b+c;
-
-Line width: the preferred width to fill comments and code in Mesa is 78
-columns. Exceptions are sometimes made for clarity (e.g. tabular data is
-sometimes filled to a much larger width so that extraneous carriage returns
-don't obscure the table).
-
+ - This GNU indent command generally does the right thing for formatting:
+
+ indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
+
-
-Brace example:
-
+ - Use comments wherever you think it would be helpful for other developers.
+Several specific cases and style examples follow. Note that we roughly
+follow Doxygen conventions.
+
+
+Single-line comments:
+
+ /* null-out pointer to prevent dangling reference below */
+ bufferObj = NULL;
+
+Or,
+
+ bufferObj = NULL; /* prevent dangling reference below */
+
+Multi-line comment:
- if (condition) {
- foo;
- }
- else {
- bar;
- }
-
- switch (condition) {
- case 0:
- foo();
- break;
-
- case 1: {
- ...
- break;
- }
-
- default:
- ...
- break;
- }
+ /* If this is a new buffer object id, or one which was generated but
+ * never used before, allocate a buffer object now.
+ */
+
+We try to quote the OpenGL specification where prudent:
+
+ /* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
+ *
+ * "An INVALID_OPERATION error is generated for any of the following
+ * conditions:
+ *
+ * * is zero."
+ *
+ * Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
+ * (30.10.2014) also says this, so it's no longer allowed for desktop GL,
+ * either.
+ */
+
+Function comment example:
+
+ /**
+ * Create and initialize a new buffer object. Called via the
+ * ctx->Driver.CreateObject() driver callback function.
+ * \param name integer name of the object
+ * \param type one of GL_FOO, GL_BAR, etc.
+ * \return pointer to new object or NULL if error
+ */
+ struct gl_object *
+ _mesa_create_object(GLuint name, GLenum type)
+ {
+ /* function body */
+ }
-
-Here's the GNU indent command which will best approximate my preferred style:
-(Note that it won't format switch statements in the preferred way)
-
+ - Put the function return type and qualifiers on one line and the function
+name and parameters on the next, as seen above. This makes it easy to use
+
grep ^function_name dir/*
to find function definitions. Also,
+the opening brace goes on the next line by itself (see above.)
+
+ - Function names follow various conventions depending on the type of function:
- indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
+ glFooBar() - a public GL entry point (in glapi_dispatch.c)
+ _mesa_FooBar() - the internal immediate mode function
+ save_FooBar() - retained mode (display list) function in dlist.c
+ foo_bar() - a static (private) function
+ _mesa_foo_bar() - an internal non-static Mesa function
+ - Constants, macros and enumerant names are ALL_UPPERCASE, with _ between
+words.
+
- Mesa usually uses camel case for local variables (Ex: "localVarname")
+while gallium typically uses underscores (Ex: "local_var_name").
+
- Global variables are almost never used because Mesa should be thread-safe.
-
-Local variable name example: localVarName (no underscores)
-
+ - Booleans. Places that are not directly visible to the GL API
+should prefer the use of bool, true, and
+false over GLboolean, GL_TRUE, and
+GL_FALSE. In C code, this may mean that
+#include <stdbool.h> needs to be added. The
+try_emit_* methods in src/mesa/program/ir_to_mesa.cpp and
+src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples.
-
-Constants and macros are ALL_UPPERCASE, with _ between words
-
+
+
+
+Submitting patches
-Global variables are not allowed.
+The basic guidelines for submitting patches are:
+
+- Patches should be sufficiently tested before submitting.
+
- Code patches should follow Mesa coding conventions.
+
- Whenever possible, patches should only effect individual Mesa/Gallium
+components.
+
- Patches should never introduce build breaks and should be bisectable (see
+
git bisect
.)
+ - Patches should be properly formatted (see below).
+
- Patches should be submitted to mesa-dev for review using
+
git send-email
.
+ - Patches should not mix code changes with code formatting changes (except,
+perhaps, in very trivial cases.)
+
+
+Patch formatting
+
-Function name examples:
+The basic rules for patch formatting are:
+
+
+- Lines should be limited to 75 characters or less so that git logs
+displayed in 80-column terminals avoid line wrapping. Note that git
+log uses 4 spaces of indentation (4 + 75 < 80).
+
- The first line should be a short, concise summary of the change prefixed
+with a module name. Examples:
+
+ mesa: Add support for querying GL_VERTEX_ATTRIB_ARRAY_LONG
+
+ gallium: add PIPE_CAP_DEVICE_RESET_STATUS_QUERY
+
+ i965: Fix missing type in local variable declaration.
+
+ - Subsequent patch comments should describe the change in more detail,
+if needed. For example:
+
+ i965: Remove end-of-thread SEND alignment code.
+
+ This was present in Eric's initial implementation of the compaction code
+ for Sandybridge (commit 077d01b6). There is no documentation saying this
+ is necessary, and removing it causes no regressions in piglit on any
+ platform.
+
+ - A "Signed-off-by:" line is not required, but not discouraged either.
+
- If a patch address a bugzilla issue, that should be noted in the
+patch comment. For example:
+
+ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89689
+
+ - If there have been several revisions to a patch during the review
+process, they should be noted such as in this example:
- glFooBar() - a public GL entry point (in glapi_dispatch.c)
- _mesa_FooBar() - the internal immediate mode function
- save_FooBar() - retained mode (display list) function in dlist.c
- foo_bar() - a static (private) function
- _mesa_foo_bar() - an internal non-static Mesa function
+ st/mesa: add ARB_texture_stencil8 support (v4)
+
+ if we support stencil texturing, enable texture_stencil8
+ there is no requirement to support native S8 for this,
+ the texture can be converted to x24s8 fine.
+
+ v2: fold fixes from Marek in:
+ a) put S8 last in the list
+ b) fix renderable to always test for d/s renderable
+ fixup the texture case to use a stencil only format
+ for picking the format for the texture view.
+ v3: hit fallback for getteximage
+ v4: put s8 back in front, it shouldn't get picked now (Ilia)
+ - If someone tested your patch, document it with a line like this:
+
+ Tested-by: Joe Hacker <jhacker@foo.com>
+
+ - If the patch was reviewed (usually the case) or acked by someone,
+that should be documented with:
+
+ Reviewed-by: Joe Hacker <jhacker@foo.com>
+ Acked-by: Joe Hacker <jhacker@foo.com>
+
+
+
+
+
+Testing Patches
-Places that are not directly visible to the GL API should prefer the use
-of bool, true, and
-false over GLboolean, GL_TRUE, and
-GL_FALSE. In C code, this may mean that
-#include <stdbool.h> needs to be added. The
-try_emit_* methods in src/mesa/program/ir_to_mesa.cpp and
-src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples.
+It should go without saying that patches must be tested. In general,
+do whatever testing is prudent.
-Submitting patches
-
-You should always run the Mesa Testsuite before submitting patches.
-The Testsuite can be run using the 'make check' command. All tests
+You should always run the Mesa test suite before submitting patches.
+The test suite can be run using the 'make check' command. All tests
must pass before patches will be accepted, this may mean you have
to update the tests themselves.
+
+Whenever possible and applicable, test the patch with
+Piglit to
+check for regressions.
+
+
+
+Mailing Patches
+
Patches should be sent to the Mesa mailing list for review.
When submitting a patch make sure to use git send-email rather than attaching
@@ -184,7 +266,32 @@ re-sending the whole series). Using --in-reply-to makes
it harder for reviewers to accidentally review old patches.
-Marking a commit as a candidate for a stable branch
+Reviewing Patches
+
+
+When you've reviewed a patch on the mailing list, please be unambiguous
+about your review. That is, state either
+
+ Reviewed-by: Joe Hacker <jhacker@foo.com>
+
+or
+
+ Acked-by: Joe Hacker <jhacker@foo.com>
+
+Rather than saying just "LGTM" or "Seems OK".
+
+
+
+If small changes are suggested, it's OK to say something like:
+
+ With the above fixes, Reviewed-by: Joe Hacker <jhacker@foo.com>
+
+which tells the patch author that the patch can be committed, as long
+as the issues are resolved first.
+
+
+
+Marking a commit as a candidate for a stable branch
If you want a commit to be applied to a stable branch,
@@ -221,7 +328,7 @@ the upcoming stable release can always be seen on the
Mesa Stable Queue
page.
-
Criteria for accepting patches to the stable branch
+Criteria for accepting patches to the stable branch
Mesa has a designated release manager for each stable branch, and the release
manager is the only developer that should be pushing changes to these
@@ -306,7 +413,8 @@ be rejected:
regression that is unaacceptable for the stable branch.
-Making a New Mesa Release
+
+Making a New Mesa Release
These are the instructions for making a new Mesa release.
@@ -456,7 +564,7 @@ Edit docs/relnotes/X.Y.Z.html to add the sha256sums printed as part of "make
tarballs" in the previous step. Commit this change.
-Push all commits and the tag creates above
+Push all commits and the tag created above
This is the first step that cannot easily be undone. The release is going
@@ -483,7 +591,7 @@ signatures to the freedesktop.org server:
mv ~/MesaLib-X.Y.Z* .
-
Back on mesa master, andd the new release notes into the tree
+Back on mesa master, add the new release notes into the tree
Something like the following steps will do the trick:
@@ -543,6 +651,56 @@ release announcement:
+
+Adding Extensions
+
+
+To add a new GL extension to Mesa you have to do at least the following.
+
+
+
+
+
+