platform/upstream/mesa.git
17 months agoasahi: Merge fragment control XML
Alyssa Rosenzweig [Sat, 7 Jan 2023 04:22:33 +0000 (23:22 -0500)]
asahi: Merge fragment control XML

Same struct specified twice and merged in the hw.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21081>

17 months agoasahi: Remove redundant tri merge disable bit
Alyssa Rosenzweig [Sat, 7 Jan 2023 04:19:45 +0000 (23:19 -0500)]
asahi: Remove redundant tri merge disable bit

Cargoculted from Metal.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21081>

17 months agoasahi: DRY dirty tracking conditions
Alyssa Rosenzweig [Sat, 7 Jan 2023 04:17:27 +0000 (23:17 -0500)]
asahi: DRY dirty tracking conditions

Ella did this in agxv and it made a lot more sense than the copypasta I did.
Should get copypropped to similar code.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21081>

17 months agoasahi: Implement nontrivial rasterizer discard
Alyssa Rosenzweig [Thu, 22 Dec 2022 03:06:25 +0000 (22:06 -0500)]
asahi: Implement nontrivial rasterizer discard

For vertex shaders with side effects, as seen with transform feedback.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21081>

17 months agoasahi: Prefer blit-based texture transfer
Alyssa Rosenzweig [Thu, 15 Dec 2022 20:47:41 +0000 (15:47 -0500)]
asahi: Prefer blit-based texture transfer

This speeds up glReadPixels. Instead of reading from the write-combined
framebuffer and converting colours on the CPU, this blits on the GPU to a
writeback staging resource with the colour conversion for free, and memcpies
from the writeback staging resource on the CPU.

In general, due to textures being write combined and tiled/compressed by default
by staging resources being linear writeback, blit-based texture transfer should
win out (you were going to blit anyway), particularly when format conversion is
involved

33% reduction in wall clock time for grim at 4K. No change in deqp-gles2
runtime.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21063>

17 months agoasahi: Make STAGING resources linear
Alyssa Rosenzweig [Sat, 17 Dec 2022 22:06:24 +0000 (17:06 -0500)]
asahi: Make STAGING resources linear

As intended by the flag.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21063>

17 months agoasahi: Use writeback when it looks beneficial
Alyssa Rosenzweig [Sat, 17 Dec 2022 21:28:54 +0000 (16:28 -0500)]
asahi: Use writeback when it looks beneficial

When playing the My Little Pony theme song at 1080p on T8103, with mpv's GPU
compositing but software decoding, CPU usage drops from 200% to 50% due to
proper caching of the staging resource.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21063>

17 months agoasahi: Refuse to transfer out-of-bounds mip levels
Asahi Lina [Fri, 9 Dec 2022 11:16:28 +0000 (20:16 +0900)]
asahi: Refuse to transfer out-of-bounds mip levels

Fixes ail asserts on a pile of dEQP3 tests.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21063>

17 months agoagx: Support uniform registers as LODs
Alyssa Rosenzweig [Sat, 21 Jan 2023 17:35:11 +0000 (12:35 -0500)]
agx: Support uniform registers as LODs

This will avoid regressing moves when we lower sampler LOD bias. Corresponding
disassembler change: https://github.com/dougallj/applegpu/pull/22

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20833>

17 months agoasahi: Correct alignment for USC Uniform packets
Alyssa Rosenzweig [Sat, 4 Feb 2023 03:02:34 +0000 (22:02 -0500)]
asahi: Correct alignment for USC Uniform packets

We only need 4 byte alignment, not 8 bytes. This isn't a big difference in
practice, but it probably reduces padding in some cases. More importantly, it
corrects our XML to match what the hardware actually does, which is great.
(There is exactly enough room for a 40-bit address with 4 byte alignment.)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21118>

17 months agoasahi/nir_lower_sysvals: Split large ranges
Alyssa Rosenzweig [Sat, 4 Feb 2023 01:58:05 +0000 (20:58 -0500)]
asahi/nir_lower_sysvals: Split large ranges

It is our responsibility to ensure uniform ranges don't exceed 64 uniforms.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21118>

