platform/upstream/mesa.git
3 years agottn: Use nir control flow insertion helpers
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>

3 years agoradv: Use nir control flow insertion helpers
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>

3 years agointel/nir: Use nir control flow helpers
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>

3 years agoradeonsi: Fix imports with displayable DCC.
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>

3 years agobin/gen_release_notes.py: escape special rST characters
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>

3 years agodocs: cpu -> CPU
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>

3 years agodocs: Sandybridge -> Sandy Bridge
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>

3 years agodocs: vmware -> VMWare
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>

3 years agodocs: ubuntu -> Ubuntu
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>

3 years agodocs: scons -> SCons
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>

3 years agodocs: quote "git log"
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>

3 years agodocs: git -> Git
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>

3 years agodocs: android -> Android
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>

3 years agodocs: drm -> DRM
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>

3 years agodocs: wayland -> Wayland
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>

3 years agodocs: x11 -> X11
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>

3 years agodocs: cmake -> CMake
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>

3 years agodocs: gpu -> GPU
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>

3 years agodocs: visual studio -> Visual Studio
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>

3 years agodocs: windows -> Windows
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>

3 years agodocs: linux -> Linux
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>

3 years agodocs: microsoft -> Microsoft
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>

3 years agodocs: mingw -> MinGW
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>

3 years agodocs: ninja -> Ninja
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>

3 years agodocs: chocolatey -> Chocolatey
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>

3 years agodocs: mako -> Mako
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>

3 years agodocs: bison -> Bison
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>

3 years agodocs: flex -> Flex
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>

3 years agodocs: python3 -> Python 3
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>

3 years agodocs: meson -> Meson
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>

3 years agodocs: correct reference to meson.build
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>

3 years agodocs: llvm -> LLVM
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>

3 years agodocs: bpp -> BPP
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>

3 years agodocs: webservice -> web service
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>

3 years agodocs: existant -> existent
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>

3 years agodocs: softwara -> software
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>

3 years agospirv: Delete the legacy offset/index UBO/SSBO lowering
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>

3 years agovallium: Stop using lower_ubo_ssbo_access_to_offsets
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>

3 years agospirv: Use derefs for push constants
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>

3 years agoanv,radv,tu,val: Call nir_lower_io for push constants
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>

3 years agonir/lower_io: Add support for push constants
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>

3 years agonir: Allow creating variables with nir_var_mem_push_const.
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>

3 years agollvmpipe: use an alternate env var to enable clover.
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>

3 years agogallivm/nir: handle non-32-bit mul high
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>

3 years agogallivm/nir: fix up non 32-bit load stores
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>

3 years agogallivm: fix 64-bit CL intrinsics.
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>

3 years agoturnip: signal fence and semaphore in AcquireNextImage2KHR
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>

3 years agoturnip: share code between semaphores/fences + fence import/export
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>

3 years agoturnip: remove remaining uses of drmSyncobj helpers
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>

3 years agoturnip: rework ImportSemaphoreFdKHR
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>

3 years agoturnip: rework GetSemaphoreFdKHR
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>

3 years agoturnip: semaphores simplification (only syncobj semaphores supported)
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>

3 years agoturnip: set MSM_SUBMIT_SYNCOBJ_RESET for submit pWaitSemaphores
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>

3 years agoturnip: always create permanent syncobj for semaphore
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>

3 years agoturnip: clean up tu_device_memory
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>

3 years agogallivm: fix pow(0, y) to be 0
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>

3 years agor600/sfn: extend life range of all variables by one
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>

3 years agor600/sfn: Add support for more barrier instructions
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>

3 years agor600/sfn: Fix IDX register ID
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>

3 years agor600/sfn: Fix enabling the right interpolator for inerpolate_at_sample
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>

3 years agofreedreno: Don't leak LRZ bo's
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>

3 years agofreedreno/registers: Add a couple things used on kernel side
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>

3 years agofreedreno/drm: Also clean ring_cache
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>

3 years agofreedreno/a6xx: Small cleanup
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>

3 years agofreedreno: Don't leak border_color_buf reference
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>

3 years agofreedreno/drm: drop bo's dev reference
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>

3 years agozink: unify all occurrences of waiting on a fence
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>

3 years agozink: combine all surface layout-setting for src/dst into util function
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>

3 years agoradv: Write correct dispatch size for RGP.
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>

3 years agoci: Enable remaining (non-rotate) mustpass CTS tests
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>

3 years agoci: cherry-pick deqp fix for config choosing
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>

3 years agoci/deqp-runner: Allow overriding width/height/config
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>

