Georg Lehmann
7e1d77fd90
aco: Ignore instructions with exec operands in follow_operand.
...
No Foz-DB changes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18870 >
2022-11-28 18:43:53 +00:00
Georg Lehmann
65a3328b4c
aco/optimizer: Cleanup ctx.uses handling for patterns which use follow_operand(..., true).
...
No Foz-DB changes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18870 >
2022-11-28 18:43:53 +00:00
Gert Wollny
28c7684eb9
r600/sfn: always use four slots for Cayman trans ops
...
This is a partial revert of
ed6204eb0 (r600/sfn: only use 3 channels on Cayman for trans ops)
The scheduler and/or optimizer passes generate faulty code when
we use only three slots as decribed in the spec. So for now disable
this optimization.
Fixes: ed6204eb0 (r600/sfn: only use 3 channels on Cayman for trans ops)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7774
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20034 >
2022-11-28 18:34:19 +00:00
Samuel Pitoiset
aa545a0012
radv: reduce CPU overhead when emitting streamout descriptors
...
Only the last VGT stage can have streamout.
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/19723 >
2022-11-28 17:59:51 +00:00
Alyssa Rosenzweig
eae904260b
asahi: Implement DISCARD_WHOLE_RESOURCE
...
We can reallocate to avoid a flush.
Scrolling rosenzweig.io in Firefox with WebRender enabled is now vsyncing at
60fps instead of being capped around 50fps. SuperTuxKart is noticeably faster as
well, though this was prompted by WebRender.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20013 >
2022-11-28 16:48:38 +00:00
Alyssa Rosenzweig
a3e5445d4a
agx: Don't depend sampler view on BO
...
The BO can change when shadowing, fix up at drawtime.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20013 >
2022-11-28 16:48:38 +00:00
Alyssa Rosenzweig
597e303b5b
agx: Add merge helpers to GenXML
...
From panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20013 >
2022-11-28 16:48:38 +00:00
Alyssa Rosenzweig
debee344a2
agx: Make empty texture pack to all-zeroes
...
So we can do partial textures.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20013 >
2022-11-28 16:48:38 +00:00
Samuel Pitoiset
db7dcc4567
radv: only install 00-radv-defaults.conf if xmlconfig is used
...
RADV has its own drirc file. Make sure it also uses the xmlconfig
enable option.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20029 >
2022-11-28 16:19:47 +00:00
Asahi Lina
f5a26cc646
asahi: Fix remaining build issues on macOS
...
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20030 >
2022-11-28 16:10:19 +00:00
Eric Engestrom
fcb207a4d3
asahi: add fallback for DRM_FORMAT_MOD_INVALID on macOS
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19879 >
2022-11-28 16:00:29 +00:00
Samuel Pitoiset
a6d7d2a525
radv: emit DB_RENDER_OVERRIDE2 as part of the framebuffer
...
The number of samples from the image has to match the number of samples
from the pipeline anyways.
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/19906 >
2022-11-28 15:20:59 +00:00
Erik Faye-Lund
8d3c96a49c
freedreno/decode: add missing dependency
...
The source code for rddecompiler includes adreno_common.xml.h, which is
a generated header. In order to ensure that the header has been written
when compiling rddecompiler.c, we need a dependency here.
Fixes: 03d80e0a6d ("freedreno/decode: Add 'rddecompiler' tool")
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20003 >
2022-11-28 13:08:05 +00:00
Vinson Lee
f6bef7305b
freedreno/rddecompiler: Fix memory leak.
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable stream_data going out of scope leaks the storage it points to.
Fixes: a7773c3c4c ("freedreno/rddecompiler: Add shader disasm/asm support")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20028 >
2022-11-28 12:59:07 +00:00
Gert Wollny
9fe16c91b3
clover: test for nir fp64 lowering options for cl_khr_fp64
...
With NIR we have softfp64, but we don't really want this for CL,
so check whether fp64 is lowered to a software implementation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7750
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19919 >
2022-11-28 11:48:42 +00:00
Karmjit Mahil
e30b6563ca
pvr: Setup tile buffers.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20007 >
2022-11-28 11:38:38 +00:00
Karmjit Mahil
42e9cc010d
pvr: Don't print out secondaries if they aren't used.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
ebf639f4ff
pvr: Add '+' before desc offsets in debug output.
...
Having the '+' makes it more obvious that it's the offset of the
primary/secondary.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
8a69019277
pvr: Use glsl syntax to show set and binding number.
...
This makes the descriptor set debug output's descriptor set number
and binding number more obvious. The previous format wasn't as
obvious unless you knew how to read it.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
260db8112a
pvr: Change how desc set debug output section dividers are printed.
...
Instead of hard coding in the exact string to print out for the
divider, now we're printing the same char n times so we only need
to specify the character and how many times to retreat it.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
02626072e2
pvr: Don't print inactive bindings.
...
Previously all bindings were printed out and an "X" was used to
indicate if a binding was not active for a particular stage.
This commit just skips those bindings entirely reducing possible
confusion.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
6d9a7d1597
pvr: Print out empty row if dynamic primaries or secondaries are missing.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:36 +00:00
Karmjit Mahil
567ae39738
pvr: Explain why dynamic descriptors are allocated separately.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20008 >
2022-11-28 09:12:35 +00:00
Konstantin Seurer
c5d91ab254
radv/rt: Check space before emitting descriptors
...
Found by inspection.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20020 >
2022-11-27 18:45:41 +00:00
Konstantin Seurer
0966fb2c10
radv/ray_queries: Fix AABB handling
...
AABB intersections always have to be committed manually.
-> We don't have to copy opaque ones to closest.
It's also invalid to query t for candidate AABBs.
Totals from 7 (14.29% of 49) affected shaders:
CodeSize: 171008 -> 169672 (-0.78%)
Instrs: 32499 -> 32250 (-0.77%); split: -0.78%, +0.01%
Latency: 418859 -> 414759 (-0.98%); split: -0.98%, +0.00%
InvThroughput: 89182 -> 88251 (-1.04%); split: -1.05%, +0.00%
VClause: 602 -> 599 (-0.50%)
SClause: 837 -> 835 (-0.24%)
Copies: 4804 -> 4802 (-0.04%); split: -0.35%, +0.31%
Branches: 1593 -> 1585 (-0.50%)
PreSGPRs: 567 -> 566 (-0.18%)
Fixes: 3f72061 ("radv/rq: Use the common traversal helper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19698 >
2022-11-27 12:57:02 +01:00
Konstantin Seurer
409556f048
radv/ray_queries: Move some initialization outside a likely branch
...
Gets rid of some copies.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19698 >
2022-11-27 12:57:02 +01:00
Marek Olšák
8fdaa25c54
frontend/dri: rewrite and comment dri_make_current to make it make sense
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
51fcabfb04
frontend/dri: unduplicate flush_drawable callback
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
eaf99194ea
frontend/dri: remove the drawable ctx hack, we should always use current context
...
I've checked the loaders that this is what they expect.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
f2c4aba9e1
frontend/dri: clean up updating dri_drawable::refcount
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
7d5b1cd02c
frontend/dri: move callbacks from the VTable into dri_screen, dri_drawable
...
This just moves the callbacks and renames the functions.
Some functions had to be moved up because they are initialized there.
Remove some obsolete comments.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
f34d607d2f
frontend/dri: clean up the hacky implementation of kopper_drawable
...
Just put the kopper_drawable fields into dri_drawable and remove
kopper_drawable. The creation code is simplified.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
165b8a9fef
frontend/dri: inline __DRIscreen in dri_screen, make __DRIscreen opaque
...
This cleanup removes the dri_util structure __DRIscreen(Rec) that is
difficult to follow, and switches all code to using dri_screen directly.
It also inlines kopper_screen in dri_screen because I don't see any
other way to do this cleanup.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
0a622f61ea
frontend/dri: inline __DRIcontext in dri_context, make __DRIcontext opaque
...
This cleanup removes the dri_util structure __DRIcontext(Rec) that is
difficult to follow, and switches all code to using dri_context directly.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
c65bde7b1e
frontend/dri: inline __DRIdrawable in dri_drawable, make __DRIdrawable opaque
...
This cleanup removes the dri_util structure __DRIdrawable(Rec) that is
difficult to follow, and switches all code to using dri_drawable directly.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
449a35a397
frontend/dri: replace the CopySubBuffer callback with a direct call
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
2941eacb22
frontend/dri: replace the DestroyBuffer callback with a direct call
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
f408bb647c
frontend/dri: replace the DestroyScreen callback with a direct call
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:42 +00:00
Marek Olšák
d57284d673
frontend/dri: inline __DriverAPIRec
...
the vtable indirection was unnecessary
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:41 +00:00
Marek Olšák
e061affa7f
frontend/dri: remove __DRIdrawableRec::dri2::stamp
...
It's practically unused. It was only off by one at initialization, but
that didn't have any effect.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:41 +00:00
Marek Olšák
f890714b70
frontend/dri: add comments describing drawable invalidation logic
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:41 +00:00
Marek Olšák
426f1cbea3
dri: move private __DRIDriverVtableExtension out of dri_interface.h
...
It's only used internally.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:41 +00:00
Marek Olšák
8cb8a3c03d
glx,dri: simplify indirect function call syntax
...
just remove () and * and the space
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19741 >
2022-11-27 02:52:41 +00:00
David Heidelberg
fbf93ef821
ci/amd: add raven flakes which was previously failing
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20022 >
2022-11-26 23:35:53 +01:00
Bas Nieuwenhuizen
a97a6d0f0e
radv: reserve space for the scissor in vkCmdBeginRendering.
...
Fixes: c7d0d328d5 ("radv: Set the window scissor to the render area, not framebuffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20014 >
2022-11-26 14:35:54 +00:00
Tatsuyuki Ishi
2a3ed9521d
radv: Enable rayTracingPipelineShaderGroupHandleCaptureReplay[Mixed].
...
Tested that a q2rtx gfxr capture replays correctly and without the
capture/replay feature warning.
I ran the CTS too, but it seems to be just giving out a pass without
testing the code path.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19949 >
2022-11-26 13:57:56 +00:00
Tapani Pälli
dba75d345d
nir: fix a leak of ralloc ctx in nir_opt_ray_query_ranges
...
Fixes following leak:
==7520== 48 bytes in 1 blocks are definitely lost in loss record 1,597 of 2,016
==7520== at 0x484486F: malloc (vg_replace_malloc.c:381)
==7520== by 0x5314A4E: ralloc_size (ralloc.c:117)
==7520== by 0x5314A1F: ralloc_context (ralloc.c:104)
==7520== by 0x6A95D68: nir_opt_ray_query_ranges (nir_opt_ray_queries.c:235)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: f5b6576585 ("nir: Add a pass for combining ray queries")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20002 >
2022-11-25 22:04:52 +00:00
Lucas Stach
2de7d6d1d8
etnaviv: remove copy of resource level in etna_surface
...
Keeping a full copy of the resource level around in the surface is
confusing and this confusion has caused real bugs already. Get rid
of the copy by retrieving most of the information directly from the
etna_resource_level pointed at from the surface. Only the precomputed
offsets into the target and TS BOs need to be kept in the surface.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19814 >
2022-11-25 21:30:40 +00:00
Lucas Stach
b6fa3cdb0e
etnaviv: fix wrong surface TS clear size
...
Clearing ts_size - ts_offset bytes in a level means we are clearing the
TS region of all layers in the level starting from the surface layer, so
clearing one surface might corrupt all other layers of a resource level.
Use the correct size to clear only the requested TS region.
Cc: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19814 >
2022-11-25 21:30:40 +00:00
Lucas Stach
d9e2a7d6ad
etnaviv: blt: use correct TS offset in clear operations
...
Using the ts_offset from the level means we are always clearing the
TS region of layer 0 of the level. Use the correct offset which takes
into account the layer offset.
Cc: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19814 >
2022-11-25 21:30:40 +00:00