Jesse Natalie
37c0e8beda
compiler/clc: Don't fail to parse SPIR-V if there's no kernels
...
It's valid to have library SPIR-V being parsed that has no entrypoints.
We still want to get spec constant info for them.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26582 >
2023-12-11 16:28:28 +00:00
Faith Ekstrand
3955e596df
nak: Implement fmulz and ffmaz
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10261
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26569 >
2023-12-11 15:29:17 +00:00
Faith Ekstrand
ce8d966085
nak: Set .ftz on f32 ops by default
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26569 >
2023-12-11 15:29:17 +00:00
Faith Ekstrand
aac1e3f595
nir: Add a new has_fmulz_no_denorms flag
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26569 >
2023-12-11 15:29:17 +00:00
Erik Faye-Lund
a8b68badd5
mesa/st: use _mesa_is_zero_size_texture-helper
...
No need to repeat the logic.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26418 >
2023-12-11 12:23:19 +00:00
Erik Faye-Lund
3123e4ffeb
mesa/main: remove unused function
...
Let's just remove it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26418 >
2023-12-11 12:23:19 +00:00
Erik Faye-Lund
b84117b272
mesa/main: use _mesa_is_zero_size_texture-helper
...
No need to repeat this logic.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26418 >
2023-12-11 12:23:19 +00:00
Erik Faye-Lund
9e69dfbfed
mesa/main: remove unused ClassID
...
This was probably useful in the past when we had DRI drivers, but it's
only ever written now. Let's get rid of it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26418 >
2023-12-11 12:23:19 +00:00
Erik Faye-Lund
c67e6ea4c1
mesa/main: remove unused Log2 variants of width/height/depth
...
These are unused, and the comments about the relationships between it an
the other variants seems to be seriously outdated. Let's get rid of it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26418 >
2023-12-11 12:23:19 +00:00
Daniel Schürmann
dd7b6898e6
radv: fix number of physical SGPRs on GFX10+
...
This change has no effect.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26521 >
2023-12-11 10:39:51 +00:00
Daniel Schürmann
5ebba87772
aco: rename max_wave64_per_simd -> max_waves_per_simd
...
and update usage. Changes are because the scheduler targets
a different number of waves.
Totals from 195 (0.25% of 79330) affected shaders: (GFX11)
MaxWaves: 3120 -> 3108 (-0.38%)
Instrs: 71202 -> 71070 (-0.19%); split: -0.27%, +0.09%
CodeSize: 383272 -> 382828 (-0.12%); split: -0.21%, +0.10%
VGPRs: 7392 -> 7752 (+4.87%)
Latency: 2280141 -> 2262487 (-0.77%); split: -0.79%, +0.02%
InvThroughput: 4759022 -> 5725442 (+20.31%); split: -0.01%, +20.32%
VClause: 1737 -> 1741 (+0.23%); split: -3.11%, +3.34%
SClause: 2385 -> 2376 (-0.38%); split: -0.80%, +0.42%
Copies: 5257 -> 5274 (+0.32%); split: -0.25%, +0.57%
Branches: 1213 -> 1212 (-0.08%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26521 >
2023-12-11 10:39:50 +00:00
Daniel Schürmann
f5bdc46a57
amd: rename max_wave64_per_simd -> max_waves_per_simd
...
These are hard limits and don't depend on wave size.
Accordingly, also update the usage in order to avoid
reporting unreasonable occupancy.
Totals from 192 (0.24% of 79330) affected shaders:
MaxWaves: 5814 -> 3072 (-47.16%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26521 >
2023-12-11 10:39:50 +00:00
Samuel Pitoiset
ac20c70e9d
radv: promote EXT_calibrated_timestamps to KHR
...
All functionality are similar.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26596 >
2023-12-11 08:26:20 +01:00
Samuel Pitoiset
c9e1758462
vulkan: bump headers/registry to 1.3.273
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26596 >
2023-12-11 08:26:02 +01:00
M Henning
9d162de9a0
nak: Enable loop unrolling.
...
This brings The Talos Principle from 9 to 18 fps on my machine.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26626 >
2023-12-11 01:40:55 +00:00
M Henning
e87cca7717
nak: Clamp negative texture array indices to zero
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26626 >
2023-12-11 01:40:55 +00:00
Faith Ekstrand
888f09eca8
nvk: Rework the way we set up memory heaps/types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26627 >
2023-12-10 18:31:31 -06:00
Faith Ekstrand
18ae2d1878
nvk: Throw Tegra behind NVK_I_WANT_A_BROKEN_VULKAN_DRIVER
...
It's recieved very little testing and what testing it has recieved
indicates that synchronization is pretty badly broken. Let's turn it
off for users by default right now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26627 >
2023-12-10 18:27:43 -06:00
Echo J
9ca9b67446
nvk: Set HOST_CACHED_BIT for the GTT type
...
vkd3d-proton requires this memory bit in various cases (adding
it to the GTT memory type significantly reduces failures in the
vkd3d-proton test suite) 🐸
I'm not sure if Tegra supports this bit though so I'm not adding it
to the VRAM-less path (hopefully someone can provide an actual answer)
The next step would be adding HOST_VISIBLE bit to the VRAM type (this
will likely require more work and maybe even some KMD changes) which
would make gamescope work (Faith said that DXVK benefits from it too)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26621 >
2023-12-10 17:57:38 +02:00
Marek Olšák
9ab59574ef
gallium: add typedef pipe_draw_func matching the draw_vbo signature and use it
...
We've copied the signature too many times already. This will also be used
more.
It intentionally deviates from the name by not including the "_vbo" part.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:14 +00:00
Marek Olšák
7f11272d29
mesa: execute an error path sooner in _mesa_validated_drawrangeelements
...
Also don't print the warning in release builds.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
4f766426b2
cso: inline cso_get_pipe_context
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
7da5b8dac0
cso: do cso_context inheritance how we do it elsewhere
...
Currently, we have:
- cso_context_base is the base class, but cso_context is passed to functions
- cso_context is the derived class
Change:
- cso_context to become the base class, and is passed to functions
- cso_context_priv to become the derived class.
mesa/main will need to access the base class directly.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
3b16541a8f
mesa: move index bounds code (st_prepare_indexed_draw) into draw.c
...
there is no other user
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
c6281a6f26
st/mesa: no need to check index_size in st_prepare_indexed_draw anymore
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
4cd585ab50
mesa: call st_prepare_(indexed_)draw before Driver.DrawGallium(MultiMode)
...
This is refactoring for future work. Also, it unifies the st_draw_feedback
path with the normal path and the "indexed" version doesn't have to be called
in many places.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
8cbab48403
mesa: inline st_draw_transform_feedback
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
b14e26b198
st/mesa: make prepare_(indexed_)draw non-static
...
for later use
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
cf951bace2
mesa: remove non-relevant 16-year-old comment
...
The comment has nothing to do with the code around it and all uploads
are handled by u_vbuf today.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
360166c6f4
mesa: remove more DrawArrays/Elements duplication
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
2b8d764a76
mesa: remove some DrawElementsInstanced duplication
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Marek Olšák
23227954bc
mesa: remove some DrawTransformFeedback duplication
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619 >
2023-12-10 06:20:13 +00:00
Faith Ekstrand
df62471fef
nvk: CBuf alignment reduces to 64B on Turing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
289149ebcb
nvk: Simplify alignment limit plumbing
...
We dont't need this whole function just for advertising alignment
requirements. We now have enough #defines and helpers that they map
pretty cleanly to those.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
08222146ac
nak: Reduce minStorageBufferAlignment
...
The only real requirement here is that we can load an entire vec4 at a
time without getting a misaligned address.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
35a40b4c6a
nvk: Add an NVK_MIN_TEXEL_BUFFER_ALIGNMENT #define
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
b7f8a9e648
nvk: Add a nvk_min_cbuf_alignment() helper and use it
...
We want to be able to use cbufs for UBOs and descriptor buffers going
forward. This also cleans up alignments all over the code-base where
just kinda did whatever seemed like a good idea at the time. The result
is a lot more flexible and accurate.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
bc236acff5
nvk: Plumb a physical device into descriptor_stride_align_for_type
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
c7de8afbe0
nvk: s/device/dev in nvk_descriptor_set_layout.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Faith Ekstrand
700d5c56d1
nvk: Make NVK_DEBUG=push an alias for push_dump
...
This has been bothering me for a while. I can never remember whether
it's push_dump or dump_push. Let's just get rid of the confusion.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26617 >
2023-12-10 03:06:01 +00:00
Alyssa Rosenzweig
d11c9f9836
asahi: clamp draw count for mdi
...
spec req. KHR-GL43.indirect_parameters_tests.MultiDrawArraysIndirectCount
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
fdec9dcf05
asahi: wire up hardware gl_PrimitiveID
...
when FS reads but no GS in the pipeline, the hw supplies for us. fixes
KHR-GL43.shader_image_size.basic-*-fs-*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
1e2de134ad
asahi: respect render condition for compute
...
KHR-GL43.compute_shader.conditional-dispatching
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
1a39d1c73a
asahi: allow more format reinterpretation
...
This seems to be the hw rule... would like to confirm with perf counters
though...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
e69a0f830e
asahi: fix size calculation for 2d msaa arrays
...
otherwise the hw can overprefetch. fixes KHR-GL42.shader_image_load_store.basic-allTargets-load-ms
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
982e644d18
agx: don't produce split of immediate
...
can't be consumed, affects KHR-GL42.shader_image_load_store.basic-allTargets-load-ms
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
6e2c71dc3b
agx: Lower 64-bit I/O to 32-bit
...
Fixes KHR-GL42.vertex_attrib_64bit.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
d6474be46b
agx: fix fp64 lowering options
...
we have no fp64 whatsoever.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
8d451fe9f2
asahi: fix integer RT clamping
...
fixes the rest of KHR-GL33.packed_pixels.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
01d0fb1cde
asahi: fix pbe swizzling
...
fixes cases in KHR-GL33.packed_pixels.rectangle.*. matches what the powervr
driver does.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614 >
2023-12-09 12:08:39 -04:00