platform/upstream/mesa.git
16 months agovenus: set/check ring status bits independently
Ryan Neph [Wed, 22 Mar 2023 19:27:28 +0000 (12:27 -0700)]
venus: set/check ring status bits independently

prepare for manipulation of the new VK_RING_STATUS_ALIVE_BIT_MESA during
ring monitoring.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

16 months agovenus: add vn_relax_init/_fini()
Ryan Neph [Wed, 22 Mar 2023 19:12:21 +0000 (12:12 -0700)]
venus: add vn_relax_init/_fini()

Use a new calling contract so we can do pre/post-work around every ring-waiting
iteration. All looping uses of `vn_relax()` must now call `vn_relax_init()` and
`vn_relax_fini()` before/after their loop bodies.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

16 months agoiris: Implement Wa_14015297576
Sagar Ghuge [Thu, 16 Mar 2023 15:08:12 +0000 (17:08 +0200)]
iris: Implement Wa_14015297576

Disable tessellation distribution when primitive id is enabled.

v2: some changes squashed from Tapani:
   - leave mode initially as TEDMODE_OFF (0) so we can merge
   - take fs primitive ID overrides in to account

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21982>

16 months agoanv: Implement Wa_14015297576
Sagar Ghuge [Thu, 16 Mar 2023 14:03:41 +0000 (16:03 +0200)]
anv: Implement Wa_14015297576

Disable tessellation distribution when primitive id is enabled.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21982>

16 months agoci/zink: Add zink-tu-a618-traces-performance job
Guilherme Gallo [Mon, 20 Mar 2023 16:39:49 +0000 (13:39 -0300)]
ci/zink: Add zink-tu-a618-traces-performance job

It will be needed to compare the performance of zink+turnip against
turnip only jobs.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/zink: Add zink-turnip-manual-rules
Guilherme Gallo [Mon, 20 Mar 2023 16:36:21 +0000 (13:36 -0300)]
ci/zink: Add zink-turnip-manual-rules

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/zink: Add zink-a618 trace jobs
Guilherme Gallo [Mon, 13 Mar 2023 21:23:31 +0000 (18:23 -0300)]
ci/zink: Add zink-a618 trace jobs

May be used as replacement for zink-a630-traces job, since a618 is similar
to a630.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/freedreno: create a618-traces and perf jobs
Guilherme Gallo [Mon, 13 Feb 2023 15:59:12 +0000 (12:59 -0300)]
ci/freedreno: create a618-traces and perf jobs

Performance jobs should work better if we fix the device under test to
be the same in every test, instead of using any device from a group of
devices of the same type.

We can do it quickly in LAVA, but it seems more
complicated on Google's farm. So, let's replace the a630 (in Google
farm) with a fixed a618 device to test freedreno traces performance.

Add a618-traces job as well, as we need to confirm that a618 is
generating stable traces with good results before proceeding to track
its performance

Co-authored-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: Add piglit traces hidden jobs
Guilherme Gallo [Mon, 13 Mar 2023 21:42:11 +0000 (18:42 -0300)]
ci: Add piglit traces hidden jobs

To better organize traces and traces-performance jobs that uses piglit
to replay traces.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/freedreno: Make traces work on LAVA caching proxy
David Heidelberg [Mon, 20 Feb 2023 03:20:00 +0000 (04:20 +0100)]
ci/freedreno: Make traces work on LAVA caching proxy

Explicitily define the caching proxy via piglit
`--download-caching-proxy-url` argument.
We have different URLs for caching proxy for LAVA and freedreno farms.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/freedreno: define Google farm specific includes
David Heidelberg [Mon, 20 Feb 2023 00:03:06 +0000 (01:03 +0100)]
ci/freedreno: define Google farm specific includes

