Marek Olšák
3a9f8730f5
amd: drop support for LLVM 12
...
The demote emulation can be removed, and FS_CORRECT_DERIVS_AFTER_KILL
can be removed because it's always enabled on LLVM >= 13.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23471 >
2023-06-07 19:56:55 +00:00
Marek Olšák
4c8cc26fd8
amd: drop support for LLVM 11
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23471 >
2023-06-07 19:56:55 +00:00
Yogesh Mohan Marimuthu
7761e93c8c
ac/gpu_info: rearrange if checks for dcc config
...
rearrange the if checks so that there is less if checks
for newer gpus.
v2: fix block comment coding guideline (Marek Olšák)
simplify gfx9 if condition (Marek Olšák)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23454 >
2023-06-07 19:28:29 +00:00
Yogesh Mohan Marimuthu
6f968f46fe
ac/gpu_info: num_cu = 4 and gfx11 enable dcc with retile
...
With num_cu = 4 in gfx11 measured power for idle, video playback and observed
power savings, hence enable dcc with retile for gfx11 with num_cu >= 4.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23454 >
2023-06-07 19:28:29 +00:00
Christian Gmeiner
add14d6cfb
etnaviv: nir: do not call nir_lower_idiv(..) unconditionally
...
GPUs without native integers lower idiv in lower_int_to_float and
there is no need to call nir_lower_idiv(..) for such GPUs.
Fixes nir crashes I am seeing with gc2000_gles2 CI job.
Fixes: f532202f2d
("etnaviv: use nir_lower_idiv(..) before opt loop")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23450 >
2023-06-07 19:02:36 +00:00
Iago Toral Quiroga
c5b6a65f81
v3d,v3dv: fix viewport offset for negative viewport center
...
If the viewport center is not positive we can't express it
through the fine coordinates, which are unsigned, and we
need to use the coarse coordinates too.
Fixes new crashes in Vulkan CTS 1.3.6.0:
dEQP-VK.draw.renderpass.offscreen_viewport.*negative*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23489 >
2023-06-07 18:40:56 +00:00
Iago Toral Quiroga
78dc0bc589
broadcom/cle: fix up viewport offset packet definition for V3D 4.1+
...
These are split between fine and coarse coordinates. We have only been
using fine until now, so we kept the same naming convention we had
prior to V3D 4.1 for simplicity, but we will start using the coarse
coordinates soon too.
Also, the signedness was reversed: coarse coordinates are signed and
fine coordinates are unsigned.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23489 >
2023-06-07 18:40:56 +00:00
Iago Toral Quiroga
84af2cb44a
v3dv: simplify scissor setup for negative viewport height
...
KHR_maintenance1 allows clients to specify a negative
height, but not a negative width, so assert on that and
simplify the computations for the horizontal dimension.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23489 >
2023-06-07 18:40:55 +00:00
Iago Toral Quiroga
226c62b745
v3dv: remove bogus viewport code
...
This is incorrectly undoing the code right above it.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23489 >
2023-06-07 18:40:55 +00:00
Mike Blumenkrantz
40433dea14
zink: add a ci flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23092 >
2023-06-07 18:14:58 +00:00
Mike Blumenkrantz
02bf3e3c0a
zink: enable EXT_shader_object globally with have_EXT_attachment_feedback_loop_dynamic_state
...
this leaves fbfetch as the lone case where it can't yet be used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23092 >
2023-06-07 18:14:58 +00:00
Mike Blumenkrantz
d17c081b7c
zink: use dynamic state for feedback loops when available
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23092 >
2023-06-07 18:14:58 +00:00
Mike Blumenkrantz
88d42b6230
zink: hook up VK_EXT_attachment_feedback_loop_dynamic_state
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23092 >
2023-06-07 18:14:58 +00:00
Karmjit Mahil
51db63538c
pvr: Fix PDS temps allocation on fragment stage
...
Previously the USC temps count was incorrectly being used for the
PDS temps count.
It was causing:
csbgen/pvr_packet_helpers.h:79:
__pvr_uint: Assertion `v <= max' failed.
This fixes the assert being hit on:
dEQP-VK.ubo.random.basic_arrays.2
dEQP-VK.ubo.random.all_shared_buffer.3
dEQP-VK.ubo.random.all_shared_buffer.48
dEQP-VK.ubo.random.all_out_of_order_offsets.3
This does not fully fix the tests though.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23356 >
2023-06-07 18:01:02 +00:00
Karmjit Mahil
8809758fbc
pvr: Rename temps_count to pds_temps_count
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23356 >
2023-06-07 18:01:02 +00:00
Karmjit Mahil
d070e31020
pvr: Fix draw indirect page faults due to missing index list buffer
...
Fixes:
dEQP-VK.draw.renderpass.basic_draw.draw_indirect.*
dEQP-VK.draw.renderpass.basic_draw.draw_indexed_indirect.*
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23491 >
2023-06-07 17:38:54 +00:00
Marek Olšák
68735f4e86
treewide: use uint64_t / (u)intptr_t in image address calculations
...
16K * 16K * 16bpp = 4G, which overflows int32, so layer_stride needs to
have 64 bits. More generally, any "byte_stride * height" computation
can overflow int32.
Use (u)intptr_t in some gallium and st/mesa places where we do CPU access.
Use uint64_t otherwise.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23389 >
2023-06-07 16:53:36 +00:00
Oskar Rundgren
d72d13bbb5
pvr: add block compressed formats blit support
...
Surface dimensions and rectangle mappings need to be adjusted for
block compressed formats.
Signed-off-by: Oskar Rundgren <oskar.rundgren@imgtec.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23466 >
2023-06-07 16:29:44 +00:00
Lucas Fryzek
811ac6e393
mailmap: Add Lucas Fryzek to mailmap
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23499 >
2023-06-07 15:47:40 +00:00
Corentin Noël
dd1b927805
ci: uprev virglrenderer and crosvm
...
Update to their latest version on time
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23427 >
2023-06-07 15:14:45 +00:00
Corentin Noël
e1cd887b78
ci: Bump base tag to rebuild piglit
...
This has been forgotten in latest piglit uprev
Fixes: d75973a142
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23427 >
2023-06-07 15:14:45 +00:00
Samuel Pitoiset
9150513242
radv: advertise VK_KHR_fragment_shader_barycentric on GFX10.3+
...
It can't be supported on older hardware because it's impossible to
determine the provoking vertex ID without LOAD_PROVOKING_VTX which is
GFX10.3+ only.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6557
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:36 +00:00
Samuel Pitoiset
593fb2035d
radv: gather info about nir_intrinsic_load_sample_positions_amd
...
nir_intrinsic_load_barycentric_coord_at_sample is lowered before the
radv_shader_info pass and load_sample_positions_amd might be needed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:36 +00:00
Samuel Pitoiset
7ee8a12a62
radv: add a NIR pass that lower fragment shader barycentric intrinsics
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
2b156c8258
radv: configure RSRC1.LOAD_PROVOKING_VTX for the fragment shader
...
This enables provoking vertex info.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
b9b3560039
radv: set ROTATE_PC_PTR for custom interpolations
...
This seems needed for computing stable barycentric coordinates.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
50888ba390
radv: handle per_vertex variables when gathering FS inputs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
506705bdeb
radv: add support for nir_intrinsic_load_rasterization_primitive_amd
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
98bb7e10e7
nir: add nir_intrinsic_load_rasterization_primitive_amd
...
For VK_KHR_fragment_shader_barycentric, AMD needs to know the primitive
topology in the fragment shader but with fast-link GPL this is unknown
at compile time and it needs to be passed dynamically.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
116ee98106
radv: track if the rasterization primitive is known at compile time
...
For fast-linking with GPL, we might not know the pre-rasterization
stages at compile time (when only the FS is compiled) and we will need
to load the rasterization primitive through an user SGPR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
958cc87954
radv: add support for nir_intrinsic_load_provoking_vtx_amd
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Samuel Pitoiset
0358a23012
nir: add nir_intrinsic_load_provoking_vtx_amd
...
Will be used to load provoking vertex info from the hardware to
determine the provoking vertex ID.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16742 >
2023-06-07 14:40:35 +00:00
Andres Gomez
67cd3da63e
.mailmap: add an alias for Clayton Craft
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Clayton Craft <clayton@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15260 >
2023-06-07 14:38:41 +00:00
Andres Gomez
d76aaf1f4d
.mailmap: add an alias for Miguel Casas-Sanchez
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15260 >
2023-06-07 14:38:41 +00:00
Matt Coster
d13baacc8c
pvr: Don't overwrite PDS vertex input flags
...
Fixes:
dEQP-VK.draw.renderpass.simple_draw.simple_draw_triangle_list
dEQP-VK.draw.renderpass.simple_draw.simple_draw_triangle_strip
dEQP-VK.draw.renderpass.indexed_draw.draw_indexed_triangle_list
dEQP-VK.draw.renderpass.indexed_draw.draw_indexed_triangle_strip
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23458 >
2023-06-07 14:20:27 +00:00
Matt Coster
6b53ba341e
pvr: Allow S8_UINT to be used as a stencil attachment format
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23431 >
2023-06-07 14:04:04 +00:00
Matt Coster
52050a35c7
pvr: Refactor pvr_unwind_rects()
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23430 >
2023-06-07 13:46:40 +00:00
Matt Coster
dc3538cdb5
pvr: Correct calculations in pvr_unwind_rects()
...
Fixes: 6d3d1f884c
pvr: Fix rect splitting logic in pvr_unwind_rects()
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reported-by: Soroush Kashani <soroush.kashani@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23430 >
2023-06-07 13:46:40 +00:00
Rhys Perry
b5c31f14a2
aco: remove memory_barrier_buffer implementation
...
This is no longer used.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21624 >
2023-06-07 13:19:42 +00:00
Rhys Perry
62f023f6cf
ac/nir: use scoped barriers to finish stores before exports
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21624 >
2023-06-07 13:19:41 +00:00
Rhys Perry
417990b19e
aco: consider position/primitive exports around memory barriers
...
This is needed to create barriers which ensure stores finish before
position/primitive exports.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21624 >
2023-06-07 13:19:41 +00:00
Georg Lehmann
dfb6d3e443
aco: use v_fma_mix for f2f32 and f2f16 on gfx11 if wave64
...
v_fma_mix can be dual issued, trade some code size for throughput.
Foz-DB GFX1100:
Totals from 8204 (6.08% of 134864) affected shaders:
CodeSize: 89608584 -> 89693968 (+0.10%)
Latency: 160744811 -> 160699309 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 19737977 -> 19678308 (-0.30%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21402 >
2023-06-07 12:30:11 +00:00
Georg Lehmann
177dba62a1
aco: use v_add_f{16,32} with clamp for fsat
...
v_add can be dual issued on gfx11, v_med3 cannot.
Don't use v_add directly to still optimize omod(fsat(x)).
Foz-DB GFX1100:
Totals from 32702 (24.24% of 134913) affected shaders:
Latency: 475008203 -> 474928037 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 59226198 -> 59140787 (-0.14%); split: -0.14%, +0.00%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21402 >
2023-06-07 12:30:11 +00:00
Georg Lehmann
3a0bc8f007
aco/statistics: improve v_fma_mix dual issuing detection
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21402 >
2023-06-07 12:30:11 +00:00
Georg Lehmann
0f023d90c0
aco/ir: return true in hasRegClass for Operand(reg, rc)
...
Makes isOfType() usable after lower_to_hw_instr.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21402 >
2023-06-07 12:30:11 +00:00
Vinson Lee
a62a22c922
vulkan/wsi: Remove duplicate NULL check
...
Fix defect reported by Coverity Scan.
Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: return NULL;.
Fixes: eadc64ab24
("vulkan/wsi/display: do not dereference a NULL pointer")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23415 >
2023-06-07 11:41:29 +00:00
Vinson Lee
46764815ac
tu: Fix missing unlock
...
Fix defect reported by Coverity Scan.
Missing unlock (LOCK)
missing_unlock: Returning without unlocking dev->vma_mutex.
Fixes: c20139c292
("tu: Enable bufferDeviceAddressCaptureReplay")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23490 >
2023-06-07 11:04:19 +00:00
Christian Gmeiner
7bbef4002c
etnaviv: move printing of final shader out of etna_link_shaders(..)
...
Printing the final shaders in etna_link_shaders(..) can be quite noisy and
does not work when using shader-db. Lets make it possible to stare at the
generaded shader code when using shader-db by moving the etna_dump_shader(..)
call into create_variant(..).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23396 >
2023-06-07 10:19:14 +00:00
Christian Gmeiner
f40ab555f5
etnaviv: correct number of instructions in dump_shader_info(..)
...
code_size is overall size in uint32 words of the whole shader. As
Vivante GPUs have a fixed size ISA we simply need to divide code_size
by 4 to get the number if ISA instructions.
shader-db shows the correct numbers now.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23396 >
2023-06-07 10:19:13 +00:00
Karol Herbst
a2d7a4f978
nv50/ir: convert to scoped_barrier
...
Contrary to how we implemented barriers the MEMBAR instruction actually
does not allow us to specify which memory to synchronize. We can only
specify the scope.
No regressions on TU102.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: M Henning <drawoc@darkrefraction.com >
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23208 >
2023-06-07 09:57:24 +00:00