diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2019-02-19 04:04:27 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2019-02-19 04:04:27 +0000 |
commit | df3e736303c669580785ffc3f94a16997685c8df (patch) | |
tree | fb5577765bda114c422dfbf983636956ce77e0c2 /lib/mesa | |
parent | 23aa1efec0cd09a2cd948dda3055e5c3faa2bd06 (diff) |
Import Mesa 18.3.4
Diffstat (limited to 'lib/mesa')
-rw-r--r-- | lib/mesa/docs/relnotes/18.3.2.html | 3 | ||||
-rw-r--r-- | lib/mesa/docs/relnotes/18.3.3.html | 208 | ||||
-rw-r--r-- | lib/mesa/docs/relnotes/18.3.4.html | 179 | ||||
-rw-r--r-- | lib/mesa/src/compiler/glsl/serialize.cpp | 33 | ||||
-rw-r--r-- | lib/mesa/src/compiler/nir/nir_deref.c | 5 | ||||
-rw-r--r-- | lib/mesa/src/compiler/nir/nir_gather_xfb_info.c | 4 |
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 > 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 ["vulkan-cube" 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 && parent->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 > 0</li> + <li>radeonsi: fix EXPLICIT_FLUSH for flush offsets > 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->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; } } |