17 months agoasahi: Strengthen agx_usc_uniform contract
Alyssa Rosenzweig [Sat, 4 Feb 2023 01:54:41 +0000 (20:54 -0500)]
asahi: Strengthen agx_usc_uniform contract

Check the size explicitly, instead of just implicitly in the GenXML pack: it is
the responsibility of the caller to split up larger uploads. While this is
nominally more complicated, agx_usc_uniform is called in the draw hot path
whereas the actual splitting decision can usually be done at compile-time.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21118>

17 months agoasahi: Fix encoding of uniform size
Alyssa Rosenzweig [Sat, 4 Feb 2023 01:53:41 +0000 (20:53 -0500)]
asahi: Fix encoding of uniform size

Only 6-bits, with zero=64 like a groups() encoding.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Suggested-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21118>

17 months agoasahi: Set layout->mipmapped_z for 3D textures
Alyssa Rosenzweig [Fri, 3 Feb 2023 23:42:29 +0000 (18:42 -0500)]
asahi: Set layout->mipmapped_z for 3D textures

There's a corner case where 3D textures have extra padding compared to 2D
arrays. We need to communicate that to ail.

Fixes
dEQP-GLES3.functional.texture.specification.texstorage3d.size.3d_32x16x64_4_levels.
That test now uses the same layout as Metal.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21114>

17 months agoail: Test 63x63 cube map
Alyssa Rosenzweig [Fri, 3 Feb 2023 23:54:48 +0000 (18:54 -0500)]
ail: Test 63x63 cube map

This has a subtle interaction with page-aligned layers. Written while debugging
dEQP-GLES3.functional.texture.filtering.cube.combinations.nearest_nearest_repeat_clamp

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21114>

17 months agoail: Test mipmapped_z behaviour
Alyssa Rosenzweig [Fri, 3 Feb 2023 23:47:53 +0000 (18:47 -0500)]
ail: Test mipmapped_z behaviour

The mipmapped_z = true case is checked against Metal, the false case is smoke
testing the old behaviour (which is still used for 2D arrays).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21114>

17 months agoail: Add layout->mipmapped_z input
Alyssa Rosenzweig [Fri, 3 Feb 2023 23:46:20 +0000 (18:46 -0500)]
ail: Add layout->mipmapped_z input

For 3D images, the full miptree depends on the depth of the image, in contrast
to 2D arrays. We need to account for this to calculate the correct layer
strides.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21114>

17 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Wed, 25 Jan 2023 11:54:57 +0000 (12:54 +0100)]
ci: disable Collabora's LAVA lab for maintance

This is to inform you of some planned downtime in the LAVA lab as follows:

    Start: 2023-02-04 06:00 GMT
    End: 2023-02-06 12:00 GMT

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21119>

17 months agonir: Eliminate nir_op_f2b
Ian Romanick [Tue, 22 Feb 2022 18:22:12 +0000 (10:22 -0800)]
nir: Eliminate nir_op_f2b

Builds on the work of !15121.  This gets to delete even more code
because many drivers shared a lot of code for i2b and f2b.

No shader-db or fossil-db changes on any Intel platform.

v2: Rebase on 1a35acd8d9006c9.

v3: Update a comment in nir_opcodes_c.py. Suggested by Konstantin.

v4: Another rebase. Remove f2b stuff from Midgard.

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

17 months agonir/builder: Handle f2b conversions specially in nir_type_convert
Ian Romanick [Wed, 2 Nov 2022 01:28:46 +0000 (18:28 -0700)]
nir/builder: Handle f2b conversions specially in nir_type_convert

No shader-db or fossil-db changes on any Intel platform.

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

17 months agonir/builder: Eliminate nir_f2b helper (and use of nir_f2b32 helper)
Ian Romanick [Tue, 22 Feb 2022 20:07:04 +0000 (12:07 -0800)]
nir/builder: Eliminate nir_f2b helper (and use of nir_f2b32 helper)

There were only two users. Replace each with nir_fneu instead.

This is now a squash of what was two separate commits.
nir_lower_pstipple_block is called after nir_lower_bool_to_int32, so
nir_fneu32 has to be used here or there will be regresssions in stipple
tests on llvmpipe.

v2: Rebase on !20869.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Suggested-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20509>

