Rhys Perry
2145cf3dd1
nir/range_analysis: add missing masking of shift amounts
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Fixes: 72ac3f6026 ("nir: add nir_unsigned_upper_bound and nir_addition_might_overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381 >
2023-03-22 09:24:18 +00:00
Rhys Perry
63e8f77d8e
util/dynarray: allow an initial stack allocation to be used
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21381 >
2023-03-22 09:24:18 +00:00
Jason Ekstrand
87efb9c3b3
intel/isl: Support Yf/Ys/Tile-64 in isl_surf_get_image_offset_sa
...
All that's really needed here is to handle the array offsetting by using
an Z or array offset instead of the Y offset.
This patch originally changed get_image_offset_sa_gfx9_1d(), but since
we only use linear with the 1d case, it was dropped.
Rework:
* Jordan: Include ISL_TILING_64 as well
* Jordan: Drop change to get_image_offset_sa_gfx9_1d as
recommended by Nanley
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21113 >
2023-03-22 08:32:52 +00:00
Samuel Pitoiset
d4bce9508b
radv: use common GetBufferMemoryRequirements2()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22047 >
2023-03-22 07:50:04 +00:00
Eric Engestrom
099a537e51
v3d/ci: group dEQP-GLES3.functional.texture.specification.teximage2d_pbo.* flakes and add another one
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22063 >
2023-03-22 07:24:28 +00:00
Alyssa Rosenzweig
52e28d6e6e
ir3: Use umod_imm
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
Alyssa Rosenzweig
968c5c6334
radv: Use umod_imm
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
Alyssa Rosenzweig
7b0133b30f
v3d,v3dv: Use udiv_imm/umod_imm
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
Alyssa Rosenzweig
e80f209df9
blorp,anv,hasvk: Use umod_imm
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
Alyssa Rosenzweig
2933af7576
nir/builder: Add nir_umod_imm helper
...
Like nir_udiv_imm, we can do a similar power-of-two trick. It's also really
convenient.
v2: Assert reasonable bounds on the modulus (Faith).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl > [v1]
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > [v1]
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22010 >
2023-03-22 06:18:18 +00:00
Georg Lehmann
cec04adcee
nir: optimize i2f(f2i(fsign))
...
Foz-DB Navi10:
Totals from 3013 (2.23% of 134906) affected shaders:
VGPRs: 138068 -> 136964 (-0.80%); split: -0.80%, +0.00%
CodeSize: 10476416 -> 10391800 (-0.81%)
MaxWaves: 79118 -> 80088 (+1.23%)
Instrs: 1963227 -> 1945003 (-0.93%)
Latency: 24734883 -> 24649279 (-0.35%); split: -0.39%, +0.05%
InvThroughput: 6366777 -> 6334735 (-0.50%); split: -0.50%, +0.00%
VClause: 36845 -> 36882 (+0.10%); split: -0.26%, +0.36%
SClause: 59249 -> 59273 (+0.04%); split: -0.25%, +0.29%
Copies: 108570 -> 108501 (-0.06%); split: -0.19%, +0.13%
PreSGPRs: 105371 -> 105862 (+0.47%)
PreVGPRs: 117675 -> 116625 (-0.89%); split: -0.89%, +0.00%
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22003 >
2023-03-22 05:34:55 +00:00
Jarred Davies
a7b34ad8f2
pvr: Don't allocate/upload 0 size coeff programs
...
Fixes assert seen in dEQP-Vk.api.smoke.triangle
Signed-off-by: Jarred Davies <jarred.davies@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22051 >
2023-03-22 04:15:57 +00:00
Frank Binns
49ed1e55d8
pvr: fix clang-format issue
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22056 >
2023-03-22 03:58:19 +00:00
David Heidelberg
7dcd02bd32
aco: drop leftover variable
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8652
Fixes: 44fdd2ebcb ("aco: end reduce tmp after control flow, when used within control flow")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22011 >
2023-03-22 03:39:56 +00:00
Emma Anholt
f39ffc6911
ci/etnaviv: Get the gc2000_piglit manual job mostly working.
...
It was timing out, and the xfails were rather stale.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22039 >
2023-03-21 23:46:13 +00:00
Emma Anholt
dfec80aed1
ci/hasvk: Update some xfails from the 8-sample fast clear disable.
...
Fixes: e509afacf3 ("hasvk: Disable non-zero fast clears for 8xMSAA images")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22039 >
2023-03-21 23:46:13 +00:00
Emma Anholt
ecca3b9655
ci/crocus: Update expectations from VK CTS 1.3.5.0.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22039 >
2023-03-21 23:46:13 +00:00
Emma Anholt
f2c356a095
ci/iris: Update more manual job xfails from the Wayland build change.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22039 >
2023-03-21 23:46:13 +00:00
Samuel Pitoiset
cb5701eed9
radv: implement VK_KHR_map_memory2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22032 >
2023-03-21 23:08:03 +00:00
Samuel Pitoiset
cd59db8c46
radv: pass radv_shader to radv_shader_need_indirect_descriptor_sets()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
0d95660a03
radv: pass radv_ray_tracing_pipeline to radv_rt_pipeline_compile()
...
The base.base is redundant but this will allow us to move the shaders
array out of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
88137cd710
radv: rework dumping shaders when a GPU hang is reported
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
444c5887c2
radv: pass radv_shader to radv_dump_shader_stats()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:13 +00:00
Samuel Pitoiset
0514c015e6
radv: use a separate compute path in radv_flush_constants()
...
radv_get_shader() will be a radv_graphics_pipeline only function.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
e7bbd610b8
radv: pass shader/base_reg to radv_emit_userdata_address()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
1e3cac8d5e
radv: pass shader/base_reg to radv_emit_inline_push_consts()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
c2e71729af
radv: pass shader/base_reg to radv_emit_descriptor_pointers()
...
Preliminary work for moving the shaders array outside of radv_pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
d7c5b6fb94
radv: replace radv_lookup_user_sgpr() by radv_get_user_sgpr()
...
radv_get_user_sgpr() no longer relies on radv_pipeline which is
another step for moving the shaders array outside of it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Samuel Pitoiset
4066e3a951
radv: stop using radv_get_shader_shader() for task shaders
...
radv_get_shader() should only be used for VS or TES, no need to add
another indirection for task shaders. While we are at it, rename
compute_shader to task_shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21878 >
2023-03-21 20:36:12 +00:00
Alyssa Rosenzweig
9169025d06
gallium: Fix u_stream_outputs_for_vertices with QUADS
...
Per the spec. This helper is only used in nv50 and panfrost, the latter is known
to have a completely broken transform feedback implementation and I'd be
unsurprised if the same is true for nv50. So unsurprising that compatibility
profile interaction was missed.
This is part of the Piglit ext_transform_feedback-tessellation quads puzzle.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22013 >
2023-03-21 18:33:42 +00:00
Timur Kristóf
d044eeb658
ac/nir/ngg: Rename repacked variables to clarify their name.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
5b50b9631c
ac/nir/ngg: Create separate variable for repacked rel_patch_id.
...
This should be handled separately from the other repacked
variables, because it doesn't use a dword.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
30ce47cc00
ac/nir/ngg: Remove some superfluous variables.
...
These mostly existed because of the long name of the state variable
and are not really necessary.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
c22f9442f6
ac/nir/ngg: Rename state variables to "s".
...
It was a bad idea to give them a long name, let's correct it.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
0068dbee96
ac/nir/ngg: Move divergence analysis call to analyze_shader_before_culling.
...
It actually belongs there.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
a0a341f644
ac/nir/ngg: Split some functions out of save_reusable_variables.
...
To make the function a little easier to read and understand.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
091dffdfc9
ac/nir/ngg: Rename saved_uniform to reusable_nondeferred_variable.
...
We are planning to reuse more than just uniforms later,
hence let's clarify the name of these.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Timur Kristóf
c904c7dbf1
ac/nir/ngg: Remove usused lds_es enum values.
...
These were meant to explain the LDS layout, but
the actual LDS usage is better explained by:
ngg_nogs_get_culling_pervertex_lds_size().
Also add some comments there.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21995 >
2023-03-21 15:47:32 +00:00
Pierre-Eric Pelloux-Prayer
3f272fd15e
ac/llvm: fix build with LLVM 17
...
This builds with LLVM 12 -> 17 and a running a simple app seems to work.
I couldn't test LLVM 11 because meson fails with:
Looking for a fallback subproject for the dependency llvm (modules:
bitwriter, engine, mcdisassembler, mcjit, core, executionengine,
scalaropts, transformutils, instcombine, amdgpu, bitreader, ipo, native)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8297
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22021 >
2023-03-21 15:05:25 +00:00
Constantine Shablya
4659a94cfe
vulkan: depend idep_vulkan_runtime_headers on vk_physical_device_features.h
...
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8643
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21958 >
2023-03-21 14:25:40 +00:00
Constantine Shablya
46c9e84ead
vulkan: fix building with python3.8
...
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8640
Reviewed-by: Ricardo Garcia <rgarcia@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21958 >
2023-03-21 14:25:40 +00:00
Samuel Pitoiset
5082b6b034
radv: add support for caching PS epilogs
...
For PS epilogs created at link time because libraries are still not
cached.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:59 +00:00
Samuel Pitoiset
228afe1a2f
radv: make radv_shader_part_create() non-static
...
It will be used when creating shaders from the cache.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:59 +00:00
Samuel Pitoiset
83c20b95dd
radv: allow to return the PS epilog binary to the pipeline
...
To add it to the shaders cache.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:59 +00:00
Samuel Pitoiset
eba315d2bf
radv: upload prologs/epilogs as part of radv_shader_part_create()
...
Don't need to duplicate this code.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:59 +00:00
Samuel Pitoiset
aa15d64949
radv: store the total radv_shader_part_binary size
...
Similar to radv_shader. This will be used for the shaders cache.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:59 +00:00
Samuel Pitoiset
aec9fd394f
radv: store spi_shader_col_format to radv_shader_part_binary
...
For PS epilogs in the cache.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:58 +00:00
Samuel Pitoiset
a455e0c99f
radv: stop storing the binary as part of radv_shader_part
...
It's unnecessary to keep a pointer to the binary.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:58 +00:00
Samuel Pitoiset
2803b786f0
radv: remove set but never used num_preserved_sgprs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21897 >
2023-03-21 13:53:58 +00:00
Tapani Pälli
415b824bc6
iris: implement occlusion query related Wa_14017076903
...
Fixes artifacts on some games that relied on occlusion query
results when no PS or depth buffers are bound.
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/21721 >
2023-03-21 12:56:51 +00:00