Jason Ekstrand [Tue, 7 Mar 2017 17:13:15 +0000 (09:13 -0800)]
anv: Add a performance warning helper
This acts identically to anv_finishme except that it only dumps out
these nice log messages if you run with INTEL_DEBUG=perf.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Timothy Arceri [Fri, 3 Mar 2017 05:59:48 +0000 (16:59 +1100)]
st/mesa: don't propagate uniforms when restoring from cache
We will have already loaded the uniforms when the parameter list
was restored from cache.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Damien Grassart [Sun, 5 Mar 2017 23:56:20 +0000 (00:56 +0100)]
radv: remove duplicate initialization of alphaToOne feature
Fixes a GCC warning when compiling with -Wextra:
radv_device.c:463:47: warning: initialized field overwritten [-Woverride-init]
Signed-off-by: Damien Grassart <damien@grassart.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Tue, 7 Mar 2017 05:08:42 +0000 (05:08 +0000)]
radv: disable mip point pre clamping.
No idea what this does, but disabling it fixes a bunch
of failing CTS tests in the lod area, so let's go with that.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Fredrik Höglund [Tue, 7 Mar 2017 00:53:22 +0000 (01:53 +0100)]
radv/ac: fix multiple descriptor sets with dynamic buffers
The dynamic_offset_offset in the descriptor set binding layout is
relative to the dynamic_offset_start for the set in the pipeline
layout.
Cc: 17.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fredrik Höglund [Tue, 7 Mar 2017 00:53:21 +0000 (01:53 +0100)]
radv: fix the size of the dynamic_buffers array
A buffer descriptor is 16 bytes, not 16 dwords.
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fredrik Höglund [Tue, 7 Mar 2017 00:53:20 +0000 (01:53 +0100)]
radv: fix the dynamic buffer index in vkCmdBindDescriptorSets
This fixes the wrong dynamic buffer descriptors being updated when
firstSet > 0.
Cc: 17.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Matt Turner [Mon, 6 Mar 2017 18:49:05 +0000 (10:49 -0800)]
configure.ac: Ensure libomxil-bellagio exists before invoking pkg-config.
I was already tired of seeing the message
Package libomxil-bellagio was not found in the pkg-config search path.
Perhaps you should add the directory containing `libomxil-bellagio.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libomxil-bellagio' found
on every configure, but I just got a distro bug reported where the user
was confused by this message and thought it indicated a bug.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Matt Turner [Mon, 6 Mar 2017 18:42:30 +0000 (10:42 -0800)]
configure.ac: Ensure libva is enabled before invoking pkg-config.
PKG_CHECK_VAR can only check --variable=$NAME, so it cannot handle
modversion.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Matt Turner [Mon, 6 Mar 2017 18:42:10 +0000 (10:42 -0800)]
configure.ac: Use PKG_CHECK_VAR for libclc.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Matt Turner [Mon, 6 Mar 2017 18:20:10 +0000 (10:20 -0800)]
configure.ac: Use PKG_CHECK_VAR for wayland-scanner.
Available since pkg-config-0.28 and pkgconf-0.8.10.
The removal of the AC_PATH_PROG is intentional. Use pkg-config.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Matt Turner [Mon, 6 Mar 2017 17:17:19 +0000 (09:17 -0800)]
configure.ac: Fix error message in radeon_llvm_check().
It printed the version of LLVM ($1):
configure: error: 3.6.0 requires libelf when using llvm
instead of the driver name ($2):
configure: error: r600 requires libelf when using llvm
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Tobias Droste <tdroste@gmx.de>
Matt Turner [Mon, 6 Mar 2017 17:35:33 +0000 (09:35 -0800)]
build: Replace NEED_RADEON_LLVM with HAVE_GALLIUM_LLVM.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Bas Nieuwenhuizen [Tue, 7 Mar 2017 00:07:02 +0000 (01:07 +0100)]
radv: Use the subresource range in HTILE initialization.
v2: fix levelCount assert.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Mon, 6 Mar 2017 23:58:04 +0000 (00:58 +0100)]
radv: Use winsys HTILE info.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Mon, 6 Mar 2017 23:37:46 +0000 (00:37 +0100)]
radv/amdgpu: Let addrlib calculate the HTILE parameters.
Still not sure we can support miptrees when sampling from
HTILE enabled textures.
Added the tcCompatible winsys stuff while I'm at it.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 1 Mar 2017 19:40:09 +0000 (05:40 +1000)]
amd/common: document PREDICATION OP 3 as 64-bit bool.
This just documents some info for possible future use.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Tue, 7 Mar 2017 00:30:01 +0000 (00:30 +0000)]
radv: handle z offset for 3d image <-> buffer copies.
This fixes:
dEQP-VK.pipeline.render_to_image.3d.huge.depth.r8g8b8a8_unorm
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Mon, 6 Mar 2017 23:31:48 +0000 (23:31 +0000)]
radv: move fast clear before resolve into own loop.
Don't fast clear inside the meta loop as things get
confused, fixes a crash in:
dEQP-VK.api.copy_and_blit.resolve_image.whole_array_image.2_bit
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Mon, 6 Mar 2017 22:23:57 +0000 (23:23 +0100)]
radv: Disable HTILE for textures with multiple layers/levels.
It has issues and the fix I'm working on is too complicated for stable,
so disable for now.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
CC: 13.0 17.0 <mesa-stable@lists.freedesktop.org>
Dave Airlie [Mon, 6 Mar 2017 05:40:16 +0000 (15:40 +1000)]
radv: Properly handle destroying NULL devices and instances
Ported from anv:
3d33a23e anv: Properly handle destroying NULL devices and instances
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Mon, 6 Mar 2017 02:24:59 +0000 (12:24 +1000)]
radv/ac: introduce i1true/i1false to context.
This uses these in a few places, and fixes one or two
cases which were using da as 32-bit instead of bool.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Mon, 6 Mar 2017 00:06:11 +0000 (10:06 +1000)]
radv/ac: handle Z export using new builder.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 22:37:54 +0000 (08:37 +1000)]
radv/ac: move to using common ac_get_image_intr_name.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 22:37:22 +0000 (08:37 +1000)]
radeonsi/ac: move get_image_intr_name to common
This code is used in radv, so move to common build code.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Timothy Arceri [Mon, 6 Mar 2017 00:58:29 +0000 (11:58 +1100)]
gallium/util: remove unused header from u_queue.c
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Mon, 6 Mar 2017 00:58:28 +0000 (11:58 +1100)]
gallium/util: remove unused pipe_thread_destroy()
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Mon, 6 Mar 2017 00:58:27 +0000 (11:58 +1100)]
gallium/util: replace pipe_thread_wait() with thrd_join()
Replace done using:
find ./src -type f -exec sed -i -- \
's:pipe_thread_wait(\([^)]*\)):thrd_join(\1, NULL):g' {} \;
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Mon, 6 Mar 2017 00:58:26 +0000 (11:58 +1100)]
gallium/util: remove PIPE_THREAD_ROUTINE()
This was made unnecessary with
fd33a6bcd7f12.
This was mostly done with:
find ./src -type f -exec sed -i -- \
's:PIPE_THREAD_ROUTINE(\([^,]*\), \([^)]*\)):int\n\1(void \*\2):g' {} \;
With some small manual tidy ups.
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 23:41:39 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar with cnd_t
pipe_condvar was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:39:49 +0000 (12:39 +1100)]
gallium/util: replace pipe_thread with thrd_t
pipe_thread was made unnecessary with
fd33a6bcd7f12.
V2: fix compile error in u_queue.c
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:32:06 +0000 (12:32 +1100)]
gallium/util: replace pipe_mutex_unlock() with mtx_unlock()
pipe_mutex_unlock() was made unnecessary with
fd33a6bcd7f12.
Replaced using:
find ./src -type f -exec sed -i -- \
's:pipe_mutex_unlock(\([^)]*\)):mtx_unlock(\&\1):g' {} \;
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:12:30 +0000 (12:12 +1100)]
gallium/util: replace pipe_mutex_lock() with mtx_lock()
replace pipe_mutex_lock() was made unnecessary with
fd33a6bcd7f12.
Replaced using:
find ./src -type f -exec sed -i -- \
's:pipe_mutex_lock(\([^)]*\)):mtx_lock(\&\1):g' {} \;
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:32:04 +0000 (12:32 +1100)]
gallium/util: replace pipe_mutex_destroy() with mtx_destroy()
pipe_mutex_destroy() was made unnecessary with
fd33a6bcd7f12.
Replace was done with:
find ./src -type f -exec sed -i -- \
's:pipe_mutex_destroy(\([^)]*\)):mtx_destroy(\&\1):g' {} \;
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:00:15 +0000 (12:00 +1100)]
gallium/util: replace pipe_mutex_init() with mtx_init()
pipe_mutex_init() was made unnecessary with
fd33a6bcd7f12.
Replace was done using:
find ./src -type f -exec sed -i -- \
's:pipe_mutex_init(\([^)]*\)):(void) mtx_init(\&\1, mtx_plain):g' {} \;
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:32:02 +0000 (12:32 +1100)]
gallium/util: remove pipe_static_mutex()
This was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sun, 5 Mar 2017 01:32:01 +0000 (12:32 +1100)]
gallium/util: replace pipe_mutex with mtx_t
pipe_mutex was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sat, 4 Mar 2017 23:41:33 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar_broadcast() with cnd_broadcast()
pipe_condvar_broadcast() was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sat, 4 Mar 2017 23:41:32 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar_signal() with cnd_signal()
pipe_condvar_signal() was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sat, 4 Mar 2017 23:41:31 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar_wait() with cnd_wait()
pipe_condvar_wait() was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sat, 4 Mar 2017 23:41:30 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar_destroy() with cnd_destroy()
pipe_condvar_destroy() was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Timothy Arceri [Sat, 4 Mar 2017 23:41:29 +0000 (10:41 +1100)]
gallium/util: replace pipe_condvar_init() with cnd_init()
pipe_condvar_init() was made unnecessary with
fd33a6bcd7f12.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Marek Olšák [Mon, 6 Mar 2017 04:03:17 +0000 (15:03 +1100)]
st/dri: reduce dri_fill_st_options() params
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Marek Olšák [Mon, 6 Mar 2017 04:03:16 +0000 (15:03 +1100)]
st/dri: use local pointer to st_context_iface
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Gregory Hainaut [Mon, 6 Mar 2017 04:25:32 +0000 (15:25 +1100)]
glapi: fix typo in count_scale
2*4=8
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Kenneth Graunke [Thu, 2 Mar 2017 00:02:58 +0000 (16:02 -0800)]
i965: Return NULL from initScreen2, not false.
This returns a pointer, not a boolean. No actual effect, but cleaner.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Kenneth Graunke [Wed, 1 Mar 2017 23:52:55 +0000 (15:52 -0800)]
i965: Make a devinfo local variable.
screen->devinfo.gen is annoying to type and linewrap.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Kenneth Graunke [Wed, 1 Mar 2017 23:36:54 +0000 (15:36 -0800)]
i965: Delete vestiges of resource streamer code.
We never actually used the resource streamer in any shipping build
of Mesa. We have no plans to do so in the future. We looked into
using it in Vulkan, and concluded that it was unusable. We're not
the only ones to arrive at the conclusion that it's not worth using.
So, drop the last vestiges of resource streamer support and move on.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Kenneth Graunke [Wed, 1 Mar 2017 23:29:09 +0000 (15:29 -0800)]
i965: Drop duplicate #defines now that we've bumped libdrm requirements.
We've updated our libdrm requirement, and it will already provide these.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Samuel Pitoiset [Mon, 6 Mar 2017 20:33:28 +0000 (21:33 +0100)]
getteximage: fix _mesa_GetTextureSubImage()
Oops.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100088
Fixes: 5ae54c0cf7 ("getteximage: avoid to lookup textures with id 0")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Grazvydas Ignotas [Sat, 4 Mar 2017 00:49:18 +0000 (02:49 +0200)]
ralloc: don't leave out the alignment factor
Experimentation shows that without alignment factor gcc and clang choose
a factor of 16 even on IA-32, which doesn't match what malloc() uses (8).
The problem is it makes gcc assume the pointer is 16 byte aligned, so
with -O3 it starts using aligned SSE instructions that later fault,
so always specify a suitable alignment factor.
Cc: Jonas Pfeil <pfeiljonas@gmx.de>
Fixes: cd2b55e5 "ralloc: Make sure ralloc() allocations match malloc()'s alignment."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100049
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Tested by: Mike Lothian <mike@fireburn.co.uk>
Tested by: Jonas Pfeil <pfeiljonas@gmx.de>
Grazvydas Ignotas [Sun, 5 Mar 2017 21:23:25 +0000 (23:23 +0200)]
i965: don't require 64bit cmpxchg
There are still some distributions trying to support unfortunate people
with old or exotic CPUs that don't have 64bit atomic operations. The
only thing preventing compile of the Intel driver for them seems to be
initialization of a debug variable.
v2: use call_once() instead of unsafe code, as suggested by Matt Turner
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93089
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Alex Smith [Mon, 6 Mar 2017 14:54:28 +0000 (14:54 +0000)]
radv: Emit pending flushes before executing a secondary command buffer
If we have any pending flushes on the primary command buffer, these
must be performed before executing the secondary buffer.
This fixes potential corruption when the contents of a subpass which
clears any of its render targets are given in a secondary buffer: the
flushes after a fast clear would not have been performed until the
vkCmdEndRenderPass call.
Signed-off-by: Alex Smith <asmith@feralinteractive.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org>
Samuel Pitoiset [Wed, 1 Mar 2017 21:53:52 +0000 (22:53 +0100)]
mesa/main: remove useless check in _mesa_IsSampler()
_mesa_lookup_samplerobj() returns NULL if sampler is 0.
v2: use _mesa_lookup...(...) != NULL
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Samuel Pitoiset [Wed, 1 Mar 2017 21:54:09 +0000 (22:54 +0100)]
getteximage: avoid to lookup textures with id 0
This fixes the following assertion when the key is 0.
main/hash.c:181: _mesa_HashLookup_unlocked: Assertion `key' failed.
Fixes: 633c959fae ("getteximage: Return correct error value when texure object is not found")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Marek Olšák [Mon, 6 Mar 2017 16:34:41 +0000 (17:34 +0100)]
docs/relnotes/17.1.0: document the new LLVM requirement
Marek Olšák [Tue, 28 Feb 2017 20:27:59 +0000 (21:27 +0100)]
gallium/radeon: don't monitor SDMA busyness on EG/Cayman/SI
It's always busy.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99955
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Sat, 4 Mar 2017 23:15:31 +0000 (00:15 +0100)]
radeonsi: drop support for LLVM 3.6 & 3.7
They are too old.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Sun, 26 Feb 2017 18:00:44 +0000 (19:00 +0100)]
radeonsi: set the convergent attribute where needed
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Sun, 22 Jan 2017 01:36:48 +0000 (02:36 +0100)]
gallivm,ac: add LP_FUNC_ATTR_CONVERGENT
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Sun, 5 Mar 2017 22:19:57 +0000 (23:19 +0100)]
radeonsi: fix LLVM 3.9 - don't use non-matching attributes on declarations
Call site attributes are used since LLVM 4.0.
This also reverts commit
b19caecbd6f310c1663b0cfe483d113ae3bd5fe2
"radeon/ac: fix intrinsic version check", because this is the correct fix.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Mark Thompson [Sun, 5 Mar 2017 23:18:11 +0000 (23:18 +0000)]
st/omx: Set end-of-frame flag on bitstream output buffers
Since all output buffers are whole frames, this should always be set.
Technically, setting this flag is is optional (see OpenMAX IL section
3.1.2.7.1), but some clients assume that it will be used and
therefore buffer indefinitely thinking that all output buffers are
fragments of the first frame when it is not set.
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Christian König <christian.koenig@amd.com>
Mark Thompson [Sun, 5 Mar 2017 22:10:14 +0000 (22:10 +0000)]
st/omx: Fix port format enumeration
From OpenMAX IL section 4.3.5:
"The value of nIndex is the range 0 to N-1, where N is the number of
formats supported by the port. There is no need for the port to
report N, as the caller can determine N by enumerating all the
formats supported by the port. Each port shall support at least one
format. If there are no more formats, OMX_GetParameter returns
OMX_ErrorNoMore (i.e., nIndex is supplied where the value is N or
greater)."
Only one format is supported, so N = 1 and OMX_ErrorNoMore should be
returned if nIndex >= 1. The previous code here would return the
same format for all values of nIndex, resulting in an infinite loop
when a client attempts to enumerate all formats.
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Christian König <christian.koenig@amd.com>
Mark Thompson [Wed, 1 Mar 2017 20:07:09 +0000 (20:07 +0000)]
st/va: Fix forward/backward referencing for deinterlacing
The VAAPI documentation is not very clear here, but the intent
appears to be that a forward reference is forward from a frame in the
past, not forward to a frame in the future (that is, forward as in
forward prediction, not as in a forward reference in source code).
This interpretation is derived from other implementations, in
particular the i965 driver and the gstreamer client.
In order to match those other implementations, this patch swaps the
meaning of forward and backward references as they currently appear
for motion-adaptive deinterlacing.
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Christian König <christian.koenig@amd.com>
Mark Thompson [Fri, 27 Jan 2017 22:03:10 +0000 (22:03 +0000)]
st/va: Support fractional framerate in misc parameter
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Acked-by: Christian König <christian.koenig@amd.com>
Andy Furniss [Sun, 29 Jan 2017 14:22:31 +0000 (14:22 +0000)]
st/va encode handle ntsc framerate rate control
Tested with ffmpeg and gst-vaapi. Without this bits per
frame is set way too low for fractional framerates.
v2: Mark Thompson: simplify calculation.
Use float.
Signed-off-by: Andy Furniss <adf.lists@gmail.com>
Acked-by: Christian König <christian.koenig@amd.com>
Bas Nieuwenhuizen [Mon, 6 Mar 2017 00:34:42 +0000 (01:34 +0100)]
radv: Use the new L2 writeback flag.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Mon, 6 Mar 2017 00:28:53 +0000 (01:28 +0100)]
radv: Add L2 writeback.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Timothy Arceri [Mon, 6 Mar 2017 02:25:59 +0000 (13:25 +1100)]
util/disk_cache: fix make check
Fixes make check after
11f0efec2e615f5233d which caused disk cache
to create an additional directory.
Dave Airlie [Sun, 5 Mar 2017 22:32:24 +0000 (08:32 +1000)]
radv/ac: use bitfield extract new intrinsics.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 22:29:07 +0000 (08:29 +1000)]
radv/ac: move to new kill build.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 22:23:53 +0000 (08:23 +1000)]
radv/ac: move to using new export intrinsics.
This uses the new code in build to do exports.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 22:06:04 +0000 (08:06 +1000)]
radv/ac: switch to new intrinsics for pkrtz and clamp.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 5 Mar 2017 23:26:16 +0000 (23:26 +0000)]
radv: drop Z24 support.
This isn't exposed in -pro, the hw docs say it is deprecated,
so let's not bother with it.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Grazvydas Ignotas [Sun, 5 Mar 2017 21:04:53 +0000 (23:04 +0200)]
radv: use VK_NULL_HANDLE for handles
Avoids warnings on 32bit.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Grazvydas Ignotas [Sun, 5 Mar 2017 21:04:52 +0000 (23:04 +0200)]
radv: check for upload alloc failure
Mainly to avoid gcc's complains about uninitialized ptr and offset use
later in that code.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Grazvydas Ignotas [Sun, 5 Mar 2017 21:04:51 +0000 (23:04 +0200)]
radv: don't use uninitialized value on failure
Mainly to avoid a warning.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Grazvydas Ignotas [Sun, 5 Mar 2017 21:04:50 +0000 (23:04 +0200)]
radv: avoid casting warnings on 32bit
Use the same helpers as for other handle<->pointer conversions.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Bas Nieuwenhuizen [Sun, 5 Mar 2017 19:58:31 +0000 (20:58 +0100)]
radv/amdgpu: Add some debug flags.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Sun, 5 Mar 2017 21:25:20 +0000 (22:25 +0100)]
radv: Cache command buffers in command pool.
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 <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Timothy Arceri [Thu, 23 Feb 2017 02:09:03 +0000 (13:09 +1100)]
Revert "glsl: Switch to disable-by-default for the GLSL shader cache"
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 <marek.olsak@amd.com>
Timothy Arceri [Thu, 2 Mar 2017 06:08:34 +0000 (17:08 +1100)]
docs: update envvars.html to reflect having a cache per arch
Timothy Arceri [Sat, 4 Mar 2017 21:07:22 +0000 (08:07 +1100)]
util/disk_cache: support caches for multiple architectures
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 <notasas@gmail.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Grazvydas Ignotas [Sun, 5 Mar 2017 20:58:52 +0000 (22:58 +0200)]
util/disk_cache: mark read-only arguments const
No functional changes.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Dave Airlie [Sun, 5 Mar 2017 20:05:58 +0000 (06:05 +1000)]
radeon/ac: fix intrinsic version check
Reported-by: 375gnu@gmail.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100068
Signed-off-by: Dave Airlie <airlied@redhat.com>
Bas Nieuwenhuizen [Sun, 5 Mar 2017 10:19:08 +0000 (11:19 +0100)]
radv: Merge fast clear flushes.
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 <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Tim Rowley [Fri, 3 Mar 2017 17:20:35 +0000 (11:20 -0600)]
relnotes: [swr] note addition of gs, increased llvm requirement
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Tim Rowley [Thu, 2 Mar 2017 22:45:53 +0000 (16:45 -0600)]
docs: update features.txt for swr geometry shaders
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Tim Rowley [Thu, 2 Mar 2017 22:41:22 +0000 (16:41 -0600)]
swr: [rasterizer core] fix primID provoking vertex for GS
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Tim Rowley [Thu, 2 Mar 2017 22:41:02 +0000 (16:41 -0600)]
swr: implement geometry shaders
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Tim Rowley [Thu, 2 Mar 2017 22:38:43 +0000 (16:38 -0600)]
configure.ac: increase required swr llvm to 3.9.0
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 <bruce.cherniak@intel.com>
Kenneth Graunke [Fri, 3 Mar 2017 07:28:42 +0000 (23:28 -0800)]
i965: Clamp texture buffer size to GL_MAX_TEXTURE_BUFFER_SIZE.
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 <kenneth@whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Emil Velikov [Sat, 4 Mar 2017 21:42:18 +0000 (21:42 +0000)]
automake: move wayland-drm prior to Vulkan
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ć <vedran@miletic.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100060
Fixes: e135ce6f088 ("vulkan: Build common Vulkan code earlier")
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Javier Jardón <jjardon@gnome.org>
Mauro Rossi [Sat, 4 Mar 2017 21:11:27 +0000 (22:11 +0100)]
android: fix libz dynamic library dependencies
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"
Timothy Arceri [Thu, 2 Mar 2017 23:06:24 +0000 (10:06 +1100)]
svga: pass NULL to ureg_get_tokens()
The number of tokens in never used and the pointer is NULL checked
so just pass NULL.
Reviewed-by: Brian Paul <brianp@vmware.com>
Ilia Mirkin [Fri, 3 Mar 2017 01:18:24 +0000 (20:18 -0500)]
nvc0: take extra pushbuf space into account for pushbuf_space calls
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" <mesa-stable@lists.freedesktop.org>
Reported-by: Karol Herbst <nouveau@karolherbst.de>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Ilia Mirkin [Wed, 1 Mar 2017 16:09:30 +0000 (11:09 -0500)]
nvc0: increase alignment to 256 for texture buffers on fermi
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 <nouveau@spliet.org>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tapani Pälli [Fri, 3 Mar 2017 10:52:56 +0000 (12:52 +0200)]
android: fix outdir for gen_enum_to_str files
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 <tapani.palli@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Xiaosong Wei [Wed, 8 Feb 2017 02:46:02 +0000 (10:46 +0800)]
EGL/Android: Add EGL_EXT_buffer_age extension
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 <tapani.palli@intel.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Emil Velikov [Sat, 4 Mar 2017 15:56:58 +0000 (15:56 +0000)]
docs: add news item and link release notes for 17.0.1
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>