This should prevent mixing them with LAVA freedreno devices.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci/freedreno: split deqp from other jobs
David Heidelberg [Mon, 20 Feb 2023 02:46:17 +0000 (03:46 +0100)]
ci/freedreno: split deqp from other jobs

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: remove deqp from lava piglit and traces runs
David Heidelberg [Mon, 20 Feb 2023 01:01:33 +0000 (02:01 +0100)]
ci: remove deqp from lava piglit and traces runs

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: create lava-test without deqp HWCI_TEST_SCRIPT
David Heidelberg [Mon, 20 Feb 2023 00:55:17 +0000 (01:55 +0100)]
ci: create lava-test without deqp HWCI_TEST_SCRIPT

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: rename .lava-test to .lava-test-deqp to describe it correctly
David Heidelberg [Mon, 20 Feb 2023 00:52:04 +0000 (01:52 +0100)]
ci: rename .lava-test to .lava-test-deqp to describe it correctly

.lava-test hidden job was setting the HWCI_TEST_SCRIPT variable to deqp
runner. But that is not always the case. When we run piglit traces jobs,
we use piglit-traces.sh instead, for example.

Splitting into:
- .lava-test-deqp (deqp-runner + deqp)
- .lava-traces (deqp-runner + piglit)
- .lava-piglit (piglit-runner + piglit)

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Co-authored-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: Fix freedreno-rules-performance
Guilherme Gallo [Sun, 5 Mar 2023 18:15:23 +0000 (19:15 +0100)]
ci: Fix freedreno-rules-performance

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoci: Improve piglit-traces "no-perf" filter
Guilherme Gallo [Wed, 15 Mar 2023 11:31:13 +0000 (08:31 -0300)]
ci: Improve piglit-traces "no-perf" filter

We filter out traces that work only in standard replay mode but not
profile one via yq (jq for YAML) manipulation.

The previous query needed to be fixed in some scenarios, such as traces
labeled with only `["no-perf"]`, which was being ignored by the query.

This commit updates the yq query with newer syntax to cover all current
cases (at least for freedreno).

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

16 months agoanv: Fetch max_context_priority from drm_xe_query_config
José Roberto de Souza [Thu, 23 Mar 2023 20:19:01 +0000 (13:19 -0700)]
anv: Fetch max_context_priority from drm_xe_query_config

A new property was added to drm_xe_query_config with the max engine
priority for running process, so we can use it directly on
anv_xe_physical_device_get_parameters() and nuke
anv_xe_physical_device_max_priority_update().

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22112>

16 months agoanv: Partialy import drm-uapi/gpu_scheduler.h and use it
José Roberto de Souza [Thu, 23 Mar 2023 20:46:30 +0000 (13:46 -0700)]
anv: Partialy import drm-uapi/gpu_scheduler.h and use it

To replace the hard-coded values.
Not fully importing gpu_scheduler.h because it includes several Linux
specific headers that will make the life of anyone porting Xe to
other Unix harder.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22112>

16 months agointel: Sync xe_drm.h
José Roberto de Souza [Thu, 23 Mar 2023 19:45:14 +0000 (12:45 -0700)]
intel: Sync xe_drm.h

Based on commit f6e26dff8fa3 ("drm/xe: Add max engine priority to xe query")

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22112>

16 months agodriconf: remove the adaptive sync special case for mpv
Nicolas F [Fri, 13 Jan 2023 20:44:04 +0000 (21:44 +0100)]
driconf: remove the adaptive sync special case for mpv

mpv didn't ask to be on this list, was never consulted about being
on this list and to the best of my knowledge has no problem with
adaptive sync. If there is an issue exposed by mpv having adaptive
sync enabled, then it should be reported to mpv, so that it can be
fixed in mpv.

The only problem I could remotely imagine with mpv and VRR is that
its display-resample mode tries to do something similar, and the
two mechanisms will likely race each other to the bottom, but the
display-resample mode is not the default and this is already a
known issue on Windows so users wouldn't expect this to behave any
differently on Linux.

In short, please don't try to make a list of all applications that
are not video games, it is not conducive to having a good time on
the computer.

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

