Eric Anholt [Wed, 9 Sep 2020 17:21:49 +0000 (10:21 -0700)]
nir/nir_lower_uniforms_to_ubo: Set better alignments on our new instructions.
The change on freedreno is in the noise.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6612>
Eric Anholt [Tue, 8 Sep 2020 19:50:34 +0000 (12:50 -0700)]
nir: Print the alignment information on casts.
I wanted it for debugging GL alignment.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6612>
Eric Anholt [Tue, 8 Sep 2020 20:07:56 +0000 (13:07 -0700)]
nir: Document a bit about how align_mul/offset work.
Introduces a #define for the maximum valid align_mul that's used in the
load_store_vectorizer tests (currently, though it will be used more soon).
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6612>
Eric Anholt [Mon, 14 Sep 2020 20:13:47 +0000 (13:13 -0700)]
freedreno/ir3: Make sure we run the opt loop after lowering UBOs to vec4.
The lowering pass may introduce vector bcsels that we need to scalarize
back out. It's unusual to have UBOs and not get any lowered to push
constants, so the flag was usually set anyway.
Fixes:
2b2524099379 ("freedreno/ir3: Replace our custom vec4 UBO intrinsic
with the shared lowering.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6612>
Jonathan Marek [Tue, 29 Sep 2020 16:04:17 +0000 (12:04 -0400)]
turnip: implement legacy API functions separately
Move legacy API functions to a separate file, and implement them by calling
the new API functions, like tu_CreateRenderPass was already doing.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6920>
Jason Ekstrand [Thu, 24 Sep 2020 14:12:38 +0000 (09:12 -0500)]
Revert "nir/lower_goto_if: Add a route::outside set"
This reverts commit
d57573dcd4aa2160f3153df466b01f377484a3fa. The
actual bug was an issue with prev_frontiers which has been properly
fixed in the previous commit.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Wed, 23 Sep 2020 20:54:08 +0000 (15:54 -0500)]
nir/lower_goto_ifs: Always include level dom_frontiers in prev_frontier
When we come in from some other level or from the parent, we need to
ensure that the reach set is in prev_frontier but we also need to
consider the dominance frontier of our level. Otherwise, we may end up
leaving out possible blocks when computing the reach of a level.
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Wed, 23 Sep 2020 21:52:18 +0000 (16:52 -0500)]
nir/lower_goto_ifs: Add asserts for SSA forks
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Thu, 24 Sep 2020 02:54:05 +0000 (21:54 -0500)]
nir/lower_goto_ifs: Use rzalloc
In particular, SSA forks weren't always getting properly initialized
which was causing asserts to fail.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Thu, 17 Sep 2020 14:11:19 +0000 (09:11 -0500)]
spirv: Only run repair_ssa if structured
We shouldn't need it if we're unstructured and the pass assumes
structure so attempting to run it will assert-fail.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Wed, 16 Sep 2020 19:37:28 +0000 (14:37 -0500)]
nir/dominance: Use _mesa_set_clear instead ofhand-rolling it
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Wed, 16 Sep 2020 17:49:15 +0000 (12:49 -0500)]
nir/lower_goto_ifs: Don't destroy SSA form in the process
There are two issues here:
1. If there are any phi nodes, we'll make complete hash of them. This
isn't likely actually a problem because spirv_to_nir doesn't
generate any actual phi nodes today. However, if we start doing any
other passes before this, we may have a problem.
2. Even without phi nodes, we may still break SSA form. This can
happen if we ever have to stick a block inside a conditional to
satisfy weird CFG constraints. Doing so can cause it to no longer
look like it dominates some of its uses even though, at runtime,
it's guaranteed to be run first.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Jason Ekstrand [Tue, 15 Sep 2020 16:28:43 +0000 (11:28 -0500)]
nir/validate: Improve the validation of blocks
This commit adds a number of new validation checks:
1. We now check that every block pointer in the IR points to a block
that actually exists in a block list that's reachable from the
nir_function_impl.
2. We assert that nir_function_impl::body is non-empty
3. We assert that the start block has no predecessors. This is
important because we tend to put run-once code there.
4. We now validate some stuff on the end block.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6750>
Marek Olšák [Sat, 19 Sep 2020 18:11:02 +0000 (14:11 -0400)]
gallium/util: remove empty file u_half.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6774>
Marek Olšák [Fri, 18 Sep 2020 10:00:06 +0000 (06:00 -0400)]
gallium/util: remove redundant util_float_to_half_rtz
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6774>
Marek Olšák [Fri, 18 Sep 2020 09:53:56 +0000 (05:53 -0400)]
util: remove util_float_to_half and util_half_to_float wrappers
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6774>
Marek Olšák [Fri, 18 Sep 2020 09:48:05 +0000 (05:48 -0400)]
util: move util_half_to_float code into _mesa_half_to_float_slow
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6774>
Marek Olšák [Fri, 18 Sep 2020 09:21:09 +0000 (05:21 -0400)]
util: implement f16c - fast half<->float conversions
This also happens to fix bptc-float-modes on llvmpipe.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6774>
Jason Ekstrand [Fri, 25 Sep 2020 04:50:24 +0000 (23:50 -0500)]
nir/cf: Better handle intra-block splits
In the case where end was a instruction-based cursor, we would mix up
our blocks and end up with block_begin pointing after the second split.
This causes a segfault as the cf_node list walk at the end of the
function never terminates properly. There's also a possibility of
mix-up if begin is an instruction-based cursor which was found by
inspection.
Fixes:
fc7f2d2364a9 "nir/cf: add new control modification API's"
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Jason Ekstrand [Thu, 24 Sep 2020 23:55:09 +0000 (18:55 -0500)]
nir: Disallow goto and goto_if in clone and [de]serialize
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Jason Ekstrand [Thu, 24 Sep 2020 23:21:58 +0000 (18:21 -0500)]
nir/copy_propagate: Copy-prop into jump conditions
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Tue, 16 Apr 2019 17:39:11 +0000 (19:39 +0200)]
nir/opt_if: Use early returns in opt_if_merge()
We would've had to add yet another level of indentation, or duplicated
finding the if conditions in the next commit. Refactor this function to
use early returns like our other optimizations, so that this isn't an
issue.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Tue, 16 Apr 2019 17:31:45 +0000 (19:31 +0200)]
nir/opt_if: Remove open-coded nir_ssa_def_rewrite_uses()
So that we don't have to change these two places later.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Wed, 10 Apr 2019 09:34:57 +0000 (11:34 +0200)]
nir/lower_returns: Use nir control flow insertion helpers
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Tue, 9 Apr 2019 20:31:50 +0000 (22:31 +0200)]
ttn: Use nir control flow insertion helpers
As a side effect, we can delete the whole control flow stack thing.
v2 (Jason Ekstrand):
- Drop the ttn_if helper and just inline it in the two uses
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Tue, 9 Apr 2019 20:31:06 +0000 (22:31 +0200)]
radv: Use nir control flow insertion helpers
v2 (Jason Ekstrand):
- Rebased and tweaked a few cases
- Use the helpers in build_timestamp_query_shader
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Connor Abbott [Tue, 9 Apr 2019 20:16:26 +0000 (22:16 +0200)]
intel/nir: Use nir control flow helpers
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6866>
Bas Nieuwenhuizen [Tue, 29 Sep 2020 16:41:31 +0000 (18:41 +0200)]
radeonsi: Fix imports with displayable DCC.
Otherwise we reset the displayable DCC on import.
Fixes:
c6c1fa9a263 "radeonsi: Put retile map in separate buffers."
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3577
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6918>
Eric Engestrom [Fri, 25 Sep 2020 19:19:10 +0000 (21:19 +0200)]
bin/gen_release_notes.py: escape special rST characters
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6869>
Erik Faye-Lund [Tue, 29 Sep 2020 17:15:32 +0000 (19:15 +0200)]
docs: cpu -> CPU
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:09:35 +0000 (19:09 +0200)]
docs: Sandybridge -> Sandy Bridge
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:07:15 +0000 (19:07 +0200)]
docs: vmware -> VMWare
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:03:28 +0000 (19:03 +0200)]
docs: ubuntu -> Ubuntu
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:01:13 +0000 (19:01 +0200)]
docs: scons -> SCons
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:58:22 +0000 (18:58 +0200)]
docs: quote "git log"
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:57:33 +0000 (18:57 +0200)]
docs: git -> Git
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:49:33 +0000 (18:49 +0200)]
docs: android -> Android
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:48:24 +0000 (18:48 +0200)]
docs: drm -> DRM
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:47:22 +0000 (18:47 +0200)]
docs: wayland -> Wayland
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:46:58 +0000 (18:46 +0200)]
docs: x11 -> X11
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:44:21 +0000 (18:44 +0200)]
docs: cmake -> CMake
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:41:52 +0000 (18:41 +0200)]
docs: gpu -> GPU
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:38:30 +0000 (18:38 +0200)]
docs: visual studio -> Visual Studio
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:37:11 +0000 (18:37 +0200)]
docs: windows -> Windows
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:34:46 +0000 (18:34 +0200)]
docs: linux -> Linux
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:32:10 +0000 (18:32 +0200)]
docs: microsoft -> Microsoft
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:30:44 +0000 (18:30 +0200)]
docs: mingw -> MinGW
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:29:50 +0000 (18:29 +0200)]
docs: ninja -> Ninja
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:28:16 +0000 (18:28 +0200)]
docs: chocolatey -> Chocolatey
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:27:03 +0000 (18:27 +0200)]
docs: mako -> Mako
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:26:25 +0000 (18:26 +0200)]
docs: bison -> Bison
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:25:14 +0000 (18:25 +0200)]
docs: flex -> Flex
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:22:55 +0000 (18:22 +0200)]
docs: python3 -> Python 3
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:20:24 +0000 (18:20 +0200)]
docs: meson -> Meson
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:18:37 +0000 (18:18 +0200)]
docs: correct reference to meson.build
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 16:13:03 +0000 (18:13 +0200)]
docs: llvm -> LLVM
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Mon, 28 Sep 2020 12:57:37 +0000 (14:57 +0200)]
docs: bpp -> BPP
While we're at it, make sure we always have a space between the number
and "BPP", for easier reading.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:26:06 +0000 (19:26 +0200)]
docs: webservice -> web service
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 17:19:29 +0000 (19:19 +0200)]
docs: existant -> existent
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Erik Faye-Lund [Tue, 29 Sep 2020 13:51:50 +0000 (15:51 +0200)]
docs: softwara -> software
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6915>
Jason Ekstrand [Sat, 30 May 2020 05:50:56 +0000 (00:50 -0500)]
spirv: Delete the legacy offset/index UBO/SSBO lowering
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Jason Ekstrand [Mon, 21 Sep 2020 22:34:23 +0000 (17:34 -0500)]
vallium: Stop using lower_ubo_ssbo_access_to_offsets
This legacy path needs to die. Drivers shouldn't be using it anymore.
While we're here, we also implement the resource_reindex intrinsic which
doesn't come up in most direct-access cases but can depending on how the
OpAccessChains are structured. It comes up all the time in the variable
pointers world.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Jason Ekstrand [Wed, 27 May 2020 22:23:45 +0000 (17:23 -0500)]
spirv: Use derefs for push constants
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Jason Ekstrand [Wed, 27 May 2020 22:09:33 +0000 (17:09 -0500)]
anv,radv,tu,val: Call nir_lower_io for push constants
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Jason Ekstrand [Wed, 27 May 2020 22:08:28 +0000 (17:08 -0500)]
nir/lower_io: Add support for push constants
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Jason Ekstrand [Wed, 27 May 2020 21:51:04 +0000 (16:51 -0500)]
nir: Allow creating variables with nir_var_mem_push_const.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5275>
Dave Airlie [Mon, 28 Sep 2020 22:35:20 +0000 (08:35 +1000)]
llvmpipe: use an alternate env var to enable clover.
This can be used outside debug contexts.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6928>
Dave Airlie [Tue, 29 Sep 2020 07:10:07 +0000 (17:10 +1000)]
gallivm/nir: handle non-32-bit mul high
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6928>
Dave Airlie [Tue, 29 Sep 2020 07:16:01 +0000 (17:16 +1000)]
gallivm/nir: fix up non 32-bit load stores
This fixes a bunch of opencl tests.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6928>
Dave Airlie [Tue, 29 Sep 2020 06:27:58 +0000 (16:27 +1000)]
gallivm: fix 64-bit CL intrinsics.
This fixes a bunch of bad casts in piglit tests
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6928>
Jonathan Marek [Tue, 15 Sep 2020 23:46:24 +0000 (19:46 -0400)]
turnip: signal fence and semaphore in AcquireNextImage2KHR
As a result of doing semaphores correctly, this is needed for things to
work correctly.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Mon, 14 Sep 2020 23:51:25 +0000 (19:51 -0400)]
turnip: share code between semaphores/fences + fence import/export
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 03:02:53 +0000 (23:02 -0400)]
turnip: remove remaining uses of drmSyncobj helpers
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 03:01:38 +0000 (23:01 -0400)]
turnip: rework ImportSemaphoreFdKHR
The behavior of OPAQUE_FD should be unchanged.
SYNC_FD case is reworked to be more like what anv does: a new temporary
syncobj is always created, with the CREATE_SIGNALED flag if necessary.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 02:56:07 +0000 (22:56 -0400)]
turnip: rework GetSemaphoreFdKHR
Fixes:
- permanent payload not being restored for the OPAQUE_FD case
- incorrectly resetting the permanent payload in SYNC_FD case
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 02:50:34 +0000 (22:50 -0400)]
turnip: semaphores simplification (only syncobj semaphores supported)
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 02:40:51 +0000 (22:40 -0400)]
turnip: set MSM_SUBMIT_SYNCOBJ_RESET for submit pWaitSemaphores
From VK spec:
"the act of waiting for a binary semaphore also unsignals that semaphore"
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 02:38:24 +0000 (22:38 -0400)]
turnip: always create permanent syncobj for semaphore
This allows non-exported semaphores to behave correctly instead of being
ignored in QueueSubmit().
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6719>
Jonathan Marek [Tue, 29 Sep 2020 15:07:39 +0000 (11:07 -0400)]
turnip: clean up tu_device_memory
Delete unused code.
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6913>
Dave Airlie [Tue, 29 Sep 2020 18:49:43 +0000 (04:49 +1000)]
gallivm: fix pow(0, y) to be 0
The log2(0) was producing bad results.
Fixes:
piglit pow tests on llvmpipe.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6907>
Gert Wollny [Tue, 29 Sep 2020 21:06:59 +0000 (23:06 +0200)]
r600/sfn: extend life range of all variables by one
This is a strange fix for some gles 3.1 tests with atomics. Maybed
the register holding the atomic add value can't be re-used in the
first instruction after an GDS instruction.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6925>
Gert Wollny [Tue, 29 Sep 2020 21:05:25 +0000 (23:05 +0200)]
r600/sfn: Add support for more barrier instructions
These barriers should probably be global, but currently we only issue
a shared barrir (i.e. for only one wave front).
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6925>
Gert Wollny [Tue, 29 Sep 2020 14:45:19 +0000 (16:45 +0200)]
r600/sfn: Fix IDX register ID
Fixes:
9a6b11a7330
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/6925>
Gert Wollny [Tue, 29 Sep 2020 14:09:09 +0000 (16:09 +0200)]
r600/sfn: Fix enabling the right interpolator for inerpolate_at_sample
Fixes:
73c5f451916
r600/sfn: Fix interpolate at sample
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6925>
Rob Clark [Tue, 29 Sep 2020 17:00:13 +0000 (10:00 -0700)]
freedreno: Don't leak LRZ bo's
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Rob Clark [Mon, 28 Sep 2020 22:00:11 +0000 (15:00 -0700)]
freedreno/registers: Add a couple things used on kernel side
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Rob Clark [Mon, 28 Sep 2020 21:25:11 +0000 (14:25 -0700)]
freedreno/drm: Also clean ring_cache
We also need to release all the entries from the ring_cache when tearing
down the dev.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Rob Clark [Mon, 28 Sep 2020 21:17:14 +0000 (14:17 -0700)]
freedreno/a6xx: Small cleanup
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Rob Clark [Mon, 28 Sep 2020 21:13:23 +0000 (14:13 -0700)]
freedreno: Don't leak border_color_buf reference
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Rob Clark [Fri, 25 Sep 2020 19:38:51 +0000 (12:38 -0700)]
freedreno/drm: drop bo's dev reference
This is a bit over-paranoid, and can cause drm device fd leaks if there
is a bo leak somewhere. Which is kind of a worse outcome.
This "fixes" a fd leak seen in:
dEQP-EGL.functional.query_context.get_current_display.*
dEQP-EGL.functional.query_context.get_current_context.*
dEQP-EGL.functional.query_context.get_current_display.*
(Still tracking down the root leak)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6900>
Mike Blumenkrantz [Mon, 29 Jun 2020 18:04:22 +0000 (14:04 -0400)]
zink: unify all occurrences of waiting on a fence
this was duplicated in a few places
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6922>
Mike Blumenkrantz [Sun, 14 Jun 2020 04:01:07 +0000 (00:01 -0400)]
zink: combine all surface layout-setting for src/dst into util function
we do a lot of src/dst layout-setting, so ensure that we use the same code
everywhere to avoid cases where src==dst and we aren't setting GENERAL
layout as we should
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6922>
Bas Nieuwenhuizen [Sat, 26 Sep 2020 14:03:59 +0000 (16:03 +0200)]
radv: Write correct dispatch size for RGP.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6875>
Rob Clark [Wed, 2 Sep 2020 00:14:51 +0000 (17:14 -0700)]
ci: Enable remaining (non-rotate) mustpass CTS tests
The gles3 and gles31 multisample and 565-no-depth-no-stencil caselists
are also mustpass. And they don't add a significant number of extra
test cases.
The remaining mustpass caselists all involve rotation, which is not
currently supported in the surfaceless deqp build.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6553>
Rob Clark [Wed, 2 Sep 2020 22:43:20 +0000 (15:43 -0700)]
ci: cherry-pick deqp fix for config choosing
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6553>
Rob Clark [Mon, 31 Aug 2020 16:04:24 +0000 (09:04 -0700)]
ci/deqp-runner: Allow overriding width/height/config
This will allow adding multi-sample caselists, and jobs with larger
surface size.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6553>
Eric Anholt [Thu, 23 Jul 2020 23:38:28 +0000 (16:38 -0700)]
intel: Add support for i945g to intel_stub_gpu.
I wanted to check the impact of nir-to-tgsi on the i915g driver, but I
don't have an i915 set up. Similarly, for driconf refactoring I needed to
make sure that classic i915_dri.so still loaded.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6868>
Jan Ziak [Tue, 29 Sep 2020 14:38:03 +0000 (14:38 +0000)]
Add driver override to envvars.rst
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6911>
Pierre-Eric Pelloux-Prayer [Tue, 22 Sep 2020 12:32:13 +0000 (14:32 +0200)]
gallium/vl: add chroma_format arg to vl_video_buffer functions
vl_mpeg12_decoder needs to override the chroma_format value to get the
correct size calculated (chroma_format is used by vl_video_buffer_adjust_size).
I'm not sure why it's needed, but this is needed to get correct mpeg decode.
Fixes:
24f2b0a8560 ("gallium/video: remove pipe_video_buffer.chroma_format")
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6817>
Pierre-Eric Pelloux-Prayer [Tue, 22 Sep 2020 12:31:32 +0000 (14:31 +0200)]
gallium/vl: do not call transfer_unmap if transfer is NULL
CC: mesa-stable
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6817>