Commit graph

163038 commits

Author SHA1 Message Date
Alyssa Rosenzweig
b24fe2badf asahi: Unset PIPE_CAP_POINT_SIZE_FIXED
We do not support glPointSize(), we need point size lowered to gl_PointSize
writes in the frontend so we can use the GLES pat.

Fixes glamor.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
726603f779 asahi: Set data_valid with PERSISTENT or COHERENT
We won't get an unmap/flush but we could have had data already.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
7522f4f714 asahi: Make resource creation code modifier-aware
Needed for WSI.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
a57b4577a1 asahi: Fix indexed draw decode
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
fa81da9e2f asahi: Add render scanout to resource
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
2aac18d7e4 asahi: Set cfg.levels for linear framebuffers
Otherwise we will crash in GenXML, which does not specify a default here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
a5b8918800 asahi: Set fd/ro appropriately
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
f1771ec398 asahi: Implement agx_resource_get_param
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
3732a41677 asahi: Implement agx_resource_get_handle
Only useful on Linux.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
01964625eb asahi: Implement agx_resource_from_handle
Only used on Linux, but can compile anywhere.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
b774ed7c18 asahi: Stub import/export code
It will be used on Linux, and it is convenient to be able to compile the same
code on macOS in the mean time.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
943d939a9f asahi: Implement dmabuf modifier queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
7147313d0a asahi: Support XRGB formats
Just treat them like ARGB. Not sure if this is sane, but it works for now...

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Asahi Lina
7c59e75481 asahi: Add renderonly to device
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
69ee201733 asahi: Remove index_bias assert
Index bias works okay already, tested against dEQP-GLES31 on agx/next.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
6ca69b2843 asahi: Localize the modifier #define hack for macOS
This reduces the burden of synchronizing the values between Linux and macOS and
provides fewer ways to shoot ourselves in the foot.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
b89d82fd6c asahi: Use AIL tiling instead of DRM modifiers
...for internal parts of the driver that are unrelated to UAPI. This makes the
ail representation canonical and the modifier a mere UAPI detail.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
bf593e09b1 asahi: Handle synchronized transfers better
We need to flush the appropriate batch(es in the future) before a synchronized
transfer for correct results. To do so without major performance regressions, we
need to do extra bookkeeping about which batches write which resources. We
already know about reads via the BO list.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Alyssa Rosenzweig
e9dbbddf43 ail: Add get_wsi_stride_B helper
Centralize the logic around WSI strides, which are a software convention made
into UAPI rather than something set in silicon.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
2022-11-17 02:47:10 +00:00
Jesse Natalie
2d04206673 meson: Enable SSE4.1 for MSVC
Modern MSVC always supports compiling with the SSE4.1 intrinsics with
no additional command line options, but doesn't have any options for
auto-vectorizing into SSE4.1.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16840>
2022-11-17 02:14:39 +00:00
Yonggang Luo
ad0d39efed glsl: Use DETECT_CC_GCC_VERSION in glsl/builtin_functions.cpp
The expression "(__GNUC__ * 100) + __GNUC_MINOR" is invalid
because __GNUC_MINOR is not defined by the compiler

This can not fixes the previous version because DETECT_CC_GCC_VERSION is not available
in previous released version

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19771>
2022-11-17 01:43:37 +00:00
Michel Dänzer
71a0a386b5 Revert "egl/glx: add fallback for zink loading"
This reverts commit 2569215f43.

Conflicts:
	src/egl/main/eglapi.c
	src/glx/glxext.c

It broke the fallback to swrast in some cases where zink can't work.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7333
Fixes: 2569215f43 ("egl/glx: add fallback for zink loading")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19681>
2022-11-17 01:08:33 +00:00
Dylan Baker
b1b419f7fe docs: update calendar and link releases notes for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
2022-11-17 01:03:13 +00:00
Dylan Baker
03eb7ae9ae docs: Add sha256 sum for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
2022-11-17 01:03:13 +00:00
Dylan Baker
5061bd6c25 docs: add release notes for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
2022-11-17 01:03:13 +00:00
Jesse Natalie
2a1bb4df95 dzn: Ensure SRV ResourceMinLODClamp is set to 0.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
2f8d2a91a6 dzn: Use cube-array views for misaligned cubes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
6e7896aa44 dzn: Use DEPTH_STENCIL_DESC2 for front/back stencil read/write masks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
73c9cfb61b dzn: Use ID3D12GraphicsCommandList8 for front/back stencil ref
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
c5b6d0c882 dzn: Get options14
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
6b887034be dzn: Use CreateCommandList1
We don't need to do the command list destroy/re-create dance if the
only reference to an allocator is a *closed* command list. Using
CreateCommandList1 gives us a closed command list to start with,
which better matches the semantics of Vulkan's begin/end for
command buffers.

Now that dzn's cmdbuf reset logic puts the cmdbuf back to the
*initial* state, move the command list reset to BeginCommandBuffer.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
56d4e038dd dzn: Use common command buffer state tracking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
f3b631f1dc dzn: Upgrade baseline from ID3D12Device2 to 4
This is pretty old already and we'll want to use CreateCommandList1

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Jesse Natalie
a3dbc9ac25 microsoft/compiler: Emit sampleCmpLevel when needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
2022-11-17 00:13:33 +00:00
Dave Airlie
442d1fe5ad gallivm: use masked intrinsics for global and scratch access.
This seems to improve luxmark scores for me on the luxball scene
from numbers in the 4-500 range to 5-700 range.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19736>
2022-11-16 23:31:54 +00:00
Daniel Schürmann
fda262fe64 radv/rt: move Ray Tracing shader creation into separate file
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19525>
2022-11-16 22:43:49 +01:00
Sajeesh Sidharthan
ce97fa9349 frontends/va: set vbv buffer size same as target bitrate in cbr mode
video buffering verifier (vbv) buffer size must be set same as
target bitrate to achieve constant bitrate.

