summaryrefslogtreecommitdiff
path: root/lib/mesa
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2019-02-19 04:04:27 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2019-02-19 04:04:27 +0000
commitdf3e736303c669580785ffc3f94a16997685c8df (patch)
treefb5577765bda114c422dfbf983636956ce77e0c2 /lib/mesa
parent23aa1efec0cd09a2cd948dda3055e5c3faa2bd06 (diff)
Import Mesa 18.3.4
Diffstat (limited to 'lib/mesa')
-rw-r--r--lib/mesa/docs/relnotes/18.3.2.html3
-rw-r--r--lib/mesa/docs/relnotes/18.3.3.html208
-rw-r--r--lib/mesa/docs/relnotes/18.3.4.html179
-rw-r--r--lib/mesa/src/compiler/glsl/serialize.cpp33
-rw-r--r--lib/mesa/src/compiler/nir/nir_deref.c5
-rw-r--r--lib/mesa/src/compiler/nir/nir_gather_xfb_info.c4
6 files changed, 419 insertions, 13 deletions
diff --git a/lib/mesa/docs/relnotes/18.3.2.html b/lib/mesa/docs/relnotes/18.3.2.html
index f219d7203..594b42cdf 100644
--- a/lib/mesa/docs/relnotes/18.3.2.html
+++ b/lib/mesa/docs/relnotes/18.3.2.html
@@ -31,7 +31,8 @@ Compatibility contexts may report a lower version depending on each driver.
<h2>SHA256 checksums</h2>
<pre>
-TBD
+1cde4fafd40cd1ad4ee3a13b364b7a0175a08b7afdd127fb46f918c1e1dfd4b0 mesa-18.3.2.tar.gz
+f7ce7181c07b6d8e0132da879af1729523a6c8aa87f79a9d59dfd064024cfb35 mesa-18.3.2.tar.xz
</pre>
diff --git a/lib/mesa/docs/relnotes/18.3.3.html b/lib/mesa/docs/relnotes/18.3.3.html
new file mode 100644
index 000000000..d90a1d5f1
--- /dev/null
+++ b/lib/mesa/docs/relnotes/18.3.3.html
@@ -0,0 +1,208 @@
+<!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 18.3.3 Release Notes / January 31, 2019</h1>
+
+<p>
+Mesa 18.3.3 is a bug fix release which fixes bugs found since the 18.3.2 release.
+</p>
+<p>
+Mesa 18.3.3 implements the OpenGL 4.5 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.5. OpenGL
+4.5 is <strong>only</strong> available if requested at context creation.
+Compatibility contexts may report a lower version depending on each driver.
+</p>
+
+
+<h2>SHA256 checksums</h2>
+<pre>
+6b9893942fe8011c7736d51448deb6ef80ece2257e0fac27b02e997a6605d5e4 mesa-18.3.3.tar.gz
+2ab6886a6966c532ccbcc3b240925e681464b658244f0cbed752615af3936299 mesa-18.3.3.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=108877">Bug 108877</a> - OpenGL CTS gl43 test cases were interrupted due to segment fault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109023">Bug 109023</a> - error: inlining failed in call to always_inline ‘__m512 _mm512_and_ps(__m512, __m512)’: target specific option mismatch</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109129">Bug 109129</a> - format_types.h:1220: undefined reference to `_mm256_cvtps_ph'</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109229">Bug 109229</a> - glLinkProgram locks up for ~30 seconds</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109242">Bug 109242</a> - [RADV] The Witcher 3 system freeze</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109488">Bug 109488</a> - Mesa 18.3.2 crash on a specific fragment shader (assert triggered) / already fixed on the master branch.</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Andres Gomez (2):</p>
+<ul>
+ <li>bin/get-pick-list.sh: fix the oneline printing</li>
+ <li>bin/get-pick-list.sh: fix redirection in sh</li>
+</ul>
+
+<p>Axel Davy (1):</p>
+<ul>
+ <li>st/nine: Immediately upload user provided textures</li>
+</ul>
+
+<p>Bas Nieuwenhuizen (3):</p>
+<ul>
+ <li>radv: Only use 32 KiB per threadgroup on Stoney.</li>
+ <li>radv: Set partial_vs_wave for pipelines with just GS, not tess.</li>
+ <li>nir: Account for atomics in copy propagation.</li>
+</ul>
+
+<p>Bruce Cherniak (1):</p>
+<ul>
+ <li>gallium/swr: Fix multi-context sync fence deadlock.</li>
+</ul>
+
+<p>Carsten Haitzler (Rasterman) (2):</p>
+<ul>
+ <li>vc4: Use named parameters for the NEON inline asm.</li>
+ <li>vc4: Declare the cpu pointers as being modified in NEON asm.</li>
+</ul>
+
+<p>Danylo Piliaiev (1):</p>
+<ul>
+ <li>glsl: Fix copying function's out to temp if dereferenced by array</li>
+</ul>
+
+<p>Dave Airlie (3):</p>
+<ul>
+ <li>dri_interface: add put shm image2 (v2)</li>
+ <li>glx: add support for putimageshm2 path (v2)</li>
+ <li>gallium: use put image shm2 path (v2)</li>
+</ul>
+
+<p>Dylan Baker (4):</p>
+<ul>
+ <li>meson: allow building dri driver without window system if osmesa is classic</li>
+ <li>meson: fix swr KNL build</li>
+ <li>meson: Fix compiler checks for SWR with ICC</li>
+ <li>meson: Add warnings and errors when using ICC</li>
+</ul>
+
+<p>Emil Velikov (4):</p>
+<ul>
+ <li>docs: add sha256 checksums for 18.3.2</li>
+ <li>cherry-ignore: radv: Fix multiview depth clears</li>
+ <li>cherry-ignore: spirv: Handle arbitrary bit sizes for deref array indices</li>
+ <li>cherry-ignore: WARNING: Commit XXX lists invalid sha</li>
+</ul>
+
+<p>Eric Anholt (2):</p>
+<ul>
+ <li>vc4: Don't leak the GPU fd for renderonly usage.</li>
+ <li>vc4: Enable NEON asm on meson cross-builds.</li>
+</ul>
+
+<p>Eric Engestrom (2):</p>
+<ul>
+ <li>configure: EGL requirements only apply if EGL is built</li>
+ <li>meson/vdpau: add missing soversion</li>
+</ul>
+
+<p>Iago Toral Quiroga (1):</p>
+<ul>
+ <li>anv/device: fix maximum number of images supported</li>
+</ul>
+
+<p>Jason Ekstrand (3):</p>
+<ul>
+ <li>anv/nir: Rework arguments to apply_pipeline_layout</li>
+ <li>anv: Only parse pImmutableSamplers if the descriptor has samplers</li>
+ <li>nir/xfb: Fix offset accounting for dvec3/4</li>
+</ul>
+
+<p>Karol Herbst (2):</p>
+<ul>
+ <li>nv50/ir: disable tryCollapseChainedMULs in ConstantFolding for precise instructions</li>
+ <li>glsl/lower_output_reads: set invariant and precise flags on temporaries</li>
+</ul>
+
+<p>Lionel Landwerlin (1):</p>
+<ul>
+ <li>anv: fix invalid binding table index computation</li>
+</ul>
+
+<p>Marek Olšák (4):</p>
+<ul>
+ <li>radeonsi: also apply the GS hang workaround to draws without tessellation</li>
+ <li>radeonsi: fix a u_blitter crash after a shader with FBFETCH</li>
+ <li>radeonsi: fix rendering to tiny viewports where the viewport center is &gt; 8K</li>
+ <li>st/mesa: purge framebuffers when unbinding a context</li>
+</ul>
+
+<p>Niklas Haas (1):</p>
+<ul>
+ <li>radv: correctly use vulkan 1.0 by default</li>
+</ul>
+
+<p>Pierre Moreau (1):</p>
+<ul>
+ <li>meson: Fix with_gallium_icd to with_opencl_icd</li>
+</ul>
+
+<p>Rob Clark (1):</p>
+<ul>
+ <li>loader: fix the no-modifiers case</li>
+</ul>
+
+<p>Samuel Pitoiset (1):</p>
+<ul>
+ <li>radv: clean up setting partial_es_wave for distributed tess on VI</li>
+</ul>
+
+<p>Timothy Arceri (5):</p>
+<ul>
+ <li>ac/nir_to_llvm: fix interpolateAt* for arrays</li>
+ <li>ac/nir_to_llvm: fix clamp shadow reference for more hardware</li>
+ <li>radv/ac: fix some fp16 handling</li>
+ <li>glsl: use remap location when serialising uniform program resource data</li>
+ <li>glsl: Copy function out to temp if we don't directly ref a variable</li>
+</ul>
+
+<p>Tomeu Vizoso (1):</p>
+<ul>
+ <li>etnaviv: Consolidate buffer references from framebuffers</li>
+</ul>
+
+<p>Vinson Lee (1):</p>
+<ul>
+ <li>meson: Fix typo.</li>
+</ul>
+
+
+
+</div>
+</body>
+</html>
+
diff --git a/lib/mesa/docs/relnotes/18.3.4.html b/lib/mesa/docs/relnotes/18.3.4.html
new file mode 100644
index 000000000..b82b34770
--- /dev/null
+++ b/lib/mesa/docs/relnotes/18.3.4.html
@@ -0,0 +1,179 @@
+<!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 18.3.4 Release Notes / February 18, 2019</h1>
+
+<p>
+Mesa 18.3.4 is a bug fix release which fixes bugs found since the 18.3.3 release.
+</p>
+<p>
+Mesa 18.3.4 implements the OpenGL 4.5 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.5. OpenGL
+4.5 is <strong>only</strong> available if requested at context creation.
+Compatibility contexts may report a lower version depending on each driver.
+</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=109107">Bug 109107</a> - gallium/st/va: change va max_profiles when using Radeon VCN Hardware</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109401">Bug 109401</a> - [DXVK] Project Cars rendering problems</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109543">Bug 109543</a> - After upgrade mesa to 19.0.0~rc1 all vulkan based application stop working [&quot;vulkan-cube&quot; received SIGSEGV in radv_pipeline_init_blend_state at ../src/amd/vulkan/radv_pipeline.c:699]</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=109603">Bug 109603</a> - nir_instr_as_deref: Assertion `parent &amp;&amp; parent-&gt;type == nir_instr_type_deref' failed.</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Bart Oldeman (1):</p>
+<ul>
+ <li>gallium-xlib: query MIT-SHM before using it.</li>
+</ul>
+
+<p>Bas Nieuwenhuizen (2):</p>
+<ul>
+ <li>radv: Only look at pImmutableSamples if the descriptor has a sampler.</li>
+ <li>amd/common: Use correct writemask for shared memory stores.</li>
+</ul>
+
+<p>Dylan Baker (2):</p>
+<ul>
+ <li>get-pick-list: Add --pretty=medium to the arguments for Cc patches</li>
+ <li>meson: Add dependency on genxml to anvil</li>
+</ul>
+
+<p>Emil Velikov (5):</p>
+<ul>
+ <li>docs: add sha256 checksums for 18.3.3</li>
+ <li>cherry-ignore: nv50,nvc0: add explicit settings for recent caps</li>
+ <li>cherry-ignore: add more 19.0 only nominations from Ilia</li>
+ <li>cherry-ignore: radv: fix using LOAD_CONTEXT_REG with old GFX ME firmwares on GFX8</li>
+ <li>Update version to 18.3.4</li>
+</ul>
+
+<p>Eric Anholt (1):</p>
+<ul>
+ <li>vc4: Fix copy-and-paste fail in backport of NEON asm fixes.</li>
+</ul>
+
+<p>Eric Engestrom (2):</p>
+<ul>
+ <li>xvmc: fix string comparison</li>
+ <li>xvmc: fix string comparison</li>
+</ul>
+
+<p>Ernestas Kulik (2):</p>
+<ul>
+ <li>vc4: Fix leak in HW queries error path</li>
+ <li>v3d: Fix leak in resource setup error path</li>
+</ul>
+
+<p>Iago Toral Quiroga (1):</p>
+<ul>
+ <li>intel/compiler: do not copy-propagate strided regions to ddx/ddy arguments</li>
+</ul>
+
+<p>Ilia Mirkin (1):</p>
+<ul>
+ <li>nvc0: we have 16k-sized framebuffers, fix default scissors</li>
+</ul>
+
+<p>Jason Ekstrand (3):</p>
+<ul>
+ <li>intel/fs: Handle IMAGE_SIZE in size_read() and is_send_from_grf()</li>
+ <li>intel/fs: Do the grf127 hack on SIMD8 instructions in SIMD16 mode</li>
+ <li>nir/deref: Rematerialize parents in rematerialize_derefs_in_use_blocks</li>
+</ul>
+
+<p>Juan A. Suarez Romero (1):</p>
+<ul>
+ <li>anv/cmd_buffer: check for NULL framebuffer</li>
+</ul>
+
+<p>Kenneth Graunke (1):</p>
+<ul>
+ <li>st/mesa: Limit GL_MAX_[NATIVE_]PROGRAM_PARAMETERS_ARB to 2048</li>
+</ul>
+
+<p>Kristian H. Kristensen (1):</p>
+<ul>
+ <li>freedreno/a6xx: Emit blitter dst with OUT_RELOCW</li>
+</ul>
+
+<p>Leo Liu (2):</p>
+<ul>
+ <li>st/va: fix the incorrect max profiles report</li>
+ <li>st/va/vp9: set max reference as default of VP9 reference number</li>
+</ul>
+
+<p>Marek Olšák (4):</p>
+<ul>
+ <li>meson: drop the xcb-xrandr version requirement</li>
+ <li>gallium/u_threaded: fix EXPLICIT_FLUSH for flush offsets &gt; 0</li>
+ <li>radeonsi: fix EXPLICIT_FLUSH for flush offsets &gt; 0</li>
+ <li>winsys/amdgpu: don't drop manually added fence dependencies</li>
+</ul>
+
+<p>Mario Kleiner (2):</p>
+<ul>
+ <li>egl/wayland: Allow client-&gt;server format conversion for PRIME offload. (v2)</li>
+ <li>egl/wayland-drm: Only announce formats via wl_drm which the driver supports.</li>
+</ul>
+
+<p>Oscar Blumberg (1):</p>
+<ul>
+ <li>radeonsi: Fix guardband computation for large render targets</li>
+</ul>
+
+<p>Rob Clark (1):</p>
+<ul>
+ <li>freedreno: stop frob'ing pipe_resource::nr_samples</li>
+</ul>
+
+<p>Rodrigo Vivi (1):</p>
+<ul>
+ <li>intel: Add more PCI Device IDs for Coffee Lake and Ice Lake.</li>
+</ul>
+
+<p>Samuel Pitoiset (2):</p>
+<ul>
+ <li>radv: fix compiler issues with GCC 9</li>
+ <li>radv: always export gl_SampleMask when the fragment shader uses it</li>
+</ul>
+
+
+
+</div>
+</body>
+</html>
diff --git a/lib/mesa/src/compiler/glsl/serialize.cpp b/lib/mesa/src/compiler/glsl/serialize.cpp
index 26d8ec4b7..fdd99ec59 100644
--- a/lib/mesa/src/compiler/glsl/serialize.cpp
+++ b/lib/mesa/src/compiler/glsl/serialize.cpp
@@ -764,6 +764,12 @@ get_shader_var_and_pointer_sizes(size_t *s_var_size, size_t *s_var_ptrs,
sizeof(var->name);
}
+enum uniform_type
+{
+ uniform_remapped,
+ uniform_not_remapped
+};
+
static void
write_program_resource_data(struct blob *metadata,
struct gl_shader_program *prog,
@@ -816,12 +822,19 @@ write_program_resource_data(struct blob *metadata,
case GL_TESS_CONTROL_SUBROUTINE_UNIFORM:
case GL_TESS_EVALUATION_SUBROUTINE_UNIFORM:
case GL_UNIFORM:
- for (unsigned i = 0; i < prog->data->NumUniformStorage; i++) {
- if (strcmp(((gl_uniform_storage *)res->Data)->name,
- prog->data->UniformStorage[i].name) == 0) {
- blob_write_uint32(metadata, i);
- break;
+ if (((gl_uniform_storage *)res->Data)->builtin ||
+ res->Type != GL_UNIFORM) {
+ blob_write_uint32(metadata, uniform_not_remapped);
+ for (unsigned i = 0; i < prog->data->NumUniformStorage; i++) {
+ if (strcmp(((gl_uniform_storage *)res->Data)->name,
+ prog->data->UniformStorage[i].name) == 0) {
+ blob_write_uint32(metadata, i);
+ break;
+ }
}
+ } else {
+ blob_write_uint32(metadata, uniform_remapped);
+ blob_write_uint32(metadata, ((gl_uniform_storage *)res->Data)->remap_location);
}
break;
case GL_ATOMIC_COUNTER_BUFFER:
@@ -906,9 +919,15 @@ read_program_resource_data(struct blob_reader *metadata,
case GL_COMPUTE_SUBROUTINE_UNIFORM:
case GL_TESS_CONTROL_SUBROUTINE_UNIFORM:
case GL_TESS_EVALUATION_SUBROUTINE_UNIFORM:
- case GL_UNIFORM:
- res->Data = &prog->data->UniformStorage[blob_read_uint32(metadata)];
+ case GL_UNIFORM: {
+ enum uniform_type type = (enum uniform_type) blob_read_uint32(metadata);
+ if (type == uniform_not_remapped) {
+ res->Data = &prog->data->UniformStorage[blob_read_uint32(metadata)];
+ } else {
+ res->Data = prog->UniformRemapTable[blob_read_uint32(metadata)];
+ }
break;
+ }
case GL_ATOMIC_COUNTER_BUFFER:
res->Data = &prog->data->AtomicBuffers[blob_read_uint32(metadata)];
break;
diff --git a/lib/mesa/src/compiler/nir/nir_deref.c b/lib/mesa/src/compiler/nir/nir_deref.c
index 4a2e81956..895e542f9 100644
--- a/lib/mesa/src/compiler/nir/nir_deref.c
+++ b/lib/mesa/src/compiler/nir/nir_deref.c
@@ -490,10 +490,9 @@ nir_rematerialize_derefs_in_use_blocks_impl(nir_function_impl *impl)
_mesa_hash_table_clear(state.cache, NULL);
nir_foreach_instr_safe(instr, block) {
- if (instr->type == nir_instr_type_deref) {
- nir_deref_instr_remove_if_unused(nir_instr_as_deref(instr));
+ if (instr->type == nir_instr_type_deref &&
+ nir_deref_instr_remove_if_unused(nir_instr_as_deref(instr)))
continue;
- }
state.builder.cursor = nir_before_instr(instr);
nir_foreach_src(instr, rematerialize_deref_src, &state);
diff --git a/lib/mesa/src/compiler/nir/nir_gather_xfb_info.c b/lib/mesa/src/compiler/nir/nir_gather_xfb_info.c
index e282bba00..7e441adc0 100644
--- a/lib/mesa/src/compiler/nir/nir_gather_xfb_info.c
+++ b/lib/mesa/src/compiler/nir/nir_gather_xfb_info.c
@@ -76,13 +76,13 @@ add_var_xfb_outputs(nir_xfb_info *xfb,
nir_xfb_output_info *output = &xfb->outputs[xfb->output_count++];
output->buffer = var->data.xfb_buffer;
- output->offset = *offset;
+ output->offset = *offset + s * 16;
output->location = *location;
output->component_mask = (comp_mask >> (s * 4)) & 0xf;
(*location)++;
- *offset += comp_slots * 4;
}
+ *offset += comp_slots * 4;
}
}