17 months agozink: add back VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT for bindless
Mike Blumenkrantz [Fri, 3 Feb 2023 18:09:34 +0000 (13:09 -0500)]
zink: add back VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT for bindless

this was accidentally lost in refactor

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

17 months agozink: handle missing line rasterization modes with ds3
Mike Blumenkrantz [Fri, 3 Feb 2023 15:10:36 +0000 (10:10 -0500)]
zink: handle missing line rasterization modes with ds3

it's annoying to validate this at runtime since it has to happen during draw,
but storing the "usable" ds3 mode separately from the pipeline state should
be a reasonable enough compromise for perf here...hopefully

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

17 months agozink: cache and reuse dummy inputattachment for fbfetch
Mike Blumenkrantz [Fri, 3 Feb 2023 15:09:03 +0000 (10:09 -0500)]
zink: cache and reuse dummy inputattachment for fbfetch

apparently an actual null descriptor is illegal here, and it's wasted cpu
anyway, so just cache the dummy surface on init and use that data when
fbfetch isn't active but the layout requires it

Fixes: 7ab5c5d36d2 ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21100>

17 months agozink: fix more cases of heap/memtype suballocator mismatch
Mike Blumenkrantz [Fri, 3 Feb 2023 15:06:32 +0000 (10:06 -0500)]
zink: fix more cases of heap/memtype suballocator mismatch

suballocation must happen based on the memtype, so also add some asserts to
ensure the slab bos are always what the caller expects

Fixes: f6d3a5755f6 ("zink: zink_heap isn't 1-to-1 with memoryTypeIndex")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21100>

17 months agozink: free descriptor buffer maps on batch state destroy
Mike Blumenkrantz [Fri, 3 Feb 2023 13:42:22 +0000 (08:42 -0500)]
zink: free descriptor buffer maps on batch state destroy

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

17 months agozink: fix sparse residency query and minLOD feature checks
SoroushIMG [Mon, 30 Jan 2023 18:53:19 +0000 (18:53 +0000)]
zink: fix sparse residency query and minLOD feature checks

cc: mesa-stable

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

17 months agovenus: lazily query and cache gralloc front rendering usage
Yiwei Zhang [Fri, 3 Feb 2023 10:29:16 +0000 (10:29 +0000)]
venus: lazily query and cache gralloc front rendering usage

When skiavk is the default system ui renderer, venus icd gets preloaded
into Zygote. However, Zygote access to render node is normally denied by
selinux except for legacy bootanimation purpose. This change fixes venus
icd loading to avoid invoking cros gralloc driver loading by moving the
perform op outside, so that we still get the memory footprint win.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21107>

17 months agoci/llvmpipe: Drop skip of InteractionFunctionCalls2.
Emma Anholt [Thu, 2 Feb 2023 22:24:37 +0000 (14:24 -0800)]
ci/llvmpipe: Drop skip of InteractionFunctionCalls2.

This one is down to <5 seconds here these days.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21084>

17 months agoci/swrast: Drop skips for tests whose perf had been fixed.
Emma Anholt [Thu, 2 Feb 2023 22:19:32 +0000 (14:19 -0800)]
ci/swrast: Drop skips for tests whose perf had been fixed.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21084>

17 months agogallivm: Do the same codegen improvement for constant-index array loads.
Emma Anholt [Thu, 2 Feb 2023 22:10:42 +0000 (14:10 -0800)]
gallivm: Do the same codegen improvement for constant-index array loads.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21084>

17 months agogallivm: Fix codegen performance for constant-index register array stores.
Emma Anholt [Thu, 2 Feb 2023 20:36:23 +0000 (12:36 -0800)]
gallivm: Fix codegen performance for constant-index register array stores.

Instead of generating num_components*simdwidth scattered stores, if
there's no indirect then we can just look up the pointer to the
base_offset and do a simd store there.

dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i64vec4 goes
from 30s to ~2s.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21084>

17 months agogallivm: Fix the type of array nir_registers.
Emma Anholt [Thu, 2 Feb 2023 22:04:56 +0000 (14:04 -0800)]
gallivm: Fix the type of array nir_registers.

This now matches how they get dereffed by get_soa_array_offsets() -- each
array element has num_components vecs inside of it, rather than each
components has an array in it.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21084>