16 months agoradv/rt: Fix VK_KHR_pipeline_executable_properties
Daniel Schürmann [Fri, 24 Mar 2023 01:46:46 +0000 (02:46 +0100)]
radv/rt: Fix VK_KHR_pipeline_executable_properties

We don't provide executable properties for the prolog shader.

Fixes: f123d65e9f50e57b9af3de2e0e77618fcd9d2ddd ('radv/rt: use prolog for raytracing shaders')
Fixes: dEQP-VK.pipeline.monolithic.shader_module_identifier.pipeline_from_id.ray_tracing_libs.*
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22111>

16 months agoradv: fix radv_shader_binary member fields to 32 bit.
Daniel Schürmann [Sat, 18 Mar 2023 15:14:51 +0000 (16:14 +0100)]
radv: fix radv_shader_binary member fields to 32 bit.

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

16 months agoradv: skip pipeline caching with RADV_DEBUG=shaders
Daniel Schürmann [Sat, 18 Mar 2023 15:26:38 +0000 (16:26 +0100)]
radv: skip pipeline caching with RADV_DEBUG=shaders

in order to create reproducible cache entries.

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

16 months agoradv: refactor shader_compile()
Daniel Schürmann [Sat, 18 Mar 2023 00:20:15 +0000 (01:20 +0100)]
radv: refactor shader_compile()

- change the return type to radv_shader_binary *
- setup options at the caller side

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

16 months agoradv: remove radv_create_gs_copy_shader()
Daniel Schürmann [Fri, 17 Mar 2023 23:28:29 +0000 (00:28 +0100)]
radv: remove radv_create_gs_copy_shader()

We can replace the call with radv_shader_nir_to_asm().

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

16 months agoradv: move gl_shader_stage from radv_binary to radv_shader_info
Daniel Schürmann [Thu, 16 Mar 2023 23:49:44 +0000 (00:49 +0100)]
radv: move gl_shader_stage from radv_binary to radv_shader_info

This way, both radv_shader and radv_shader_binary, provide the stage.

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

16 months agoradv: separate radv_capture_shader_executable_info() from radv_shader_create()
Daniel Schürmann [Thu, 16 Mar 2023 23:19:05 +0000 (00:19 +0100)]
radv: separate radv_capture_shader_executable_info() from radv_shader_create()

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

16 months agoradv: inline radv_postprocess_config()
Daniel Schürmann [Thu, 16 Mar 2023 21:28:56 +0000 (22:28 +0100)]
radv: inline radv_postprocess_config()

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

16 months agoradv: remove unnecessary copy of binary->config
Daniel Schürmann [Thu, 16 Mar 2023 21:24:49 +0000 (22:24 +0100)]
radv: remove unnecessary copy of binary->config

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

16 months agoradv: separate radv_postprocess_binary_config() from radv_shader_create()
Daniel Schürmann [Thu, 16 Mar 2023 21:18:26 +0000 (22:18 +0100)]
radv: separate radv_postprocess_binary_config() from radv_shader_create()

The goal is to make radv_shader_create() a function that creates a shader
from a binary without any additional information.
Postprocessing the config is only needed after compilation.

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

16 months agoradv: remove unused parameter from radv_open_rtld_binary()
Daniel Schürmann [Thu, 16 Mar 2023 21:03:49 +0000 (22:03 +0100)]
radv: remove unused parameter from radv_open_rtld_binary()

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

16 months agor600: fix refcnt imbalance related to shader
Patrick Lerda [Mon, 20 Mar 2023 22:34:36 +0000 (23:34 +0100)]
r600: fix refcnt imbalance related to shader

Indeed, gs_copy_shader was not freed.

Fixes: commit 1371d65a7fbd695d3516861fe733685569d890d0
    r600g: initial support for geometry shaders on evergreen (v2)

For instance, with "piglit/bin/shader_runner generated_tests/spec/arb_gpu_shader_int64/execution/built-in-functions/gs-abs-i64vec2.shader_test -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22087>

