summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* docs: add release notes for 19.1.819.1Juan A. Suarez Romero2019-10-211-1/+1
| | | | Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* docs: add release notes for 19.1.8mesa-19.1.8Juan A. Suarez Romero2019-10-211-0/+267
| | | | Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* Update version to 19.1.8Juan A. Suarez Romero2019-10-211-1/+1
| | | | Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* intel/common: include unistd.h for ioctl() prototype on Solarisstaging/19.1Alan Coopersmith2019-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build errors of: In file included from ../src/intel/vulkan/anv_private.h:48, from ../src/intel/vulkan/genX_blorp_exec.c:26: ../src/intel/common/gen_gem.h: In function ‘gen_ioctl’: ../src/intel/common/gen_gem.h:68:15: error: implicit declaration of function ‘ioctl’ [-Werror=implicit-function-declaration] 68 | ret = ioctl(fd, request, arg); | ^~~~~ In file included from ../include/c11/threads_posix.h:35, from ../include/c11/threads.h:66, from ../src/mesa/main/mtypes.h:39, from ../src/intel/compiler/brw_compiler.h:30, from ../src/intel/vulkan/anv_private.h:51, from ../src/intel/vulkan/genX_blorp_exec.c:26: /usr/include/unistd.h: At top level: /usr/include/unistd.h:471:12: error: conflicting types for ‘ioctl’ 471 | extern int ioctl(int, int, ...); | ^~~~~ /usr/include/unistd.h:471:1: note: a parameter list with an ellipsis can’t match an empty parameter name list declaration 471 | extern int ioctl(int, int, ...); | ^~~~~~ In file included from ../src/intel/vulkan/anv_private.h:48, from ../src/intel/vulkan/genX_blorp_exec.c:26: ../src/intel/common/gen_gem.h:68:15: note: previous implicit declaration of ‘ioctl’ was here 68 | ret = ioctl(fd, request, arg); | ^~~~~ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 6804b8e1ff4b62b6685418f773041f10db01f879) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/intel/common/gen_gem.h
* meson: recognize "sunos" as the system name for SolarisAlan Coopersmith2019-10-161-1/+3
| | | | | | | | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (cherry picked from commit d8a9420f6f1a9eabe6dffe19779de9ec8fba9ab0) [Juan A. Suarez: resolve trivial conflict] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: meson.build
* util: Drop preprocessor guards for glibc-2.12Matt Turner2019-10-161-7/+0
| | | | | | | | | glibc-2.12 was released in 2010. No one is building new Mesa against 9 year old glibc, and removing these checks allows the code to work on other C libraries like musl. Acked-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 9c411e020d164563fb6fcd92a28a435277bf0745)
* util: Workaround lack of flock on SolarisAlan Coopersmith2019-10-162-1/+11
| | | | | | | | | | | | | v2: Replace autoconf check for flock() with meson check Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit b3028a9fb8110fd37f60e9d66dad3cde6e7b062b) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: meson.build
* util: Make Solaris implemention of p_atomic_add work with gccAlan Coopersmith2019-10-161-2/+2
| | | | | | | | | | | | | | | | | gcc is very particular about where you place the (void) cast The previous placement made it error out with: In file included from disk_cache.c:40:0: ../../src/util/u_atomic.h:203:29: error: void value not ignored as it ought to be #define p_atomic_add(v, i) ((void) \ ^ disk_cache.c:658:4: note: in expansion of macro ‘p_atomic_add’ p_atomic_add(cache->size, size); ^ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit a56c3e3a470eb8f13d11ca0aad5b5934de54ca1c)
* c99_compat.h: Don't try to use 'restrict' in C++ codeAlan Coopersmith2019-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Fixes build failures on Solaris in C++ files using gcc: ../src/util/u_math.h:628:41: error: expected ‘,’ or ‘...’ before ‘dest’ 628 | util_memcpy_cpu_to_le32(void * restrict dest, const void * restrict src, size_t n) | ^~~~ ../src/util/u_math.h: In function ‘void* util_memcpy_cpu_to_le32(void*)’: ../src/util/u_math.h:641:18: error: ‘dest’ was not declared in this scope 641 | return memcpy(dest, src, n); | ^~~~ ../src/util/u_math.h:641:24: error: ‘src’ was not declared in this scope 641 | return memcpy(dest, src, n); | ^~~ ../src/util/u_math.h:641:29: error: ‘n’ was not declared in this scope; did you mean ‘yn’? 641 | return memcpy(dest, src, n); | ^ | yn Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit ddde652e7000a13e3431316ad9ad7d1237552a0b)
* cherry-ignore: Revert "radv: disable viewport clamping even if FS doesn't ↵Juan A. Suarez Romero2019-10-071-0/+3
| | | | | | | | | write Z" Revert: this commit was explicitly requested to be removed from the branch. Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* intel/isl: Set null surface format to R32_UINTLionel Landwerlin2019-10-071-1/+6
| | | | | | | | | | | | | | | It appears we never had a test in piglit or deqp sampling from a null surface... It turns out this triggers a hang on IVB only. Updating the null surface format to R32_UINT fixes the hang on ivb and doesn't affect other platforms, so set it by default for all platforms. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1872 Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit c445d6f66e336d9486c7dfd72dbdf698de93a650)
* intel: fix subslice computation from topology dataLionel Landwerlin2019-10-071-1/+1
| | | | | | | | | | | | | We're missing the offset of the slice in the subslice mask... This worked for most platforms that don't have first slice fused off because we would reread the same mask from slice0 again and again... Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Fixes: c1900f5b0f ("intel: devinfo: add helper functions to fill fusing masks values") Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1869 Reviewed-by: Mark Janes <mark.a.janes@intel.com> (cherry picked from commit d36763b2a45105b2bd4ca714ceb05b488c2d97ce)
* scons/MSYS2-MinGW-W64: Fix build options defaultsProdea Alexandru-Liviu2019-10-071-0/+12
| | | | | | | | | | Signed-off-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Cc: <mesa-stable@lists.freedesktop.org> When building in a MSYS2 Mingw-w64 environment Mesa3D sets wrong default build options which inevitably lead to build failure. (cherry picked from commit 6309c31fd815285dab4d6e79dcbdd4773350e50f)
* meson: Only error building gallium video without libdrm when the platform is drmDylan Baker2019-10-071-1/+1
| | | | | | | | Fixes: 3b265f61f5f61f08718fe5bb4b2726f9b8e016cc ("meson: gallium media state trackers require libdrm with x11") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1878 Tested-by: Vinson Lee <vlee@freedesktop.org> (cherry picked from commit 1481d0540987cca11cb76c39f7c0fa84983d9e3b)
* egl: Remove the 565 pbuffer-only EGL config under X11.Andres Gomez2019-10-071-97/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CTS finally has agreed to drop the requirement for a 565-no-depth-no-stencil config for ES 3.0. Hence we can now remove the code to satisfy this requirement using a pbuffer-only visual with whatever other buffers the driver happens to have given us. This reverts commit 82607f8a900796871470ac4f1a04e154392e4898, commit 6ad31c4ff33d92f6359b196a94ace99682272111 and commit dacb11a585face5ca179c34cfc588a71a425c1e0. v2: - Reference the VK-GL-CTS issue (Eric E.). v3: - Don't revert fc21394bc4d ("egl: Quiet warning about front buffer rendering for pixmaps/pbuffers") (Kenneth). References: VK-GL-CTS issue 1601. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Andres Gomez <agomez@igalia.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 02c265be9dcc5c5c23123e716ef62b384540d2fa) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/egl/drivers/dri2/platform_x11.c
* cherry-ignore: radv: Fix condition for skipping the continue CS.Juan A. Suarez Romero2019-10-071-0/+3
| | | | | | | Fixes: this commit depends on commit e1dc3ab75348 in order to compile, which did not land in the branch. Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* mesa: don't forget to clear _Layer field on texture unitLionel Landwerlin2019-10-021-1/+1
| | | | | | | | | | | | | | | On the Android Antutu benchmark we ran into an assert in ISL where the (base layer + num layers) > total layers. It turns out the core of mesa forgot to clear the _Layer variable, potentially leaving an inconsistent value. v2: Pull setting u->_Layer out of the conditional blocks (Jason) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 2208d79ddeebd1673f477611d508566ef82bd7c0)
* haiku: fix Mesa buildKen Mays2019-10-024-31/+21
| | | | | | | | | | | | | | | | | | | | | 1. The hgl.c file is a read-only file versus read-write. Ref: src/gallium/state_trackers/hgl/hgl.c 2. I've included the Haiku-specific patches I used to get a successful build of Mesa 19.1.7 on Haiku using the meson/ninja build procedure. Shows "[764/764] linking target ... libswpipe.so" at build completion. v2: Remove autotools files (Eric) v3: Update the patch Reported-by: Ken Mays <kmays2000@gmail.com> Tested-by: Ken Mays <kmays2000@gmail.com> CC: mesa-stable@lists.freedesktop.org Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com> (cherry picked from commit 4943c89d6d3f522b3100be9187ff045f84f032b1)
* iris: Fix iris_rebind_buffer() for VBOs with non-zero offsets.Kenneth Graunke2019-10-021-2/+6
| | | | | | | | | We can't just check for the BO base address, we need to check for the full address including any offset we may have applied. When updating the address, we need to include the offset again. Fixes: 5ad0c88dbe3 ("iris: Replace buffer backing storage and rebind to update addresses.") (cherry picked from commit 309924c3c927b6f167d9306ecd7270076c7dc3ea)
* meson: gallium media state trackers require libdrm with x11Dylan Baker2019-10-025-8/+17
| | | | | | | | | v2: - update copyright year in all changed files - rebase on master Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 3b265f61f5f61f08718fe5bb4b2726f9b8e016cc)
* iris: Disable CCS_E for 32-bit floating point textures.Kenneth Graunke2019-10-021-1/+23
| | | | | | | | | | | | | | | | | | | | | | A while back, Michael Larabel noticed that Paraview's Wavelet Volume case runs significantly slower on iris than i965. It turns out this is because we enable CCS_E for 32-bit floating point formats, while i965 disables it, with an oblique comment saying that we benchmarked it (on what exactly?) and determined that it was a loss. Paraview uses both R32_FLOAT and R32G32B32A32_FLOAT, and I observed large framerate drops when enabling CCS_E for either format. However, several other benchmarks (Aztec Ruins, many Synmark cases) use 16-bit floating point formats, with no apparent ill effects. So, disable compression for 32-bit float formats for now, but leave it enabled for 16-bit float formats as they seem to be working fine. Improves performance in Paraview's Wavelet Volume test by 62% on a Skylake GT4e. Fixes: 3cfc6a207bd ("iris: Fill out res->aux.possible_usages") (cherry picked from commit a0a93763fba18ce3c9c90a0f939005f0b594e27c)
* scons: Fix MSYS2 Mingw-w64 build.pal10002019-10-023-2/+12
| | | | | | | | | | | | | | | | | Reviewed-by: Jose Fonseca <jfonseca@vmware.com> This patch is based on https://github.com/msys2/MINGW-packages/blob/28e3f85e09b6947ea80036c49f6c38f1394f93ca/mingw-w64-mesa/link-ole32.patch but with tweaks to avoid MSVC build break when applied. v2: Create Mingw platform alias pointing to windows host platform define to avoid spurious crosscompilation; v3: Fix obviously wrong compiler flags for swr driver; v4: Update original patch URL because it has been relocated; v5: Don't bother patching autools stuff as it's not used by MSYS2 Mingw-w64 build and it's days are numbered anyway; v6: After Mingw posix flag fix in 295851eb things are far simpler as we don't need more linking of uuid, ole32, version and shell32 than what is already in place. (cherry picked from commit ffb0d3a25c60dd7fc5cb1f2c33c2977b245b5fee)
* scons/windows: Support build with LLVM 9.pal10002019-10-021-6/+30
| | | | | | | | | | | | | | | | | | | | | | As X86AsmPrinter component is gone, LLVMX86AsmPrinter got replaced with LLVMRemarks, LLVMBitstreamReader and LLVMDebugInfoDWARF. Tests done with llvm-config on both LLVM 8 and 9 indicate that mcjit, bitwriter and x86asmprinter fully fit inside engine component. On other platforms and with meson build mcdisassembler was used to replace X86AsmPrinter but mcdisassembler also fully fits inside engine component for LLVM>=8 according to same tests. v2: Avoid duplicating code related to Mingw pthreads. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org> On 19.1 this patch does not apply cleanly without 88eb2a1f (cherry picked from commit bcb4dfb14ba1cbbbd43cb6466fb7f73e5dd98513)
* scons: For MinGW use -posix flag.Michel Zou2019-10-021-1/+1
| | | | | Signed-off-by: Jose Fonseca <jfonseca@vmware.com> (cherry picked from commit 88eb2a1f7e6277c7f10adfc95ebeaf3d2f73e862)
* scons: add py3 supportMichel Zou2019-10-023-5/+9
| | | | | | | | | | | SCons 3.1 has moved to python 3, requiring this fix to continue supporting scons builds. Closes: #944 Cc: mesa-stable@lists.freedesktop.org Acked-by: Eric Engestrom <eric@engestrom.ch> Tested-by: Eric Engestrom <eric@engestrom.ch> (cherry picked from commit 3f92d17894bedf2da6aabe017004391b91a5e860)
* glsl: disallow incompatible matrices multiplicationAndrii Simiklit2019-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | glsl 4.4 spec section '5.9 expressions': "The operator is multiply (*), where both operands are matrices or one operand is a vector and the other a matrix. A right vector operand is treated as a column vector and a left vector operand as a row vector. In all these cases, it is required that the number of columns of the left operand is equal to the number of rows of the right operand. Then, the multiply (*) operation does a linear algebraic multiply, yielding an object that has the same number of rows as the left operand and the same number of columns as the right operand. Section 5.10 “Vector and Matrix Operations” explains in more detail how vectors and matrices are operated on." This fix disallows a multiplication of incompatible matrices like: mat4x3(..) * mat4x3(..) mat4x2(..) * mat4x2(..) mat3x2(..) * mat3x2(..) .... CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111664 Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com> (cherry picked from commit b32bb888c70576bf7e48f22703028eb1a43da651)
* intel/fs: Fix fs_inst::flags_read for ANY/ALL predicatesJason Ekstrand2019-10-021-6/+28
| | | | | | | | | | Without this, we were DCEing flag writes because we didn't think their results were used because we didn't understand that an ANY32 predicate actually read all the flags. Fixes: df1aec763eb "i965/fs: Define methods to calculate the flag..." Reviewed-by: Matt Turner <mattst88@gmail.com> (cherry picked from commit 6c858b9a915b54d127a64ab817f111a82716a037)
* meson: Link xvmc with libxvDylan Baker2019-10-022-4/+10
| | | | | | | | | | | | Prior to xvmc 1.0.12 libxvmc incorrectly required libxv, but that was fixed. This results in compilation failures for the gallium xvmc tracker and tools. This patch fixes that by explicitly linking to libxv. Fixes: 22a817af8a89eb3c762fc3e07b443a3ce37d7416 ("meson: build gallium xvmc state tracker") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1844 Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit e456a053c3d6ec4f3d4581edcad05c72dfdaa407)
* meson: Try finding libxvmcw via pkg-config before using find_libraryDylan Baker2019-10-021-2/+7
| | | | | | | | | | | | | This fixes cross compiling issues, because pkg-config is less likely to get the wrong libs. v2: - Fix typo in comment Fixes: 22a817af8a89eb3c762fc3e07b443a3ce37d7416 ("meson: build gallium xvmc state tracker") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/939 Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 8c5c21d7e337bbaffe8d68d9abbb166a271b35cc)
* drisw: Fix shared memory leak on drawable resizeAndreas Gottschling2019-10-021-0/+2
| | | | | | | | | | XDestroyImage will mark the segment as to-be-destroyed, but it will persist until we detach it, and we weren't doing so. Cc: mesa-stable@lists.freedesktop.org Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/121 Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit c5a2ccec5e9fa60bbec5e7b574877f8af4c14462)
* radeonsi: fix VAAPI segfault due to various bugsMichel Dänzer2019-10-023-0/+3
| | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111236 (cherry picked from commit 67d930d64bb27944f4ad02068720a832c503ab1f)
* meson: fix logic for generating .pc files with old glvndDylan Baker2019-10-024-21/+24
| | | | | | | | | | | | | | | We want to generate PC files for non-glvnd builds and for builds with old glvnd, but the current logic doesn't do that, it builds them unconditionally, and for GLES it builds the shared libraries, which is also not what we want. This does not generate .pc files for gles1 or gles2. Which it we weren't doing before either, making this not a regression but a return to status-quo.o Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838 Fixes: 93df862b6affb6b8507e40601212a58012bfa873 ("meson: re-add incorrect pkg-config files with GLVND for backward compatibility") Reviewed-by: Matt Turner <mattst88@gmail.com> (cherry picked from commit fafd20f67dec9f5891838435ecde1dedb77ab742)
* intel: use proper label for Comet Lake skusLionel Landwerlin2019-10-021-18/+18
| | | | | | | | | | | | Fixes: 82f6a746e8 ("intel: Add support for Comet Lake") Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 813f3460e7d331ad752c48ee08ca8988f8bfabd7) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: include/pci_ids/i965_pci_ids.h
* anv: gem-stubs: return a valid fd got anv_gem_userptr()Lionel Landwerlin2019-10-021-1/+7
| | | | | | | | | Fixes invalid close(-1) in the unit tests. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit da2d67fc3b04128f3dad08c1002b260841312420)
* util: fix os_create_anonymous_file on androidTapani Pälli2019-10-021-4/+5
| | | | | | | | | Commit fixes current crashes with Vulkan applications on Android. Fixes: c0376a123418 "util: add anon_file.h for all memfd/temp file usage" Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch> (cherry picked from commit ce8fd042a5b0130cc5c62981828b122127711712)
* cherry-ignore: util: added missing headers in anon-fileJuan A. Suarez Romero2019-10-021-0/+2
| | | | | | Fixes: The commit was reverted later. Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* util/anon_file: const string paramEric Engestrom2019-10-022-2/+2
| | | | | | | | Fixes: c0376a123418df0050dc ("util: add anon_file.h for all memfd/temp file usage") Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Tested-by: Eric Anholt <eric@anholt.net> Tested-by: Andreas Baierl <ichgeh@imkreisrum.de> (cherry picked from commit 525a917c6c2a166d72ca83295f6ea32a5d6d83a7)
* util/anon_file: add missing #includeEric Engestrom2019-10-021-0/+3
| | | | | | | | Fixes: c0376a123418df0050dc ("util: add anon_file.h for all memfd/temp file usage") Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Tested-by: Eric Anholt <eric@anholt.net> Tested-by: Andreas Baierl <ichgeh@imkreisrum.de> (cherry picked from commit 60af7f5a81f822b869b3ebe98e892e6b0aeede0f)
* util: add anon_file.h for all memfd/temp file usageGreg V2019-10-028-163/+205
| | | | | | | | | | Move the Weston os_create_anonymous_file code from egl/wayland into util, add support for Linux memfd and FreeBSD SHM_ANON, use that code in anv/aubinator instead of explicit memfd calls for portability. Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit c0376a123418df0050dc45d3e1e84f6b29a6a1f3)
* st/nine: Ignore D3DSIO_RET if it is the last instruction in a shaderDanylo Piliaiev2019-10-021-1/+7
| | | | | | | | | | | | | | | RET as a last instruction could be safely ignored. Remove it to prevent crashes/warnings in case underlying driver doesn't implement arbitrary returns. A better way would be to remove the RET after the whole shader is parsed which will handle a possible case when the last RET is followed by a comment. CC: <mesa-stable@lists.freedesktop.org> Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Axel Davy <davyaxel0@gmail.com> (cherry picked from commit 2d8f77db839cb3a83f0b1575a028d5aa4258c322)
* meson: re-add incorrect pkg-config files with GLVND for backward compatibilityEric Engestrom2019-10-024-5/+18
| | | | | | | | | | | | | | | | | | This is a bit counter-intuitive, but the issue is that GLVND is broken in versions <= 1.1.1, so we need to keep wrongly providing these files to cover up their mistake, otherwise the rest of the world ends up broken. Suggested-by: Dylan Baker <dylan@pnwbakers.com> Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (cherry picked from commit 93df862b6affb6b8507e40601212a58012bfa873) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Conflicts: src/egl/meson.build
* glsl: correct bitcast-helpersErik Faye-Lund2019-10-021-2/+2
| | | | | | | | | | | | | Without this, we'll incorrectly round off huge values to the nearest representable double instead of keeping it at the exact value as we're supposed to. Found by inspecting compiler-warnings. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Fixes: 85faf5082f ("glsl: Add 64-bit integer support for constant expressions") Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 88f909eb37dc3867f9d2fcd44ccee6dceaac071c)
* nir/opt_remove_phis: handle phis with no sourcesRhys Perry2019-10-021-5/+6
| | | | | | | | | | | | This can happen with loops with unreachable exits which are later optimized away. Fixes assertion in dEQP-VK.graphicsfuzz.unreachable-loops with RADV. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 12372d60fff676c458c7a54a934f619548337f0e)
* gallium/vl: don't set PIPE_HANDLE_USAGE_EXPLICIT_FLUSHMarek Olšák2019-10-021-4/+1
| | | | | | | | | | because vl doesn't call flush_resource and I wasn't able to find all places where flush_resource needs to be called. This fixes corrupted / unflushed surfaces with fullscreen videos on Raven. Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org> (cherry picked from commit f52afdf67274d58951124b20a42fe932a5deda4d)
* cherry-ignore: nir/opt_large_constants: Handle store writemasksJuan A. Suarez Romero2019-10-021-0/+1
| | | | | | | Fixes: This commit does not apply cleanly on 19.1 branch, as it depends on other commits not present in the branch. Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
* nouveau: add idep_nir_headers as dep for libnouveauStephen Barber2019-10-021-2/+2
| | | | | | | | | | | | | | | | Fixes a compilation error when building libnouveau: In file included from ../src/gallium/drivers/nouveau/nv50/nv50_program.c:25: ../src/compiler/nir/nir.h:1115:10: fatal error: nir_intrinsics.h: No such file or directory #include "nir_intrinsics.h" ^~~~~~~~~~~~~~~~~~ compilation terminated. Fixes: f014ae3c7cce504afe5d ("nouveau: add support for nir") Signed-off-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> (cherry picked from commit 8c3ace6991a67bffd4e1f7559c098b6861ef4162)
* bin/get-pick-list.sh: sha1 commits can be smaller than 8 charsJuan A. Suarez Romero2019-10-021-1/+1
| | | | | | | | | | | | | The script only handles commits with "Fixes: <sha1>" where <sha1> is equal or great than 8 chars. But <sha1> can be smaller, like 7 chars. This commit relax the restriction to handle <sha1> 4 or more chars. Fixes: 533fead4236 ("bin/get-pick-list.sh: tweak the commit sha matching pattern") Acked-by: Eric Engestrom <eric.engestrom@intel.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> (cherry picked from commit b3c25e6f9953b6c7d196b47c6ba1987f681edf7d)
* radv: Add workaround for hang in The Surge 2.Bas Nieuwenhuizen2019-10-021-0/+8
| | | | | | | | | | | | Released today and hangs on RADV. We don't have the root cause yet, but this should unblock people playing the game. No drirc because the radv debugflags are not usable from drirc and I want this backported. CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 780182f0a0caa9b6f48f87b1930b3bcba1ac9319)
* intel: Increase Gen11 compute shader scratch IDs to 64.Kenneth Graunke2019-10-023-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | From the MEDIA_VFE_STATE docs: "Starting with this configuration, the Maximum Number of Threads must be set to (#EU * 8) for GPGPU dispatches. Although there are only 7 threads per EU in the configuration, the FFTID is calculated as if there are 8 threads per EU, which in turn requires a larger amount of Scratch Space to be allocated by the driver." It's pretty clear that we need to increase this for scratch address calculations, because the FFTID has a certain bit-pattern. The quote above seems to indicate that we should increase the actual thread count programmed in MEDIA_VFE_STATE as well, but we think the intention is to only bump the scratch space. Fixes GPU hangs in Bioshock Infinite and Synmark's CSDof on Icelake 8x8. Fixes: 5ac804bd9ac ("intel: Add a preliminary device for Ice Lake") Reviewed-by: Matt Turner <mattst88@gmail.com> (cherry picked from commit b9e93db20896a436c716107dd0d12057b3aa9f72)
* nir/repair_ssa: Replace the unreachable check with the phi builderJason Ekstrand2019-10-021-35/+44
| | | | | | | | | | | | | | | | In a3268599f3c9, I attempted to fix nir_repair_ssa for unreachable blocks. However, that commit missed the possibility that the use is in a block which, itself, is unreachable. In this case, we can end up in an infinite loop trying to replace a def with itself. Even though a no-op replacement is a fine operation, it keeps extending the end of the uses list as we're walking it. Instead of explicitly checking for the group of conditions, just check if the phi builder gives us a different def. That's guaranteed to be 100% reliable and, while it lacks symmetry with the is_valid checks, should be more reliable. Fixes: a3268599 "nir/repair_ssa: Repair dominance for unreachable..." Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit d63162cff0e0922fc3c2ef5dfd4402004caf141e)