17 months agogallivm: Enable GALLIVM_DEBUG (mostly) on non-DEBUG builds.
Emma Anholt [Thu, 2 Feb 2023 19:43:23 +0000 (11:43 -0800)]
gallivm: Enable GALLIVM_DEBUG (mostly) on non-DEBUG builds.

This is what let me do the performance work in my recent gallivm MRs.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21086>

17 months agollvmpipe: Enable LP_DEBUG on normal builds.
Emma Anholt [Thu, 2 Feb 2023 19:28:59 +0000 (11:28 -0800)]
llvmpipe: Enable LP_DEBUG on normal builds.

I don't typically include DEBUG because it sometimes has expensive debug
code, but these options are not that.

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

17 months agomeson: combine checks for linker --gc-sections support
Dylan Baker [Thu, 2 Feb 2023 21:05:33 +0000 (13:05 -0800)]
meson: combine checks for linker --gc-sections support

We first do an incomplete check for whether the linker supports
--gc-sections, then potentially add C and C++ arguments assuming that it
works, then later do a complete check to see if it actually works and
use --gc-sections. This means we can end up putting functions and data
in separate sections when we can't gc them.

Combine the checks, do less work, and be more accurate.

fixes: f51ce21e4e0bf7efabe58afb4a2cd6b9f98d9505
       ("meson: Drop adding -Wl,--gc-sections to project c/cpp arguments.")

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21083>

17 months agopanfrost: Implement GL_EXT_render_snorm on Bifrost+
Alyssa Rosenzweig [Thu, 12 Jan 2023 21:25:52 +0000 (16:25 -0500)]
panfrost: Implement GL_EXT_render_snorm on Bifrost+

It turns out it's really easy.

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

17 months agoci/lvp: Drop the subgroupbroadcast skips.
Emma Anholt [Tue, 31 Jan 2023 22:45:46 +0000 (14:45 -0800)]
ci/lvp: Drop the subgroupbroadcast skips.

These have the same runtime as the others in the group, and with these
optimizations they no longer time out.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agogallivm: Use first active invocation in some image/ssbo accesses.
Emma Anholt [Mon, 30 Jan 2023 23:33:44 +0000 (15:33 -0800)]
gallivm: Use first active invocation in some image/ssbo accesses.

These should be looking at that rather than blindly using invocation 0
(which may be junk when in control flow).

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agogallivm: Use cttz instead of a loop for first_active_invocation().
Emma Anholt [Mon, 30 Jan 2023 22:14:26 +0000 (14:14 -0800)]
gallivm: Use cttz instead of a loop for first_active_invocation().

This should be way faster to compile by not spamming so many loops at
LLVM, and faster to execute if LLVM didn't figure out what that loop
meant.

It looks vector reduce ops aren't really a thing, just a convenience in
the IR.  We should be able to do better by counting zeroes in the
exec_mask != 0 result.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agogallivm: Return 0 first_active_invocation when we know that up front.
Emma Anholt [Mon, 30 Jan 2023 21:42:48 +0000 (13:42 -0800)]
gallivm: Return 0 first_active_invocation when we know that up front.

46 -> 30 seconds on
dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4 by
not spamming LLVM with so many loops.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agogallivm: Refactor out a shared "get the first active invocation" loop.
Emma Anholt [Mon, 30 Jan 2023 21:38:23 +0000 (13:38 -0800)]
gallivm: Refactor out a shared "get the first active invocation" loop.

Dynamic texture indices had a similar "find an active channel" loop,
though it happened to use the last active channel rather than the first.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agogallivm: Optimize emit_read_invocation's first-invocation loop.
Emma Anholt [Mon, 30 Jan 2023 21:05:45 +0000 (13:05 -0800)]
gallivm: Optimize emit_read_invocation's first-invocation loop.

We don't need to deref invoc inside -- invoc is uniform in active
channels, so we can find our first active invocation in the loop, and then
dereference invocation once outside.

50 -> 46 seconds on
dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i16vec4

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21001>

17 months agoasahi: Lower texcoords late
Alyssa Rosenzweig [Sun, 18 Dec 2022 04:03:24 +0000 (23:03 -0500)]
asahi: Lower texcoords late

