Karol Herbst
570c263ea3
nir/load_libclc: run some opt passes for everybody
...
Cuts down serialized size from 2850288 to 1377780 bytes.
Reduces clinfo with Rusticl time by 40% for debug builds.
(Old data, but the point stands)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15996 >
2023-06-22 21:02:57 +00:00
Karol Herbst
3a981acf55
rusticl/device: create helper context before loading libclc
...
Some drivers (llvmpipe) postpone some screen initialization until the
first context is created.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15996 >
2023-06-22 21:02:57 +00:00
Lina Versace
98c8d7b7cf
venus: Fix detection of push descriptor set
...
- Fix null deref. VkPipelineLayoutCreateInfo::pSetLayouts is allowed to
contain VK_NULL_HANDLE.
- The loop 'break' was misplaced.
Fixes crash in
dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_00_11_11 after
VK_EXT_graphics_pipeline_library is enabled in a later patch.
Fixes: 91966f2eff ("venus: extend lifetime of push descriptor set layout")
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23810 >
2023-06-22 20:37:01 +00:00
Faith Ekstrand
f278b30e94
nir/opt_if: Use block_ends_in_jump
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23782 >
2023-06-22 19:55:49 +00:00
Alyssa Rosenzweig
7ddfc43fdf
nir: Remove integer and 64-bit modifiers
...
Now that Intel and R600 both do their own modifier propagation, the only
backends that still lower modifiers in NIR are:
* nir-to-tgsi
* lima
* etnaviv
* a2xx
The latter 3 backends do not support integers, and certainly do not support
fp64. So they don't use these.
TGSI in theory supports integer negate modifiers but NTT doesn't use them, so
they're unused there too.
Since they're unused, we remove NIR support for integer and 64-bit modifiers,
leaving only 16/32-bit float modifiers. This will reduce the scope needed for a
replacement to NIR modifiers, being pursued in !23089 .
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23782 >
2023-06-22 19:55:49 +00:00
Lina Versace
a2fc3213f8
venus: Advertise 1.3 in ICD file
...
It was still advertising 1.2.
Signed-off-by: Lina Versace <linyaa@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23808 >
2023-06-22 19:02:40 +00:00
Yiwei Zhang
2f729ff6aa
venus: suballocate feedback slot with feedback buffer alignment
...
Venus sync feedback design relies on concurrent host device resource
access. To avoid device flush overwriting host writes, we must
suballocate the slots with a minimum size of the buffer alignment.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23633 >
2023-06-22 18:34:44 +00:00
Eric Engestrom
b2ed33fb4d
docs: update calendar for 23.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23805 >
2023-06-22 17:20:04 +00:00
Eric Engestrom
86f8e90deb
docs/relnotes: add sha256sum for 23.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23805 >
2023-06-22 17:20:04 +00:00
Eric Engestrom
7051d4e1d8
docs: add release notes for 23.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23805 >
2023-06-22 17:20:04 +00:00
Lionel Landwerlin
8509ebb68a
anv: align buffers to a cache line
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9217
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23794 >
2023-06-22 16:53:14 +00:00
Pavel Ondračka
9db5da0f38
r300: add partial CMP support on R5xx
...
VE_COND_MUX_GTE4 is a nice match for the TGSI CMP opcode, however
there is a big limitation due to the general shortcoming of the
vertex shader engine that any instruction can read only two different
temporary registers. So we still have to lower in some cases.
Shader-db RV530:
total instructions in shared programs: 130872 -> 130333 (-0.41%)
instructions in affected programs: 29854 -> 29315 (-1.81%)
helped: 294
HURT: 83
total temps in shared programs: 16747 -> 16775 (0.17%)
temps in affected programs: 407 -> 435 (6.88%)
helped: 10
HURT: 38
Reviewed-by: Filip Gawin <filip.gawin@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23691 >
2023-06-22 14:34:39 +00:00
Mike Blumenkrantz
e15a4e6e1a
radv: pre-init surface info
...
this is costly to do at render time, so avoid it when possible
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23770 >
2023-06-22 13:36:13 +00:00
Christian Gmeiner
92dbf454f8
ci/etnaviv: update ci expectation
...
I have been running ci stress tests during the last few days
and nights and this is what I needed to get a pass rate > 80%.
There are still many flakes but I think this is a good starting
point to make better use of the ci.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23797 >
2023-06-22 13:15:44 +00:00
Martin Roukala (né Peres)
3005c27a92
Revert "amd/ci: temporarily disable some manual jobs that take a long time to run"
...
This reverts commit 4031ed5c8a .
Signed-off-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23798 >
2023-06-22 12:42:08 +00:00
Karol Herbst
33673bcc2a
rusticl: stop linking with libgalliumvl
...
it's not needed.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778 >
2023-06-22 11:51:21 +00:00
Karol Herbst
92fdfea5af
rusticl: specify which symbols to export
...
Drops release binary size from 31MB to 29MB
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778 >
2023-06-22 11:51:21 +00:00
Karol Herbst
72fe01a6be
rusticl: add ld_args_gc_sections
...
This drops release file size from 33MB to 31MB on my system.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23778 >
2023-06-22 11:51:21 +00:00
Yonggang Luo
ff29016753
meson: Guard the glsl tests that only working when OpenGL ES2 is enabled
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Yonggang Luo
0c298c1bb2
mapi: Fixes non-constant-expression cannot be narrowed from type 'unsigned long' to 'unsigned int' in initializer list with clang
...
error is:
../src/mapi/glapi/tests/check_table.cpp:563:19: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'unsigned int' in initializer list [-Wc++11-narrowing]
{ "glNewList", _O(NewList) },
This is just a test and only with clang, and can be disabled by compiler option, so there is no need to back ported
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Yonggang Luo
e44773b6d6
meson: Use consistence disabled/enabled comment for shared-glapi option
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Yonggang Luo
7af2c45947
mapi: Fixes check_table.cpp for DrawArraysInstancedARB and DrawElementsInstancedARB
...
The compile error when compiled with "-Dglx=xlib -D shared-glapi=disabled":
check_table.cpp:1133:37: error: ‘struct _glapi_table’ has no member named ‘DrawArraysInstancedARB’; did you mean ‘DrawArraysInstanced’?
1133 | { "glDrawArraysInstancedARB", _O(DrawArraysInstancedARB) },
Fixes: 5679ef99b8 ("glapi: remove EXT and ARB suffixes from Draw functions")
Reviewed-by: Eric Engestrom <eric@igalia.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23793 >
2023-06-22 11:08:11 +00:00
Karol Herbst
29b4c1a09f
rusticl: experimental support for cl_khr_fp16
...
Hidden behind `RUSTICL_ENABLE=fp16` for now as the OpenCL CTS doesn't have
enough fp16 tests at the moment. There has been a lot of work on it though,
so hopefully we can enable and verify it soon.
Additionally libclc also misses a bunch of fp16 functionality, so most of
the tests would also just crash.
However this flag is useful for development as it already wires up most of
the code needed.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23788 >
2023-06-22 10:45:48 +00:00
Karol Herbst
6ae801c4d8
rusticl/device: rename doubles to fp64 and long to int64
...
They are obviously the better names.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Nora Allen <blackcatgames@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23788 >
2023-06-22 10:45:48 +00:00
David Heidelberg
0623e1784c
ci/panfrost: switch panfrost-g52-piglit-gles2 from X to XWayland
...
Runtime reduced approx. by 3 minutes (~ 11 to 8 minutes).
- Add spec@ext_image_dma_buf_import@ext_image_dma_buf_import-transcode-nv12-as-r8-gr88 crash
- drop useless `.piglit-test` extend
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23785 >
2023-06-22 10:27:38 +00:00
norablackcat
5c120173b3
zink/screen: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
79cd51d0e6
radeonsi/get: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
979f47a04d
r600/pipe: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
6e1f873a0c
iris/screen: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
d27040ed89
crocus/screen: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
6ec57403db
sofpipe/screen: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
35f5bc0ad4
llvmpipe/screen: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
norablackcat
660f2eabe1
gallium: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
Marek Olšák
77f5b1cce0
radeonsi: clean up #includes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
56c787b36d
radeonsi: declare compiler[] and nir_options as pointers to reduce #includes
...
so that we don't have to include the structure definitions.
(ac_llvm_compiler includes LLVM, and nir_options includes NIR)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
620ff256a2
radeonsi: clean up query functions, make them static, remove forward decls
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
69bc1180b7
radeonsi/gfx11: use SET_SH_REG_PAIRS_PACKED for compute by buffering reg writes
...
This is the compute portion of the work. It uses a separate buffer
for compute SH registers in si_context.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
1753b321f8
radeonsi/gfx11: use SET_SH_REG_PAIRS_PACKED for gfx by buffering reg writes
...
Instead of writing SH registers into the command buffer, push them into
an array in si_context. Before a draw, take all buffered register writes
and create a single SET_SH_REG_PAIRS_PACKED packet for them.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
a6e6646d91
radeonsi: reorder compute code to prepare for packed SET_SH_REG packets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
f71607c8d3
radeonsi/gfx11: enable register shadowing by default
...
required by SET_SH_REG_PAIRS_PACKED*
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
aafef61f6a
radeonsi/gfx11: fix GLCTS with register shadowing by keeping the CS preamble
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
c7f4ffa401
radeonsi: remove uses_reg_shadowing parameter from si_init_gfx_preamble_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
913c6392f6
radeonsi: remove radeon_winsys::cs_set_preamble
...
It only does radeon_emit_array and it's not possible to do anything better.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
c4811edfa6
radeonsi: use si_pm4_create_sized for the shadowing preamble
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
fff585bdb8
radeonsi: don't do BREAK_BATCH for context regs with only 1 context per batch
...
because it has no effect
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:55 +00:00
Marek Olšák
835190dd9f
radeonsi: keep pipeline statistics disabled when they are not used
...
so that we don't always disable/enable pipeline stats around blits
when there are no pipeline stat queries
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:54 +00:00
Marek Olšák
ccb856fbaa
radeonsi: determine si_pm4_state::reg_va_low_idx automatically
...
The existing code doesn't work with the packed SET packets, so si_pm4_state
needs to find reg_va_low_idx after the whole packet is built.
Remove si_pm4_set_reg_va and do the same thing for SET_SH_REG.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:54 +00:00
Marek Olšák
22f3bcfb5a
radeonsi/gfx11: use SET_*_REG_PAIRS_PACKED packets for pm4 states
...
It can generate all PACKED packets, but only SET_CONTEXT_REG_PAIRS_PACKED
is generated because register shadowing is required by
SET_SH_REG_PAIRS_PACKED*.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:54 +00:00
Marek Olšák
1aa99437d3
radeonsi: eliminate redundant TCS user data and RSRC2 register changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:54 +00:00
Marek Olšák
6959493f8c
radeonsi: move the only tcs_out_lds_offsets field to vs_state_bits
...
This removes 1 user data SGPR.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23517 >
2023-06-22 08:35:54 +00:00