VERSION | 2 bin/.cherry-ignore | 2 debian/changelog | 20 debian/control | 33 - debian/copyright | 273 ++++------ debian/libgbm1.lintian-overrides | 1 debian/libgl1-mesa-dri.lintian-overrides | 3 src/gallium/auxiliary/vl/vl_video_buffer.c | 2 src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp | 2 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 6 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp | 2 src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 40 + src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp | 2 src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp | 2 src/gallium/drivers/r600/r600_pipe.h | 2 src/gallium/drivers/r600/r600_shader.c | 5 src/gallium/drivers/r600/r600_state.c | 29 - src/gallium/drivers/r600/r600_state_common.c | 18 src/gallium/drivers/r600/r600d.h | 1 src/gallium/drivers/radeon/r600_pipe_common.c | 3 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 2 src/gallium/state_trackers/clover/core/platform.cpp | 3 src/gallium/targets/opencl/Makefile.am | 2 src/glsl/glsl_parser_extras.cpp | 2 src/glsl/standalone_scaffolding.cpp | 2 src/glsl/standalone_scaffolding.h | 2 src/mapi/glapi/gen/KHR_debug.xml | 25 src/mesa/drivers/dri/i965/Makefile.am | 3 src/mesa/drivers/dri/i965/brw_inst.h | 4 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 4 src/mesa/main/context.c | 3 src/mesa/main/errors.c | 110 ++-- src/mesa/main/errors.h | 2 src/mesa/main/extensions_table.h | 2 src/mesa/main/get_hash_params.py | 4 src/mesa/main/mtypes.h | 3 src/mesa/main/tests/dispatch_sanity.cpp | 5 src/mesa/main/version.c | 1 38 files changed, 362 insertions(+), 265 deletions(-)
New commits: commit e94ba39a99ed19a2f829df9ab1a2cf590164093c Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Dec 9 16:03:49 2015 +0100 Remove obsolete libgl1-mesa-dri.lintian-overrides. diff --git a/debian/changelog b/debian/changelog index 9e64432..7e1b0c2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium #804919). * Add a Lintian override for symbols-declares-dependency-on-other- package libgbm1-private. + * Remove obsolete libgl1-mesa-dri.lintian-overrides. -- Andreas Boll <andreas.boll....@gmail.com> Mon, 30 Nov 2015 15:06:57 +0100 diff --git a/debian/libgl1-mesa-dri.lintian-overrides b/debian/libgl1-mesa-dri.lintian-overrides deleted file mode 100644 index e1bec96..0000000 --- a/debian/libgl1-mesa-dri.lintian-overrides +++ /dev/null @@ -1,3 +0,0 @@ -# virtual packages only: -breaks-without-version libgl1-mesa-glx-no-multiarch -breaks-without-version xserver-xorg-core-no-multiarch commit d8d5da51a18655b756931e3e440b0d70b79fead0 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Dec 9 16:02:25 2015 +0100 Add a Lintian override for symbols-declares-dependency-on-other-package libgbm1-private. diff --git a/debian/changelog b/debian/changelog index 6126936..9e64432 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium * Remove duplicated field "Priority" from package libgl1-mesa-dri. * Declare Multi-Arch: same for mesa-opencl-icd{,-dbg} (Closes: #804919). + * Add a Lintian override for symbols-declares-dependency-on-other- + package libgbm1-private. -- Andreas Boll <andreas.boll....@gmail.com> Mon, 30 Nov 2015 15:06:57 +0100 diff --git a/debian/libgbm1.lintian-overrides b/debian/libgbm1.lintian-overrides new file mode 100644 index 0000000..4b9f4bd --- /dev/null +++ b/debian/libgbm1.lintian-overrides @@ -0,0 +1 @@ +symbols-declares-dependency-on-other-package libgbm1-private commit 113bb2c3aaf15f7fde2d150b235e5625548f7a65 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Dec 9 21:18:35 2015 +0100 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index 1ce198a..a370c4a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (11.0.7-1) UNRELEASED; urgency=medium +mesa (11.0.7-1) unstable; urgency=medium [ Julien Cristau ] * Update debian/copyright from docs/license.html (closes: #806805). Thanks, @@ -7,7 +7,7 @@ mesa (11.0.7-1) UNRELEASED; urgency=medium [ Andreas Boll ] * New upstream release. - -- Julien Cristau <jcris...@debian.org> Tue, 01 Dec 2015 20:43:58 +0100 + -- Andreas Boll <andreas.boll....@gmail.com> Wed, 09 Dec 2015 21:18:17 +0100 mesa (11.0.6-1) unstable; urgency=medium commit 7ffba4bc28353893f8bc73164414c44ab6882266 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Dec 9 20:17:41 2015 +0100 Bump changelog diff --git a/debian/changelog b/debian/changelog index 5016544..1ce198a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,12 @@ -mesa (11.0.6-2) UNRELEASED; urgency=medium +mesa (11.0.7-1) UNRELEASED; urgency=medium + [ Julien Cristau ] * Update debian/copyright from docs/license.html (closes: #806805). Thanks, Steinar H. Gunderson! + [ Andreas Boll ] + * New upstream release. + -- Julien Cristau <jcris...@debian.org> Tue, 01 Dec 2015 20:43:58 +0100 mesa (11.0.6-1) unstable; urgency=medium commit bec983b738a7f149478ee692ba0e1d26fcc9fd8e Author: Emil Velikov <emil.veli...@collabora.com> Date: Wed Dec 9 15:19:30 2015 +0000 docs: add release notes for 11.0.7 Signed-off-by: Emil Velikov <emil.veli...@collabora.com> diff --git a/docs/relnotes/11.0.7.html b/docs/relnotes/11.0.7.html new file mode 100644 index 0000000..e7ebbc7 --- /dev/null +++ b/docs/relnotes/11.0.7.html @@ -0,0 +1,153 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> +<head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>Mesa Release Notes</title> + <link rel="stylesheet" type="text/css" href="../mesa.css"> +</head> +<body> + +<div class="header"> + <h1>The Mesa 3D Graphics Library</h1> +</div> + +<iframe src="../contents.html"></iframe> +<div class="content"> + +<h1>Mesa 11.0.7 Release Notes / December 9, 2015</h1> + +<p> +Mesa 11.0.7 is a bug fix release which fixes bugs found since the 11.0.6 release. +</p> +<p> +Mesa 11.0.7 implements the OpenGL 4.1 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.1. OpenGL +4.1 is <strong>only</strong> available if requested at context creation +because compatibility contexts are not supported. +</p> + + +<h2>SHA256 checksums</h2> +<pre> +TBD +</pre> + + +<h2>New features</h2> +<p>None</p> + +<h2>Bug fixes</h2> + +<p>This list is likely incomplete.</p> + +<ul> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=90348">Bug 90348</a> - Spilling failure of b96 merged value</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92363">Bug 92363</a> - [BSW/BDW] ogles1conform Gets test fails</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92438">Bug 92438</a> - Segfault in pushbuf_kref when running the android emulator (qemu) on nv50</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93110">Bug 93110</a> - [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93126">Bug 93126</a> - wrongly claim supporting GL_EXT_texture_rg</li> + +</ul> + + +<h2>Changes</h2> + +<p>Chris Wilson (1):</p> +<ul> + <li>meta: Compute correct buffer size with SkipRows/SkipPixels</li> +</ul> + +<p>Daniel Stone (1):</p> +<ul> + <li>egl/wayland: Ignore rects from SwapBuffersWithDamage</li> +</ul> + +<p>Dave Airlie (4):</p> +<ul> + <li>texgetimage: consolidate 1D array handling code.</li> + <li>r600: geometry shader gsvs itemsize workaround</li> + <li>r600: rv670 use at least 16es/gs threads</li> + <li>r600: workaround empty geom shader.</li> +</ul> + +<p>Emil Velikov (4):</p> +<ul> + <li>docs: add sha256 checksums for 11.0.6</li> + <li>get-pick-list.sh: Require explicit "11.0" for nominating stable patches</li> + <li>mesa; add get-extra-pick-list.sh script into bin/</li> + <li>Update version to 11.0.7</li> +</ul> + +<p>François Tigeot (1):</p> +<ul> + <li>xmlconfig: Add support for DragonFly</li> +</ul> + +<p>Ian Romanick (22):</p> +<ul> + <li>mesa: Make bind_vertex_buffer avilable outside varray.c</li> + <li>mesa: Refactor update_array_format to make _mesa_update_array_format_public</li> + <li>mesa: Refactor enable_vertex_array_attrib to make _mesa_enable_vertex_array_attrib</li> + <li>i965: Pass brw_context instead of gl_context to brw_draw_rectlist</li> + <li>i965: Use DSA functions for VBOs in brw_meta_fast_clear</li> + <li>i965: Use internal functions for buffer object access</li> + <li>i965: Don't pollute the buffer object namespace in brw_meta_fast_clear</li> + <li>meta: Use DSA functions for PBO in create_texture_for_pbo</li> + <li>meta: Use _mesa_NamedBufferData and _mesa_NamedBufferSubData for users of _mesa_meta_setup_vertex_objects</li> + <li>i965: Use _mesa_NamedBufferSubData for users of _mesa_meta_setup_vertex_objects</li> + <li>meta: Don't leave the VBO bound after _mesa_meta_setup_vertex_objects</li> + <li>meta: Track VBO using gl_buffer_object instead of GL API object handle</li> + <li>meta: Use DSA functions for VBOs in _mesa_meta_setup_vertex_objects</li> + <li>meta: Use internal functions for buffer object and VAO access</li> + <li>meta: Don't pollute the buffer object namespace in _mesa_meta_setup_vertex_objects</li> + <li>meta: Partially convert _mesa_meta_DrawTex to DSA</li> + <li>meta: Track VBO using gl_buffer_object instead of GL API object handle in _mesa_meta_DrawTex</li> + <li>meta: Use internal functions for buffer object and VAO access in _mesa_meta_DrawTex</li> + <li>meta: Don't pollute the buffer object namespace in _mesa_meta_DrawTex</li> + <li>meta/TexSubImage: Don't pollute the buffer object namespace</li> + <li>meta/generate_mipmap: Don't leak the framebuffer object</li> + <li>glsl: Fix off-by-one error in array size check assertion</li> +</ul> + +<p>Ilia Mirkin (7):</p> +<ul> + <li>nvc0/ir: actually emit AFETCH on kepler</li> + <li>nir: fix typo in idiv lowering, causing large-udiv-udiv failures</li> + <li>nouveau: use the buffer usage to determine placement when no binding</li> + <li>nv50,nvc0: properly handle buffer storage invalidation on dsa buffer</li> + <li>nv50/ir: fix (un)spilling of 3-wide results</li> + <li>mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists</li> + <li>nvc0/ir: start offset at texBindBase for txq, like regular texturing</li> +</ul> + +<p>Jonathan Gray (1):</p> +<ul> + <li>automake: fix some occurrences of hardcoded -ldl and -lpthread</li> +</ul> + +<p>Leo Liu (1):</p> +<ul> + <li>radeon/vce: disable Stoney VCE for 11.0</li> +</ul> + +<p>Marta Lofstedt (1):</p> +<ul> + <li>gles2: Update gl2ext.h to revision: 32120</li> +</ul> + +<p>Oded Gabbay (1):</p> +<ul> + <li>llvmpipe: disable VSX in ppc due to LLVM PPC bug</li> +</ul> + + +</div> +</body> +</html> commit 355c9c6a5435a15255194e8c9c3f36c0b186662f Author: Emil Velikov <emil.veli...@collabora.com> Date: Wed Dec 9 15:13:37 2015 +0000 Update version to 11.0.7 Signed-off-by: Emil Velikov <emil.veli...@collabora.com> diff --git a/VERSION b/VERSION index 5326b8b..229ebd3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -11.0.6 +11.0.7 commit bec40b27e7ec74bc2e14f5134ecea046396ab750 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Tue Dec 8 20:16:21 2015 +0100 Declare Multi-Arch: same for mesa-opencl-icd{,-dbg} Closes: #804919 diff --git a/debian/changelog b/debian/changelog index e604fa3..6126936 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium * Update symbols for libgles2-mesa and libxatracker2. * Remove Breaks/Conflicts/Provides/Replaces from pre-wheezy. * Remove duplicated field "Priority" from package libgl1-mesa-dri. + * Declare Multi-Arch: same for mesa-opencl-icd{,-dbg} (Closes: + #804919). -- Andreas Boll <andreas.boll....@gmail.com> Mon, 30 Nov 2015 15:06:57 +0100 diff --git a/debian/control b/debian/control index 5459cce..ace8ee5 100644 --- a/debian/control +++ b/debian/control @@ -614,6 +614,7 @@ Description: Debugging symbols for the Mesa VDPAU video acceleration drivers Package: mesa-opencl-icd Section: libs Architecture: amd64 i386 armhf +Pre-Depends: ${misc:Pre-Depends} Depends: libclc-r600 (>= 0.2.0+git20150813), libclc-amdgcn, @@ -625,6 +626,7 @@ Replaces: Breaks: libgl1-mesa-dri (<< 10.3.0-1), Provides: opencl-icd +Multi-Arch: same Description: free implementation of the OpenCL API -- ICD runtime This package contains the mesa implementation of the OpenCL (Open Compute Language) library, which is intended for use with an ICD loader. OpenCL @@ -638,6 +640,7 @@ Architecture: amd64 i386 armhf Depends: mesa-opencl-icd (= ${binary:Version}), ${misc:Depends}, +Multi-Arch: same Description: free implementation of the OpenCL API -- debugging symbols This package contains the mesa implementation of the OpenCL (Open Compute Language) library, which is intended for use with an ICD loader. OpenCL commit 8289e9688254c52046e3b3e0fa88a6fe715b1c83 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Tue Dec 8 19:58:14 2015 +0100 Remove duplicated field "Priority" from package libgl1-mesa-dri. diff --git a/debian/changelog b/debian/changelog index b470c08..e604fa3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium * Bump libdrm-dev build-dep to 2.4.65. * Update symbols for libgles2-mesa and libxatracker2. * Remove Breaks/Conflicts/Provides/Replaces from pre-wheezy. + * Remove duplicated field "Priority" from package libgl1-mesa-dri. -- Andreas Boll <andreas.boll....@gmail.com> Mon, 30 Nov 2015 15:06:57 +0100 diff --git a/debian/control b/debian/control index 0a44de2..5459cce 100644 --- a/debian/control +++ b/debian/control @@ -450,7 +450,6 @@ Description: Debugging symbols for the Mesa GLX runtime Package: libgl1-mesa-dri Section: libs -Priority: optional Architecture: any Pre-Depends: ${misc:Pre-Depends} Depends: commit 21d074a0871f288119fc3a8aa7eac052a00283d6 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Tue Dec 8 19:46:07 2015 +0100 Remove Breaks/Conflicts/Provides/Replaces from pre-wheezy. diff --git a/debian/changelog b/debian/changelog index bdac3e7..b470c08 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium * New upstream release candidate. * Bump libdrm-dev build-dep to 2.4.65. * Update symbols for libgles2-mesa and libxatracker2. + * Remove Breaks/Conflicts/Provides/Replaces from pre-wheezy. -- Andreas Boll <andreas.boll....@gmail.com> Mon, 30 Nov 2015 15:06:57 +0100 diff --git a/debian/control b/debian/control index 4ab6f21..0a44de2 100644 --- a/debian/control +++ b/debian/control @@ -402,13 +402,11 @@ Depends: ${misc:Depends}, libglapi-mesa (= ${binary:Version}), libudev1 [linux-any], -Recommends: libgl1-mesa-dri (>= 7.2) -Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0) -Replaces: libgl1, libgl1-mesa-dri (<< 6.4.0) +Recommends: libgl1-mesa-dri +Conflicts: libgl1 +Replaces: libgl1 Provides: libgl1 Breaks: - libgl1-nvidia-alternatives (<= 275.09.07-1), - fglrx-glx (<< 1:11-6-1), glx-diversions (<< 0.4), libopengl-perl (<< 0.6704+dfsg-2), Pre-Depends: ${misc:Pre-Depends} @@ -459,14 +457,8 @@ Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: libtxc-dxtn-s2tc0 | libtxc-dxtn0 -Conflicts: xlibmesa-dri (<< 1:7.0.0) -Replaces: xlibmesa-dri (<< 1:7.0.0), libgl1-mesa-dri-experimental (<< 7.11.1) Breaks: xserver-xorg-core (<< 2:1.14.3-5), - xserver-xorg-core-no-multiarch, - libgl1-mesa-glx (<< 7.10.2-4), - libgl1-mesa-glx-no-multiarch, - libgl1-mesa-dri-experimental (<< 7.11.1), Multi-Arch: same Description: free implementation of the OpenGL API -- DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -486,7 +478,6 @@ Architecture: any Depends: libgl1-mesa-dri (= ${binary:Version}), ${misc:Depends}, -Replaces: libgl1-mesa-dri-experimental-dbg (<< 7.11.1) Multi-Arch: same Description: Debugging symbols for the Mesa DRI modules This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -523,9 +514,9 @@ Depends: x11proto-dri2-dev (>= 2.6), x11proto-gl-dev (>= 1.4.14), ${misc:Depends}, -Conflicts: libgl-dev, libgl1-mesa-dri-dev -Replaces: libgl-dev, libgl1-mesa-dri-dev -Provides: libgl-dev, libgl1-mesa-dri-dev +Conflicts: libgl-dev +Replaces: libgl-dev +Provides: libgl-dev Multi-Arch: same Description: free implementation of the OpenGL API -- GLX development files This version of Mesa provides GLX and DRI capabilities: it is capable of @@ -541,7 +532,6 @@ Description: free implementation of the OpenGL API -- GLX development files Package: mesa-common-dev Section: libdevel Architecture: any -Replaces: xlibmesa-gl-dev (<< 1:7), xlibosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), libgl1-mesa-dev (<< 7.5~rc4-2) Depends: libx11-dev, libdrm-dev (>= 2.4.65) [!hurd-any], @@ -559,7 +549,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libglapi-mesa (= ${binary:Version}), -Replaces: libgl1-mesa-swx11 (<< 6.5.2) Pre-Depends: ${misc:Pre-Depends} Multi-Arch: same Description: Mesa Off-screen rendering extension @@ -577,9 +566,9 @@ Depends: libosmesa6 (= ${binary:Version}), mesa-common-dev (= ${binary:Version}) | libgl-dev, ${misc:Depends}, -Conflicts: xlibosmesa-dev, libosmesa4-dev, libosmesa-dev -Replaces: xlibosmesa-dev, libosmesa-dev, libgl1-mesa-swx11-dev (<< 6.5.2), mesa-common-dev (<< 6.5.2) -Provides: xlibosmesa-dev, libosmesa-dev +Conflicts: libosmesa-dev +Replaces: libosmesa-dev +Provides: libosmesa-dev Multi-Arch: same Description: Mesa Off-screen rendering extension -- development files This package provides the required environment for developing programs commit dbc169335872568fd7e7ba1e2a135bda9b39cc0d Author: Andreas Boll <andreas.boll....@gmail.com> Date: Tue Dec 8 18:01:57 2015 +0100 Bump changelog diff --git a/debian/changelog b/debian/changelog index d430325..bdac3e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (11.1.0~rc2-1) UNRELEASED; urgency=medium +mesa (11.1.0~rc3-1) UNRELEASED; urgency=medium * New upstream release candidate. * Bump libdrm-dev build-dep to 2.4.65. commit 20db46c227fad1ccc23287d3c008d0ca24b49d5a Author: Emil Velikov <emil.veli...@collabora.com> Date: Mon Dec 7 13:50:15 2015 +0000 Update version to 11.1.0-rc3 Signed-off-by: Emil Velikov <emil.veli...@collabora.com> diff --git a/VERSION b/VERSION index 2fdb3a1..c575419 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -11.1.0-rc2 +11.1.0-rc3 commit b2a5efb56f612123fbaf9a10e63abf712e397807 Author: Michel Dänzer <michel.daen...@amd.com> Date: Thu Nov 19 11:30:21 2015 +0900 radeon/llvm: Use llvm.AMDIL.exp intrinsic again for now llvm.exp2.f32 doesn't work in some cases yet. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92709 Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> (cherry picked from commit d09463193608009fa42e046b1fc144435d3533f6) diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c index ac99e73..c94f109 100644 --- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c +++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c @@ -1539,7 +1539,7 @@ void radeon_llvm_context_init(struct radeon_llvm_context * ctx) bld_base->op_actions[TGSI_OPCODE_ENDIF].emit = endif_emit; bld_base->op_actions[TGSI_OPCODE_ENDLOOP].emit = endloop_emit; bld_base->op_actions[TGSI_OPCODE_EX2].emit = build_tgsi_intrinsic_nomem; - bld_base->op_actions[TGSI_OPCODE_EX2].intr_name = "llvm.exp2.f32"; + bld_base->op_actions[TGSI_OPCODE_EX2].intr_name = "llvm.AMDIL.exp."; bld_base->op_actions[TGSI_OPCODE_FLR].emit = build_tgsi_intrinsic_nomem; bld_base->op_actions[TGSI_OPCODE_FLR].intr_name = "llvm.floor.f32"; bld_base->op_actions[TGSI_OPCODE_FMA].emit = build_tgsi_intrinsic_nomem; commit 38c645b60a49899e58edce4a2b47ed19b25c3b08 Author: Connor Abbott <connor.w.abb...@intel.com> Date: Mon Aug 3 14:38:12 2015 -0700 i965: fix 64-bit immediates in brw_inst(_set)_bits If we tried to get/set something that was exactly 64 bits, we would try to do (1 << 64) - 1 to calculate the mask which doesn't give us all 1's like we want. v2 (Iago) - Replace ~0 by ~0ull - Removed unnecessary parenthesis v3 (Kristian) - Avoid the conditional Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> Reviewed-by: Matt Turner <matts...@gmail.com> Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> (cherry picked from commit b1a83b5d1b677faf650a41cd2c152b4d1cd18f84) Squashed with commit i965: Use ull immediates in brw_inst_bits This fixes a regression introduced in b1a83b5d1 that caused basically all shaders to fail to compile on 32-bit platforms. Reported-by: Mark Janes <mark.a.ja...@intel.com> Reviewed-by: Matt Turner <matts...@gmail.com> (cherry picked from commit 9d703de85a7bdd6ae767aedd7690cb82794cb90a) Nominated-by: Ian Romanick <ian.d.roman...@intel.com> diff --git a/src/mesa/drivers/dri/i965/brw_inst.h b/src/mesa/drivers/dri/i965/brw_inst.h index 4ed95c4..cd9f6ef 100644 --- a/src/mesa/drivers/dri/i965/brw_inst.h +++ b/src/mesa/drivers/dri/i965/brw_inst.h @@ -694,7 +694,7 @@ brw_inst_bits(const brw_inst *inst, unsigned high, unsigned low) high %= 64; low %= 64; - const uint64_t mask = (1ull << (high - low + 1)) - 1; + const uint64_t mask = (~0ull >> (64 - (high - low + 1))); return (inst->data[word] >> low) & mask; } @@ -713,7 +713,7 @@ brw_inst_set_bits(brw_inst *inst, unsigned high, unsigned low, uint64_t value) high %= 64; low %= 64; - const uint64_t mask = ((1ull << (high - low + 1)) - 1) << low; + const uint64_t mask = (~0ull >> (64 - (high - low + 1))) << low; /* Make sure the supplied value actually fits in the given bitfield. */ assert((value & (mask >> low)) == value); commit 2dff4c6fa76acf3c415ee406faa1005f301b09fb Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:17 2015 +0000 mesa: rework the meaning of gl_debug_message::length Currently it stores strlen(buf) whenever the user originally provided a negative value for length. Although I've not seen any explicit text in the spec, CTS requires that the very same length (be that negative value or not) is returned back on Pop. So let's push down the length < 0 checks, tweak the meaning of gl_debug_message::length and fix GetDebugMessageLog to add and count the null terminators, as required by the spec. v2: return correct total length in GetDebugMessageLog v3: rebase (drop _mesa_shader_debug hunk). Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit 5a23f6bd8d8d26e0e75801df44cc228f15f9768e) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index a6294e3..9e66109 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -76,6 +76,8 @@ struct gl_debug_message enum mesa_debug_type type; GLuint id; enum mesa_debug_severity severity; + /* length as given by the user - if message was explicitly null terminated, + * length can be negative */ GLsizei length; GLcharARB *message; }; @@ -211,14 +213,19 @@ debug_message_store(struct gl_debug_message *msg, enum mesa_debug_severity severity, GLsizei len, const char *buf) { + GLsizei length = len; + assert(!msg->message && !msg->length); - msg->message = malloc(len+1); + if (length < 0) + length = strlen(buf); + + msg->message = malloc(length+1); if (msg->message) { - (void) strncpy(msg->message, buf, (size_t)len); - msg->message[len] = '\0'; + (void) strncpy(msg->message, buf, (size_t)length); + msg->message[length] = '\0'; - msg->length = len+1; + msg->length = len; msg->source = source; msg->type = type; msg->id = id; @@ -229,7 +236,7 @@ debug_message_store(struct gl_debug_message *msg, /* malloc failed! */ msg->message = out_of_memory; - msg->length = strlen(out_of_memory)+1; + msg->length = -1; msg->source = MESA_DEBUG_SOURCE_OTHER; msg->type = MESA_DEBUG_TYPE_ERROR; msg->id = oom_msg_id; @@ -607,7 +614,7 @@ debug_log_message(struct gl_debug_state *debug, GLint nextEmpty; struct gl_debug_message *emptySlot; - assert(len >= 0 && len < MAX_DEBUG_MESSAGE_LENGTH); + assert(len < MAX_DEBUG_MESSAGE_LENGTH); if (log->NumMessages == MAX_DEBUG_LOGGED_MESSAGES) return; @@ -1004,8 +1011,6 @@ _mesa_DebugMessageInsert(GLenum source, GLenum type, GLuint id, if (!validate_params(ctx, INSERT, callerstr, source, type, severity)) return; /* GL_INVALID_ENUM */ - if (length < 0) - length = strlen(buf); if (!validate_length(ctx, callerstr, length, buf)) return; /* GL_INVALID_VALUE */ @@ -1047,23 +1052,28 @@ _mesa_GetDebugMessageLog(GLuint count, GLsizei logSize, GLenum *sources, for (ret = 0; ret < count; ret++) { const struct gl_debug_message *msg = debug_fetch_message(debug); + GLsizei len; if (!msg) break; - if (logSize < msg->length && messageLog != NULL) + len = msg->length; + if (len < 0) + len = strlen(msg->message); + + if (logSize < len+1 && messageLog != NULL) break; if (messageLog) { - assert(msg->message[msg->length-1] == '\0'); - (void) strncpy(messageLog, msg->message, (size_t)msg->length); + assert(msg->message[len] == '\0'); + (void) strncpy(messageLog, msg->message, (size_t)len+1); - messageLog += msg->length; - logSize -= msg->length; + messageLog += len+1; + logSize -= len+1; } if (lengths) - *lengths++ = msg->length; + *lengths++ = len+1; if (severities) *severities++ = debug_severity_enums[msg->severity]; if (sources) @@ -1173,8 +1183,6 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length, return; } - if (length < 0) - length = strlen(message); if (!validate_length(ctx, callerstr, length, message)) return; /* GL_INVALID_VALUE */ commit d81ddb3ed8e180b08e0905c7f3b1f9ce72b9dccf Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:16 2015 +0000 mesa: errors: validate the length of null terminated string We're about to rework the meaning of gl_debug_message::length to only store the user provided data. Thus we should add an explicit validation for null terminated strings. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit 622186fbdf47e4c77aadba3e38567636ecbcccf5) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index 9fa2c49..a6294e3 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -960,8 +960,22 @@ error: static GLboolean -validate_length(struct gl_context *ctx, const char *callerstr, GLsizei length) +validate_length(struct gl_context *ctx, const char *callerstr, GLsizei length, + const GLchar *buf) { + + if (length < 0) { + GLsizei len = strlen(buf); + + if (len >= MAX_DEBUG_MESSAGE_LENGTH) { + _mesa_error(ctx, GL_INVALID_VALUE, + "%s(null terminated string length=%d, is not less than " + "GL_MAX_DEBUG_MESSAGE_LENGTH=%d)", callerstr, len, + MAX_DEBUG_MESSAGE_LENGTH); + return GL_FALSE; + } + } + if (length >= MAX_DEBUG_MESSAGE_LENGTH) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(length=%d, which is not less than " @@ -992,7 +1006,7 @@ _mesa_DebugMessageInsert(GLenum source, GLenum type, GLuint id, if (length < 0) length = strlen(buf); - if (!validate_length(ctx, callerstr, length)) + if (!validate_length(ctx, callerstr, length, buf)) return; /* GL_INVALID_VALUE */ log_msg(ctx, gl_enum_to_debug_source(source), @@ -1161,7 +1175,7 @@ _mesa_PushDebugGroup(GLenum source, GLuint id, GLsizei length, if (length < 0) length = strlen(message); - if (!validate_length(ctx, callerstr, length)) + if (!validate_length(ctx, callerstr, length, message)) return; /* GL_INVALID_VALUE */ debug = _mesa_lock_debug_state(ctx); commit c25c1dbf512cec97c480e26e2030d9120d83ea76 Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:15 2015 +0000 mesa: accept TYPE_PUSH/POP_GROUP with glDebugMessageInsert These new (relative to ARB_debug_output) tokens, have been explicitly separated from the existing ones in the spec text. With the reference to glDebugMessageInsert was dropped. At the same time, further down the spec says: "The value of <type> must be one of the values from Table 5.4" ... and these two are listed in Table 5.4. The GL 4.3 and GLES 3.2 do not give any hints on the former 'definition', plus CTS requires that the tokens are valid values for glDebugMessageInsert. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit 66fea8bd9662c8fc62d87cafce89adc27e3172a2) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index a247000..9fa2c49 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -922,9 +922,9 @@ validate_params(struct gl_context *ctx, unsigned caller, case GL_DEBUG_TYPE_PORTABILITY_ARB: case GL_DEBUG_TYPE_OTHER_ARB: case GL_DEBUG_TYPE_MARKER: - break; case GL_DEBUG_TYPE_PUSH_GROUP: case GL_DEBUG_TYPE_POP_GROUP: + break; case GL_DONT_CARE: if (caller == CONTROL) break; commit bed982c4b75e4521d33e3798bec1bda7c78f204c Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:14 2015 +0000 mesa: add SEVERITY_NOTIFICATION to default state As per the spec quote: "All messages are initially enabled unless their assigned severity is DEBUG_SEVERITY_LOW" We already had MEDIUM and HIGH set, let's toggle NOTIFICATION as well. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit 53be28107b44200a59c678c5d2234efeb48d0b35) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index fda5a90..a247000 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -243,8 +243,9 @@ debug_namespace_init(struct gl_debug_namespace *ns) make_empty_list(&ns->Elements); /* Enable all the messages with severity HIGH or MEDIUM by default */ - ns->DefaultState = (1 << MESA_DEBUG_SEVERITY_HIGH) | - (1 << MESA_DEBUG_SEVERITY_MEDIUM); + ns->DefaultState = (1 << MESA_DEBUG_SEVERITY_MEDIUM ) | + (1 << MESA_DEBUG_SEVERITY_HIGH) | + (1 << MESA_DEBUG_SEVERITY_NOTIFICATION); } static void commit dcaf3989d12602799b3d50d6068fe926509c911d Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:13 2015 +0000 mesa: return the correct value for GroupStackDepth We already have one group (the default) as specified in the spec. So lets return its size, rather than the index of the current group. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit 078dd6a0b4135b5181eea538473fe53a9bc61223) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index 88fc028..fda5a90 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -775,7 +775,7 @@ _mesa_get_debug_state_int(struct gl_context *ctx, GLenum pname) debug->Log.Messages[debug->Log.NextMessage].length : 0; break; case GL_DEBUG_GROUP_STACK_DEPTH: - val = debug->CurrentGroup; + val = debug->CurrentGroup + 1; break; default: assert(!"unknown debug output param"); commit 996a4958da7ae97efff4335cae857143d5119404 Author: Emil Velikov <emil.l.veli...@gmail.com> Date: Thu Nov 26 00:36:12 2015 +0000 mesa: rename GroupStackDepth to CurrentGroup The variable is used as the actual index, rather than the size of the group stack - rename it to reflect that. Suggested-by: Ilia Mirkin <imir...@alum.mit.edu> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> (cherry picked from commit f39954bf7cf09199a1cccb71e0e858c0b2054c6d) diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index 85e5bbd..88fc028 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -98,7 +98,7 @@ struct gl_debug_state struct gl_debug_group *Groups[MAX_DEBUG_GROUP_STACK_DEPTH]; struct gl_debug_message GroupMessages[MAX_DEBUG_GROUP_STACK_DEPTH]; - GLint GroupStackDepth; + GLint CurrentGroup; // GroupStackDepth - 1 struct gl_debug_log Log; }; @@ -422,7 +422,7 @@ debug_create(void) static bool debug_is_group_read_only(const struct gl_debug_state *debug) { - const GLint gstack = debug->GroupStackDepth; + const GLint gstack = debug->CurrentGroup; return (gstack > 0 && debug->Groups[gstack] == debug->Groups[gstack - 1]); } @@ -432,7 +432,7 @@ debug_is_group_read_only(const struct gl_debug_state *debug) static bool debug_make_group_writable(struct gl_debug_state *debug) { - const GLint gstack = debug->GroupStackDepth; + const GLint gstack = debug->CurrentGroup; const struct gl_debug_group *src = debug->Groups[gstack]; struct gl_debug_group *dst; int s, t; @@ -472,7 +472,7 @@ debug_make_group_writable(struct gl_debug_state *debug) static void debug_clear_group(struct gl_debug_state *debug) { - const GLint gstack = debug->GroupStackDepth; + const GLint gstack = debug->CurrentGroup; if (!debug_is_group_read_only(debug)) { struct gl_debug_group *grp = debug->Groups[gstack]; @@ -496,9 +496,9 @@ debug_clear_group(struct gl_debug_state *debug) static void debug_destroy(struct gl_debug_state *debug) { - while (debug->GroupStackDepth > 0) { + while (debug->CurrentGroup > 0) { debug_clear_group(debug); - debug->GroupStackDepth--; + debug->CurrentGroup--; } debug_clear_group(debug); @@ -514,7 +514,7 @@ debug_set_message_enable(struct gl_debug_state *debug, enum mesa_debug_type type, GLuint id, GLboolean enabled) { - const GLint gstack = debug->GroupStackDepth; + const GLint gstack = debug->CurrentGroup;