16 months agoiris: Ajust gem buffer allocation size in Xe kmd
José Roberto de Souza [Mon, 20 Mar 2023 17:41:34 +0000 (10:41 -0700)]
iris: Ajust gem buffer allocation size in Xe kmd

gem buffer size must also be aligned to mem_alignment otherwise
vm binds can fail when Xe kmd checks if vm bind range is bigger than
gem buffer size.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22059>

16 months agoiris: Implement gem_vm_bind() and gem_vm_unbind() in Xe kmd backend
José Roberto de Souza [Tue, 14 Feb 2023 17:21:25 +0000 (09:21 -0800)]
iris: Implement gem_vm_bind() and gem_vm_unbind() in Xe kmd backend

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22059>

16 months agoiris: Add vm bind and unbind to kmd backend
José Roberto de Souza [Tue, 1 Nov 2022 18:07:16 +0000 (11:07 -0700)]
iris: Add vm bind and unbind to kmd backend

At this time this is a nop for i915 but in future we will have a
Xe implementation.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22059>

16 months agoiris: Prepare iris_bufmgr functions for vm bind error paths
José Roberto de Souza [Mon, 16 Jan 2023 20:48:40 +0000 (12:48 -0800)]
iris: Prepare iris_bufmgr functions for vm bind error paths

vm bind and unbind can fail, so error paths will be needed.
Here I'm just preparing the code paths for that.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22059>

16 months agoradv: rework binding shaders to cmdbuf by introducing new helpers
Samuel Pitoiset [Fri, 24 Mar 2023 08:36:01 +0000 (09:36 +0100)]
radv: rework binding shaders to cmdbuf by introducing new helpers

For future work.

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

16 months agotu: Generate entrypoints for each gen
Danylo Piliaiev [Thu, 9 Mar 2023 18:57:51 +0000 (19:57 +0100)]
tu: Generate entrypoints for each gen

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agofreedreno/regs: Include assert.h in generated headers
Danylo Piliaiev [Thu, 9 Mar 2023 20:50:21 +0000 (21:50 +0100)]
freedreno/regs: Include assert.h in generated headers

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agovk/entry_points: Add option to generate template entrypoints
Danylo Piliaiev [Thu, 9 Mar 2023 18:56:43 +0000 (19:56 +0100)]
vk/entry_points: Add option to generate template entrypoints

As a C++ alternative to genX macros.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: compile as C++
Danylo Piliaiev [Wed, 8 Mar 2023 18:12:08 +0000 (19:12 +0100)]
tu: compile as C++

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agofreedreno/msm: Rename drm_msm_gem_submit_reloc::or in C++ code
Danylo Piliaiev [Wed, 8 Mar 2023 12:45:41 +0000 (13:45 +0100)]
freedreno/msm: Rename drm_msm_gem_submit_reloc::or in C++ code

Clashes with C++ `or` keyword

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: misc fixes
Danylo Piliaiev [Mon, 13 Mar 2023 13:19:43 +0000 (14:19 +0100)]
tu: C++-proofing: misc fixes

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: cast result when extracting field from reg value
Danylo Piliaiev [Wed, 15 Mar 2023 10:33:32 +0000 (11:33 +0100)]
tu: C++-proofing: cast result when extracting field from reg value

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: prevent taking address from rvalue
Danylo Piliaiev [Tue, 14 Mar 2023 19:01:11 +0000 (20:01 +0100)]
tu: C++-proofing: prevent taking address from rvalue

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: ease access to global bo struct
Danylo Piliaiev [Tue, 14 Mar 2023 18:16:59 +0000 (19:16 +0100)]
tu: C++-proofing: ease access to global bo struct

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: fix casting from void * fpermissive warnings
Danylo Piliaiev [Tue, 14 Mar 2023 18:03:03 +0000 (19:03 +0100)]
tu: C++-proofing: fix casting from void * fpermissive warnings

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: Initialize tu_reg_value in-order by pack funcs
Danylo Piliaiev [Tue, 7 Mar 2023 15:22:22 +0000 (16:22 +0100)]
tu: C++-proofing: Initialize tu_reg_value in-order by pack funcs

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: fix extension table initialization
Danylo Piliaiev [Wed, 8 Mar 2023 12:55:00 +0000 (13:55 +0100)]
tu: C++-proofing: fix extension table initialization

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: fix designator initializer order
Danylo Piliaiev [Tue, 7 Mar 2023 16:03:50 +0000 (17:03 +0100)]
tu: C++-proofing: fix designator initializer order

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proof: do not goto over variables initialization
Danylo Piliaiev [Tue, 7 Mar 2023 17:03:37 +0000 (18:03 +0100)]
tu: C++-proof: do not goto over variables initialization

