diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-02-26 12:06:39 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-02-26 12:06:39 +0000 |
commit | 04c9eaba81433c32fe1a68ad44c3e2023eac56b4 (patch) | |
tree | c6c9c87f5cc57cb0d521d7b48b45dd6beafce6ea /lib/mesa | |
parent | aa83d5c96dfbbf82fe861e7f8ef2e7ec868fe46c (diff) |
Import Mesa 13.0.5
Diffstat (limited to 'lib/mesa')
-rw-r--r-- | lib/mesa/Makefile.am | 2 | ||||
-rw-r--r-- | lib/mesa/VERSION | 2 | ||||
-rw-r--r-- | lib/mesa/docs/relnotes/13.0.3.html | 3 | ||||
-rw-r--r-- | lib/mesa/docs/relnotes/13.0.4.html | 255 | ||||
-rw-r--r-- | lib/mesa/docs/relnotes/13.0.5.html | 209 | ||||
-rwxr-xr-x | lib/mesa/scons/gallium.py | 2 | ||||
-rw-r--r-- | lib/mesa/src/mapi/entry_x86-64_tls.h | 31 |
7 files changed, 497 insertions, 7 deletions
diff --git a/lib/mesa/Makefile.am b/lib/mesa/Makefile.am index e6d19690d..6a208cde2 100644 --- a/lib/mesa/Makefile.am +++ b/lib/mesa/Makefile.am @@ -40,7 +40,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --enable-vdpau \ --enable-xa \ --enable-xvmc \ - --disable-llvm-shared-libs \ + --enable-llvm-shared-libs \ --with-egl-platforms=x11,wayland,drm,surfaceless \ --with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \ --with-gallium-drivers=i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,swr \ diff --git a/lib/mesa/VERSION b/lib/mesa/VERSION index 2cb4f2f63..f64807a17 100644 --- a/lib/mesa/VERSION +++ b/lib/mesa/VERSION @@ -1 +1 @@ -13.0.3 +13.0.5 diff --git a/lib/mesa/docs/relnotes/13.0.3.html b/lib/mesa/docs/relnotes/13.0.3.html index 585dafabb..59bc47d38 100644 --- a/lib/mesa/docs/relnotes/13.0.3.html +++ b/lib/mesa/docs/relnotes/13.0.3.html @@ -31,7 +31,8 @@ because compatibility contexts are not supported. <h2>SHA256 checksums</h2> <pre> -TBD +55b07d056f9b855ba9d7c8b2ddc7d3b220a61c6ab1bdc73cbfc2f607721094c2 mesa-13.0.3.tar.gz +d9aa8be5c176d00d0cd503cb2f64a5a403ea471ec819c022581414860d7ba40e mesa-13.0.3.tar.xz </pre> diff --git a/lib/mesa/docs/relnotes/13.0.4.html b/lib/mesa/docs/relnotes/13.0.4.html new file mode 100644 index 000000000..6acc61abe --- /dev/null +++ b/lib/mesa/docs/relnotes/13.0.4.html @@ -0,0 +1,255 @@ +<!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 13.0.4 Release Notes / February 1, 2017</h1> + +<p> +Mesa 13.0.4 is a bug fix release which fixes bugs found since the 13.0.3 release. +</p> +<p> +Mesa 13.0.4 implements the OpenGL 4.4 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.4. OpenGL +4.4 is <strong>only</strong> available if requested at context creation +because compatibility contexts are not supported. +</p> + + +<h2>SHA256 checksums</h2> +<pre> +a78518030b0b7d77a6c426ac3ff40f4b27fb0e2cdb0dfbe685024a46cae59bad mesa-13.0.4.tar.gz +a95d7ce8f7bd5f88585e4be3144a341236d8c0fc91f6feaec59bb8ba3120e726 mesa-13.0.4.tar.xz +</pre> + + +<h2>New features</h2> +<p>None</p> + + +<h2>Bug fixes</h2> + +<ul> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92634">Bug 92634</a> - gallium's vl_mpeg12_decoder does not work with st/va</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94512">Bug 94512</a> - X segfaults with glx-tls enabled in a x32 environment</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94900">Bug 94900</a> - HD6950 GPU lockup loop with various steam games (octodad[always], saints row 4[always], dead island[always], grid autosport[sometimes])</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98263">Bug 98263</a> - [radv] The Talos Principle fails to launch with "Fatal error: Cannot set display mode."</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98914">Bug 98914</a> - mesa-vdpau-drivers: breaks vdpau for mpeg2video</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98975">Bug 98975</a> - Wasteland 2 Directors Cut: Hangs. GPU fault</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99030">Bug 99030</a> - [HSW, regression] transform feedback fails on Linux 4.8</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99085">Bug 99085</a> - [EGL] dEQP-EGL.functional.sharing.gles2.multithread intermittent</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99097">Bug 99097</a> - [vulkancts] dEQP-VK.image.store regression</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99100">Bug 99100</a> - [SKL,BDW,BSW,KBL] dEQP-VK.glsl.return.return_in_dynamic_loop_dynamic_vertex regression</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99144">Bug 99144</a> - Incorrect rendering using glDrawArraysInstancedBaseInstance and first != 0 on Skylake</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99154">Bug 99154</a> - Link time error when using multiple builtin functions</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99158">Bug 99158</a> - vdpau segfaults and gpu locks with kodi on R9285</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99185">Bug 99185</a> - dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99188">Bug 99188</a> - dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_no_depth_no_stencil</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99210">Bug 99210</a> - ES3-CTS.functional.texture.mipmap.cube.generate.rgba5551_*</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99354">Bug 99354</a> - [G71] "Assertion `bkref' failed" reproducible with glmark2</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99450">Bug 99450</a> - [amdgpu] Payday 2 visual glitches on some models</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99451">Bug 99451</a> - polygon offset use after free</li> + +</ul> + + +<h2>Changes</h2> + +<p>Andres Rodriguez (2):</p> +<ul> + <li>vulkan/wsi: clarify the severity of lack of DRI3 v2</li> + <li>radv: fix include order for installed headers v2</li> +</ul> + +<p>Arda Coskunses (2):</p> +<ul> + <li>vulkan/wsi/x11: don't crash on null visual</li> + <li>vulkan/wsi/x11: don't crash on null wsi x11 connection</li> +</ul> + +<p>Bas Nieuwenhuizen (1):</p> +<ul> + <li>radv: Support loader interface version 3.</li> +</ul> + +<p>Chad Versace (10):</p> +<ul> + <li>egl: Check config's surface types in eglCreate*Surface()</li> + <li>dri: Add __DRI_IMAGE_FORMAT_ARGB1555</li> + <li>mesa/texformat: Handle GL_RGBA + GL_UNSIGNED_SHORT_5_5_5_1</li> + <li>egl: Emit correct error when robust context creation fails</li> + <li>anv: Handle vkGetPhysicalDeviceQueueFamilyProperties with count == 0</li> + <li>mesa/shaderobj: Fix races on refcounts</li> + <li>meta: Disable dithering during glGenerateMipmap</li> + <li>vulkan: Add new cast macros for VkIcd types</li> + <li>vulkan: Update vk_icd.h to interface version 3</li> + <li>anv: Support loader interface version 3 (patch v2)</li> +</ul> + +<p>Christian König (1):</p> +<ul> + <li>vl/zscan: fix "Fix trivial sign compare warnings"</li> +</ul> + +<p>Chuck Atkins (1):</p> +<ul> + <li>glx: Add missing glproto dependency for gallium-xlib glx</li> +</ul> + +<p>Damien Grassart (1):</p> +<ul> + <li>anv: return count of queue families written</li> +</ul> + +<p>Dave Airlie (1):</p> +<ul> + <li>radv: flush smem for uniform buffer bit.</li> +</ul> + +<p>Emil Velikov (10):</p> +<ul> + <li>docs: add sha256 checksums for 13.0.3</li> + <li>cherry-ignore: add couple of intel_miptree_copy related patches</li> + <li>cherry-ignore: add radv: Call nir_lower_constant_initializers."</li> + <li>get-typod-pick-list.sh: add new script</li> + <li>cherry-ignore: add "_mesa_ClampColor extension/version fix"</li> + <li>cherry-ignore: add wayland race condition fix</li> + <li>egl/wayland: use the destroy_window_callback for swrast</li> + <li>automake: use shared llvm libs for make distcheck</li> + <li>get-pick-list.sh: Require explicit "13.0" for nominating stable patches</li> + <li>Update version to 13.0.4</li> +</ul> + +<p>Francisco Jerez (1):</p> +<ul> + <li>anv: Fix uniform and storage buffer offset alignment limits.</li> +</ul> + +<p>Fredrik Höglund (2):</p> +<ul> + <li>radv: fix dual source blending</li> + <li>dri3: Fix MakeCurrent without a default framebuffer</li> +</ul> + +<p>Grazvydas Ignotas (1):</p> +<ul> + <li>mapi: update the asm code to support x32</li> +</ul> + +<p>Heiko Przybyl (1):</p> +<ul> + <li>r600/sb: Fix loop optimization related hangs on eg</li> +</ul> + +<p>Ilia Mirkin (1):</p> +<ul> + <li>nouveau: take extra push space into account for pushbuf_space calls</li> +</ul> + +<p>Jason Ekstrand (4):</p> +<ul> + <li>i965/generator/tex: Handle an immediate sampler with an indirect texture</li> + <li>anv/formats: Use the real format for B4G4R4A4_UNORM_PACK16 on gen8</li> + <li>nir/search: Only allow matching SSA values</li> + <li>isl: Mark A4B4G4R4_UNORM as supported on gen8</li> +</ul> + +<p>Jonas Ådahl (1):</p> +<ul> + <li>egl/wayland: Cleanup private display connection when init fails</li> +</ul> + +<p>Kenneth Graunke (7):</p> +<ul> + <li>i965: Don't bail on vertex element processing if we need draw params.</li> + <li>i965: Fix last slot calculations</li> + <li>i965: Fix texturing in the vec4 TCS and GS backends.</li> + <li>spirv: Move cursor before calling vtn_ssa_value() in phi 2nd pass.</li> + <li>i965: Make BLORP disable the NP Z PMA stall fix.</li> + <li>glsl: Use ir_var_temporary when generating inline functions.</li> + <li>i965: Properly flush in hsw_pause_transform_feedback().</li> +</ul> + +<p>Marek Olšák (4):</p> +<ul> + <li>vdpau: call texture_get_handle while the mutex is being held</li> + <li>va: call texture_get_handle while the mutex is being held</li> + <li>radeonsi: for the tess barrier, only use emit_waitcnt on SI and LLVM 3.9+</li> + <li>radeonsi: don't forget to add HTILE to the buffer list for texturing</li> +</ul> + +<p>Michel Dänzer (1):</p> +<ul> + <li>cso: Don't restore nr_samplers in cso_restore_fragment_samplers</li> +</ul> + +<p>Nanley Chery (3):</p> +<ul> + <li>anv/cmd_buffer: Fix arrayed depth/stencil attachments</li> + <li>anv/cmd_buffer: Fix programmed HiZ qpitch</li> + <li>anv/image: Disable HiZ for depth buffer arrays</li> +</ul> + +<p>Nayan Deshmukh (1):</p> +<ul> + <li>st/va: delay calling begin_frame until we have all parameters</li> +</ul> + +<p>Rob Clark (1):</p> +<ul> + <li>freedreno: some fence cleanup</li> +</ul> + +<p>Samuel Pitoiset (1):</p> +<ul> + <li>gallium/hud: add missing break in hud_cpufreq_graph_install()</li> +</ul> + +<p>Timothy Arceri (3):</p> +<ul> + <li>nir: Turn imov/fmov of undef into undef</li> + <li>glsl: fix opt_minmax redundancy checks against baserange</li> + <li>util: fix list_is_singular()</li> +</ul> + +<p>Zachary Michaels (1):</p> +<ul> + <li>radeonsi: Always leave poly_offset in a valid state</li> +</ul> + + +</div> +</body> +</html> diff --git a/lib/mesa/docs/relnotes/13.0.5.html b/lib/mesa/docs/relnotes/13.0.5.html new file mode 100644 index 000000000..9debaf759 --- /dev/null +++ b/lib/mesa/docs/relnotes/13.0.5.html @@ -0,0 +1,209 @@ +<!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 13.0.5 Release Notes / February 20, 2017</h1> + +<p> +Mesa 13.0.5 is a bug fix release which fixes bugs found since the 13.0.4 release. +</p> +<p> +Mesa 13.0.5 implements the OpenGL 4.4 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.4. OpenGL +4.4 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> + +<ul> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98329">Bug 98329</a> - [dEQP, EGL, SKL, BDW, BSW] dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_depth16_depth_buffer</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98421">Bug 98421</a> - src/loader/loader.c:111:40: error: unknown type name ‘drmDevicePtr’</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98526">Bug 98526</a> - glsl/tests/general-ir-test regression</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99532">Bug 99532</a> - Compute shader doesn't give right result under some circumstances</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99631">Bug 99631</a> - segfault with OSVRTrackerView and openscenegraph git master</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99633">Bug 99633</a> - rasterizer/core/clip.h:279:49: error: ‘const struct API_STATE’ has no member named ‘linkageCount’</li> + +<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99692">Bug 99692</a> - [radv] Mostly broken on Hawaii PRO/CIK ASICs</li> + +</ul> + +<h2>Changes</h2> + +<p>Bartosz Tomczyk (2):</p> +<ul> + <li>r600: Fix stack overflow</li> + <li>r600/sb: Fix memory leak</li> +</ul> + +<p>Bruce Cherniak (1):</p> +<ul> + <li>swr: [rasterizer core] Remove dead code Clipper::ClipScalar()</li> +</ul> + +<p>Chad Versace (1):</p> +<ul> + <li>i965/mt: Disable HiZ when sharing depth buffer externally (v2)</li> +</ul> + +<p>Dave Airlie (3):</p> +<ul> + <li>radv: change base aligmment for allocated memory.</li> + <li>radv: fix cik macroModeIndex.</li> + <li>radv: adopt some init config workarounds from radeonsi.</li> +</ul> + +<p>Derek Foreman (1):</p> +<ul> + <li>egl/dri2: add image_loader_extension back into loader extensions for wayland</li> +</ul> + +<p>Emil Velikov (26):</p> +<ul> + <li>docs: add sha256 checksums for 13.0.4</li> + <li>configure.ac: list radeon in --with-vulkan-drivers help string</li> + <li>i965: automake: correctly set MKDIR_GEN</li> + <li>freedreno: automake: correctly set MKDIR_GEN</li> + <li>i965: automake: include builddir prior to srcdir</li> + <li>i915: automake: include builddir prior to srcdir</li> + <li>egl: automake: include builddir prior to srcdir</li> + <li>clover: automake: include builddir prior to srcdir</li> + <li>st/dri: automake: include builddir prior to srcdir</li> + <li>d3dadapter9: automake: include builddir prior to srcdir</li> + <li>glx: automake: include builddir prior to srcdir</li> + <li>glx/apple: automake: include builddir prior to srcdir</li> + <li>glx/windows: automake: include builddir prior to srcdir</li> + <li>loader: automake: include builddir prior to srcdir</li> + <li>mapi: automake: include builddir prior to srcdir</li> + <li>radeon, r200: automake: include builddir prior to srcdir</li> + <li>dri/swrast: automake: include builddir prior to srcdir</li> + <li>dri/osmesa: automake: include builddir prior to srcdir</li> + <li>mesa/tests: automake: include builddir prior to srcdir</li> + <li>bin/get-extra-pick-list: use git merge-base to get the branchpoint</li> + <li>bin/get-extra-pick-list: rework to use already_picked list</li> + <li>bin/get-typod-pick-list.sh: limit `git grep ...' to only as needed</li> + <li>bin/get-pick-list.sh: limit `git grep ...' only as needed</li> + <li>bin/get-pick-list.sh: remove ancient way of nominating patches</li> + <li>bin/get-fixes-pick-list.sh: add new script</li> + <li>Update version to 13.0.5</li> +</ul> + +<p>Eric Anholt (1):</p> +<ul> + <li>vc4: Avoid emitting small immediates for UBO indirect load address guards.</li> +</ul> + +<p>Hans de Goede (1):</p> +<ul> + <li>glx/glvnd: Fix GLXdispatchIndex sorting</li> +</ul> + +<p>Ian Romanick (11):</p> +<ul> + <li>linker: Slight code rearrange to prevent duplication in the next commit</li> + <li>linker: Accurately track gl_uniform_block::stageref</li> + <li>glsl: Split process_block_array into two functions</li> + <li>glsl: Fix wonkey indentation left from previous commit</li> + <li>glsl: Track the linearized array index for each UBO instance array element</li> + <li>glsl: Use simpler visitor to determine which UBO and SSBO blocks are used</li> + <li>glsl: Add tracking for elements of an array-of-arrays that have been accessed</li> + <li>glsl: Add structures to track accessed elements of a single array</li> + <li>glsl: Mark a set of array elements as accessed using a list of array_deref_range</li> + <li>glsl: Walk a list of ir_dereference_array to mark array elements as accessed</li> + <li>linker: Accurately mark a uniform block instance array element as used in a stage</li> +</ul> + +<p>Ilia Mirkin (3):</p> +<ul> + <li>vbo: process buffer binding state changes on draw when recording</li> + <li>st/mesa: MAX_VARYING is the max supported number of patch varyings, not min</li> + <li>nvc0: disable linked tsc mode in compute launch descriptor</li> +</ul> + +<p>Jason Ekstrand (11):</p> +<ul> + <li>nir/search: Use the correct bit size for integer comparisons</li> + <li>i965/blorp: Use the correct ISL format for combined depth/stencil</li> + <li>intel/blorp: Handle clearing of A4B4G4R4 on all platforms</li> + <li>isl/formats: Only advertise sampling for A4B4G4R4 on Broadwell</li> + <li>anv: Flush render cache before STATE_BASE_ADDRESS on gen7</li> + <li>anv: Improve flushing around STATE_BASE_ADDRESS</li> + <li>vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetFormats</li> + <li>vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetPresentModes</li> + <li>vulkan/wsi: Lower the maximum image sizes</li> + <li>i965/sampler_state: Pass texObj into update_sampler_state</li> + <li>i965/sampler_state: Set the "Base Mip Level" field on Sandy Bridge</li> +</ul> + +<p>Kenneth Graunke (1):</p> +<ul> + <li>i965: Unbind deleted shaders from brw_context, fixing malloc heisenbug.</li> +</ul> + +<p>Lionel Landwerlin (5):</p> +<ul> + <li>anv: don't require render target isl bit for depth/stencil surfaces</li> + <li>anv: set command buffer to NULL when allocations fail</li> + <li>anv: fix descriptor pool internal size allocation</li> + <li>spirv: handle OpUndef as part of the variable parsing pass</li> + <li>spirv: handle undefined components for OpVectorShuffle</li> +</ul> + +<p>Marc-André Lureau (1):</p> +<ul> + <li>tgsi-dump: dump label if instruction has one</li> +</ul> + +<p>Marek Olšák (2):</p> +<ul> + <li>radeonsi: always set the TCL1_ACTION_ENA when invalidating L2</li> + <li>gallium/radeon: fix performance of buffer readbacks</li> +</ul> + +<p>Topi Pohjolainen (2):</p> +<ul> + <li>i965: Make depth clear flushing more explicit</li> + <li>i965/gen6: Issue direct depth stall and flush after depth clear</li> +</ul> + +<p>Vinson Lee (2):</p> +<ul> + <li>scons: Require libdrm >= 2.4.66 for DRM.</li> + <li>util: Fix Clang trivial destructor check.</li> +</ul> + + +</div> +</body> +</html> diff --git a/lib/mesa/scons/gallium.py b/lib/mesa/scons/gallium.py index 9f7555cf8..dc7fdce28 100755 --- a/lib/mesa/scons/gallium.py +++ b/lib/mesa/scons/gallium.py @@ -651,7 +651,7 @@ def generate(env): env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes', 'glproto >= 1.4.13']) env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx >= 1.8.1', 'xcb-dri2 >= 1.8']) env.PkgCheckModules('XF86VIDMODE', ['xxf86vm']) - env.PkgCheckModules('DRM', ['libdrm >= 2.4.38']) + env.PkgCheckModules('DRM', ['libdrm >= 2.4.66']) if env['x11']: env.Append(CPPPATH = env['X11_CPPPATH']) diff --git a/lib/mesa/src/mapi/entry_x86-64_tls.h b/lib/mesa/src/mapi/entry_x86-64_tls.h index 8f3fa914a..1e29bde51 100644 --- a/lib/mesa/src/mapi/entry_x86-64_tls.h +++ b/lib/mesa/src/mapi/entry_x86-64_tls.h @@ -41,11 +41,23 @@ __asm__(".text\n" ".balign 32\n" \ func ":" +#ifndef __ILP32__ + #define STUB_ASM_CODE(slot) \ "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t" \ "movq %fs:(%rax), %r11\n\t" \ "jmp *(8 * " slot ")(%r11)" +#else + +#define STUB_ASM_CODE(slot) \ + "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t" \ + "movl %fs:(%rax), %r11d\n\t" \ + "movl 4*" slot "(%r11d), %r11d\n\t" \ + "jmp *%r11" + +#endif + #define MAPI_TMP_STUB_ASM_GCC #include "mapi_tmp.h" @@ -72,19 +84,32 @@ void entry_patch(mapi_func entry, int slot) { char *code = (char *) entry; - *((unsigned int *) (code + 12)) = slot * sizeof(mapi_func); + int offset = 12; +#ifdef __ILP32__ + offset = 13; +#endif + *((unsigned int *) (code + offset)) = slot * sizeof(mapi_func); } mapi_func entry_generate(int slot) { - const char code_templ[16] = { + const char code_templ[] = { +#ifndef __ILP32__ /* movq %fs:0, %r11 */ 0x64, 0x4c, 0x8b, 0x1c, 0x25, 0x00, 0x00, 0x00, 0x00, /* jmp *0x1234(%r11) */ 0x41, 0xff, 0xa3, 0x34, 0x12, 0x00, 0x00, +#else + /* movl %fs:0, %r11d */ + 0x64, 0x44, 0x8b, 0x1c, 0x25, 0x00, 0x00, 0x00, 0x00, + /* movl 0x1234(%r11d), %r11d */ + 0x67, 0x45, 0x8b, 0x9b, 0x34, 0x12, 0x00, 0x00, + /* jmp *%r11 */ + 0x41, 0xff, 0xe3, +#endif }; - unsigned long addr; + unsigned long long addr; char *code; mapi_func entry; |