Signed-off-by: Sajeesh Sidharthan <sajeesh.sidharthan@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19695>
2022-11-16 20:01:05 +00:00
Pavel Ondračka
3e19eb59a6 r300: respect extra presubtract swizzle limitations during regalloc
Regalloc was not aware of the extra limitations and in some cases could
convert native swizzle into non-native.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
2022-11-16 19:51:47 +00:00
Pavel Ondračka
14d97e1e42 r300: handle presubtract when rewriting non-native swizzles
The extra presubtract limitations were completelly ignored.
Fixes 4 dEQP asin and atan tests.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7554
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
2022-11-16 19:51:47 +00:00
Pavel Ondračka
8cfc44aace r300: don't allow constant swizzles from presubtract sources
It is not possible to rewrite it to a native swizzle later on R300/R400.

The way the native rewrite currently works, it will create bunch of
movs with the given presubtract and partial swizzles, however no
constant swizzle for presubtract source exists so it is just not
possible to rewrite it.

This prevents an infinite loop in supertuxkart shader when we really
start enforcing the presubtract swizzle limitations during native
swizzle rewrite in the next commit.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
2022-11-16 19:51:47 +00:00
Pavel Ondračka
6738a7b5b4 r300: be more careful with presubtract and non-native swizzles
The problematic scenario is when we have the same source used by both
normal and presubtract argument. We check that case currently and count
the source only once. However if one of the arguments uses a non-native
swizzle, we have to rewrite it later and the source changes. Therefore
we end with too many sources and fail later during pair translation.

Example:
ADD temp[21].xy, temp[20].xy__, temp[17].xy__;
MAD temp[22].xy, temp[17].zw__, temp[11].xy__, temp[21].xy__;

will get converted to

MAD temp[22].xy, temp[17].zw__, temp[11].xy__, (temp[17] + temp[20]).xy__;

however after dataflow swizzles pass we end with

MOV temp[3].x, temp[17].z___;
MOV temp[3].y, temp[17]._w__;
MAD temp[22].xy, temp[3].xy__, temp[11].xy__, (temp[17] + temp[20]).xy__;

Just skip the "don't count the same source twice" optimization when a
non-native swizzle is used to fix 2 dEQP atan2 tests.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
2022-11-16 19:51:47 +00:00
Jonathan Gray
fe851d7759 util: include sys/time.h for timespec functions
When the futex code moved it removed an include which broke the build
on OpenBSD.

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Fixes: 095dfc6caa ("util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19735>
2022-11-16 19:09:30 +00:00
Samuel Pitoiset
fb781bfb0a aco: fix dual source blending on GFX11
Assembly looks similar to LLVM.

Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19643>
2022-11-16 18:35:10 +00:00
Samuel Pitoiset
bb90d29660 aco: add p_dual_src_export_gfx11 for dual source blending on GFX11
Dual source blending must be in strict WQM mode.

Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19643>
2022-11-16 18:35:10 +00:00
David Heidelberg
e93de8a75e dzn: add triangle_strip flake
Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7672

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19782>
2022-11-16 17:49:50 +00:00
Gert Wollny
35d6e290e4 r600/sfn: Fix location for reading cube array image dimensions
Fixes: 79ca456b48
        r600/sfn: rewrite NIR backend

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
2022-11-16 17:22:04 +00:00
Gert Wollny
d1a81db9ee r600/sfn: set finalize_nir after reading debug flags
Fixes: a81c50a214 (upstream/main)
    r600/sfn: implement finalize_nir

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
2022-11-16 17:22:04 +00:00
Gert Wollny
0ccf7ed791 r600/sfn: Honor shader key w.r.t. atomic counter layout
Fixes: 79ca456b48
        r600/sfn: rewrite NIR backend

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
2022-11-16 17:22:04 +00:00
Georg Lehmann
6d02054047 aco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32.
No Foz-DB difference on Navi21.

Foz-DB GFX11:
Totals from 746 (0.55% of 134913) affected shaders:
CodeSize: 8430248 -> 8416128 (-0.17%); split: -0.17%, +0.00%
Instrs: 1617202 -> 1614707 (-0.15%)
Latency: 13943398 -> 13934161 (-0.07%); split: -0.07%, +0.00%
InvThroughput: 2601620 -> 2596624 (-0.19%); split: -0.20%, +0.01%
Copies: 114346 -> 114334 (-0.01%); split: -0.01%, +0.00%
PreVGPRs: 48314 -> 48312 (-0.00%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18492>
2022-11-16 16:49:04 +00:00
Samuel Pitoiset
5a3cc2d453 aco: fix missing SCC for p_interp_gfx11 in emit_interp_mov_instr()
Fixes: 369c9b6425 ("aco: fix p_interp_gfx11 to not overwrite SCC")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19777>
2022-11-16 15:59:56 +00:00