That is not permitted by C++

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: various enum fixes
Danylo Piliaiev [Mon, 13 Mar 2023 13:16:16 +0000 (14:16 +0100)]
tu: C++-proofing: various enum fixes

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: fix struct initializers
Danylo Piliaiev [Mon, 13 Mar 2023 13:13:47 +0000 (14:13 +0100)]
tu: C++-proofing: fix struct initializers

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agotu: C++-proofing: fix offsetof with dynamic array index
Danylo Piliaiev [Mon, 13 Mar 2023 13:09:20 +0000 (14:09 +0100)]
tu: C++-proofing: fix offsetof with dynamic array index

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agoir3: C++-proofing
Danylo Piliaiev [Mon, 13 Mar 2023 13:52:44 +0000 (14:52 +0100)]
ir3: C++-proofing

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agofreedreno/common: C++-proof freedreno_uuid.h
Danylo Piliaiev [Mon, 13 Mar 2023 13:56:50 +0000 (14:56 +0100)]
freedreno/common: C++-proof freedreno_uuid.h

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agovk/util: Generate defines to help casting structs with vk_find_struct
Danylo Piliaiev [Tue, 14 Mar 2023 13:44:17 +0000 (14:44 +0100)]
vk/util: Generate defines to help casting structs with vk_find_struct

C++ doesn't like implicit casts from void *.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agovk/util: remove (void *) casts from vk_foreach_multi_draw macros
Danylo Piliaiev [Tue, 14 Mar 2023 18:20:01 +0000 (19:20 +0100)]
vk/util: remove (void *) casts from vk_foreach_multi_draw macros

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agovk/wsi: C++-proof wsi_common_drm.h
Danylo Piliaiev [Wed, 8 Mar 2023 13:29:11 +0000 (14:29 +0100)]
vk/wsi: C++-proof wsi_common_drm.h

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agovk/vk_extension_gen: Make table struct initializable in C++ on older gcc
Danylo Piliaiev [Wed, 8 Mar 2023 12:52:36 +0000 (13:52 +0100)]
vk/vk_extension_gen: Make table struct initializable in C++ on older gcc

Before GCC 11.2 initializing anonymous struct with extensions gave:

 error: too many initializers for 'vk_device_extension_table'

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agospirv: sort spirv_supported_capabilities
Danylo Piliaiev [Tue, 7 Mar 2023 16:27:51 +0000 (17:27 +0100)]
spirv: sort spirv_supported_capabilities

Makes easier for c++ driver to keep initializer in order.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agoutil/format: Make format_table compatible with C++
Danylo Piliaiev [Wed, 8 Mar 2023 12:35:22 +0000 (13:35 +0100)]
util/format: Make format_table compatible with C++

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agoutil/perf: C++-proof util/perf
Danylo Piliaiev [Wed, 8 Mar 2023 13:49:08 +0000 (14:49 +0100)]
util/perf: C++-proof util/perf

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21931>

16 months agonir/lower_shader_calls: Remat derefs before lowering resumes
Konstantin Seurer [Tue, 20 Dec 2022 17:26:34 +0000 (18:26 +0100)]
nir/lower_shader_calls: Remat derefs before lowering resumes

