Samuel Pitoiset
2e7ea0fc24
radv: track whether inputs/outputs are linked per shader stage
...
With shader object, it's possible to compile shaders without any
linking.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24328 >
2023-07-28 06:51:24 +00:00
Benjamin Cheng
3629b43822
radv/video: use app provided hevc scaling list order
...
This partially reverts commit da54b578 .
Vulkan spec defers the definition of these lists to the H265 ITU spec,
which defines the scaling lists to be in "up-right diagonal scan order"
already.
Fixes: da54b578 ("radv/video: fix hevc scaling lists.")
Reviewed-by: Lynne <dev@lynne.ee >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24356 >
2023-07-28 12:35:26 +10:00
Lionel Landwerlin
87149cc545
blorp: update and move fast clear PIPE_CONTROLs to drivers
...
Before this patch, when updating the indirect clear color, BLORP only
invalidated the texture cache on gfx11. The hardware docs state that
the texture cache invalidation is also needed on gfx12 however. Add
this invalidation for gfx12 and move the fast-clear related cache
invalidations to the drivers for clarity and performance.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5850
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23588 >
2023-07-28 00:07:15 +00:00
Lionel Landwerlin
c94bd56114
blorp: switch blorp_update_clear_color to early return
...
Avoid even going to the function if we don't need to.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23588 >
2023-07-28 00:07:15 +00:00
Karol Herbst
85a31fa1fc
nv50/ir/nir: fix txq emission on MS textures
...
In GL and a lot of Vulkan if we end up with either a lod or an ms index.
Sadly in Vulkan we can end up with both and have to choose properly. For
TXQ we have to emit a zero LOD. For TXF we have to emit the ms index.
Fixes: bb032d8b62 ("nv50/ir/nir: implement nir_instr_type_tex")
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24343 >
2023-07-27 22:49:05 +00:00
Yiwei Zhang
6b2956e569
ci/venus: reenable pipeline cts
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24344 >
2023-07-27 20:32:18 +00:00
Yiwei Zhang
9e05ef823c
ci/venus: remove fixed tests that no longer run
...
Those multiview failures have been fixed in lvp while the EDS failure
tests are obsolete.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24344 >
2023-07-27 20:32:18 +00:00
Mike Blumenkrantz
626e3a6e34
zink: don't clobber descriptor mode on multiple screen creation
...
the env var should only ever be read if the mode is unset
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:22 +00:00
Mike Blumenkrantz
f9d62b4c0b
kopper: determine modifier support per-drawable
...
this should more accurately block modifier usage when not supported
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:22 +00:00
Mike Blumenkrantz
a9efabd8f3
kopper: pass modifier availability to drawable creation
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Mike Blumenkrantz
1887368df4
glx/sw: check for modifier support in the kopper path
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Mike Blumenkrantz
5589d2b556
glx/dri3: split out modifier check
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Mike Blumenkrantz
6b0f8973c9
kopper: move pixmap param for drawable creation to info struct
...
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Mike Blumenkrantz
7100ef4566
glxsw: check geometry of drawables on creation
...
this mimics the dri codepath and allows early rejection of invalid
drawables to avoid subsequent breakage
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Mike Blumenkrantz
2b71e645bc
kopper: handle pixmap creation failure more gracefully
...
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24075 >
2023-07-27 19:18:21 +00:00
Iván Briano
71ebd9b9d7
anv,hasvk: respect provoking vertex setting on geometry shaders
...
We need to set the right value on ReorderMode based on the provoking
vertex mode, or the order in which the vertices for tristrip[_adj] are
delivered to the geometry shader doesn't match what Vulkan expects.
Fixes
dEQP-VK.transform_feedback.primitives_generated_query.concurrent.*triangle_strip_with_adjacency*
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23243 >
2023-07-27 18:52:49 +00:00
Eric Engestrom
88deb4bb88
ci: print clang-format's version
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24302 >
2023-07-27 17:33:59 +00:00
Eric Engestrom
02e40d3b48
ci: print rustfmt's version
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24302 >
2023-07-27 17:33:59 +00:00
Caio Oliveira
e693fd815a
nir: Let nir_fixup_deref_modes() fix deref_casts when possible
...
If a deref_cast parent is also a deref, and the parent mode is not
generic, we can safely propagate the parent mode down to the
deref_cast.
This will allow the fixup to work when the deref_cast is used just
to change the glsl_type when accessing a variable/deref-chain.
Reviewed-by: Faith Ekstrand <faith@gfxstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23734 >
2023-07-27 16:20:36 +00:00
David Heidelberg
38d1e73868
ci/kdl: remove extra-verbose ls command
...
Not needed for non-debugging builds.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9422
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24348 >
2023-07-27 18:31:53 +03:00
Rohan Garg
4aeac9f21c
iris: allow for a unsynchronized device reset query
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24224 >
2023-07-27 13:43:38 +00:00
Rohan Garg
2756534660
iris: track reset signalling instead of replacing the context
...
Instead of creating a new context when a reset is encountered, we now
track whether the reset was reported back to the application. According
to the spec, the application should poll the reset status and recreate
the context when NO_ERROR encountered after a RESET.
From the EXT_robustness spec:
5. How should the application react to a reset context event?
RESOLVED: For this extension, the application is expected to query
the reset status until NO_ERROR is returned. If a reset is encountered,
at least one *RESET* status will be returned. Once NO_ERROR is again
encountered, the application can safely destroy the old context and
create a new one.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24224 >
2023-07-27 13:43:38 +00:00
David Rosca
e52f7d5cb9
gallium/auxiliary/vl: Fix chroma offset of compute_shader_weave
...
Truncate UV coordinates to fix incorrect chroma offset.
Adjust texture offsets to match this change:
0.5 on X
0.25 on Y (interlaced)
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24301 >
2023-07-27 13:16:10 +00:00
David Rosca
3a484cd4ea
gallium/auxiliary/vl: Fix chroma and blurry output of cs video_buffer
...
Truncate UV coordinates to fix incorrect chroma offset.
Add texture offset to avoid blur from linear sampler.
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24301 >
2023-07-27 13:16:10 +00:00
Rhys Perry
59f24c7df8
nir/lower_shader_calls: vectorize stack access for all shaders
...
fossil-db (gfx1100):
Totals from 9 (0.01% of 133461) affected shaders:
MaxWaves: 156 -> 158 (+1.28%)
Instrs: 37193 -> 37324 (+0.35%)
CodeSize: 191008 -> 191968 (+0.50%)
VGPRs: 816 -> 804 (-1.47%)
Latency: 75789 -> 75641 (-0.20%); split: -0.35%, +0.15%
InvThroughput: 10475 -> 10441 (-0.32%); split: -0.40%, +0.08%
VClause: 666 -> 663 (-0.45%); split: -0.75%, +0.30%
SClause: 1077 -> 1076 (-0.09%)
Copies: 3425 -> 3407 (-0.53%); split: -0.73%, +0.20%
PreVGPRs: 770 -> 745 (-3.25%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24334 >
2023-07-27 12:38:01 +00:00
Mike Blumenkrantz
318d0316dd
zink: fix the fix for separate shader program refcounting
...
the previous fix fixed the initial refcount but then left a dangling
ref when doing the optimized program replacement
Fixes: 4e38061643 ("zink: fix separate shader program refcounting")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24255 >
2023-07-27 11:59:21 +00:00
Eric Engestrom
70eff58767
ci: allow hw jobs even if lint jobs fail for non-Marge pipelines
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24257 >
2023-07-27 11:24:24 +00:00
Eric Engestrom
b4bcb1a567
ci/lint: also print a diff for rust format issues
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24257 >
2023-07-27 11:24:24 +00:00
Eric Engestrom
5ae6d5e436
ci/lint: deduplicate formatting check jobs
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24257 >
2023-07-27 11:24:24 +00:00
Karmjit Mahil
59e08ad78c
pvr: Fix csb relocation status assert on pvr_csb_finish()
...
The app might not have emitted any cs words before freeing
resources so it is valid for the csb relocation mark to be
uninitialised on `pvr_csb_finish()`.
Fixes the assert being hit for:
dEQP-VK.api.pipeline.pipeline_layout.lifetime.graphics
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24329 >
2023-07-27 11:03:41 +00:00
Karmjit Mahil
2c6cadb5ea
pvr: Fix packing issue with max_{x,y}_clip
...
The spec. guarantees the framebuffer width and height to be `> 0`
but the same is not true for the render area.
Previously a render area of `0` size would wrap around due to the
`- 1` so we now check for `0`.
Fixes:
pvr_packet_helpers.h:79: __pvr_uint: Assertion `v <= max' failed.
on
dEQP-VK.api.pipeline.renderpass.framebuffer_compatible_renderpass
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24329 >
2023-07-27 11:03:41 +00:00
Samuel Pitoiset
670bd70fa6
radv: emulate GEOMETRY_SHADER_INVOCATIONS query on RDNA1-2
...
The number of geometry shader invocations is correctly counted by the
hardware for both NGG and the legacy GS path but it increments for
NGG VS/TES because they are merged with GS, but it shouldn't. Fix this
by emulating the number of geometry shader invocations.
This fixes piglit/bin/arb_query_buffer_object-qbo and recent
dEQP-VK.query_pool.statistics_query.gs_invocations_no_gs.* failures
with NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:15:22 +02:00
Samuel Pitoiset
b3aeaee5eb
radv: implement nir_intrinsic_atomic_add_gs_invocation_count_amd
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Samuel Pitoiset
2e0893cf8b
radv: rename RADV_SHADER_QUERY_PIPELINE_STAT_OFFSET
...
To RADV_SHADER_QUERY_GS_PRIM_EMIT_OFFSET.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Samuel Pitoiset
50709863ac
radv: simplify the NGG vs legacy pipelinestat query path
...
NGG is enabled by default on RDNA1-2 but the driver might fallback to
legacy GS for some reasons, like XFB. On these generations, the number
of generated primitives by GS needs to be emulated from the NGG shader
because the hw doesn't increment the related pipelinestat counter.
In order to support NGG and legacy GS with that query (remember that
we can't know pipelines when starting/ending queries), we used to
reserve 2x 64-bit counters to store the GDS results, and the results
were accumulated.
Now that legacy GS also uses GDS counters, we can simplify this path
and overwrite the pipelinestat counter directly instead of having two
separate counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Samuel Pitoiset
f13ff5e70e
radv: enable pipelinestat query emulation for legacy GS
...
This will allow us to fix a bug with the number of geometry shader
invocations which increase for NGG VS or TES but shouldn't. And also
for simplifying the NGG vs legacy query path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Samuel Pitoiset
96b97ed527
radv: declare the shader query user SGPR for emulating GS counters
...
This user SGPR is only declared on chips that support NGG but might
fallback to legacy GS for some reasons, like XFB. It will be used to
emulate GS counters from shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Samuel Pitoiset
e1f8cfc2b2
radv: rename NGG query state to be more generic
...
To use emulated GS counters for legacy GS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24231 >
2023-07-27 09:13:11 +02:00
Christian Gmeiner
86a5e942dd
freedreno/regs: python does not need ';'
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24330 >
2023-07-27 04:53:19 +00:00
Christian Gmeiner
d305b4a1c8
freedreno/regs: remove dead code
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24330 >
2023-07-27 04:53:19 +00:00
Christian Gmeiner
03bd9b9a58
freedreno/regs: remove not used variable
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24330 >
2023-07-27 04:53:19 +00:00
Christian Gmeiner
c2d8f3c561
freedreno/regs: remove double assignment of self.current_domain
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24330 >
2023-07-27 04:53:19 +00:00
Erik Faye-Lund
9709ae4cc6
meson: report with_glvnd in summary
...
GLVND *really* kinda belongs in *both* GLX and EGL, but it feels silly
to repeat the same setting. So let's just report it under the GL
section, as that's generic enough to apply to both of other sections.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24317 >
2023-07-27 00:46:29 +00:00
Lionel Landwerlin
365b14489d
anv: wire image sparse loads
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23882 >
2023-07-27 02:03:02 +03:00
Lionel Landwerlin
fe81d40bff
intel/nir: add lower for sparse images & textures
...
We have to lower images into image load + sampler residency.
There is also a restriction on sampler access with a compare, lower
those as 2 sampler instructions to meet the restriction.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23882 >
2023-07-27 02:02:59 +03:00
Lionel Landwerlin
300cc829de
intel/nir: handle image_sparse_load in storage format lowering
...
The last component of sparse load is the residency data. We don't want
to touch/convert that value with the format lowering.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23882 >
2023-07-27 02:02:34 +03:00
Lionel Landwerlin
d33aff783d
intel/fs: add support for sparse accesses
...
Purely from the backend point of view it's just an additional
parameter to sampler messages.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23882 >
2023-07-27 02:02:30 +03:00
Dmitry Baryshkov
ba5f0c203c
gallium: unbreak kmsro/freedreno case
...
In case the case of kmsro and freedreno driver, freedreno will fail to
with the xmlconfig errors as the kmsro declaration doesn't have defaults
for the freedreno options. Instead of directly using v3d_driconf for
kmsro, add native kmsro_driconf, which optionally includes v3d and
freedreno options.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24218 >
2023-07-26 21:57:13 +00:00
Dmitry Baryshkov
a5b445782e
gallium: move kmsro definition to the bottom of the file
...
The kmsro (in theory) can be using any other driver. In order to
simplify handling of driver public headers, move kmsro definition to the
bottom of the drm_helper.h
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24218 >
2023-07-26 21:57:13 +00:00
David Heidelberg
2cf55d94b6
ci/kernel: add amd patch to prevent crashes when starting X
...
See: https://gitlab.freedesktop.org/drm/amd/-/issues/2669
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9402
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24338 >
2023-07-26 21:12:37 +00:00