3 years agointel: Add support for i945g to intel_stub_gpu.
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>

3 years agoAdd driver override to envvars.rst
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>

3 years agogallium/vl: add chroma_format arg to vl_video_buffer functions
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>

3 years agogallium/vl: do not call transfer_unmap if transfer is NULL
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>

3 years agotu: Enable multi-position output
Connor Abbott [Fri, 21 Aug 2020 11:46:09 +0000 (13:46 +0200)]
tu: Enable multi-position output

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6515>

3 years agoir3, tu: Link per-view position correctly
Connor Abbott [Fri, 21 Aug 2020 11:45:16 +0000 (13:45 +0200)]
ir3, tu: Link per-view position correctly

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6515>

3 years agoir3, tu: Run optimization loop twice
Connor Abbott [Mon, 6 Jul 2020 16:26:14 +0000 (18:26 +0200)]
ir3, tu: Run optimization loop twice

This call to ir3_optimize_nir() mirrors what st/mesa does for us in
Gallium, and will be necessary for cross-stage linking and the multiview
lowering.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6515>

3 years agotu: Refactor shader compilation flow
Connor Abbott [Mon, 6 Jul 2020 16:16:39 +0000 (18:16 +0200)]
tu: Refactor shader compilation flow

In order to do cross-stage linking, we'll need to split out SPIR-V->NIR
and NIR finalization, so that we can do a round of linking in between.
The multiview lowering pass also assumes that it sits between two
optimization loops, which in anv are the pre-linking optimizations and
post-linking finalization.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6515>

3 years agotu: Write multiview control registers in binning pass
Connor Abbott [Mon, 31 Aug 2020 10:25:44 +0000 (12:25 +0200)]
tu: Write multiview control registers in binning pass

Multiview is never used with binning, but we still need to make sure to
disable it in the binning pass.

Fixes: c0c7dbd ("tu: Implement multiview pipeline state")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6515>

3 years agogallium: Make pipe_viewport_state swizzle_x/y/z/w bit-fields 8 bits wide
Michel Dänzer [Fri, 25 Sep 2020 16:29:30 +0000 (18:29 +0200)]
gallium: Make pipe_viewport_state swizzle_x/y/z/w bit-fields 8 bits wide

Previously there were 20 padding bits after them, which would be left
uninitialized and preserved when writing to the swizzle members. This
could result in two equal viewport states spuriously being considered
different (because memcmp compared the padding bits as well).

Noticed while looking for something else with valgrind:

==801624== Conditional jump or move depends on uninitialised value(s)
==801624==    at 0x10B86259: cso_set_viewport (cso_context.c:739)
==801624==    by 0x10B862C7: cso_set_viewport_dims (cso_context.c:764)
==801624==    by 0x1057E3A1: clear_with_quad (st_cb_clear.c:335)
==801624==    by 0x1057E3A1: st_Clear (st_cb_clear.c:545)
==801624==    [...]
==801624==
==801624== Conditional jump or move depends on uninitialised value(s)
==801624==    at 0x10B885DE: cso_restore_viewport (cso_context.c:777)
==801624==    by 0x10B885DE: cso_restore_state (cso_context.c:1710)
==801624==    by 0x1057E4CB: clear_with_quad (st_cb_clear.c:364)
==801624==    by 0x1057E4CB: st_Clear (st_cb_clear.c:545)
==801624==    [...]

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6867>

3 years agoradv: move lowering of FS outputs outside of ACO
Samuel Pitoiset [Fri, 25 Sep 2020 14:11:27 +0000 (16:11 +0200)]
radv: move lowering of FS outputs outside of ACO

This enables lowering of FS outputs for RADV/LLVM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6865>

3 years agoradv: call nir_io_add_const_offset_to_base for FS outputs
Samuel Pitoiset [Fri, 25 Sep 2020 14:09:13 +0000 (16:09 +0200)]
radv: call nir_io_add_const_offset_to_base for FS outputs

The store_output of RADV/LLVM expects the const offset to be 0.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6865>

3 years agoradv/aco: Set I/O variable locations outside ACO.
Timur Kristóf [Thu, 24 Sep 2020 18:11:09 +0000 (20:11 +0200)]
radv/aco: Set I/O variable locations outside ACO.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6865>

3 years agoradeonsi: enable support for GL_NV_shader_atomic_int64
Indrajit Kumar Das [Sun, 27 Sep 2020 13:03:55 +0000 (18:33 +0530)]
radeonsi: enable support for GL_NV_shader_atomic_int64

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6708>