Closes: #7923
cc: mesa-stable

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20399>

16 months agoradv: remove radv_pipeline::device completely
Samuel Pitoiset [Thu, 23 Mar 2023 15:45:18 +0000 (16:45 +0100)]
radv: remove radv_pipeline::device completely

This is unecessary and this prevents using a ton of functions without
a radv_pipeline object.

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

16 months agogallium: decompose quad strips into quads if supported
antonino [Mon, 6 Feb 2023 14:44:01 +0000 (15:44 +0100)]
gallium: decompose quad strips into quads if supported

This changes gallium to decompose quad strips into quads instead of triangles
when the driver advertises support for them.

This should result in a more correct result when those are drawn
with the line raster primitve (avoids showing the diagonal line).

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21987>

16 months agomesa: correctly allocate space for converted primtives
antonino [Tue, 21 Mar 2023 14:35:59 +0000 (15:35 +0100)]
mesa: correctly allocate space for converted primtives

Previosuly it was assumed that primitives where always converted to
triangles if the driver did not support all primitives, however that's
not true for a driver that supports quads but not quad strips.

Fixes piglit spec@!opengl 1.1@dlist-fdo3129-01 on Panfrost

Fixes: dcbf2423d28 ("vbo/dlist: add vertices to incomplete primitives")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21987>

16 months agoradv: pass a radv_shader to radv_emit_dispatch_packets()
Samuel Pitoiset [Tue, 21 Mar 2023 10:21:48 +0000 (11:21 +0100)]
radv: pass a radv_shader to radv_emit_dispatch_packets()

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

16 months agoradv: move cs_regalloc_hang_bug to radv_shader_info
Samuel Pitoiset [Tue, 21 Mar 2023 10:13:41 +0000 (11:13 +0100)]
radv: move cs_regalloc_hang_bug to radv_shader_info

This is more like a shader property.

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

16 months agoamd: remove duplicate from .clang-format
Georg Lehmann [Wed, 22 Mar 2023 19:07:52 +0000 (20:07 +0100)]
amd: remove duplicate from .clang-format

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

16 months agoaco: remove duplicates from .clang-format
Georg Lehmann [Wed, 22 Mar 2023 17:55:31 +0000 (18:55 +0100)]
aco: remove duplicates from .clang-format

The latest clang-format doesn't support this anymore.

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

16 months agoanv: add utrace support for queue debug utils
Lionel Landwerlin [Sun, 12 Mar 2023 20:04:22 +0000 (22:04 +0200)]
anv: add utrace support for queue debug utils

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agoanv: rename anv_utrace_flush_copy in anv_utrace_submit
Lionel Landwerlin [Sat, 18 Mar 2023 21:51:04 +0000 (23:51 +0200)]
anv: rename anv_utrace_flush_copy in anv_utrace_submit

We want to use this for submission of traces outside command buffers,
so it won't just execute copies of timestamp buffers.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agoanv: fixup locking for utrace submission increments
Lionel Landwerlin [Sat, 18 Mar 2023 21:47:01 +0000 (23:47 +0200)]
anv: fixup locking for utrace submission increments

This is supposed to happen under the device lock.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: e760c5b37b ("anv: add perfetto source")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agoanv: fix incorrect utrace bo release
Lionel Landwerlin [Sat, 18 Mar 2023 21:30:39 +0000 (23:30 +0200)]
anv: fix incorrect utrace bo release

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c67c9688c3 ("anv/utrace: use a bo pool for utrace buffers")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agointel/ds: rename frame timeline row to queue
Lionel Landwerlin [Sat, 18 Mar 2023 21:06:47 +0000 (23:06 +0200)]
intel/ds: rename frame timeline row to queue

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agovulkan/runtime: also copy strings on queue debug utils
Lionel Landwerlin [Sat, 18 Mar 2023 21:21:16 +0000 (23:21 +0200)]
vulkan/runtime: also copy strings on queue debug utils

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agoutil/u_trace: move needs_cs_param option to tracepoints
Lionel Landwerlin [Sat, 18 Mar 2023 21:03:56 +0000 (23:03 +0200)]
util/u_trace: move needs_cs_param option to tracepoints

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22006>

