Ian Romanick
07dc1d4043
brw/algebraic: Clear condition modifier on optimized SEL instruction
...
The condition modifier on SEL means something completely different than
it means on MOV. On MOV it means to modify the flags based on the value
written to the destination. On SEL it means to compare the sources using
that mode and pick the result (i.e., as min() or max()) without
modifying the flags.
The resulting MOV should not have a condition modifier for the same
reason it (already) doesn't have a predicate. This bug was found by
inspection, so I added a unit test.
No shader-db or shader-db changes on any Intel platform.
Fixes: fab92fa1cb ("i965/fs: Optimize SEL with the same sources into a MOV.")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34192 >
2025-04-15 23:59:31 +00:00
Ian Romanick
1d2ebeca17
nir/algebraic: Allow fmin(a,a) optimization when flush denorm to zero is not set
...
I was surprised this had any affect on Intel GPUs because we have been
unconditionally performing this optimization in the backend since June
2014.
Once that error is fixed (later in this MR), this change prevents a
couple dozen regressions in shader-db and around 90 regressions in
fossil-db. Many of the regressions in fossil-db were loss of SIMD32, and
that can be a big deal.
v2: Add 64-bit too. Suggested by Alyssa.
shader-db:
All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 16970141 -> 16970139 (<.01%)
instructions in affected programs: 40 -> 38 (-5.00%)
helped: 2 / HURT: 0
total cycles in shared programs: 914617580 -> 914617548 (<.01%)
cycles in affected programs: 3428 -> 3396 (-0.93%)
helped: 2 / HURT: 0
fossil-db:
All Intel platforms had similar results. (Lunar Lake shown)
Totals:
Cycle count: 30546028462 -> 30546025224 (-0.00%); split: -0.00%, +0.00%
Non SSA regs after NIR: 237017827 -> 237017731 (-0.00%)
Totals from 83 (0.01% of 706657) affected shaders:
Cycle count: 3042978 -> 3039740 (-0.11%); split: -0.13%, +0.02%
Non SSA regs after NIR: 78997 -> 78901 (-0.12%)
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34192 >
2025-04-15 23:59:31 +00:00
Faith Ekstrand
44b01b55d5
nvk: Handle shifted QMD cbuf addrs in indirect command processing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34443 >
2025-04-15 23:38:54 +00:00
Faith Ekstrand
8b2f0be254
nak/qmd: Add QMD version 4.0 for Hopper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34443 >
2025-04-15 23:38:54 +00:00
Faith Ekstrand
a62c59d7e0
nak/qmd: Add support for shifted cbuf addresses
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34443 >
2025-04-15 23:38:54 +00:00
Faith Ekstrand
7050a285a3
nak/qmd: Rework cbuf size suffix handling
...
Addresses will also be shifted starting with QMD version 4.0 and we'll
need something a little more general for that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34443 >
2025-04-15 23:38:54 +00:00
Faith Ekstrand
c8a5086213
nvk: Disable VK_EXT_descriptor_buffer pre-Maxwell
...
Our strategy of covering the entire address space in buffer views
requires that we be able to create very large buffer views. The
pre-Maxwell texture unit doesn't allow for this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34542 >
2025-04-15 18:03:53 -05:00
Faith Ekstrand
c135bd6542
nak: Get rid of RegRef::zero
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34538 >
2025-04-15 22:17:38 +00:00
Faith Ekstrand
7125b25800
nak/sm70: Add zero_reg() and true_reg() helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34538 >
2025-04-15 22:17:38 +00:00
Faith Ekstrand
c4452c5fa4
nak/sm50: Add zero_reg() and true_reg() helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34538 >
2025-04-15 22:17:38 +00:00
Faith Ekstrand
32570924cf
nak: Move some legalization helpers from sm50 to common code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34538 >
2025-04-15 22:17:38 +00:00
Dave Airlie
6a4c1ac464
nak: add F2FP to sm75 instr latencies
...
hw_tests found this was missing, copy it from Ampere.
Fixes: 6b8a4e6bb7 ("nak: Add Turing latency information")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34537 >
2025-04-15 21:56:55 +00:00
Ryan Mckeever
1efa53ac17
panvk: shaderStorageImageWriteWithoutFormat support
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Ryan Mckeever
e79a568442
panvk: shaderStorageImageReadWithoutFormat support
...
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Ryan Mckeever
70b8056df1
panvk: Enable KHR_format_feature_flags2 and use them
...
We need to enable this to use
VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT and
VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Ryan Mckeever
d95423686f
pan/format: Add PAN_BIND_STORAGE_IMAGE flag
...
The HW does not support STORAGE_IMAGE for all formats that can be sampled
or used as render targets. The HW does not support STORAGE_TEXEL_BUFFER
for all formats that can be used as render targets.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Ryan Mckeever
b9a9798c46
pan/format: Update format flags to follow HW spec
...
Fixes: 861e7dca ("panfrost: Switch formats to table")
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Faith Ekstrand
58321cf2e5
nak: Add stubs for Fermi and Kepler A
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34536 >
2025-04-15 16:04:10 -05:00
Faith Ekstrand
c0cd01241a
nak: Add stubs for Kepler B
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34536 >
2025-04-15 16:04:10 -05:00
Faith Ekstrand
af6093a712
nak/legalize: Add a helper for lowering ineg
...
This is similar to the helper we have for lowering float modifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34536 >
2025-04-15 16:04:09 -05:00
Faith Ekstrand
d16e75e55f
nak: Lower texture inputs for Kepler B
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34535 >
2025-04-15 20:02:52 +00:00
Faith Ekstrand
9c5a0eca95
nak: Add False and True to IntCmpOp
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34535 >
2025-04-15 20:02:52 +00:00
Faith Ekstrand
eb4fb70bae
nak: Add a plop2 test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34535 >
2025-04-15 20:02:52 +00:00
Faith Ekstrand
e84f210362
nak/hw_tests: Feed predicate/carry sources with 0/1 data
...
Instead of doing the &1 on the GPU, do it on the CPU. This saves an
instruction and also makes things easier to debug.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34535 >
2025-04-15 20:02:51 +00:00
Erik Faye-Lund
26a4a2ee18
docs/panvk: add missing new features
...
We missed these from the release notes, let's add them.
Fixes: fbb2805575 ("panvk: Advertise KHR_dynamic_rendering_local_read support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:54:09 +02:00
Erik Faye-Lund
c6025f6cb6
docs/panvk: document EXT extension aswell
...
We're supporting both, let's mention both in the release notes.
Fixes: 4fabd37a3c ("panvk: enable KHR_line_rasterization support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
469985cfa4
docs/panvk: document ycbr in terms of extensions
...
We usually document these features in terms of extensions when they
exist, so let's do that here too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
37e75da005
docs/panvk: add VK_-prefix for extension name
...
We're using the VK_-prefix elsewhere, let's be consistent.
Fixes: d4797b8ab7 ("panvk: enable KHR_spirv_1_4 on v10+")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
d5fce25fb0
docs/panvk: fixup docs around float controls
...
We both misnamed the extension, and missed the v10+ detail for the
second version.
Fixes: 22fa3e88dd ("panvk: advertise VK_KHR_float_controls2")
Fixes: 7612dc4713 ("panvk: advertise VK_KHR_shader_float_controls")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
68669ba0c1
docs/panvk: remove disabled extension
...
We ended up reverting this one, let's remove it from the release notes
and features.txt.
Fixes: 305925c439 ("panvk: disable VK_KHR_shader_quad_control")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
4efb1dac6b
docs/panvk: fixup extension support
...
This extension is now only supported on PanVK/v10+
Fixes: 23c0d64e24 ("panvk: disable VK_EXT_image_drm_format_modifier for arch < 10")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
790093f625
panvk: enable dualSrcBlend
...
This is already implemented, we just didn't report it.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34520 >
2025-04-15 18:34:36 +00:00
Aleksi Sapon
9301b7098a
llvmpipe: improve aniso filtering
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34438 >
2025-04-15 18:03:22 +00:00
Eric Engestrom
54bcfb4c1f
ci/deqp: fix vulkan video build
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34532 >
2025-04-15 17:23:05 +00:00
Eric Engestrom
05926cc68b
ci: fix image tags indentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34532 >
2025-04-15 17:23:05 +00:00
David Rosca
f87759d537
radeonsi/video: Remove cs argument from si_video_resize_buffer
...
Not needed anymore.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34477 >
2025-04-15 16:58:59 +00:00
David Rosca
996dbe0ba3
radeonsi/uvd,vce: Don't try to flush cs from buffer_map
...
There is nothing to do on cs flush anyway. Also remove the dummy
flush callback.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34477 >
2025-04-15 16:58:59 +00:00
David Rosca
d12f2c65b1
radeonsi/vcn: Don't try to flush cs from buffer_map
...
There is nothing to do on cs flush anyway. Also remove the dummy
flush callback.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34477 >
2025-04-15 16:58:59 +00:00
David Rosca
ee4d7e98d5
radeonsi/vpe: Don't try to flush cs from buffer_map
...
cs flush callback is NULL so this will crash when the buffer_map ends
up needing to flush the cs.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34477 >
2025-04-15 16:58:59 +00:00
Mary Guillemard
e82e72b5b7
panvk: Fix inverted ZS read flags in DCD2 on v11+
...
Those flags are negative so it should have been the opposite (no read)
Fixes: 9b4886d6f4 ("panvk: Implement Z/S dependency tracking on v11+")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reported-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34528 >
2025-04-15 16:20:47 +00:00
Eric Engestrom
904052a9d8
docs/ci: follow convention of only running jobs by default for Marge
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Because `alpine/x86_64_build` references these rules, this commit fixes
that job as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469 >
2025-04-15 15:14:50 +00:00
Eric Engestrom
ddeaa10bfc
docs/ci: split pre-merge & merge pipeline rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469 >
2025-04-15 15:14:50 +00:00
Eric Engestrom
6922ef5294
docs/ci: add comment explaining what that long rule actually does
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469 >
2025-04-15 15:14:50 +00:00
Eric Engestrom
bda8692b95
docs/ci: add link to the website preview for convenience
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469 >
2025-04-15 15:14:50 +00:00
Eric Engestrom
33f82078e0
docs/ci: replace deprecated pages job with pages: true
...
See https://docs.gitlab.com/ci/yaml/#pages
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34469 >
2025-04-15 15:14:50 +00:00
Alyssa Rosenzweig
618409a934
agx: switch to common LOD bias lowering
...
only functional change is a slight instr count regression for cube map txd
because of pass ordering but lol.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34507 >
2025-04-15 14:10:50 +00:00
Alyssa Rosenzweig
d53ad63c66
hk: handle lod/min_lod size mismatch
...
can be hit with the new lod bias lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34507 >
2025-04-15 14:10:50 +00:00
Alyssa Rosenzweig
63eb27d166
nir: add sampler LOD bias lowering
...
this is a cleaned up version of the lowering originally written for asahi, moved
to common code so it can be shared with an upcoming Vulkan implementation (not
honeykrisp).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34507 >
2025-04-15 14:10:50 +00:00
Alyssa Rosenzweig
9de7ea875d
nir: handle mismatched bias/lod bitsizes
...
the sampler lod bias lowering uses fp16 for perf on AGX.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34507 >
2025-04-15 14:10:49 +00:00
Alyssa Rosenzweig
2e15b42eec
nir: unvendor lod_bias(_agx)
...
this will be useful for other backends.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34507 >
2025-04-15 14:10:49 +00:00