platform/upstream/mesa.git
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>

3 years agogallium/util: fix texture-coordinates for stencil-fallback
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>

3 years agogallium/util: set right dst-dimensions
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>

3 years agoradv/llvm: call nir_lower_io_to_vector with FS to fix array tests
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>

3 years agodocs: add INTEL_SHADER_ASM_READ_PATH description
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>

3 years agoradeonsi: call nir_io_add_const_offset_to_base only once per shader
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>

3 years agonir/lower_io: change nir_io_add_const_offset_to_base to use bitfield modes
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>

3 years agost/mesa: use roundf instead of floorf for lod-bias rounding
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>

3 years agodocs: gallium -> Gallium
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>

3 years agodocs: docker -> Docker
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>

3 years agodocs: debian -> Debian
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>

3 years agodocs: flavours -> flavors
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>

3 years agodocs: stabilisation -> stabilization
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>

3 years agodocs: consistantly -> consistently
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>

3 years agodocs: clippping -> clipping
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>

3 years agodocs: drop outdated gallium-docs comment
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>

3 years agokmsro: Add mediatek entry point
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>

3 years agopanfrost: Add preliminary support for Mali G72
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>

3 years agopanfrost: Adjust quirks for bifrost v6
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>

3 years agomesa: bptc fixes for decompress rgba_unorm and rgb_float
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>

3 years agoac/llvm: fix invalid IR if image stores are shrinked using the format
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>

3 years agoradv: lower deref operations for global memory for both backends
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>

3 years agoac/nir: implement nir_intrinsic_global_atomic_*
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>

3 years agoac/nir: implement nir_intrinsic_{load,store}_global
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>

3 years agoCI: Temporarily disable Panfrost T7xx
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>

3 years agopan/mdg: Fix memory leak on error path.
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>

3 years agogallium/swr: Remove unreachable code.
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>

3 years agoaco: Initialize mad_info member literal_idx.
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>

3 years agoanv: Check file descriptor before closing.
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>

3 years agointel/vec4: Remove everything related to VS_OPCODE_SET_SIMD4X2_HEADER_GEN9
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>

3 years agointel/vec4: Remove all support for Gen8+ [v2]
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>

3 years agointel/compiler: Remove INTEL_SCALAR_... env variables
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>

3 years agointel/vec4: Remove inline lowering of LRP
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>

3 years agointel/compiler: Don't fallback to vec4 when scalar GS compile fails [v2]
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>

3 years agointel/compiler: Silence unused parameter warning in brw_surface_payload_size
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>

3 years agointel/vec4: Silence unused paramter warnings in brw_vec4_generator.cpp
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>

3 years agor600/sfn: Add support for helper invocations
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>

3 years agor600/sfn: remove old code to track uniforms as it is no longer needed
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>

3 years agor600/sfn: replace hand-backed literal check by NIR function
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>

3 years agor600/sfn; go back to not lowering uniforms to UBOs
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>

3 years agor600/sfn: Fix indirect const buffer access
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>

3 years agor600/sfn: Fix interpolate at sample
Gert Wollny [Sat, 26 Sep 2020 10:53:08 +0000 (12:53 +0200)]
r600/sfn: Fix interpolate at sample

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

3 years agor600/sfn: use fine gradient evaluation for interpolate_at_offset
Gert Wollny [Fri, 25 Sep 2020 12:45:43 +0000 (14:45 +0200)]
r600/sfn: use fine gradient evaluation for interpolate_at_offset

Also pass in the interpolator x component (because the TGSI does this too)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>

3 years agor600/sfn: save some instructions when doing multisample on sample 0
Gert Wollny [Thu, 24 Sep 2020 18:04:30 +0000 (20:04 +0200)]
r600/sfn: save some instructions when doing multisample on sample 0

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>

3 years agor600/sfn: Support group memory barrier
Gert Wollny [Thu, 24 Sep 2020 06:56:12 +0000 (08:56 +0200)]
r600/sfn: Support group memory barrier

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>

3 years agor600/sfn: lower to scalar for some optimizations and vectortize later
Gert Wollny [Thu, 24 Sep 2020 06:46:53 +0000 (08:46 +0200)]
r600/sfn: lower to scalar for some optimizations and vectortize later

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

3 years agor600/sfn: Handle nir_op_b2b32
Gert Wollny [Wed, 23 Sep 2020 22:00:49 +0000 (00:00 +0200)]
r600/sfn: Handle nir_op_b2b32

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>

