Georg Lehmann
e527f686ca
Revert "aco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32."
...
This reverts commit 6d02054047 .
v_cvt_pk_u8_f32 returns 0xff instead of v_cvt_u32_f32 & 0xff if the input is
larger than 255.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8128
Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20829 >
2023-01-23 16:22:55 +00:00
SoroushIMG
c007a6e727
zink: update gl43 profile to allow imageRobustAccess
...
Now that zink can use imageRobustAccess and handle txf with invalid LODs,
update the profile to require either VK_EXT_image_robustness or VK_EXT_robustness2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
SoroushIMG
f855e2fff6
zink: lower LOD-invalid txf when imageRobustAccess2 is missing
...
GL robust buffer access applies to texelFetch with out of bounds LODs.
imageRobustAccess2 guarantees this, but imageRobustAccess does not.
Therefore, the txf robustness lowering pass from earlier is used
to provide this guarantee and support ARB/KHR robust_buffer_access_behavior.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
SoroushIMG
90d5e449ae
zink: add robust_access field to shader key
...
Since shaders can be shared even between robust and non-robust
contexts, the robustness state needs to be tracked.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
SoroushIMG
37d00c1a8e
zink: add VK_EXT_image_robustness
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
SoroushIMG
6f15646945
zink: add zink_cs_key
...
Also, add shader key handling to compute programs.
This will be used later on for the rb_image workaround.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
SoroushIMG
c448c7c2e2
zink: add pass checking for lod overflow in txf
...
Will be used later to workaround missing robustImageAccess2 along
with robustImageAccess.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20808 >
2023-01-23 15:16:01 +00:00
Mike Blumenkrantz
474ed4b877
zink: use actual swapchain object for surface comparison
...
the outer swapchain object is persistent, which means checking it
will never yield an update after the first check
fixes #8122
Fixes: b2739c9f00 ("zink: set surface->dt when updating swapchain"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20814 >
2023-01-23 14:51:39 +00:00
Rhys Perry
26e4621fa2
aco/tests: update assembler tests for latest LLVM 16
...
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/20747 >
2023-01-23 12:30:28 +00:00
Rhys Perry
b0fa106dc6
aco/tests: fix assembler.gfx11.vop12c_v128 with LLVM 15
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8089
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20747 >
2023-01-23 12:30:28 +00:00
Erik Faye-Lund
9f4f131f2e
radeonsi: respect smoothing_enabled
...
When this was last changed, the smoothing_enabled flag seems to have
been forgotten about, breaking line-smoothing (and probably also polygon
smoothing).
Fixes: 4147add280 ("radeonsi: update db_eqaa even if msaa is disabled")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20810 >
2023-01-23 08:41:04 +00:00
Iago Toral Quiroga
3325950648
v3dv: increase BO allocation size when growing CLs
...
This can significantly reduce the number of allocations required
to record large command buffers with thousands of draw calls and
it improves significantly vkoverhead's results.
fps_avg helped: serious_sam_trace01_1280x720.gfxr: 17.96 -> 18.50 (3.01%)
fps_avg helped: vehicle-game-2.gfxr: 9.09 -> 9.33 (2.67%)
fps_avg helped: ue4_shooter_game_high_quality.gfxr: 17.40 -> 17.66 (1.48%)
fps_avg helped: ue4_shooter_game_low_quality.gfxr: 25.25 -> 25.61 (1.44%)
fps_avg helped: ue4_sun_temple.gfxr: 24.93 -> 25.15 (0.86%)
fps_avg helped: vkQuake_capture_frames_1_through_1200.gfxr: 52.54 -> 52.95 (0.78%)
fps_avg helped: rbdoom-3-bfg_capture.gfxr: 13.87 -> 13.96 (0.69%)
fps_avg helped: sponza_demo02_800x600.gfxr: 19.59 -> 19.63 (0.21%)
fps_avg HURT: ue4_shooter_game_shooting_high_quality.gfxr: 19.14 -> 18.95 (-0.98%)
fps_avg HURT: sponza_demo01_800x600.gfxr: 20.03 -> 20 (-0.09%)
fps_avg HURT: quake3e_capture_frames_1_through_1800.gfxr: 57.34 -> 57.34 (-0.01%)
fps_avg HURT: serious_sam_trace02_1280x720.gfxr: 38.27 -> 38.27 (-0.01%)
total fps_min in shared programs: 311.74 -> 313.91 (0.69%)
fps_min in affected programs: 311.74 -> 313.91 (0.69%)
helped: 10
HURT: 2
total fps_max in shared programs: 319.54 -> 320.24 (0.22%)
fps_max in affected programs: 319.54 -> 320.24 (0.22%)
helped: 6
HURT: 6
total fps_avg in shared programs: 315.41 -> 317.36 (0.62%)
fps_avg in affected programs: 315.41 -> 317.36 (0.62%)
helped: 8
HURT: 4
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20787 >
2023-01-23 07:14:33 +00:00
Iago Toral Quiroga
01c6eeeba5
v3dv: drop unused field from v3dv_cmd_buffer
...
Not needed since we moved to the common sync framework.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20787 >
2023-01-23 07:14:33 +00:00
Jonathan Gray
0594b3c143
egl/dri2: avoid undefined unlocks
...
unlocks were incorrectly added to paths using dri2_egl_display() as
well as those using dri2_egl_display_lock()
pthread_mutex_unlock() when unlocked is documented by posix as
being undefined behaviour. On OpenBSD pthread_mutex_unlock() will call
abort(3) if this happens.
Fixes: f1efe037df ("egl/dri2: Add display lock")
Reviewed-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20712 >
2023-01-23 00:20:46 +00:00
David Heidelberg
e82cf650e9
ci: bump Mold to the 1.10.0
...
mold 1.9.0 was up to 10% slower than 1.8.0 on some multicore machines. We fixed the performance regression and made it even faster than 1.8.0.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20819 >
2023-01-22 23:25:24 +00:00
David Heidelberg
4c1544b38a
ci: Sir trace has small invisible change in rendering
...
Unrelated to MR itself.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20819 >
2023-01-22 23:25:24 +00:00
Mike Blumenkrantz
5bbeb8f507
radv: add an early out in radv_cmd_buffer_flush_dynamic_state()
...
no point checking all the states if they're known to be unset
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20653 >
2023-01-22 13:27:23 +01:00
Thomas H.P. Andersen
a8caf451cb
v3dv: use common code for descriptor update template
...
Use the common code and structs for this. Depends on !14780
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18625 >
2023-01-22 11:20:29 +00:00
Adam Stylinski
9ca5a81a6e
glx: fix a macro being invoked with the wrong parameter name
...
Strangely, this was somehow compiling with GCC but my futile efforts to
build mesa with msan caused me to find clang refusing to compile because
of this. Unknown how many bugs this could fix or how GCC did manage to
find "config" in scope but it's fairly obvious that this is the correct
parameter that should be used.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20830 >
2023-01-22 04:22:08 +00:00
Konstantin Seurer
d59683ab89
radv: Enable extended SAH for shallow BVHs
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20656 >
2023-01-21 20:26:41 +00:00
Konstantin Seurer
da87c2883d
radv: Wrap internal build type inside a build_config struct
...
This will be useful for finer control over build configurations.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20656 >
2023-01-21 20:26:41 +00:00
Konstantin Seurer
c53eb2f3d4
radv: Add a shader variant for PLOC with extended SAH
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20656 >
2023-01-21 20:26:41 +00:00
Konstantin Seurer
b1755c0b21
radv/bvh: Add a define for extended SAH
...
This will be used to only chose depth aware SAH when we know that it's
more optimal and doesn't increase build overhead too much.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20656 >
2023-01-21 20:26:41 +00:00
Konstantin Seurer
13a8a4071a
radv/bvh/meson: Add the option to set defines
...
This is useful for compiling different variants of the same shader.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20656 >
2023-01-21 20:26:41 +00:00
Eric Engestrom
e4ccd74cbc
ci: be explicit about the meson setup subcommand
...
The old way of doing things is deprecated.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20827 >
2023-01-21 14:44:33 +00:00
Gert Wollny
4f50eba5a5
r600/sfn: Fix splitting of multislot alu ops
...
The old source must not incorporate the start slot as lookup
index.
Fixes: commit 573448f93c
r600/sfn: prepare alu split for use of variable length dot
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8120
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20826 >
2023-01-21 11:28:09 +01:00
Gert Wollny
ac30c40211
r600/sfn: Fix opcode and result dest slot mask for variable size dot
...
Fixes: commit 2df023a1f1
r600/sfn: pre-evaluate allowed dest mask in Alu instructions
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8120
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20826 >
2023-01-21 11:27:57 +01:00
Marek Olšák
797b839111
glthread: disallow glthread if buffer uploads are unsupported
...
to remove fail paths that defeat the purpose of glthread.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
aca09e4f71
glthread: do vertex uploads if an index buffer is present for MultiDrawElements
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
7921396c7b
glthread: remove the vbo_upload_ratio_too_large fallback for glMultiDrawElements
...
This would be possible to implement, but we don't know of any app where
it would help.
Now glthread fully handles all non-VBO uploads except glDrawIndirect.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
98a0e8c908
glthread: make marshal functions for glBegin/End attribs non-static
...
for a future commit
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
e9abed5315
glthread: pack and name the type of glthread_vao::Attrib
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
02f1968696
mesa: move gl_vertex_format_user definition into glthread.h
...
glthread.h needs it and it can't include mtypes.h because mtypes.h
includes it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
c00db0dbc8
glthread: do vertex uploads if an index buffer is present for glDrawElements
...
glthread didn't implement uploading non-VBO vertices if indices were
in a buffer. This implements that.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
ed7d3b33b0
glthread: change multi_draw_elements_async() to never fail due to large size
...
Some callers (not visible here) silently ignore the return value. Remove
the return value and handle the failure in multi_draw_elements_async.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
fc93c69701
glthread: execute glMultiDrawArrays(draw_count < 0) asynchronously
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
68a926a15b
glthread: set GL_OUT_OF_MEMORY if we fail to upload vertices
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
e39b90311c
glthread: set GL_OUT_OF_MEMORY if we fail to upload indices
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
777166cc66
glthread: handle GL_*_ARRAY in glEnable/Disable
...
Surprisingly, the GL compatibility profile allows these in both
glEnableClientState and glEnable.
Fixes: 0b1dd18591 - glthread: track which vertex array attribs are enabled
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
a4d813ba54
glapi: autogenerate function parameters with no space between * and variable
...
print "int *v" instead of "int * v".
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
721526227c
mesa: allow GL_UNSIGNED_INT64_ARB as vertex format for ARB_bindless_texture
...
This wasn't implemented, but the spec requires it.
Fixes: 1fe7b1f972 - mesa: implement ARB_bindless_texture
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
4f6e785876
util: fix util_is_vbo_upload_ratio_too_large
...
It was wrong. For example, if the draw vertex count was 10 and the upload
vertex count was 150, u_vbuf wouldn't unroll the draw and would instead
memcpy 150 vertices. This fixes that case.
Fixes: 068a3bf0d7 - util: move and adjust the vertex upload heuristic equation from u_vbuf
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824 >
2023-01-20 21:34:09 -05:00
Marek Olšák
4d4995b32b
glthread: fix an upload buffer leak
...
Fixes: befbd54864 - glthread: don't use atomics for refcounting to decrease overhead on AMD Zen
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20804 >
2023-01-21 01:38:27 +00:00
Lionel Landwerlin
6f02f9d108
anv: fix preemption enable emission in gpu_memcpy
...
This has to be before the MI_BATCH_BUFFER_END otherwise it has no
effect.
This also was messing around with you batch length alignment.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: b9aa66d5d0 ("anv: disable preemption for 3DPRIMITIVE during streamout")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20802 >
2023-01-20 22:35:41 +02:00
Mike Blumenkrantz
b3fd72fd09
radv: remove redundant type sizing
...
this is already 8 bits
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20751 >
2023-01-20 19:43:43 +00:00
Mike Blumenkrantz
46e2cc5d4c
radv: add some graphics pipeline hints to optimize pipeline bind
...
this is a costly function, and we want to avoid loading random struct data
as much as possible
these struct members aren't accessed anywhere else in the function, so eliminating
access avoids some cpu overhead
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20751 >
2023-01-20 19:43:43 +00:00
Mike Blumenkrantz
8fc5d93060
radv: simplify depth aspect check in radv_handle_image_transition()
...
this info is already available, so reduce cpu overhead
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20751 >
2023-01-20 19:43:43 +00:00
Mike Blumenkrantz
f9ff2d9d07
radv: reorder dynamic state checks during bind
...
this avoids potential out-of-order reads from a struct that spans
18 CPU cachelines
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20751 >
2023-01-20 19:43:43 +00:00
Mike Blumenkrantz
83c290ff84
radv: repack radv_graphics_pipeline struct
...
this reduces the number of cachelines used by the struct and allows for
improved memory access
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20751 >
2023-01-20 19:43:43 +00:00
Jesse Natalie
bfd891fe66
dzn: Support basic subgroups
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20777 >
2023-01-20 18:50:57 +00:00