3 years agomesa,glsl: add support for GL_NV_shader_atomic_int64
Indrajit Kumar Das [Sun, 27 Sep 2020 13:03:06 +0000 (18:33 +0530)]
mesa,glsl: add support for GL_NV_shader_atomic_int64

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6708>

3 years agogallium: prepare framework for supporting GL_NV_shader_atomic_int64
Indrajit Kumar Das [Sun, 27 Sep 2020 12:57:54 +0000 (18:27 +0530)]
gallium: prepare framework for supporting GL_NV_shader_atomic_int64

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6708>

3 years agoturnip: initial implementation of VK_KHR_push_descriptor
Jonathan Marek [Thu, 17 Sep 2020 00:12:52 +0000 (20:12 -0400)]
turnip: initial implementation of VK_KHR_push_descriptor

Add missing descriptor sets code for push descriptors, and a simple initial
implementation to enable the extension and pass dEQP tests.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6755>

3 years agoturnip: delete unused/broken pipeline layout hashing code
Jonathan Marek [Thu, 17 Sep 2020 02:29:20 +0000 (22:29 -0400)]
turnip: delete unused/broken pipeline layout hashing code

Note: immutable samplers hash was wrong since we have an array of
tu_sampler and not 4 dwords like radv.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6755>

3 years agoturnip: remove unused cmd_buffer/device arguments in descriptor sets
Jonathan Marek [Wed, 16 Sep 2020 14:56:36 +0000 (10:56 -0400)]
turnip: remove unused cmd_buffer/device arguments in descriptor sets

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6755>

3 years agopanfrost: Add support for rbg16 formats
Boris Brezillon [Fri, 18 Sep 2020 08:47:30 +0000 (10:47 +0200)]
panfrost: Add support for rbg16 formats

Fixes: 171e94fe629 ("mesa/st: enable EXT_color_buffer_half_float when formats supported")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6887>

3 years agoCI: Re-enable Panfrost T7xx
Daniel Stone [Tue, 29 Sep 2020 10:01:03 +0000 (11:01 +0100)]
CI: Re-enable Panfrost T7xx

Lab maintenance is complete.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6910>

3 years agonir: Handle per-view io in nir_io_add_const_offset_to_base()
Connor Abbott [Tue, 29 Sep 2020 10:02:41 +0000 (12:02 +0200)]
nir: Handle per-view io in nir_io_add_const_offset_to_base()

This isn't strictly necessary for freedreno, since we aren't using it
yet, but I wanted to avoid any problems if we do. If we wanted to handle
this "properly", and handle matrix and array per-view variables, we'd
probably want to encode the "view stride" (number of views per user
location) and base view in the intrinsic, but for now we just don't do
any offsetting and assume the indirect offset is the view.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agonir: Add per_view to IO semantics
Connor Abbott [Wed, 2 Sep 2020 09:20:06 +0000 (11:20 +0200)]
nir: Add per_view to IO semantics

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agonir/lower_io_arrays: Fix xfb_offset bug
Connor Abbott [Fri, 21 Aug 2020 13:51:47 +0000 (15:51 +0200)]
nir/lower_io_arrays: Fix xfb_offset bug

I noticed this once I started gathering xfb_info after
nir_lower_io_arrays_to_elements_no_indirect.

Fixes: b2bbd978d0b ("nir: fix lowering arrays to elements for XFB outputs")
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agonir: Count i/o slots correctly for per-view variables
Connor Abbott [Fri, 21 Aug 2020 11:34:20 +0000 (13:34 +0200)]
nir: Count i/o slots correctly for per-view variables

This function wasn't counting driver slots correctly, resulting in
incorrect driver_location's and input_count. It seems intel doesn't use
this yet.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agoanv: Use nir_lower_multiview pass
Connor Abbott [Mon, 6 Jul 2020 14:09:35 +0000 (16:09 +0200)]
anv: Use nir_lower_multiview pass

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agonir: Add nir_lower_multiview pass
Connor Abbott [Mon, 6 Jul 2020 13:25:03 +0000 (15:25 +0200)]
nir: Add nir_lower_multiview pass

Taken mostly directly from the anv pass. A few anv-specific things that
I could leave in anv aren't included. Specifically on turnip we don't
need to set gl_Layer to 0, and we can handle the case where the FS reads
gl_ViewIndex, so that check is moved into anv.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6514>

3 years agogallium/util: allow scaling blits for stencil-fallback
Erik Faye-Lund [Mon, 28 Sep 2020 19:38:38 +0000 (21:38 +0200)]
gallium/util: allow scaling blits for stencil-fallback

We also need to be able to scale the stencil-blits, so let's pass the
full destination box instead of just the position.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6898>