3 years agor600/sfn: Fix emitting shared atomics with constant sources
Gert Wollny [Wed, 23 Sep 2020 21:56:35 +0000 (23:56 +0200)]
r600/sfn: Fix emitting shared atomics with constant sources

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6879>

3 years agonir/lower_clip: Add i/o semantics for load/store intrinsics.
Eric Anholt [Tue, 1 Sep 2020 19:54:25 +0000 (12:54 -0700)]
nir/lower_clip: Add i/o semantics for load/store intrinsics.

ir3 looks at the .location on its inputs for handling
non-VARYING_SLOT_POS, but our uninitialized semantics matched that and
threw a compiler assertion failure.

Fixes: 502abfce7f5d ("nir: save IO semantics in lowered IO intrinsics")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6716>

3 years agoci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic.
Eric Anholt [Mon, 14 Sep 2020 22:05:51 +0000 (15:05 -0700)]
ci/freedreno: Add trace tests for glxgears, 0 A.D., and xonotic.

glxgears is now trimmed to not be tons of frames, and we've picked up a
couple more traces in the public repo.

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

3 years agoci/freedreno: Sort the traces in the .yml of expectations
Eric Anholt [Mon, 14 Sep 2020 22:03:51 +0000 (15:03 -0700)]
ci/freedreno: Sort the traces in the .yml of expectations

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

3 years agoturnip: Replace tu_log*() with mesa_log*()
Eric Anholt [Mon, 21 Sep 2020 20:02:14 +0000 (13:02 -0700)]
turnip: Replace tu_log*() with mesa_log*()

This gets us logging on Android.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6806>

3 years agomesa: Promote Intel's simple logging façade for Android to util/
Eric Anholt [Mon, 21 Sep 2020 19:53:14 +0000 (12:53 -0700)]
mesa: Promote Intel's simple logging façade for Android to util/

I'm bringing up freedreno Vulkan on an Android phone, and my pains are
exactly what Chad said when working on Intel's vulkan for Android in
aa716db0f64d ("intel: Add simple logging façade for Android (v2)"):

    On Android, stdio goes to /dev/null. On Android, remote gdb is even
    more painful than the usual remote gdb. On Android, nothing works like
    you expect and debugging is hell. I need logging.

    This patch introduces a small, simple logging API that can easily wrap
    Android's API. On non-Android platforms, this logger does nothing
    fancy.  It follows the time-honored Unix tradition of spewing
    everything to stderr with minimal fuss.

    My goal here is not perfection. My goal is to make a minimal, clean API,
    that people hate merely a little instead of a lot, and that's good
    enough to let me bring up Android Vulkan.  And it needs to be fast,
    which means it must be small. No one wants to their game to miss frames
    while aiming a flaming bow into the jaws of an angry robot t-rex, and
    thus become t-rex breakfast, because some fool had too much fun desiging
    a bloated, ideal logging API.

Compared to trusty fprintf, _mesa_log[ewi]() is actually usable on
Android.  Compared to os_log_message(), this has different error levels
and supports format arguments.

The only code change in the move is wrapping flockfile/funlockfile in
!DETECT_OS_WINDOWS, since mingw32 doesn't have it.  Windows likely wants
different logging code, anyway.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6806>

3 years agoradv: Record cache flushes for RGP.
Bas Nieuwenhuizen [Tue, 1 Sep 2020 19:28:16 +0000 (21:28 +0200)]
radv: Record cache flushes for RGP.

Not doing the EOP TS cacheflush event because that break wave counting
in RGP for some reason. But the rest looks to be all there.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>

3 years agoradv: Include flushes in the barrier.
Bas Nieuwenhuizen [Tue, 1 Sep 2020 15:09:19 +0000 (17:09 +0200)]
radv: Include flushes in the barrier.

Since the flushes really happen on the next draw delay the barrier
end to include the flushes.

This fixes the barrier duration in RGP.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>

3 years agoradv: Fix RGP Asic CU info for GFX10+.
Bas Nieuwenhuizen [Mon, 28 Sep 2020 02:16:27 +0000 (04:16 +0200)]
radv: Fix RGP Asic CU info for GFX10+.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>

3 years agoradv: Use correct alignment for SQTT buffer sizes.
Bas Nieuwenhuizen [Mon, 28 Sep 2020 01:50:49 +0000 (03:50 +0200)]
radv: Use correct alignment for SQTT buffer sizes.

