Connor Abbott
cc7be2b2b3
ir3: Use nir_split_struct_vars for temporaries
...
This should let us lower the RT query stack to registers instead of
scratch by getting rid of the rest of the members of the ray query
struct. This gives a 24% decrease in total time for 3DMark InVitro.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
f3f0c5048d
tu, ir3: Implement a750 RT workaround
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
967ea4bbbb
tu: Expose VK_KHR_ray_tracing_maintenance1
...
All of the features were already implemented in the initial bringup.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
36e46b4ada
tu: Support VK_KHR_ray_query
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
671e3a65a6
tu: Support VK_KHR_acceleration_structure
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
78b5999c1e
tu: Display when raytracing is disabled in device string
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
46cd7faed3
tu: Move fd_dev_info() before name generation
...
Remove the redundant error that will never be hit in practice (because
if fd_dev_name() succeeds then so will fd_dev_info()) and move it up so
that we can use the info when generating the name.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
4a5b234d5e
tu: Plumb through raytracing fuse
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
9249a189ca
tu/kgsl: Bump uapi header
...
From commit 809ee24fe560.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
18550fb41b
freedreno: Introduce ray tracing features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
cdb1857a4d
tu: Create meta device
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
c103d5a05e
tu: Add common define for maxTexelBufferElements
...
I will want to use this HW property elsewhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
80649e148d
tu: Implement unaligned dispatches
...
These will be used for BVH building.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
1bee1a9301
tu/a7xx: Emit HLSQ_CS_LAST_LOCAL_SIZE dynamically
...
We'll need this to implement unaligned dispatches.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
92f043465d
tu: Stop emitting HLSQ_CS_KERNEL_GROUP_*
...
It's already emitted by CP_EXEC_CS and CP_EXEC_CS_INDIRECT, we were just
setting it to a wrong value before it was overwritten.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
1edeeb3d13
freedreno/a7xx: Document partial workgroup register
...
This lets us implement "unaligned" dispatches without inserting shader
code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
b8cb00c64a
freedreno: Add new a7xx CP_REG_RMW and CP_REG_TO_SCRATCH fields
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
a1235ddba8
freedreno: CP_SCRATCH_WRITE exists on a7xx too
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
24a1d54502
tu: Implement buffer_write_cp
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
7073a8d458
tu: Implement cmd_fill_buffer_addr internal function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
2d45836c95
ir3: Plumb through ray_intersection intrinsic
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
91f19bcbe0
ir3: Plumb through two-dimensional UAV loads
...
There is native support for D3D-style untyped UAVs, which are an unsized
array of "records."
This will be needed for acceleration structures, because normal SSBO
descriptors aren't large enough to cover all the 128-byte instance
descriptors for the maximum number of instances (2**24).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
b6ae20f2d6
ir3: Support assembling/disassembling ray_intersection and resbase
...
These instructions are used for ray tracing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:23 +00:00
Connor Abbott
3a5cb40c1f
ir3: Allow collect sources to be undef
...
Undef collect sources will never have a move materialized for them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:22 +00:00
Connor Abbott
c2c48db6a4
vk/bvh: Fix clang build error with turnip
...
Make sure that struct vk_bvh_geometry_data is defined before
vk_fill_geometry_data(), to fix this error:
In file included from ../src/freedreno/vulkan/tu_acceleration_structure.cc:29:
../src/vulkan/runtime/vk_acceleration_structure.h:138:1: error: 'vk_fill_geometry_data' has C-linkage specified, but returns incomplete type 'struct vk_bvh_geometry_data' which could be incompatible with C [-Werror,-Wreturn-type-c-linkage]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28447 >
2025-01-20 01:22:22 +00:00
Caio Oliveira
793cba0e6f
intel/brw: Apply conventions to lower_src_modifiers helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33110 >
2025-01-19 08:24:09 -08:00
Timothy Arceri
7d41cfa1a9
glsl: enable layout qualifier if OVR_multiview enabled
...
OVR_multiview requires 1.30 but makes use of layout qualifier
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33074 >
2025-01-19 01:10:54 +00:00
Caio Oliveira
d7d210fed4
intel/brw: Move shuffle_from_32bit_read implementation to brw_builder
...
Make it a member function for convenience -- since another
member function uses it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33108 >
2025-01-18 20:48:57 +00:00
Caio Oliveira
b3001e4946
intel/brw: Move a few builder helpers to brw_builder.h/cpp
...
Add brw prefix when necessary.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33108 >
2025-01-18 20:48:57 +00:00
Lionel Landwerlin
10a4dc529f
blorp: disable PS shaders with depth/stencil HiZ ops
...
Found on simulation, complaining about SIMD32 shaders enabled when
using MSAA 16x.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30753 >
2025-01-18 17:52:19 +00:00
Caio Oliveira
1043187ec6
intel/brw: Stop using namespace for brw_builder
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33076 >
2025-01-18 16:12:56 +00:00
Caio Oliveira
5ac82efd35
intel/brw: Rename fs_builder to brw_builder
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33076 >
2025-01-18 16:12:55 +00:00
Caio Oliveira
f2d4c9db92
intel/brw: Rename brw_fs_builder.h to brw_builder.h
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33076 >
2025-01-18 16:12:54 +00:00
Caio Oliveira
f0fe0026c0
intel/brw: Remove extra wrapping around fs_visitor in tests
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33100 >
2025-01-18 07:41:35 -08:00
Konstantin Seurer
01ec2f59a4
nir/print: Do not print trailing spaces after preds/succs
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32644 >
2025-01-18 11:02:25 +00:00
Konstantin Seurer
eb3ab68e5e
nir/tests: Add reference shaders
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32644 >
2025-01-18 11:02:25 +00:00
Konstantin Seurer
8838a0c595
nir/tests: Add a helper for comparing a shader against a string
...
This allows unit tests to compare against a reference nir shader instead
of implementing checks for interesting instructions/CF nodes.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32644 >
2025-01-18 11:02:25 +00:00
Konstantin Seurer
6d1d15183f
nir/tests: Improve shader creation
...
Sets some fields so they are not printed and allows specifying a stage.
This decreases the size of reference shaders.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32644 >
2025-01-18 11:02:25 +00:00
Konstantin Seurer
305be9cf5e
nir/print: Print less unused shader info
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32644 >
2025-01-18 11:02:25 +00:00
Caio Oliveira
94fa449318
intel/brw: Add missing cases to flags_written()
...
These virtual opcodes will write the whole flag set, either directly
(via brw_fill_flag()) or indirectly by using LOAD_LIVE_CHANNELS.
Issue was found when analysing a hang that would disappear
if the lowering of those opcodes was pulled all the way up
right before brw_opt_cmod_propagation (which uses the
flags_written).
Fixes: 019770f026 ("intel/brw: Add SHADER_OPCODE_VOTE_*")
Fixes: 2bd7592b0b ("intel/brw: Add SHADER_OPCODE_BALLOT")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12347
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12479
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33085 >
2025-01-18 05:30:23 +00:00
Samuel Pitoiset
0a4584a684
radv: bump maxViewportDimensions to 32K on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33064 >
2025-01-17 21:10:23 +00:00
Mike Blumenkrantz
3d7d303dc5
zink: enable maintenance8
...
this avoids validation errors from 3d<->2d blits
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33102 >
2025-01-17 20:46:43 +00:00
Mike Blumenkrantz
0d29ddb328
lavapipe: maintenance8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33098 >
2025-01-17 19:41:45 +00:00
Mike Blumenkrantz
c285a2a354
lavapipe: support zs<->color copies
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33098 >
2025-01-17 19:41:45 +00:00
Mike Blumenkrantz
00d478d96d
lavapipe: abort on unsupported depth copy ops
...
better than silently failing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33098 >
2025-01-17 19:41:45 +00:00
Mike Blumenkrantz
7e8c13ea64
lavapipe: fix 3D->2D blitting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33098 >
2025-01-17 19:41:45 +00:00
Samuel Pitoiset
2ba91d1deb
radv: promote VK_EXT_depth_clamp_zero_one to KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33090 >
2025-01-17 19:02:02 +00:00
Lionel Landwerlin
f96e95fcc9
anv: remove print lowering
...
This is handled by the back compiler.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33067 >
2025-01-17 18:09:46 +00:00
Lionel Landwerlin
e1074f5bd4
anv: update debug printf example code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33067 >
2025-01-17 18:09:45 +00:00
Lionel Landwerlin
2603dbd796
nir: make lower-level printf helper respect buffer size
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33067 >
2025-01-17 18:09:45 +00:00