Gert Wollny [Sat, 26 Sep 2020 18:14:00 +0000 (20:14 +0200)]
r600/sfn; go back to not lowering uniforms to UBOs
Lowering uniforms to UBOs results in an aditional iadd for the
UBO buffer id evaluation, and for indirect buffers access that
results in an unnecessary op that can be avoided by not lowering
uniforms. There is some code duplication when reading the uniforms
but it saves a whole instruction group per indirect cont buffer
access.
This reverts commit
98eb00face93b9af5aac19008ecff5a2bf376745 with
some additional fixes.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Sat, 26 Sep 2020 17:25:41 +0000 (19:25 +0200)]
r600/sfn: Fix indirect const buffer access
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Sat, 26 Sep 2020 10:53:08 +0000 (12:53 +0200)]
r600/sfn: Fix interpolate at sample
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Fri, 25 Sep 2020 12:45:43 +0000 (14:45 +0200)]
r600/sfn: use fine gradient evaluation for interpolate_at_offset
Also pass in the interpolator x component (because the TGSI does this too)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Thu, 24 Sep 2020 18:04:30 +0000 (20:04 +0200)]
r600/sfn: save some instructions when doing multisample on sample 0
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Thu, 24 Sep 2020 06:56:12 +0000 (08:56 +0200)]
r600/sfn: Support group memory barrier
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Thu, 24 Sep 2020 06:46:53 +0000 (08:46 +0200)]
r600/sfn: lower to scalar for some optimizations and vectortize later
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Wed, 23 Sep 2020 22:00:49 +0000 (00:00 +0200)]
r600/sfn: Handle nir_op_b2b32
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Wed, 23 Sep 2020 21:56:35 +0000 (23:56 +0200)]
r600/sfn: Fix emitting shared atomics with constant sources
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Eric Anholt [Tue, 1 Sep 2020 19:54:25 +0000 (12:54 -0700)]
nir/lower_clip: Add i/o semantics for load/store intrinsics.
ir3 looks at the .location on its inputs for handling
non-VARYING_SLOT_POS, but our uninitialized semantics matched that and
threw a compiler assertion failure.
Fixes:
502abfce7f5d ("nir: save IO semantics in lowered IO intrinsics")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6716>
Eric Anholt [Mon, 14 Sep 2020 22:05:51 +0000 (15:05 -0700)]
ci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic.
glxgears is now trimmed to not be tons of frames, and we've picked up a
couple more traces in the public repo.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6716>
Eric Anholt [Mon, 14 Sep 2020 22:03:51 +0000 (15:03 -0700)]
ci/freedreno: Sort the traces in the .yml of expectations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6716>
Eric Anholt [Mon, 21 Sep 2020 20:02:14 +0000 (13:02 -0700)]
turnip: Replace tu_log*() with mesa_log*()
This gets us logging on Android.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6806>
Eric Anholt [Mon, 21 Sep 2020 19:53:14 +0000 (12:53 -0700)]
mesa: Promote Intel's simple logging façade for Android to util/
I'm bringing up freedreno Vulkan on an Android phone, and my pains are
exactly what Chad said when working on Intel's vulkan for Android in
aa716db0f64d ("intel: Add simple logging façade for Android (v2)"):
On Android, stdio goes to /dev/null. On Android, remote gdb is even
more painful than the usual remote gdb. On Android, nothing works like
you expect and debugging is hell. I need logging.
This patch introduces a small, simple logging API that can easily wrap
Android's API. On non-Android platforms, this logger does nothing
fancy. It follows the time-honored Unix tradition of spewing
everything to stderr with minimal fuss.
My goal here is not perfection. My goal is to make a minimal, clean API,
that people hate merely a little instead of a lot, and that's good
enough to let me bring up Android Vulkan. And it needs to be fast,
which means it must be small. No one wants to their game to miss frames
while aiming a flaming bow into the jaws of an angry robot t-rex, and
thus become t-rex breakfast, because some fool had too much fun desiging
a bloated, ideal logging API.
Compared to trusty fprintf, _mesa_log[ewi]() is actually usable on
Android. Compared to os_log_message(), this has different error levels
and supports format arguments.
The only code change in the move is wrapping flockfile/funlockfile in
!DETECT_OS_WINDOWS, since mingw32 doesn't have it. Windows likely wants
different logging code, anyway.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6806>
Bas Nieuwenhuizen [Tue, 1 Sep 2020 19:28:16 +0000 (21:28 +0200)]
radv: Record cache flushes for RGP.
Not doing the EOP TS cacheflush event because that break wave counting
in RGP for some reason. But the rest looks to be all there.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>
Bas Nieuwenhuizen [Tue, 1 Sep 2020 15:09:19 +0000 (17:09 +0200)]
radv: Include flushes in the barrier.
Since the flushes really happen on the next draw delay the barrier
end to include the flushes.
This fixes the barrier duration in RGP.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>
Bas Nieuwenhuizen [Mon, 28 Sep 2020 02:16:27 +0000 (04:16 +0200)]
radv: Fix RGP Asic CU info for GFX10+.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>
Bas Nieuwenhuizen [Mon, 28 Sep 2020 01:50:49 +0000 (03:50 +0200)]
radv: Use correct alignment for SQTT buffer sizes.
Otherwise we can miss the start of the buffer, which
results in RGP missing the initial (and only) timestamp
packet and results in RGP completely ignoring the second
SE, causing messy issues and missed events.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>
Bas Nieuwenhuizen [Sun, 13 Sep 2020 14:19:17 +0000 (16:19 +0200)]
radv: Fix emitting SQTT userdata.
Otherwise some marker packets were missing ...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>
Hoe Hao Cheng [Sat, 26 Sep 2020 07:01:54 +0000 (15:01 +0800)]
zink: remove old extension infrastructure
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>
Hoe Hao Cheng [Mon, 28 Sep 2020 10:43:36 +0000 (18:43 +0800)]
zink: use the new, generated extension infrastructure
this is just a find-and-replace from screen->... to screen->info.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>
Hoe Hao Cheng [Mon, 28 Sep 2020 10:40:37 +0000 (18:40 +0800)]
zink: use the new extension infrastructure in device creation
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>
Hoe Hao Cheng [Sat, 26 Sep 2020 06:49:49 +0000 (14:49 +0800)]
zink: hook zink_device_info.py to build system
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>
Hoe Hao Cheng [Fri, 18 Sep 2020 20:39:19 +0000 (04:39 +0800)]
zink: generate extension infrastructure using a python script
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>
Samuel Pitoiset [Mon, 28 Sep 2020 09:47:50 +0000 (11:47 +0200)]
nir/lower_memory_model: do not break with global atomic operations
Global atomics don't have an access flag.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6888>
Samuel Pitoiset [Mon, 28 Sep 2020 09:46:25 +0000 (11:46 +0200)]
nir/lower_memory_model: return progress when visiting instructions
It never returned progress=TRUE.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6888>
Icecream95 [Sat, 26 Sep 2020 00:19:14 +0000 (12:19 +1200)]
pan/mdg: Infer whether to disassemble shaders from info.internal
Blit shaders are now marked as internal, so remove the silent argument
from midgard_compile_shader_nir and instead use nir->info.internal to
suppress disassembling shaders.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6870>
Icecream95 [Sat, 26 Sep 2020 00:16:02 +0000 (12:16 +1200)]
panfrost: Mark blit shaders as internal
Fixes spam of blit shader nir when NIR_PRINT=1 is set.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6870>
Rhys Perry [Wed, 10 Jun 2020 10:47:55 +0000 (11:47 +0100)]
nir/load_store_vectorize: improve vectorization with identical operations
We might have several identical options to vectorize an entry with, but
only one might be vectorizable because of writes interfering.
An example of this is a pattern found in some CTS tests:
a = load(0)
b = load(4)
store(0, a)
store(4, b)
a = load(0)
b = load(4)
store(0, a)
store(4, b)
...
It might have attempted to vectorize the first load(0) with the second
load(4) without attempting the second load(4) when the first fails. This
changes vectorize_entries() to continue even if the first try_vectorize()
failed.
fossil-db (Navi):
Totals from 117 (0.09% of 137413) affected shaders:
SGPRs: 7040 -> 7088 (+0.68%)
CodeSize: 276504 -> 276308 (-0.07%); split: -0.08%, +0.01%
Instrs: 51152 -> 51111 (-0.08%); split: -0.09%, +0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5415>
Vinson Lee [Wed, 23 Sep 2020 00:22:12 +0000 (17:22 -0700)]
panfrost: Remove extra printf arguments.
Fix defects reported by Coverity Scan.
Extra argument to printf format specifier (PRINTF_ARGS)
extra_argument: This argument was not used by the format string: job +
32UL.
Fixes:
89fafe9e926b ("panfrost: XML-ify the fragment job descriptor")
Fixes:
d289209ea68f ("panfrost: XML-ify the compute job descriptor")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6829>
Louis-Francis Ratté-Boulianne [Wed, 12 Aug 2020 16:32:37 +0000 (12:32 -0400)]
glsl/linker: Add support for XFB varying lowering in geometry shader
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6723>
Erik Faye-Lund [Fri, 25 Sep 2020 13:32:32 +0000 (15:32 +0200)]
docs: recognisable -> recognizable
Most of the docs is US English, let's stick to that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 13:24:30 +0000 (15:24 +0200)]
docs: url -> URL
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 13:20:20 +0000 (15:20 +0200)]
docs: gitlab -> GitLab
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 13:09:15 +0000 (15:09 +0200)]
docs: initialisation -> initialization
Most of the docs is US English, let's stick to that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 13:00:39 +0000 (15:00 +0200)]
docs: timeplan -> time plan
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 12:54:56 +0000 (14:54 +0200)]
docs: behaviour -> behavior
Most of our documentation is US English, so let's stick to that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 12:51:40 +0000 (14:51 +0200)]
docs: unecessarily -> unnecessarily
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 12:50:08 +0000 (14:50 +0200)]
docs: make two acronyms upper-case
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 12:46:54 +0000 (14:46 +0200)]
docs: frambuffer -> framebuffer
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 11:50:31 +0000 (13:50 +0200)]
docs: scons -> SCons
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 11:46:54 +0000 (13:46 +0200)]
docs: apis -> APIs
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 11:39:35 +0000 (13:39 +0200)]
docs: everytime -> every time
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864>
Erik Faye-Lund [Fri, 25 Sep 2020 10:35:27 +0000 (12:35 +0200)]
docs: remove webmaster article
This article is out-of-date, so let's instead forward to the "About
Mesa3D.org" article on the main website. This explains where to submit
merge requests for wanted changes.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6862>
Erik Faye-Lund [Fri, 25 Sep 2020 10:49:03 +0000 (12:49 +0200)]
docs: store prefixes in redirects
This allows us to link to articles that are using pretty-URLs without
adding an ugly "/index.html"-suffix to them.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6862>
Erik Faye-Lund [Wed, 16 Sep 2020 09:54:21 +0000 (11:54 +0200)]
docs: show 'Edit on GitLab'-link
It's easier to contribute to the documentation if we have links to the
document on GitLab. This will allow people to easily edit docs, or to
realize where in the source-tree they are without having to search.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6742>
Erik Faye-Lund [Fri, 25 Sep 2020 10:58:30 +0000 (12:58 +0200)]
docs: escape backquote character
This unescaped backquote charcter confuses Sphinx, making it emit a
warning and slightly confused HTML in the end.
Let's escape it instead, to keep things sane.
Fixes:
fdff24d930d ("docs: add release notes for 20.1.8")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6863>
Andreas Baierl [Wed, 23 Sep 2020 14:59:19 +0000 (16:59 +0200)]
lima: set clear depth value to 0x00ffffff as default
According to the specs, the initial depth value for a
depth buffer clear is 1. Use 0x00ffffff like the blob does.
We can remove setting this value in lima_clear, because it's
set during job creation now.
Fixes the following dEQP tests:
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb4_depth_component16
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6842>
Mauro Rossi [Fri, 25 Sep 2020 22:09:07 +0000 (00:09 +0200)]
android: pan/bi: fix typo in bifrost_gen_disasm.c gen rules
Gen rules were erroneusly named as bifrost_gen_disasm*s*
This patch fixes them
Fixes:
792b51713bf4 ("android: pan/bi: Use new disassembler")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6873>
Boris Brezillon [Fri, 25 Sep 2020 08:27:33 +0000 (10:27 +0200)]
panfrost: Fix bifrost tiler job emission
The tiler descriptor pointer and padding sections were not filled.
Fixes:
d289209ea68f ("panfrost: XML-ify the compute job descriptor")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6859>
Boris Brezillon [Fri, 25 Sep 2020 08:24:43 +0000 (10:24 +0200)]
panfrost: Fix bifrost tiler descriptor definition
The bifrost tiler descriptor definition was wrong, leading to a buffer
overflow.
Fixes:
efce73d99d0e ("panfrost: XML-ify the bifrost tiler descriptors")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6859>
Samuel Pitoiset [Thu, 24 Sep 2020 11:15:58 +0000 (13:15 +0200)]
ci: add dEQP-VK.info.device_extensions to the list of skipped tests
It regularly fails when a new KHR extension is implemented.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6843>
Serge Martin [Sun, 23 Aug 2020 05:57:12 +0000 (07:57 +0200)]
clover: set LLVM min version to 8.0.1
It also bump from 8.0.0 to .1 for AMD gallium and VK
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6336>
Jason Ekstrand [Mon, 14 Sep 2020 20:56:48 +0000 (15:56 -0500)]
clover/nir: Call the memcpy lowering pass
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Jason Ekstrand [Mon, 14 Sep 2020 19:18:24 +0000 (14:18 -0500)]
spirv: Add support for OpCopyMemorySized
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Jason Ekstrand [Mon, 14 Sep 2020 20:20:37 +0000 (15:20 -0500)]
nir: Add a lowering pass to lower memcpy
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Jason Ekstrand [Mon, 14 Sep 2020 20:21:47 +0000 (15:21 -0500)]
nir: Add a new memcpy intrinsic
This matches SPIR-V's OpCopyMemorySized
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Jason Ekstrand [Mon, 14 Sep 2020 21:30:16 +0000 (16:30 -0500)]
spirv: Use the new types helpers
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Jason Ekstrand [Mon, 14 Sep 2020 21:30:03 +0000 (16:30 -0500)]
compiler/types: Add glsl_baseN_t_type(bit_size) helpers
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6713>
Marek Olšák [Fri, 11 Sep 2020 23:59:32 +0000 (19:59 -0400)]
gallivm: add support for lowered IO in vertex shaders
for Selection/Feedback/RasterPos in st/mesa.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6698>
Dylan Baker [Tue, 22 Sep 2020 16:02:46 +0000 (09:02 -0700)]
meson/anv: Use variable that checks for --build-id
fixes:
d1992255bb29054fa51763376d125183a9f602f3
("meson: Add build Intel "anv" vulkan driver")
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6819>
Jesse Natalie [Tue, 18 Aug 2020 15:00:29 +0000 (08:00 -0700)]
vtn/opencl: Switch fma to conditionally use libclc for 32bit floats
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:59:56 +0000 (07:59 -0700)]
vtn/opencl: Only use libclc ldexp when lower_ldexp is set
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:58:20 +0000 (07:58 -0700)]
vtn/opencl: Switch some nir-sequence ops to use libclc
All of these are pretty well-defined. Rather than implementing them
as a sequence of nir ops, we can just use the libclc implementation.
v2 (idr): Delete functions that are now unused.
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:55:42 +0000 (07:55 -0700)]
vtn/opencl: Switch division-related ops to use libclc
Specifically, fmod only uses libclc if it was going to be lowered.
Also, add missing half_divide and half_recip handling.
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:52:27 +0000 (07:52 -0700)]
vtn/opencl: Switch exp/pow/log to use libclc
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:42:51 +0000 (07:42 -0700)]
vtn/opencl: Switch non-native trig to use libclc
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Fri, 25 Sep 2020 19:13:17 +0000 (12:13 -0700)]
vtn/opencl: Hook up OpenCL async copy and group wait opcodes via libclc
Adds an additional hook for spirv_to_nir to handle a core opcode via
the OpenCL libclc infrastructure, and adds handling for SpvOpGroupAsyncCopy and
SpvOpGroupWaitEvents.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Fri, 25 Sep 2020 19:11:14 +0000 (12:11 -0700)]
vtn/opencl: Rework handle_instr to be able to handle core SPIR-V opcodes via libclc
The OpenCL async copy/wait opcodes are core SPIR-V, rather than OpenCL extension opcodes.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:37:00 +0000 (07:37 -0700)]
vtn/opencl: Implement a lot of opcodes via libclc
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Dave Airlie [Wed, 10 Apr 2019 00:24:46 +0000 (10:24 +1000)]
clover: handle libclc shader (v3)
This works by taking the spirv produced by libclc which contains
a lot of mangled function entrypoints identified with LinkageAttribute decorations.
This patch just sets up clover to load the libclc blob and convert it to
library nir, and support inlining application nir with calls to libclc.
v2: Add a disk cache support for this object, to avoid the spirv parsing
overheads each time. move spirv->nir to lazy instantiation to avoid
the mess with glsl types and constructor ordering.
v3: make disk cache optional
v1-Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Dave Airlie [Thu, 27 Aug 2020 20:17:46 +0000 (06:17 +1000)]
util: add missing extern C
This code is included in c++ code via disk_cache in theory,
in practice it never has been.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 14:16:32 +0000 (07:16 -0700)]
vtn/opencl: Add infrastructure for calling out to libclc
This patch adds a function remap table with name mangling, which
can convert a SPIR-V OpenCL extension opcode to a call to the external
libclc shader, which will be lowered/inlined after conversion.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Dave Airlie [Mon, 18 Nov 2019 06:37:28 +0000 (16:37 +1000)]
clover/nir: add libclc lowering pass
This pass goes through all the functions in the shader, checks
if the matching function is in the clc spir-v library and inlines
the replacement from there it is.
v2 (daniels): Also copy variables from the libclc shader
v3 (jekstrand): Fix progress return, only run variable inlining once
v4 (jekstrand): Have function inlining also copy vars for us
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 13:49:32 +0000 (06:49 -0700)]
vtn/opencl: Rework type handling for CL extension opcodes
- Change dest type information to be vtn_type rather than glsl_type
- Add source type information, also in vtn_type form
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Tue, 18 Aug 2020 13:41:18 +0000 (06:41 -0700)]
nir/vtn: Add handling for SPIR-V event variables
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Dave Airlie [Mon, 18 Nov 2019 06:39:09 +0000 (16:39 +1000)]
vtn: add an option to create a nir library from spirv
This adds an options to turn a spir-v library into a set of nir
functions. There is no entry point and all function implentations
are emitted.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Mon, 22 Jun 2020 22:00:20 +0000 (15:00 -0700)]
nir: Add glsl_base_type unsigned -> signed version helper
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Jesse Natalie [Wed, 26 Aug 2020 21:22:07 +0000 (14:22 -0700)]
nir: Add an internal flag to shader_info
Don't print the shader if it's marked internal, unless NIR_PRINT
has been explicitly set to 2 (or higher).
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6035>
Eric Anholt [Wed, 16 Sep 2020 19:44:14 +0000 (12:44 -0700)]
driconf: Use nesting macros for defining options.
Manually balancing the BEGIN/ENDs is a recipe for xml validation failures,
just make the macros do the balancing. The only ugly bit I think is that
enums take a list of DRI_CONF_ENUM() without ','s in between them.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6753>
Eric Anholt [Wed, 16 Sep 2020 20:03:14 +0000 (13:03 -0700)]
virgl: Clean up the driconf definition of GLES_SAMPLES_PASSED_VALUE.
The right values ended up being passed to DRI_CONF_OPT_BEGIN_V, they were just
named wrong.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6753>
Eric Anholt [Thu, 10 Sep 2020 22:13:03 +0000 (15:13 -0700)]
util/xmlconfig: Add a unit test of the code.
I want to build a non-XML-based alternative for Android, and to do that I
want to know that my equivalent code still works.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6753>
Nanley Chery [Thu, 24 Sep 2020 17:01:11 +0000 (10:01 -0700)]
blorp: Ensure aligned HIZ_CCS_WT partial clears
Fixes:
5425fcf2cb3 ("intel/blorp: Satisfy HIZ_CCS fast-clear alignments")
Reported-by: Sagar Ghuge <sagar.ghuge@intel.com>
Tested-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6854>
zhu yong [Wed, 23 Sep 2020 02:37:01 +0000 (10:37 +0800)]
meson: add support for loongson's mips/mips64 arch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6836>
Samuel Iglesias Gonsálvez [Fri, 25 Sep 2020 11:01:48 +0000 (13:01 +0200)]
freedreno/layout: add tile_all flag to the layout
Added a new tile_all flag which is used to set the TILE_ALL flag of
the texture. Enabled tile_all to depth/stencil images are they are
non-linear.
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6848>
Jason Ekstrand [Tue, 22 Sep 2020 21:56:42 +0000 (16:56 -0500)]
nir/liveness: Consider if uses in nir_ssa_defs_interfere
Fixes:
f86902e75d9 "nir: Add an SSA-based liveness analysis pass"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3428
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6824>
Jonathan Marek [Thu, 17 Sep 2020 14:16:42 +0000 (10:16 -0400)]
turnip: implement VK_EXT_extended_dynamic_state
Passes dEQP-VK.pipeline.extended_dynamic_state.*
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5641>
Jonathan Marek [Thu, 17 Sep 2020 13:38:57 +0000 (09:38 -0400)]
turnip: move A6XX_RB_ALPHA_CONTROL write to init_hw
Its always 0.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5641>
Jonathan Marek [Thu, 17 Sep 2020 13:36:43 +0000 (09:36 -0400)]
turnip: fix wrong indentation in tu6_draw_common
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5641>
Rhys Perry [Tue, 18 Aug 2020 15:07:32 +0000 (16:07 +0100)]
nir/instr_set: hash intrinsic sources
ministat (CSE only):
Difference at 95.0% confidence
-9.80325 +/- 0.173089
-41.4434% +/- 0.461972%
(Student's t, pooled s = 0.0763653)
ministat (entire run):
Difference at 95.0% confidence
-3.13667 +/- 0.61519
-5.11107% +/- 0.990737%
(Student's t, pooled s = 0.271416)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6860>
Andreas Baierl [Wed, 16 Sep 2020 07:57:45 +0000 (09:57 +0200)]
lima: fix glCopyTexSubImage2D
The reload texture descriptor needs to take care of the mipmap level
and the layer in case of GL_TEXTURE_CUBE_MAP.
glCopyTexSubImage2D triggers the lima_blit function which ends in a draw.
A reload is necessary. The reload texture descriptor is always built with
just one mipmap level, but this needs to be the level we want to reload,
not just 0. We also have to take care of the cubemap face.
This fixes the following dEQP tests:
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgb
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6816>
Guido Günther [Fri, 17 Jan 2020 17:33:52 +0000 (18:33 +0100)]
kmsro: Extend to include imx-dcss
This allows using the dcss display controllers (with the dcss drm
modesetting driver) along with the Etnaviv render-only drivers. DCSS is
found on i.MX SoCs.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3449>
Danylo Piliaiev [Thu, 23 Jul 2020 12:15:34 +0000 (15:15 +0300)]
intel/fs: Disable sample mask predication for scratch stores
Scratch stores are being lowered to the instructions with side-effects,
however they should be enabled in fs helper invocations, since they
are produced from operations which don't imply side-effects.
To fix this - we move the decision of whether the sample mask predication
is enable to the point where logical brw instructions are created.
GLSL example of the issue:
int tmp[1024];
...
do {
// changes to tmp
} while (some_condition(tmp))
If `tmp` is lowered to scrach memory, `some_condition` would be
undefined if scratch write is predicated on sample mask, making
possible for the while loop to become infinite and hang the GPU.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3256
Fixes:
53bfcdeecf4c9632e09ee641d2ca02dd9ec25e34
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6056>
Erik Faye-Lund [Thu, 24 Sep 2020 20:25:28 +0000 (22:25 +0200)]
zink: only set stencil-ref for back if two-sided
Otherwise, we want to set both front and back to the same state.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6853>
Erik Faye-Lund [Thu, 24 Sep 2020 20:20:53 +0000 (22:20 +0200)]
zink: store base-object of DSA-state
This is useful in the next commit, where we need to inspect the
base-state.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6853>
Erik Faye-Lund [Thu, 24 Sep 2020 19:31:39 +0000 (21:31 +0200)]
zink: correct typo in stencil-setup
Without this, we end up using two-sided stencil when one-sided stencil
should be used. Whoops.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6853>
Marek Olšák [Fri, 18 Sep 2020 00:31:02 +0000 (20:31 -0400)]
radeonsi: remove redundant info.uses_fbfetch
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6782>
Marek Olšák [Thu, 17 Sep 2020 23:43:41 +0000 (19:43 -0400)]
radeonsi: remove redundant variables from struct si_compute
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6782>
Marek Olšák [Fri, 18 Sep 2020 06:21:26 +0000 (02:21 -0400)]
radeonsi: assume that constant load_local_group_size has been optimized out
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6782>
Marek Olšák [Fri, 18 Sep 2020 06:20:48 +0000 (02:20 -0400)]
radeonsi: run NIR optimizations that glsl_to_nir runs but other places might not
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6782>