Otherwise we can miss the start of the buffer, which
results in RGP missing the initial (and only) timestamp
packet and results in RGP completely ignoring the second
SE, causing messy issues and missed events.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>

3 years agoradv: Fix emitting SQTT userdata.
Bas Nieuwenhuizen [Sun, 13 Sep 2020 14:19:17 +0000 (16:19 +0200)]
radv: Fix emitting SQTT userdata.

Otherwise some marker packets were missing ...

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6550>

3 years agozink: remove old extension infrastructure
Hoe Hao Cheng [Sat, 26 Sep 2020 07:01:54 +0000 (15:01 +0800)]
zink: remove old extension infrastructure

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>

3 years agozink: use the new, generated extension infrastructure
Hoe Hao Cheng [Mon, 28 Sep 2020 10:43:36 +0000 (18:43 +0800)]
zink: use the new, generated extension infrastructure

this is just a find-and-replace from screen->... to screen->info.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>

3 years agozink: use the new extension infrastructure in device creation
Hoe Hao Cheng [Mon, 28 Sep 2020 10:40:37 +0000 (18:40 +0800)]
zink: use the new extension infrastructure in device creation

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>

3 years agozink: hook zink_device_info.py to build system
Hoe Hao Cheng [Sat, 26 Sep 2020 06:49:49 +0000 (14:49 +0800)]
zink: hook zink_device_info.py to build system

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>

3 years agozink: generate extension infrastructure using a python script
Hoe Hao Cheng [Fri, 18 Sep 2020 20:39:19 +0000 (04:39 +0800)]
zink: generate extension infrastructure using a python script

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6789>

3 years agonir/lower_memory_model: do not break with global atomic operations
Samuel Pitoiset [Mon, 28 Sep 2020 09:47:50 +0000 (11:47 +0200)]
nir/lower_memory_model: do not break with global atomic operations

Global atomics don't have an access flag.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6888>

3 years agonir/lower_memory_model: return progress when visiting instructions
Samuel Pitoiset [Mon, 28 Sep 2020 09:46:25 +0000 (11:46 +0200)]
nir/lower_memory_model: return progress when visiting instructions

It never returned progress=TRUE.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6888>

3 years agopan/mdg: Infer whether to disassemble shaders from info.internal
Icecream95 [Sat, 26 Sep 2020 00:19:14 +0000 (12:19 +1200)]
pan/mdg: Infer whether to disassemble shaders from info.internal

Blit shaders are now marked as internal, so remove the silent argument
from midgard_compile_shader_nir and instead use nir->info.internal to
suppress disassembling shaders.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6870>

3 years agopanfrost: Mark blit shaders as internal
Icecream95 [Sat, 26 Sep 2020 00:16:02 +0000 (12:16 +1200)]
panfrost: Mark blit shaders as internal

Fixes spam of blit shader nir when NIR_PRINT=1 is set.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6870>

3 years agonir/load_store_vectorize: improve vectorization with identical operations
Rhys Perry [Wed, 10 Jun 2020 10:47:55 +0000 (11:47 +0100)]
nir/load_store_vectorize: improve vectorization with identical operations

We might have several identical options to vectorize an entry with, but
only one might be vectorizable because of writes interfering.

An example of this is a pattern found in some CTS tests:
a = load(0)
b = load(4)
store(0, a)
store(4, b)
a = load(0)
b = load(4)
store(0, a)
store(4, b)
...

It might have attempted to vectorize the first load(0) with the second
load(4) without attempting the second load(4) when the first fails. This
changes vectorize_entries() to continue even if the first try_vectorize()
failed.

fossil-db (Navi):
Totals from 117 (0.09% of 137413) affected shaders:
SGPRs: 7040 -> 7088 (+0.68%)
CodeSize: 276504 -> 276308 (-0.07%); split: -0.08%, +0.01%
Instrs: 51152 -> 51111 (-0.08%); split: -0.09%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5415>

3 years agopanfrost: Remove extra printf arguments.
Vinson Lee [Wed, 23 Sep 2020 00:22:12 +0000 (17:22 -0700)]
panfrost: Remove extra printf arguments.

Fix defects reported by Coverity Scan.

Extra argument to printf format specifier (PRINTF_ARGS)
extra_argument: This argument was not used by the format string: job +
32UL.

Fixes: 89fafe9e926b ("panfrost: XML-ify the fragment job descriptor")
Fixes: d289209ea68f ("panfrost: XML-ify the compute job descriptor")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6829>