16 months agod3d12: AV1 Dec - Set anchor_frame_idx only when large_scale_tile equals 1
Teng, Jin Chung [Thu, 23 Mar 2023 02:17:45 +0000 (10:17 +0800)]
d3d12: AV1 Dec - Set anchor_frame_idx only when large_scale_tile equals 1

Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22048>

16 months agofrontend/va: Add large_scale_tile from VADecPictureParameterBufferAV1
Teng, Jin Chung [Thu, 23 Mar 2023 02:17:13 +0000 (10:17 +0800)]
frontend/va: Add large_scale_tile from VADecPictureParameterBufferAV1

Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22048>

16 months agozink: flag rp layout change if zsbuf usedness changes on dsa/fs state bind
Mike Blumenkrantz [Thu, 23 Mar 2023 12:06:05 +0000 (08:06 -0400)]
zink: flag rp layout change if zsbuf usedness changes on dsa/fs state bind

this should (correctly) trigger the expected zsbuf elimination and
avoid hitting asserts

fixes #8679

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

16 months agopanfrost: Remove Midgard RSD fields from Bifrost
Alyssa Rosenzweig [Tue, 21 Mar 2023 16:30:00 +0000 (12:30 -0400)]
panfrost: Remove Midgard RSD fields from Bifrost

These were removed and replaced by new Bifrost RSD fields, don't print the wrong
values. Harmless but noises up the decoding.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanvk: Lower blending late
Alyssa Rosenzweig [Mon, 20 Feb 2023 03:47:31 +0000 (22:47 -0500)]
panvk: Lower blending late

Since 50b82ca8181 ("nir/lower_blend,agx,panfrost: Use lowered I/O"),
nir_lower_blend needs to be called after lowering I/O rather than before.
Furthermore, after lowering blend, we need (in general) to lower the resulting
load_output intrinsics. Now that we have a proper preprocess_nir hook, there is
a natural place in panvk_vX_shader to do this.

Fixes dEQP-VK.pipeline.blend.*

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopan/bi: Call pan_nir_lower_zs_store late
Alyssa Rosenzweig [Mon, 20 Feb 2023 04:44:17 +0000 (23:44 -0500)]
pan/bi: Call pan_nir_lower_zs_store late

This will give the driver [notably, PanVK] a chance to lower dual source
blending without having the dual stores turned into store_combined_output_pan.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopan/bi: Export bifrost_nir_lower_load_output
Alyssa Rosenzweig [Mon, 20 Feb 2023 03:47:24 +0000 (22:47 -0500)]
pan/bi: Export bifrost_nir_lower_load_output

If new load_output are created after preprocessing NIR (namely, from blend
lowering in panvk), this lowering needs to be called to lower load_output to the
vendor intrinsic with conversion descriptor.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Move panfrost_sysvals to GL driver
Alyssa Rosenzweig [Sat, 11 Feb 2023 02:45:05 +0000 (21:45 -0500)]
panfrost: Move panfrost_sysvals to GL driver

This shouldn't be used by anything else at this point.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanvk: Remove unused function
Alyssa Rosenzweig [Sat, 11 Feb 2023 02:43:48 +0000 (21:43 -0500)]
panvk: Remove unused function

Erroneously referencing sysvals.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Move sysvals to GL driver struct
Alyssa Rosenzweig [Sat, 11 Feb 2023 02:40:50 +0000 (21:40 -0500)]
panfrost: Move sysvals to GL driver struct

