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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Erik Faye-Lund [Mon, 28 Sep 2020 19:37:38 +0000 (21:37 +0200)]
gallium/util: fix texture-coordinates for stencil-fallback
Set up texture coordinates for the stencil-fallback blit code. This
worked in the orignal NIR code, but accidentally broke when rewriting to
use TGSI, and my test-case had a constant colored stencil buffer.
Fixes:
e8a40715a8b ("gallium/util: add blitter-support for stencil-fallback")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6898>
Erik Faye-Lund [Mon, 28 Sep 2020 19:36:13 +0000 (21:36 +0200)]
gallium/util: set right dst-dimensions
This should have been the destination surface size, not the dimensions
of the source box. These were the same in the test-case I used while
developing this, but this matters for the GTF framebuffer-blit
functional CTS tests.
Fixes:
e8a40715a8b ("gallium/util: add blitter-support for stencil-fallback")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6898>
Samuel Pitoiset [Mon, 28 Sep 2020 08:13:44 +0000 (10:13 +0200)]
radv/llvm: call nir_lower_io_to_vector with FS to fix array tests
Fixes dEQP-VK.glsl.440.linkage.varying.component.frag_out.*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6883>
Danylo Piliaiev [Mon, 28 Sep 2020 16:29:42 +0000 (19:29 +0300)]
docs: add INTEL_SHADER_ASM_READ_PATH description
It was implemented in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/955
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6895>
Samuel Pitoiset [Mon, 28 Sep 2020 11:14:29 +0000 (13:14 +0200)]
radeonsi: call nir_io_add_const_offset_to_base only once per shader
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6890>
Samuel Pitoiset [Mon, 28 Sep 2020 11:13:49 +0000 (13:13 +0200)]
nir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6890>
Erik Faye-Lund [Mon, 28 Sep 2020 14:11:38 +0000 (16:11 +0200)]
st/mesa: use roundf instead of floorf for lod-bias rounding
There's no good reason not to use a symmetric rounding mode here. This
fixes the following GL CTS case for me:
GTF-GL33.gtf21.GL3Tests.texture_lod_bias.texture_lod_bias_all
Fixes:
132b69c4edb ("st/mesa: round lod_bias to a multiple of 1/256")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6892>
Erik Faye-Lund [Mon, 28 Sep 2020 11:49:20 +0000 (13:49 +0200)]
docs: gallium -> Gallium
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 10:29:28 +0000 (12:29 +0200)]
docs: docker -> Docker
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 10:22:11 +0000 (12:22 +0200)]
docs: debian -> Debian
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 11:37:20 +0000 (13:37 +0200)]
docs: flavours -> flavors
We generally prefer US English over UK English in the docs.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 11:31:43 +0000 (13:31 +0200)]
docs: stabilisation -> stabilization
We generally prefer US English in the docs over UK English.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 15:56:22 +0000 (17:56 +0200)]
docs: consistantly -> consistently
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 15:53:58 +0000 (17:53 +0200)]
docs: clippping -> clipping
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894>
Erik Faye-Lund [Mon, 28 Sep 2020 14:27:32 +0000 (16:27 +0200)]
docs: drop outdated gallium-docs comment
The separate readthedocs documentation is quite pointless these days, as
it's been moved to docs.mesa3d.org, where all other documentation
already is. There's nothing special about this documentation any longer.
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6893>
Boris Brezillon [Wed, 23 Sep 2020 09:11:14 +0000 (11:11 +0200)]
kmsro: Add mediatek entry point
Add an entry for the mediatek modesetting driver.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6885>
Boris Brezillon [Wed, 23 Sep 2020 09:08:02 +0000 (11:08 +0200)]
panfrost: Add preliminary support for Mali G72
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6885>
Boris Brezillon [Wed, 23 Sep 2020 09:05:31 +0000 (11:05 +0200)]
panfrost: Adjust quirks for bifrost v6
The G72, which is a bifrost v6, supports fast operations. The selection
should probably be done on a per-GPU basis instead of forcing this quirk
for all v6 GPUs.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6885>
Denis Pauk [Tue, 29 Sep 2020 06:00:16 +0000 (09:00 +0300)]
mesa: bptc fixes for decompress rgba_unorm and rgb_float
Save bit_offset between iterations fixes for piglit:
* LIBGL_ALWAYS_SOFTWARE=true GALLIUM_DRIVER=softpipe piglit/bin/bptc-float-modes
* LIBGL_ALWAYS_SOFTWARE=true GALLIUM_DRIVER=llvmpipe piglit/bin/bptc-float-modes
Memset to zero in reserved mode for rgba_unorm fixes for VK-GL-CTS with libvulkan_val:
* dEQP-VK.texture.compressed.bc7_unorm_block_2d_pot
* dEQP-VK.texture.compressed.bc7_srgb_block_2d_pot
* dEQP-VK.texture.compressed.bc7_unorm_block_2d_npot
* dEQP-VK.texture.compressed.bc7_srgb_block_2d_npot
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6809>
Samuel Pitoiset [Mon, 28 Sep 2020 07:34:00 +0000 (09:34 +0200)]
ac/llvm: fix invalid IR if image stores are shrinked using the format
It's not always v4f32 (or v4f16 for 16-bit) when image stores are
shrinked using the format.
This fixes a ton of crashes with RADV_DEBUG=checkir,llvm.
Fixes:
e4d75c22beb ("nir/opt_shrink_vectors: shrink image stores using the format")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6882>
Samuel Pitoiset [Thu, 4 Jun 2020 06:27:50 +0000 (08:27 +0200)]
radv: lower deref operations for global memory for both backends
To match ACO.
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/5316>
Samuel Pitoiset [Thu, 4 Jun 2020 07:01:10 +0000 (09:01 +0200)]
ac/nir: implement nir_intrinsic_global_atomic_*
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/5316>
Samuel Pitoiset [Wed, 3 Jun 2020 16:25:46 +0000 (18:25 +0200)]
ac/nir: implement nir_intrinsic_{load,store}_global
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/5316>
Daniel Stone [Mon, 28 Sep 2020 17:47:42 +0000 (18:47 +0100)]
CI: Temporarily disable Panfrost T7xx
Due to more work in the on-site lab, we need to take the T7xx machines
out of the rotation for a couple of hours.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6896>
Vinson Lee [Fri, 25 Sep 2020 01:32:49 +0000 (18:32 -0700)]
pan/mdg: Fix memory leak on error path.
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable l going out of scope leaks the storage it
points to.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6858>
Vinson Lee [Fri, 25 Sep 2020 00:56:08 +0000 (17:56 -0700)]
gallium/swr: Remove unreachable code.
pContextMem has already been checked and cannot be NULL.
Fix defect reported by Coverity Scan.
Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: return tsCtx;
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6857>
Vinson Lee [Wed, 23 Sep 2020 00:51:06 +0000 (17:51 -0700)]
aco: Initialize mad_info member literal_idx.
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member literal_idx is not initialized in
this constructor nor in any functions that it calls.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6832>
Vinson Lee [Tue, 8 Sep 2020 01:34:46 +0000 (18:34 -0700)]
anv: Check file descriptor before closing.
Fix defect reported by Coverity Scan.
Argument cannot be negative (NEGATIVE_RETURNS)
negative_returns: fd is passed to a parameter that cannot be negative
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6643>
Ian Romanick [Tue, 22 Sep 2020 20:21:17 +0000 (13:21 -0700)]
intel/vec4: Remove everything related to VS_OPCODE_SET_SIMD4X2_HEADER_GEN9
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 20:09:56 +0000 (13:09 -0700)]
intel/vec4: Remove all support for Gen8+ [v2]
v2: Restore the gen == 10 hunk in brw_compile_vs (around line 2940).
This function is also used for scalar VS compiles. Squash in:
intel/vec4: Reindent after removing Gen8+ support
intel/vec4: Silence unused parameter warning in try_immediate_source
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> [v1]
Reviewed-by: Matt Turner <mattst88@gmail.com> [v1]
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 18:47:38 +0000 (11:47 -0700)]
intel/compiler: Remove INTEL_SCALAR_... env variables
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 19:46:05 +0000 (12:46 -0700)]
intel/vec4: Remove inline lowering of LRP
Since
dd7135d55d5 ("intel/compiler: Use the flrp lowering pass for all
stages on Gen4 and Gen5"), it's not possible to get to this function on
GPUs that don't have a LRP instruction.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 20:04:47 +0000 (13:04 -0700)]
intel/compiler: Don't fallback to vec4 when scalar GS compile fails [v2]
v2: Add missing error string handling. Noticed by Jason.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com> [v1]
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 21:10:56 +0000 (14:10 -0700)]
intel/compiler: Silence unused parameter warning in brw_surface_payload_size
src/intel/compiler/brw_eu_emit.c: In function ‘brw_surface_payload_size’:
src/intel/compiler/brw_eu_emit.c:3070:46: warning: unused parameter ‘p’ [-Wunused-parameter]
3070 | brw_surface_payload_size(struct brw_codegen *p,
| ~~~~~~~~~~~~~~~~~~~~^
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Ian Romanick [Tue, 22 Sep 2020 20:53:25 +0000 (13:53 -0700)]
intel/vec4: Silence unused paramter warnings in brw_vec4_generator.cpp
src/intel/compiler/brw_vec4_generator.cpp: In function ‘void generate_gs_svb_write(brw_codegen*, brw_vue_prog_data*, brw::vec4_instruction*, brw_reg, brw_reg, brw_reg)’:
src/intel/compiler/brw_vec4_generator.cpp:488:49: warning: unused parameter ‘prog_data’ [-Wunused-parameter]
488 | struct brw_vue_prog_data *prog_data,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
src/intel/compiler/brw_vec4_generator.cpp: In function ‘void generate_pull_constant_load(brw_codegen*, brw_vue_prog_data*, brw::vec4_instruction*, brw_reg, brw_reg, brw_reg)’:
src/intel/compiler/brw_vec4_generator.cpp:1269:55: warning: unused parameter ‘prog_data’ [-Wunused-parameter]
1269 | struct brw_vue_prog_data *prog_data,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
src/intel/compiler/brw_vec4_generator.cpp: In function ‘void generate_get_buffer_size(brw_codegen*, brw_vue_prog_data*, brw::vec4_instruction*, brw_reg, brw_reg, brw_reg)’:
src/intel/compiler/brw_vec4_generator.cpp:1331:52: warning: unused parameter ‘prog_data’ [-Wunused-parameter]
1331 | struct brw_vue_prog_data *prog_data,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
src/intel/compiler/brw_vec4_generator.cpp: In function ‘void generate_pull_constant_load_gen7(brw_codegen*, brw_vue_prog_data*, brw::vec4_instruction*, brw_reg, brw_reg, brw_reg)’:
src/intel/compiler/brw_vec4_generator.cpp:1357:60: warning: unused parameter ‘prog_data’ [-Wunused-parameter]
1357 | struct brw_vue_prog_data *prog_data,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6826>
Gert Wollny [Sun, 27 Sep 2020 15:09:03 +0000 (17:09 +0200)]
r600/sfn: Add support for helper invocations
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Sun, 27 Sep 2020 14:40:55 +0000 (16:40 +0200)]
r600/sfn: remove old code to track uniforms as it is no longer needed
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>
Gert Wollny [Sun, 27 Sep 2020 14:24:56 +0000 (16:24 +0200)]
r600/sfn: replace hand-backed literal check by NIR function
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 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>