This uses the new pass to lower tex coordinates late, which gets us one step
closer to preprocessing NIR at CSO create time instead of variant create time.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21065>

17 months agoasahi: Run nir_lower_fragcolor during preprocessing
Alyssa Rosenzweig [Tue, 29 Nov 2022 03:37:31 +0000 (22:37 -0500)]
asahi: Run nir_lower_fragcolor during preprocessing

This pass needs to run early (because it depends on early I/O), but it doesn't
actually need the shader key. Why not? If we overestimate the number of render
targets, extra store_output intrinsics will be generated, but they will be
deleted by AGX tilebuffer lowering later.

Note we'll probably want something smarter than this for fragment epilogues in
the future to avoid piles of unnecessary moves.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21065>

17 months agonir: Add a late texcoord replacement pass
Alyssa Rosenzweig [Sun, 18 Dec 2022 04:02:32 +0000 (23:02 -0500)]
nir: Add a late texcoord replacement pass

Add a second NIR pass for lowering point/texture coordinate replacement (i.e.
point sprites). Why a second one? The current pass works on derefs/variables,
which is good for drivers that don't lower I/O at all (like Zink, where the pass
originates). However, it is problematic for hardware drivers: the inputs to this
pass depend on the shader key, so we want to run the pass as late as possible to
minimize the cost of building/compiling the associated shader variants. In
particular, we need to be able to lower point sprites after lowering I/O if we
would like to lower I/O when preprocessing NIR.

The logic for early lowering and late lowering is considerably different (the
late lowering is a lot simpler), so I've split this out into a second pass
rather than trying to weld them together into one.

