Tapani Pälli
096acf8c0c
anv: change existing ICL workaround to depend on BLEND_STATE
...
Commit f900b763b1 we started to dirty MS as WM changes. However
later on things changed with eebb6cd236 , we need to dirty with
BLEND_STATE now.
Fixes: eebb6cd236 ("anv: stop using 3DSTATE_WM::ForceThreadDispatchEnable")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30920 >
2024-08-29 13:58:08 +00:00
Rohan Garg
51e05c2844
iris,anv: simplify and inline sampler count calculations
...
Use the CLAMP macro to clamp the value and simplify the sampler count
encoding.
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30922 >
2024-08-29 11:49:56 +00:00
Rohan Garg
32f606486f
anv: prefetch samplers when dispatching compute shaders
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30922 >
2024-08-29 11:49:56 +00:00
Timothy Arceri
bb426b7f3c
nir/tests: add basic terminator merge test
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30862 >
2024-08-29 10:26:30 +00:00
Timothy Arceri
85741c6a15
nir/tests: make add_loop_terminators more flexible
...
Here we update the helper to have an option to add the break to the else
blocks of the terminators.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30862 >
2024-08-29 10:26:30 +00:00
Daniel Schürmann
51bb0e68b3
nir/opt_if: merge IFs which have phis between them
...
The phi-uses are rewritten on each side of the following if-stmt,
so that register pressure is kept the same.
Totals from 719 (0.91% of 79395) affected shaders: (Navi31)
MaxWaves: 18531 -> 18527 (-0.02%); split: +0.02%, -0.04%
Instrs: 4683616 -> 4621920 (-1.32%); split: -1.32%, +0.00%
CodeSize: 24154608 -> 23811472 (-1.42%); split: -1.42%, +0.00%
VGPRs: 46020 -> 46140 (+0.26%); split: -0.05%, +0.31%
SpillSGPRs: 1134 -> 1107 (-2.38%)
SpillVGPRs: 2221 -> 2202 (-0.86%)
Scratch: 603648 -> 602624 (-0.17%)
Latency: 30355976 -> 29516199 (-2.77%); split: -2.77%, +0.01%
InvThroughput: 7017283 -> 6878583 (-1.98%); split: -2.00%, +0.03%
VClause: 119826 -> 113392 (-5.37%); split: -5.37%, +0.00%
SClause: 100380 -> 93516 (-6.84%); split: -6.85%, +0.01%
Copies: 360589 -> 359154 (-0.40%); split: -1.13%, +0.73%
Branches: 146438 -> 138623 (-5.34%); split: -5.37%, +0.03%
PreSGPRs: 38237 -> 38317 (+0.21%); split: -0.52%, +0.72%
PreVGPRs: 37745 -> 37742 (-0.01%); split: -0.05%, +0.04%
VALU: 2594909 -> 2593667 (-0.05%); split: -0.12%, +0.07%
SALU: 572636 -> 554587 (-3.15%); split: -3.19%, +0.04%
VMEM: 203188 -> 201030 (-1.06%)
SMEM: 135731 -> 128683 (-5.19%)
VOPD: 1978 -> 1982 (+0.20%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7710 >
2024-08-29 09:42:55 +00:00
Daniel Schürmann
37881801c1
nir/opt_if: optimize phis between similar IFs
...
This small optimization targets phis between two IF statements with
the same condition. If the phi dst is only used on one branch leg,
the 'unused' phi source gets replaced with undef.
Totals from 1773 (2.23% of 79395) affected shaders: (Navi31)
Instrs: 6546338 -> 6539039 (-0.11%); split: -0.11%, +0.00%
CodeSize: 34819124 -> 34780660 (-0.11%); split: -0.11%, +0.00%
VGPRs: 92100 -> 92052 (-0.05%); split: -0.07%, +0.01%
SpillVGPRs: 2211 -> 2206 (-0.23%)
Latency: 51621404 -> 51620966 (-0.00%); split: -0.03%, +0.03%
InvThroughput: 7907110 -> 7905382 (-0.02%); split: -0.05%, +0.03%
VClause: 159268 -> 159273 (+0.00%); split: -0.00%, +0.01%
SClause: 180166 -> 180155 (-0.01%)
Copies: 559867 -> 553966 (-1.05%); split: -1.07%, +0.01%
Branches: 237327 -> 236366 (-0.40%); split: -0.41%, +0.00%
PreSGPRs: 81128 -> 81116 (-0.01%); split: -0.02%, +0.01%
PreVGPRs: 74264 -> 74245 (-0.03%)
VALU: 3547408 -> 3541257 (-0.17%); split: -0.18%, +0.00%
SALU: 824426 -> 824104 (-0.04%); split: -0.04%, +0.00%
VMEM: 265009 -> 265003 (-0.00%)
SMEM: 235766 -> 235760 (-0.00%)
VOPD: 1853 -> 1839 (-0.76%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7710 >
2024-08-29 09:42:55 +00:00
Daniel Schürmann
50d416fe89
nir: add nir_block *nir_src_get_block(src) helper
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7710 >
2024-08-29 09:42:55 +00:00
Konstantin
893c93a27a
meson: Allow building lavapipe without specifying llvmpipe
...
Avoids compiling glsl/opengl/... support when testing only lavapipe.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30423 >
2024-08-29 10:17:52 +02:00
Konstantin Seurer
0fc3c52e43
nir/opt_loop: Fix handling else-breaks in merge_terminators
...
If both breaks are in the else branch, we have to use iand.
Fixes: 9995f33 ("nir: add merge loop terminators optimisation")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11726
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30850 >
2024-08-29 05:49:35 +00:00
Tapani Pälli
44e1cf2748
anv: set correct miplevel for anv_image_hiz_op
...
Fixes: 5efecc9782 ("anv: Enable HiZ on multi-LOD depth buffers.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11787
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30892 >
2024-08-29 04:50:44 +00:00
Faith Ekstrand
5f402f3aae
nvk: Hash minSampleShading in nvk_hash_graphics_state()
...
We put minSampleShading in the nvk_shader and [de]serialize that to/from
the binary so it also needs to go in the hash. We could also plumb the
pipeline state through to the deserialize callback but that's quite a
stretch and this literally only affects minSampleShading which is a
rarely used feature.
Fixes: 813b253939 ("nvk: Switch to shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30914 >
2024-08-29 04:27:43 +00:00
Faith Ekstrand
5b69215ec2
nvk: Use 4 bits per value for the anti alias values
...
They should always fit in 3 bits but the masks we use set 4 bits at a
time so it's probably good to be consistent.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30914 >
2024-08-29 04:27:43 +00:00
Faith Ekstrand
6e63a79267
nvk: Fix a typo in a comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30914 >
2024-08-29 04:27:43 +00:00
Faith Ekstrand
42114aa723
vulkan: Handle VIEW_INDEX_FROM_DEVICE_INDEX_BIT in the runtime
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Faith Ekstrand
8c60f1461b
vulkan: Take a VkPipelineCreateFlags2KHR in vk_pipeline_*shader_stage*()
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Jesse Natalie
81a00a48bc
microsoft/compiler: Handle subgroup size 4 as a required wave size
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Jesse Natalie
15f13f3c45
dzn: Drop custom subgroup size handling
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Faith Ekstrand
faf27a5989
dzn: Use vk_pipeline_shader_stage_to_nir()
...
Dozen is the last user so we can delete it now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Faith Ekstrand
4365d0d769
lvp: Stash the PipelineCreateFlags2KHR in the pipeline
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Faith Ekstrand
c0191b20de
vulkan/pipeline: Handle VIEW_INDEX_FROM_DEVICE_INDEX_BIT
...
The rehash we're doing here is a bit of a hack but it's a back-portable
hack. We'll fix it properly in following commits.
Fixes: 9308e8d90d ("vulkan: Add generic graphics and compute VkPipeline implementations")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Jesse Natalie
03655dfda1
compiler, vk: Support subgroup size of 4
...
Relax the assert and assign it an enum value
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876 >
2024-08-29 03:30:31 +00:00
Eric Engestrom
2e389b949b
freedreno/ci: add a630 flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
b39e34ba92
nouveau/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
71787885e3
freedreno/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
83d3c35eff
etnaviv/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
812fb1d276
broadcom/ci: use TEST_SETUP_AND_UPLOAD_MARGIN_MINUTES
...
Instead of manually keeping the job's `timeout:` and
`TEST_PHASE_TIMEOUT_MINUTES:` in sync.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
fc3701bb5c
broadcom/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
fe075df8d9
freedreno/ci: drop unused TEST_PHASE_TIMEOUT_MINUTES in LAVA jobs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
033818fdd9
nouveau/ci: fix gk20a-gles test timeout
...
Setting it to the same value as (or higher than) the job timeout
effectively bypasses the safety mechanism.
Let's change it to `job timeout - 5min`.
Fixes: c8207158b5 ("ci/nouveau: fix up Jetson Nano")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
4888d39f29
freedreno/ci: fix a630_*_full tests timeout
...
Setting it to the same value as (or higher than) the job timeout
effectively bypasses the safety mechanism.
Let's change it to `job timeout - 5min`.
Fixes: e61b423074 ("ci/turnip: Extend a630 vk full timeout to 3 hours.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
b978d3eb54
etnaviv/ci: fix gc2000_piglit test timeout
...
Setting it to the same value as (or higher than) the job timeout
effectively bypasses the safety mechanism.
Let's change it to `job timeout - 5min`.
Fixes: f39ffc6911 ("ci/etnaviv: Get the gc2000_piglit manual job mostly working.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
aac9c74a83
v3dv/ci: fix test timeout for v3dv-rpi5-vk-full:arm64
...
It was set to 170min, which made sense when the job timeout was 3h, but
then 4bb564f40d ("broadcom/ci: add more jobs to test with rpi5")
lowered the job timeout to 2h without lowering the test timeout to match.
Fixes: 4bb564f40d ("broadcom/ci: add more jobs to test with rpi5")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800 >
2024-08-29 01:03:45 +00:00
Eric Engestrom
5434aa79f5
ci: run only one vkd3d test at a time
...
Both radv and nvk seem to be having a lot of random failures when there
are several tests running in parallel.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24739 >
2024-08-29 00:18:54 +00:00
Eric Engestrom
23e9cbc623
ci/vkd3d: use upstream test-runner.sh for process isolation
...
Once again, making sure the input (*-vkd3d-*.txt) have the same format
as deqp-runner so that users don't have to care which one they're using,
and the output is also in the same format so that tools automatically
handle everything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24739 >
2024-08-29 00:18:54 +00:00
Eric Engestrom
4a629f20a1
nvk/ci: drop skip of fixed vkd3d test
...
Having to stop testing any test that fails is not sustainable...
Oh, look at that next commit!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24739 >
2024-08-29 00:18:53 +00:00
Jesse Natalie
dac44e02f7
d3d12: Don't use a vertex re-ordering GS for line primitives
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30903 >
2024-08-28 23:54:11 +00:00
Faith Ekstrand
3e1d847d37
radv: Use the SPIR-V printer in spirv_to_nir
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:59 +00:00
Faith Ekstrand
6e3938f45b
v3dv: Drop the SPIR-V dumper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:59 +00:00
Faith Ekstrand
c60a421f0c
vtn: Add a debug flag to dump SPIR-V assembly
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:59 +00:00
Faith Ekstrand
9520fb8ecc
vtn: Allow SPIR-V debug options in release builds
...
As long as no one sets any flags, they cost us virtually nothing.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:58 +00:00
Faith Ekstrand
ee7b596abc
vtn: Move initialization of mesa_spirv_debug to a helper
...
Importantly, this gives us a single once_flag instead of two so we
actually only initialize it once. This race will probably never matter
in practice because it's just a debug var but this is cleaner.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:58 +00:00
Faith Ekstrand
d8644a533e
v3dv: Update a debug message
...
v3dv switched to vk_pipeline_shader_stage_to_nir a while ago.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875 >
2024-08-28 21:52:58 +00:00
Kenneth Graunke
da395e6985
intel/brw: Fix extract_imm for subregion reads of 64-bit immediates
...
We could be trying to extract a D/UD from a Q/UQ, for example. We were
ignoring the top 32-bits, which is incorrect.
Fixes: 580e1c592d ("intel/brw: Introduce a new SSA-based copy propagation pass")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30884 >
2024-08-28 12:33:26 -07:00
Kenneth Graunke
51c85e0363
intel/brw: Drop misguided sign extension attempts in extract_imm()
...
This function never expands a type - it only narrows it. As such, we
don't need to ever sign extend to fill additional new bits. I think
this code was left over from earlier versions of my optimization pass
that was buggy and trying to handle cases it should not have.
Fixes: 580e1c592d ("intel/brw: Introduce a new SSA-based copy propagation pass")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30884 >
2024-08-28 12:33:26 -07:00
Karol Herbst
53869ae45b
rusticl/mesa: Return CStr for device and vendor names.
...
This allows us to skip converting between Rust and C strings when fetching
those.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30888 >
2024-08-28 18:24:04 +00:00
Karol Herbst
6b43c5c552
zink: cache generated vendor and device name inside zink_screen
...
get_name and get_device_vendor are supposed to return immutable strings.
This prevents the CL_DEVICE_NAME and CL_DEVICE_VENDOR queries from
randomly failing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30888 >
2024-08-28 18:24:04 +00:00
Karol Herbst
73c8e2c3cd
rusticl: reuse PipeContext
...
Gallium drivers are likely to leak CPU and GPU resources as with OpenGL
they rarely have to create more than a single pipe_context.
This also reduces the cost of creating CL queues.
In order to debug drivers leaking memory a new debug option is added to
disable the reuse of PipeContexts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30888 >
2024-08-28 18:24:04 +00:00
David Rosca
64ca0fd2f2
frontends/va: Allocate surface buffers on demand
...
This saves memory by not allocating encode DPB surface buffers which
are currently not used by drivers.
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30843 >
2024-08-28 15:37:10 +00:00
David Rosca
de61cb72fe
pipe: Use correct struct for h264/h265 dpb entry
...
Fixes: cc14724d73 ("frontends/va: Implement DPB management for H264/5 encode")
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30843 >
2024-08-28 15:37:10 +00:00