Only the GL driver produces/consumes these, they shouldn't be in the common
shader_info.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Lower sysvals in GL
Alyssa Rosenzweig [Sat, 11 Feb 2023 02:22:49 +0000 (21:22 -0500)]
panfrost: Lower sysvals in GL

Drop the backend compiler sysval handling in favour of the pass in the GL
driver, bringing us into compliance with Ekstrand's rule.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Add NIR-based sysval lowering pass
Alyssa Rosenzweig [Sat, 11 Feb 2023 02:21:12 +0000 (21:21 -0500)]
panfrost: Add NIR-based sysval lowering pass

Add a NIR pass to lower all the sysvals seen in the GL driver to load_ubo
intrinsics. These load_ubo intrinsics will be pushed to uniforms by the backend
compiler as usual. This will let us remove all sysval handling from the backend
compilers.

This is a direct NIR port of the existing pan_sysvals.c infrastructure and the
consumers in the Midgard/Bifrost compilers. It aims to be bug-for-bug compatible
to ease bisection.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanvk: Inline blend constants as syvals
Alyssa Rosenzweig [Tue, 7 Feb 2023 17:01:33 +0000 (12:01 -0500)]
panvk: Inline blend constants as syvals

Blend constants are sysvals, it's just that they can sometimes be inlined
depending on the pipeline state. The old "inline blend constant" pass is a
special case of the new "lower all sysvals" pass in panvk.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanvk: Don't use vec4 for vertex_instance_offsets
Alyssa Rosenzweig [Tue, 7 Feb 2023 17:01:20 +0000 (12:01 -0500)]
panvk: Don't use vec4 for vertex_instance_offsets

Not needed with the new lowering.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanvk: Lower sysvals in NIR
Alyssa Rosenzweig [Tue, 7 Feb 2023 16:49:22 +0000 (11:49 -0500)]
panvk: Lower sysvals in NIR

Per Ekstrand's Rule. This avoids the "fixed sysval" hack that Faith introduced
to get this behaviour with the GL sysval handling.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Remove stale TODO
Alyssa Rosenzweig [Tue, 7 Feb 2023 15:31:54 +0000 (10:31 -0500)]
panfrost: Remove stale TODO

While the text here is still nominally accurate, we should be seeing so few
shader variants at this point that the locking contention isn't a big deal.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Preprocess shaders at CSO create time
Alyssa Rosenzweig [Tue, 7 Feb 2023 05:15:23 +0000 (00:15 -0500)]
panfrost: Preprocess shaders at CSO create time

Now the only passes that depend on the shader key can run late, so we can
preprocess ahead-of-time once and throw away the original shader. This reduces
the cost of shader variants, as well as deduplicates some lowering for
transform feedback shaders.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Effectively lower gl_FragColor late
Alyssa Rosenzweig [Tue, 7 Feb 2023 05:02:51 +0000 (00:02 -0500)]
panfrost: Effectively lower gl_FragColor late

nir_lower_fragcolor takes the number of colour buffers as input, but it's an
early pass, so we don't want to use the key for it. Instead, we can overestimate
and then optimize out late with an easy pass.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Lower texcoords late
Alyssa Rosenzweig [Tue, 7 Feb 2023 04:54:42 +0000 (23:54 -0500)]
panfrost: Lower texcoords late

Use the _late version of this lowering instead of the early one.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopanfrost: Lower clip_fs late
Alyssa Rosenzweig [Tue, 7 Feb 2023 04:53:35 +0000 (23:53 -0500)]
panfrost: Lower clip_fs late

This pass works both early and late, so this is an easy one to sink down.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>

16 months agopan/lower_framebuffer: Lower MSAA blend shaders
Alyssa Rosenzweig [Tue, 7 Feb 2023 04:38:12 +0000 (23:38 -0500)]
pan/lower_framebuffer: Lower MSAA blend shaders

Do it explicitly in NIR rather than implicitly in the Midgard compiler. This
avoids a nasty sideband input for the render target formats and sample count,
for blend shaders on midgard only.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20906>