This pass will be used on Asahi, which currently uses the early pass. It may be
useful for other drivers as well. (Actually, it's been shipping on Asahi for a
little while now, just hasn't been sent upstream yet.)

Tested with Neverball.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Asahi Lina <lina@asahilina.net>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21065>

17 months agoradv: Work around shader_call_data variables in raygen shaders
Konstantin Seurer [Thu, 26 Jan 2023 10:30:17 +0000 (11:30 +0100)]
radv: Work around shader_call_data variables in raygen shaders

Closes: #5326
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20930>

17 months agoci/lavapipe: use dxvk for the traces
David Heidelberg [Wed, 25 Jan 2023 00:38:00 +0000 (01:38 +0100)]
ci/lavapipe: use dxvk for the traces

Since the job is manual, this stayed overlooked.

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

17 months agoci: uprev piglit (etag md5 checksumming support)
David Heidelberg [Fri, 20 Jan 2023 22:26:43 +0000 (23:26 +0100)]
ci: uprev piglit (etag md5 checksumming support)

Support for FDO etag http header.

Includes line-smooth-stipple test improvements.

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20875>

17 months agoaco: remove early_rast wait insert
Qiang Yu [Sun, 15 Jan 2023 11:04:18 +0000 (19:04 +0800)]
aco: remove early_rast wait insert

It's done in nir position export.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agonir,ac/llvm,aco,radv,radeonsi: remove nir_export_vertex_amd
Qiang Yu [Sun, 25 Dec 2022 15:08:38 +0000 (23:08 +0800)]
nir,ac/llvm,aco,radv,radeonsi: remove nir_export_vertex_amd

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agonir,ac/llvm,aco: remove nir_export_primitive_amd
Qiang Yu [Sun, 25 Dec 2022 14:41:39 +0000 (22:41 +0800)]
nir,ac/llvm,aco: remove nir_export_primitive_amd

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg,radv: ms use ac_nir_export_(primitive|position|parameter)
Qiang Yu [Sun, 25 Dec 2022 14:27:18 +0000 (22:27 +0800)]
ac/nir/ngg,radv: ms use ac_nir_export_(primitive|position|parameter)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg: gs use ac_nir_export_(position|parameter)
Qiang Yu [Sat, 24 Dec 2022 11:23:55 +0000 (19:23 +0800)]
ac/nir/ngg: gs use ac_nir_export_(position|parameter)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg: prepare gather_vs_outputs to be used by gs
Qiang Yu [Sat, 24 Dec 2022 11:16:08 +0000 (19:16 +0800)]
ac/nir/ngg: prepare gather_vs_outputs to be used by gs

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg,radv,radeonsi: nogs use ac_nir_export_(position|parameter)
Qiang Yu [Sat, 24 Dec 2022 06:55:29 +0000 (14:55 +0800)]
ac/nir/ngg,radv,radeonsi: nogs use ac_nir_export_(position|parameter)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg: change clipdist_neg_mask_var type to uint32
Qiang Yu [Sat, 14 Jan 2023 14:17:47 +0000 (22:17 +0800)]
ac/nir/ngg: change clipdist_neg_mask_var type to uint32

ACO does not support 8bit ALU ops.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/ngg: fix clip dist culling mask uninitialized
Qiang Yu [Sat, 14 Jan 2023 14:06:32 +0000 (22:06 +0800)]
ac/nir/ngg: fix clip dist culling mask uninitialized

Fixes: f75452918b2 ("ac/nir/ngg: support clipdist culling")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir,radv,radeonsi: gs copy shader use ac_nir_export_(position|parameter)
Qiang Yu [Fri, 23 Dec 2022 12:58:59 +0000 (20:58 +0800)]
ac/nir,radv,radeonsi: gs copy shader use ac_nir_export_(position|parameter)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir,radv,radeonsi: legacy vs use ac_nir_export_(position|parameter)
Qiang Yu [Fri, 23 Dec 2022 09:17:54 +0000 (17:17 +0800)]
ac/nir,radv,radeonsi: legacy vs use ac_nir_export_(position|parameter)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoradeonsi: set nr_pos_exports outside of llvm translation
Qiang Yu [Fri, 23 Dec 2022 12:06:07 +0000 (20:06 +0800)]
radeonsi: set nr_pos_exports outside of llvm translation

This can save an abi interface when we share position export
code with RADV.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoradeonsi: remove the extra handling for VS/TES primitive id
Qiang Yu [Wed, 4 Jan 2023 02:16:19 +0000 (10:16 +0800)]
radeonsi: remove the extra handling for VS/TES primitive id

We have moved si_nir_assign_param_offsets before output lowering
pass, so there won't be primitive id store output when VS/TES here.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoradeonsi: update outputs written nir info
Qiang Yu [Wed, 4 Jan 2023 02:11:59 +0000 (10:11 +0800)]
radeonsi: update outputs written nir info

We may remove some outputs when si_nir_kill_outputs and
ac_nir_optimize_outputs, so update the outputs written
info for output lower pass to skip manipulating these
outputs.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoradeonsi: clamp vertex color in legacy gs instead of gs copy shader
Qiang Yu [Sat, 28 Jan 2023 02:17:38 +0000 (10:17 +0800)]
radeonsi: clamp vertex color in legacy gs instead of gs copy shader

gs copy shader is going to emit nir_export_amd directly so this vertex
color clamp pass which apply to nir_store_output will not work.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoamd,radeonsi: implement nir_load_force_vrs_rates_amd in driver abi
Qiang Yu [Sat, 28 Jan 2023 08:25:11 +0000 (16:25 +0800)]
amd,radeonsi: implement nir_load_force_vrs_rates_amd in driver abi

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir: add force_vrs to ac_nir_export_position
Qiang Yu [Sun, 29 Jan 2023 01:46:43 +0000 (09:46 +0800)]
ac/nir: add force_vrs to ac_nir_export_position

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir: add ac_nir_export_parameter
Qiang Yu [Wed, 21 Dec 2022 07:49:43 +0000 (15:49 +0800)]
ac/nir: add ac_nir_export_parameter

For last VGT stage to export parameter outputs.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir: add ac_nir_export_position
Qiang Yu [Wed, 21 Dec 2022 07:04:47 +0000 (15:04 +0800)]
ac/nir: add ac_nir_export_position

Used by last VGT stage to export position related outputs.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir: gs and nogs use ac_nir_export_primitive
Qiang Yu [Mon, 19 Dec 2022 08:01:15 +0000 (16:01 +0800)]
ac/nir: gs and nogs use ac_nir_export_primitive

Mesh shader primitive export is left unchanged because it needs
extra changes for per primitive output export when export
primitive.

Mesh shader will use second channel of primitive export.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoaco: implement nir_export_amd
Qiang Yu [Mon, 19 Dec 2022 07:38:19 +0000 (15:38 +0800)]
aco: implement nir_export_amd

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/llvm: implement nir_export_amd
Qiang Yu [Mon, 19 Dec 2022 06:27:56 +0000 (14:27 +0800)]
ac/llvm: implement nir_export_amd

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agonir: add nir_export_amd intrinsic
Qiang Yu [Mon, 19 Dec 2022 03:03:54 +0000 (11:03 +0800)]
nir: add nir_export_amd intrinsic

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20691>

17 months agoac/nir/cull: Alway remove zero-area triangles in face culling.
Timur Kristóf [Mon, 30 Jan 2023 14:34:40 +0000 (15:34 +0100)]
ac/nir/cull: Alway remove zero-area triangles in face culling.

The face culling algorithm should have been disabled for
conservative overestimation because it already
(mistakenly) removed some close-to-zero area triangles.

Now that the driver disables it in that case,
let's always remove zero-area triangles.
This only costs +2 SALU instructions.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20987>

17 months agoradv: Disable NGG culling when conservative overestimation is used.
Timur Kristóf [Mon, 30 Jan 2023 14:23:12 +0000 (15:23 +0100)]
radv: Disable NGG culling when conservative overestimation is used.

Even when small primitive culling is disabled, the face culling algorithm
in ac_nir_cull can delete tiny triangles when their area is almost zero.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-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/20987>

17 months agoanv: handle ATTACHMENT_OPTIMAL layout
Constantine Shablya [Thu, 2 Feb 2023 08:45:16 +0000 (10:45 +0200)]
anv: handle ATTACHMENT_OPTIMAL layout

Closes: #8216
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21066>

17 months agoutil: Implement util_iround with lrintf unconditionally
Yonggang Luo [Wed, 21 Dec 2022 16:46:34 +0000 (00:46 +0800)]
util: Implement util_iround with lrintf unconditionally

Because the place that called util_iround are always ensured
that INT_MIN <= f <= INT_MAX

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19978>

17 months agozink: enable bindless texture with ZINK_DESCRIPTORS=db
Mike Blumenkrantz [Thu, 2 Feb 2023 22:15:25 +0000 (17:15 -0500)]
zink: enable bindless texture with ZINK_DESCRIPTORS=db

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

17 months agozink: implement descriptor buffer handling of bindless texture
Mike Blumenkrantz [Thu, 2 Feb 2023 22:14:36 +0000 (17:14 -0500)]
zink: implement descriptor buffer handling of bindless texture

pretty straightforward, just lazily allocating the context-based db
and then writing updates to it on-demand

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

17 months agozink: add a flag to indicate whether a descriptor buffer is bound
Mike Blumenkrantz [Thu, 2 Feb 2023 22:09:14 +0000 (17:09 -0500)]
zink: add a flag to indicate whether a descriptor buffer is bound

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

17 months agozink: break out descriptor binding into separate function
Mike Blumenkrantz [Thu, 2 Feb 2023 22:08:35 +0000 (17:08 -0500)]
zink: break out descriptor binding into separate function

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

17 months agozink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT on compute pipelines
Mike Blumenkrantz [Thu, 2 Feb 2023 21:14:56 +0000 (16:14 -0500)]
zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT on compute pipelines

same as gfx

Fixes: 7ab5c5d36d2 ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21085>

17 months agozink: skip updating descriptor buffer sets that aren't active
Mike Blumenkrantz [Thu, 2 Feb 2023 19:06:40 +0000 (14:06 -0500)]
zink: skip updating descriptor buffer sets that aren't active

this is a no-op and illegal

Fixes: 7ab5c5d36d2 ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21085>

17 months agozink: fix bindless struct member comments
Mike Blumenkrantz [Thu, 2 Feb 2023 18:02:06 +0000 (13:02 -0500)]
zink: fix bindless struct member comments

this was a bit confusing having the overall substruct comment which
was occasionally wrong

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

17 months agozink: make bindless buffer_infos a union
Mike Blumenkrantz [Thu, 2 Feb 2023 16:22:25 +0000 (11:22 -0500)]
zink: make bindless buffer_infos a union

prep for descriptor buffer handling

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

17 months agozink: enable PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT
Mike Blumenkrantz [Thu, 2 Feb 2023 15:44:12 +0000 (10:44 -0500)]
zink: enable PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT

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

17 months agoamd/ci: update sanctuary trace sha1
Marek Olšák [Wed, 1 Feb 2023 17:03:27 +0000 (12:03 -0500)]
amd/ci: update sanctuary trace sha1

I guess it's because RB+ blending is now more precise.

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

17 months agoradeonsi: set sampler COMPAT_MODE in the corresponding branch
Marek Olšák [Tue, 31 Jan 2023 06:05:44 +0000 (01:05 -0500)]
radeonsi: set sampler COMPAT_MODE in the corresponding branch

no functional change

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoradeonsi: call ac_init_llvm_once before any util_queue initialization
Marek Olšák [Tue, 31 Jan 2023 12:30:51 +0000 (07:30 -0500)]
radeonsi: call ac_init_llvm_once before any util_queue initialization

The winsys uses util_queue, which calls atexit, so do it before the winsys
is created.

Cc: stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd/llvm: fix LLVM 15 & 16 crashes in SelectionDAG.cpp
Marek Olšák [Wed, 25 Jan 2023 03:26:38 +0000 (22:26 -0500)]
amd/llvm: fix LLVM 15 & 16 crashes in SelectionDAG.cpp

Cc: stable
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoradeonsi: set NEVER as the depth compare func if depth compare is disabled
Marek Olšák [Tue, 31 Jan 2023 11:15:34 +0000 (06:15 -0500)]
radeonsi: set NEVER as the depth compare func if depth compare is disabled

Fixes: 0c6e56c391a262bef - mesa: (more) correctly handle incomplete depth textures

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd/registers: remove confusing definitions from gfx10-rsrc.json
Marek Olšák [Tue, 31 Jan 2023 05:16:55 +0000 (00:16 -0500)]
amd/registers: remove confusing definitions from gfx10-rsrc.json

this will never be used and shouldn't have been added

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: document OOB behavior on gfx11
Marek Olšák [Mon, 30 Jan 2023 12:49:34 +0000 (07:49 -0500)]
amd: document OOB behavior on gfx11

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: fix typo in shadowed uconfig registers on gfx11
Marek Olšák [Fri, 27 Jan 2023 23:02:37 +0000 (18:02 -0500)]
amd: fix typo in shadowed uconfig registers on gfx11

It used an invalid offset, which hung.

Fixes: f24f8665dbe2a - ac: implement register shadowing for gfx11

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: sort and re-indent packet definitions
Marek Olšák [Fri, 27 Jan 2023 04:31:38 +0000 (23:31 -0500)]
amd: sort and re-indent packet definitions

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: update late_alloc_wave64 for gfx11
Marek Olšák [Wed, 25 Jan 2023 09:40:38 +0000 (04:40 -0500)]
amd: update late_alloc_wave64 for gfx11

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: update the cache size for gfx1103_r1
Marek Olšák [Wed, 25 Jan 2023 09:40:13 +0000 (04:40 -0500)]
amd: update the cache size for gfx1103_r1

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: change pbb_max_alloc_count for gfx11
Marek Olšák [Wed, 25 Jan 2023 09:39:03 +0000 (04:39 -0500)]
amd: change pbb_max_alloc_count for gfx11

based on PAL

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoamd: unify and tune the attribute ring size for gfx11
Marek Olšák [Wed, 25 Jan 2023 09:37:54 +0000 (04:37 -0500)]
amd: unify and tune the attribute ring size for gfx11

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoradeonsi: never set INTERPOLATE_COMP_Z
Marek Olšák [Wed, 25 Jan 2023 07:48:44 +0000 (02:48 -0500)]
radeonsi: never set INTERPOLATE_COMP_Z

based on PAL

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>

17 months agoradeonsi: determine alpha_to_coverage robustly in si_update_framebuffer_blend_rasterizer
Marek Olšák [Wed, 25 Jan 2023 06:19:27 +0000 (01:19 -0500)]
radeonsi: determine alpha_to_coverage robustly in si_update_framebuffer_blend_rasterizer

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21041>