Caio Oliveira
cbc45ac99e
intel/brw: Enable EU validation and compaction tests for PTL
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32195 >
2024-12-04 23:03:11 +00:00
Erik Faye-Lund
1f294e808c
panvk: expose KHR_dedicated_allocation
...
Caterina already implemented this in ed64fa034b ("panvk: never prefer or
require dedicated allocation for buffers") and dbdaefb6ed ("panvk: never
require dedicated allocation for images"), so let's flip the switch.
We pass 4505 of the CTS tests, and fail a single one. Let's mark that
one as an expected failure and move on for now.
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32466 >
2024-12-04 21:34:59 +00:00
Kai Wasserbäch
8a453669e2
fix(FTBFS): clc/clover: pass a VFS instance explicitly
...
This just replicates what upstream did before breaking mesa with commit
df9a14d7bbf and requiring a VFS instance.
Reported-by: @Lone_Wolf
Reference: <https://github.com/llvm/llvm-project/commit/df9a14d7bbf1180e4f1474254c9d7ed6bcb4ce55 >
Closes: <https://gitlab.freedesktop.org/mesa/mesa/-/issues/12223 >
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32439 >
2024-12-04 19:55:56 +00:00
Sagar Ghuge
9afb0480c4
intel/compiler: Extend nir_intrinsic_load_topology_id_intel for xe3
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32426 >
2024-12-04 19:20:51 +00:00
Caio Oliveira
369942b76c
mr-label-maker: Rules for intel/executor
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32198 >
2024-12-04 19:14:02 +00:00
Jose Maria Casanova Crespo
d0f4d0b6d0
v3d/ci: update rpi expectations by last piglit uprev
...
Fixes: 52f13f5603 ("Uprev Piglit to 468221c722481c470e6a23760b914c33143c2af6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32482 >
2024-12-04 16:57:24 +00:00
Karol Herbst
12752228db
rusticl/util: rename Properties::from_ptr to new
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:08 +00:00
Karol Herbst
d791135df1
rusticl/api: remove Option around Properties
...
It already has the right semantics we are looking for.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:08 +00:00
Karol Herbst
825936b3f8
rusticl/util: make Properties::from_ptr unsafe
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
86453fe053
rusticl/api: use Properties for 0 terminated arrays consistently
...
Now that the semantics of Properties match exactly what we need here,
let's use it for all queries with 0 terminated arrays.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
976dd83a7a
rusticl/api: simplify CLProp implementation of Properties
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
efab5cab9f
rusticl/util: reimplement Properties over Vec of scalars
...
Tuples don't have a well defined layout, which might make it inefficient
to copy from.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
237f081866
rusticl/util: make Properties::props private
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
b4b01498a6
rusticl/util: add Properties::iter()
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
da5cf9414e
rusticl/util: add Properties::is_empty() and len()
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
ef9910df4f
rusticl/api: mark get_info and get_info_obj as unsafe
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
3692bb3429
rusticl/proc: make generated entry points unsafe
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
3a155a4591
rusticl/context: use write_iter for CL_DEVICES_FOR_GL_CONTEXT_KHR
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
86a279c36b
rusticl/api: use constant arrays instead of Vecs for queries
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
67abda9fd5
rusticl/platform: pass the slice directly for CL_PLATFORM_EXTENSIONS_WITH_VERSION
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
379e72e7ed
rusticl/program: use write_len_only for CL_PROGRAM_IL
...
The spec mandates that if the program object isn't created from IL, it
should not touch the buffer. Passing an empty slice would achieve that,
but it's better to be explicit here.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
69fd3a33dc
rusticl/program: pass the slice directly for CL_PROGRAM_IL
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
ac292ad452
rusticl/program: use write_iter for CL_PROGRAM_DEVICES
...
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
aed4a7bf83
rusticl/program: use write_len_only for CL_PROGRAM_BINARIES
...
This query would simply write back the same content, so skip it.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
45af2e45f3
rusticl/api: add a write_iter variant for writing API properties
...
This allows us to get rid of temporary vectors or other allocations.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
26e08accca
rusticl/api: add a write_len_only variant for writing API properties
...
For some queries we do not want to touch the buffer at all, this helps out
with that.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
008caff86d
rusticl: rework query APIs
...
The old way was quite annoying as it required to create a Vec to even get
the size of the result causing needless computations.
This also meant that copying into the result buffer always required to go
through a byte Vec even though we could just do the copy directly.
The main idea here is that instead of returning the result, we simply call
into a write function giving us more flexibility here.
Potentially this will also allow us to add overloads for Iterators or to
even use closures in case the size calculation is cheaper than creating
the value just to get the size.
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Karol Herbst
6fd6de46dc
rusticl/program: check if provided binary pointers are null
...
Cc: mesa-stable
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32268 >
2024-12-04 16:20:07 +00:00
Friedrich Vock
ff76d27554
vulkan/runtime/bvh: Set leaf_node_count for updates
...
Since the leaf node pass doesn't run for updates, leaf_node_count never
got set. This resulted in updates always running on 0 leaves (i.e. being
no-ops).
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32451 >
2024-12-04 15:36:15 +00:00
Marek Olšák
3effa3d53b
nir/lower_io_passes: lower indirect IO for TCS
...
nir_lower_io_to_temporaries doesn't do anything and gives up when it gets TCS.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
943360c86b
amd/ci: add piglit failures due to a overzealous test
...
It's missing: https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/976
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
f5a0cde125
nir/opt_varyings: fix compile failures in the disabled PRINT code
...
linkage is a pointer, but it was used as a structure.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
dd788d0a7f
nir/opt_varyings: remove rare dead output stores after inter-shader code motion
...
Backward inter-shader code motion left dead output stores in the producer
in rare cases. Those dead stores would then make their way into drivers
and hw.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
f0c4e71d58
nir/opt_varyings: fix getting deref variables for sysvals
...
This might fix array system values. Noticed by luck.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
dcc679ab3a
nir/opt_varyings: add inter-shader code motion for uniform/UBO indexing
...
If input_value, index, index1 or index2 is an input, here are examples of
code that this commit moves from consumers to producers:
* input_value * uniform_array[index]
* uniform_array[index]
* ubo[0].array[index]
* ubo[index].var
* ubo[index1].array[index2]
If the array index is computed from an input, it must be flat or convergent
within a primitive to be moved. If the array index is not an input, it must
be a uniform expression.
dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_fragment
has UBO indexing that is moved to the producer by this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
f52ae35d73
nir/opt_varyings: propagate indirect uniform/UBO loads into the next shader
...
Uniform and UBO loads with non-constant indices are now propagated.
The majority of this code implements cloning deref chains.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
d8468d5463
amd,zink: remove options.varying_estimate_instr_cost callbacks
...
They are a maintainenance burden since they would need changes to
support more instruction types that nir_opt_varyings will be able to
move between shaders, and they are almost identical to
default_varying_estimate_instr_cost, so just use that.
The cost threshold is adjusted for AMD because
default_varying_estimate_instr_cost is slightly different.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
c0de78f120
nir/opt_varyings: change try_move_postdominator param to nir_instr type
...
We want more instructions to be movable, like
load_deref(var, index = load_input).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
8e39e8ed4d
nir/opt_varyings: make top-level compaction code for TES, TCS, GS separate
...
Add a separate "if" block for each and use a helper for repeated code.
There will be more code added here that keeping TES, TCS, and GS compaction
code unified would be a mess.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
d20e07dbad
nir/opt_varyings: fix max_slot for color varying compaction
...
It should be in units of slots. This was unlikely to break anything.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
69b1853ecf
nir/opt_varyings: count the number of unused components for compaction correctly
...
Holes due to indirectly-indexed inputs were ignored, making the compaction
worse when such inputs were present alongside convergent inputs.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
1aa9fec542
nir/opt_varyings: fix compaction with sparse indirect FS inputs
...
Without this, compaction can put inputs into vec4 slots already occupied
by indirectly-accessed inputs while ignoring their interpolation qualifier,
which is incorrect.
All input components sharing the same vec4 slot must use interpolation
qualifiers that are compatible with each other.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
b01f3cea7a
nir/opt_varyings: remove redundant conditions from a while loop
...
Most of these conditions are repeated below with a continue statement.
This just puts break at the end where all of them are false.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
a618a2aa8b
nir/linking_helpers: don't promote interpolated varyings to flat
...
Even the most flexible interpolation that we have in NIR options
(nir_io_has_flexible_input_interpolation_except_flat) doesn't allow
mixing flat and non-flat in the same vec4. This (legacy) optimization
can't promote interpolated inputs to flat if it doesn't consider
the interpolation mode of the whole vec4 slot.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
16f7d22394
util/bitset: add BITSET_GET_RANGE_INSIDE_WORD
...
to be used later
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Marek Olšák
da3f9e3626
util/bitset_test: test the return value of BITSET_TEST_RANGE_INSIDE_WORD better
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32424 >
2024-12-04 13:40:41 +00:00
Konstantin Seurer
16f4b93cac
lavapipe: Implement VK_KHR_compute_shader_derivatives
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31056 >
2024-12-04 12:53:57 +00:00
Konstantin Seurer
eac613bc70
gallivm: Use an accurate log2 implementation for lodq
...
The fast implementation can be off by a lot for small values.
Fixes:
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.compute.lod_op.query.linear.16_1_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.compute.lod_op.query.linear.16_1_1.mip_1
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.compute.lod_op.query.linear.4_4_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.compute.lod_op.query.linear.4_4_1.mip_1
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.mesh.lod_op.query.linear.16_1_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.mesh.lod_op.query.linear.16_1_1.mip_1
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.mesh.lod_op.query.linear.4_4_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.mesh.lod_op.query.linear.4_4_1.mip_1
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.task.lod_op.query.linear.16_1_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.task.lod_op.query.linear.16_1_1.mip_1
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.task.lod_op.query.linear.4_4_1.mip_0
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.task.lod_op.query.linear.4_4_1.mip_1
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31056 >
2024-12-04 12:53:57 +00:00
Timothy Arceri
fcebbfc399
glsl: drop unused array refcount code and tests
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32450 >
2024-12-04 11:50:57 +00:00
Sagar Ghuge
2af9853432
intel: Use the common RT BVH framework
...
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31588 >
2024-12-04 10:41:45 +00:00