summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* radv: Cache command buffers in command pool.Bas Nieuwenhuizen2017-03-062-48/+84
| | | | | | | | | | | So that we don't keep allocating BOs for the IBs and upload buffers. We run some risk of memory increase with e.g. a bimodal size distribution of command buffers, but I haven't noticed a significant increase with dota2 and talos. Signed-off-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* Revert "glsl: Switch to disable-by-default for the GLSL shader cache"Timothy Arceri2017-03-062-12/+0
| | | | | | | | | This reverts commit 0f60c6616e93cba72bff4fbfedb72a753ef78e05. Piglit and all games tested so far seem to be working without issue. This change will allow wide user testing and we can decided before the next release if we need to turn it off again. Reviewed-by: Marek Olšák <[email protected]>
* docs: update envvars.html to reflect having a cache per archTimothy Arceri2017-03-061-1/+4
|
* util/disk_cache: support caches for multiple architecturesTimothy Arceri2017-03-061-0/+26
| | | | | | | | | | | | | | Previously we were deleting the entire cache if a user switched between 32 and 64 bit applications. V2: make the check more generic, it should now work with any platform we are likely to support. V3: Use suggestion from Emil to make even more generic/fix issue with __ILP32__ not being declared on gcc for regular 32-bit builds. Tested-by: Grazvydas Ignotas <[email protected]> Tested-by: Dieter Nützel <[email protected]>
* util/disk_cache: mark read-only arguments constGrazvydas Ignotas2017-03-062-27/+28
| | | | | | | No functional changes. Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* radeon/ac: fix intrinsic version checkDave Airlie2017-03-061-1/+1
| | | | | | | Reported-by: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100068 Signed-off-by: Dave Airlie <[email protected]>
* radv: Merge fast clear flushes.Bas Nieuwenhuizen2017-03-051-13/+35
| | | | | | | | Don't flush multiple times if we clear multiple attachments. Also allows doing the depth clear in parallel with the fast color clears. Signed-off-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* relnotes: [swr] note addition of gs, increased llvm requirementTim Rowley2017-03-051-0/+4
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* docs: update features.txt for swr geometry shadersTim Rowley2017-03-051-9/+9
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] fix primID provoking vertex for GSTim Rowley2017-03-051-2/+2
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: implement geometry shadersTim Rowley2017-03-0513-63/+700
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* configure.ac: increase required swr llvm to 3.9.0Tim Rowley2017-03-051-1/+1
| | | | | | | | GS implementation uses the masked.{gather,store} intrinsics, introduced in llvm-3.9.0. swr llvm version requirement in automake and scons now match (scons already needed >= 3.9). Reviewed-by: Bruce Cherniak <[email protected]>
* i965: Clamp texture buffer size to GL_MAX_TEXTURE_BUFFER_SIZE.Kenneth Graunke2017-03-041-0/+18
| | | | | | | | | | | | | | | | | | | The OpenGL 4.5 specification's description of TexBuffer says: "The number of texels in the texture image is then clamped to an implementation-dependent limit, the value of MAX_TEXTURE_BUFFER_SIZE." We set GL_MAX_TEXTURE_BUFFER_SIZE to 2^27. For buffers with a byte element size, this is the maximum possible size we can encode in SURFACE_STATE. If you bind a buffer object larger than this as a texture buffer object, we'll exceed that limit and hit an isl assert: assert(num_elements <= (1ull << 27)); To fix this, clamp the size in bytes to MaxTextureSize / texel_size. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* automake: move wayland-drm prior to VulkanEmil Velikov2017-03-041-5/+5
| | | | | | | | | | | | | | | Earlier commit was picked from a larger series, but did not consider that it removed the vulkan <> wayland-drm interdependency. Rather than reverting everything, temporarily move wayland-drm further up to resolve the issue. Since it [wayland-drm] does not have any in-mesa dependencies that's perfectly safe. Cc: Vedran Miletić <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100060 Fixes: e135ce6f088 ("vulkan: Build common Vulkan code earlier") Signed-off-by: Emil Velikov <[email protected]> Tested-by: Javier Jardón <[email protected]>
* android: fix libz dynamic library dependenciesMauro Rossi2017-03-042-4/+2
| | | | | | | | | | | | | | Fixes a series of libz related building errors: target SharedLib: gallium_dri_32 (out/target/prod...SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so) external/elfutils/libelf/elf_compress.c:117: error: undefined reference to 'deflateInit_' ... external/elfutils/libelf/elf_compress.c:244: error: undefined reference to 'inflateEnd' clang++: error: linker command failed with exit code 1 (use -v to see invocation) Fixes: 85a9b1b "util/disk_cache: compress individual cache entries"
* svga: pass NULL to ureg_get_tokens()Timothy Arceri2017-03-052-6/+3
| | | | | | | The number of tokens in never used and the pointer is NULL checked so just pass NULL. Reviewed-by: Brian Paul <[email protected]>
* nvc0: take extra pushbuf space into account for pushbuf_space callsIlia Mirkin2017-03-041-2/+2
| | | | | | | | | | | | | | | | | See detailed explanation of why this is needed in commit eb60a89bc3a. This spot was missed/overlooked. Basically as a result of the fact that BEGIN_* ends up calling PUSH_SPACE, which in turn adds an extra 8 to the requested amount, we have to be mindful of that when doing bare nouveau_pushbuf_space calls. Reportedly this fixes some crashes when replaying a hitman trace taken on radeonsi. Fixes: eb60a89bc3a ("nouveau: take extra push space into account for pushbuf_space calls") Cc: "13.0 17.0" <[email protected]> Reported-by: Karol Herbst <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* nvc0: increase alignment to 256 for texture buffers on fermiIlia Mirkin2017-03-041-1/+3
| | | | | | | | | | When binding as textures, the alignment can be 16. However when binding as an image, the address has to be aligned to 256. (Also when binding as an RT, but that can't happen with GL or current gallium APIs.) Reported-by: Roy Spliet <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Acked-by: Samuel Pitoiset <[email protected]>
* android: fix outdir for gen_enum_to_str filesTapani Pälli2017-03-041-1/+2
| | | | | | | | | | when files are being generated the value of $intermediates var content can be completely random, this makes sure that outdir is the wanted one. Fixes: 3f2cb699 ("android: vulkan: add support for libmesa_vulkan_util") Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Emil Velikov <[email protected]>
* EGL/Android: Add EGL_EXT_buffer_age extensionXiaosong Wei2017-03-042-1/+59
| | | | | | | | This patch implements the EGL_EXT_buffer_age extension for Android. https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_buffer_age.txt Reviewed-by: Tapani Pälli <[email protected]> Acked-by: Emil Velikov <[email protected]>
* docs: add news item and link release notes for 17.0.1Emil Velikov2017-03-042-0/+7
| | | | Signed-off-by: Emil Velikov <[email protected]>
* docs: add sha256 checksums for 17.0.1Emil Velikov2017-03-041-1/+2
| | | | | Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 5c9273152c59777771fa6c7b546316caf3f091d8)
* docs: add release notes for 17.0.1Emil Velikov2017-03-041-0/+220
| | | | | Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 8fee1d348cc3d91a88319c0d72689acabaa2bf47)
* gallium/targets: don't leave an empty target directory(ies)Emil Velikov2017-03-043-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some drivers do not support certain targets - for example nouveau doesn't do VAAPI, while freedreno doesn't do of the video backends. As such if we enter vdpau when building freedreno/ilo/etc, a vdpau/ folder will be created, empty library will be build and almost immediately removed. Thus keeping an empty vdpau/ folder around. There are two ways to fix this. * add substantial tracking in configure/makefiles so that we never end up in targets/vdpau Downsides: Error prone, as the configure checks and the 'include gallium/drivers/foo/Automake.inc' can easily get out of sync. * remove the folder, if empty, alongside the empty library. Downsides: In the latter case vdpau/ might be empty before the mesa build has started, yet we'll remove it either way. This patch implements the latter option, as the downside isn't that significant, plus the patch is way shorter ;-) v2: use has_drivers to track since TARGET_DRIVERS can contain space, hence neither string comparison nor -n/-z works correctly. Gentoo Bugzilla: https://bugs.gentoo.org/545230 Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* radv: use enum_to_str util functions.Emil Velikov2017-03-042-34/+5
| | | | | | | | | Port of e9dcb17962f7e58a81c93bae7bd33885675b1043 vulkan/util: Add generator for enum_to_str functions Cc: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan: Build common Vulkan code earlierJason Ekstrand2017-03-041-5/+5
| | | | Reviewed-by: Emil Velikov <[email protected]>
* anv: Advertise shaderInt64 on Broadwell and aboveJason Ekstrand2017-03-032-1/+2
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* nir/int64: Properly handle imod/iremJason Ekstrand2017-03-031-3/+21
| | | | | | | | | | | The previous implementation was fine for GLSL which doesn't really have a signed modulus/remainder. They just leave the behavior undefined whenever either source is negative. However, in SPIR-V, there is a defined behavior for negative arguments. This commit beefs up the pass so that it handles both correctly. Tested using a hacked up version of the Vulkan CTS test to get 64-bit support. Reviewed-by: Matt Turner <[email protected]>
* nir/builder: Add an int64 immediate helperJason Ekstrand2017-03-031-0/+11
| | | | Reviewed-by: Matt Turner <[email protected]>
* genxml: Fill out Gen4 and G45 XML.Kenneth Graunke2017-03-032-1/+2232
| | | | | | | | This is a work in progress - some things may still need fixing. But it should be in pretty decent shape. Signed-off-by: Kenneth Graunke <[email protected]> Signed-off-by: Jason Ekstrand <[email protected]>
* ac: normalize build helper namesMarek Olšák2017-03-036-318/+317
| | | | | | s/emit/build/ Reviewed-by: Dave Airlie <[email protected]>
* ac: replace SI.vs.load.input with amdgcn.buffer.load.formatMarek Olšák2017-03-031-0/+20
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: move SI.vs.load.input building into amd/commonMarek Olšák2017-03-033-15/+33
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: detect and mark loads/stores from read-only/write-only memoryMarek Olšák2017-03-031-10/+105
|
* ac: replace llvm.SI.tbuffer.store with llvm.amdgcn.buffer.store if ADD_TID=0Marek Olšák2017-03-034-15/+73
| | | | | | | | ADD_TID doesn't work. Needs more investigation. v2: remove leftover dead code Reviewed-by: Dave Airlie <[email protected]> (v1)
* radeonsi: use the writeonly LLVM attributeMarek Olšák2017-03-031-3/+6
|
* ac: remove offen parameter from ac_build_buffer_store_dwordMarek Olšák2017-03-034-23/+20
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: enable TC L2 for tessellation offchip storesMarek Olšák2017-03-031-8/+8
| | | | Vulkan does the same thing.
* radeonsi: merge and simplify tbuffer_store functionsMarek Olšák2017-03-034-114/+77
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: set noalias on input shader pointersMarek Olšák2017-03-031-0/+1
|
* radeonsi: replace AMDGPU.bfe.* with amdgcn.*bfeMarek Olšák2017-03-033-7/+33
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: move kill intrinsic building into amd/commonMarek Olšák2017-03-034-14/+29
| | | | | | just a cleanup Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: set readnone on reads from read-only memoryMarek Olšák2017-03-033-13/+21
|
* radeonsi: replace SI.buffer.load.dword with amdgcn.buffer.loadMarek Olšák2017-03-031-45/+19
|
* radeonsi: replace SI.packf16 with amdgcn.cvt.pkrtzMarek Olšák2017-03-033-5/+21
|
* ac: replace old image intrinsics with new onesMarek Olšák2017-03-031-0/+80
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: remove last use of llvm.SI.resinfoMarek Olšák2017-03-031-48/+49
| | | | and move one function up to reuse the code.
* radeonsi: move image intrinsic building to amd/commonMarek Olšák2017-03-033-92/+159
| | | | Reviewed-by: Dave Airlie <[email protected]>
* ac: replace SI.export with amdgcn.exp.*Marek Olšák2017-03-032-3/+36
| | | | Reviewed-by: Dave Airlie <[email protected]>
* radeonsi: move llvm.SI.export building to amd/commonMarek Olšák2017-03-033-162/+170
| | | | Reviewed-by: Dave Airlie <[email protected]>