Commit Graph

170039 Commits

Author SHA1 Message Date
Roland Scheidegger
f23d54cfaa llvmpipe: fix some corner cases with line rendering
Some comparisons were wrong depending on swapped endpoints and
the bottom_edge_rule (if the endpoint was exactly touching
pixel center), hence the code assuming a line endpoint which
should be drawn according to diamond exit rules would already be
drawn (so not adjusting the endpoint) when in reality it was not,
in which case the line would end up one pixel too short.

Note that this is still not fully correct - the logic as such
should be correct now, however these comparisons can give wrong
results due to float math vs. fixed point planes (an endpoint very
close to a pixel center might be exactly at pixel center in fixed
point), but this should do for now. (Also, the logic is still
completely wrong for state trackers not using half_pixel_center
setting, but this is only really a concern for dx9 state tracker.)

Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22481>
2023-04-14 20:41:09 +00:00
Roland Scheidegger
9b6abe4206 llvmpipe: minor cleanups in line rendering code
Use float constants, some code deduplication, no functional change.

Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22481>
2023-04-14 20:41:09 +00:00
Juan A. Suarez Romero
82c2258019 v3d: set depth compare function correctly
Depth compare function must be set to the configured one only when
compare mode is enabled; otherwise it must be configured to never.

v2 (Eric):
- Handle V3D < 4.0 case

CC: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22470>
2023-04-14 20:20:43 +00:00
antonino
c84989c4cf zink: use correct primitives for passthrough gs with tess
When tessellation is used the geometry shader needs to take the
tessellator output primitive as input.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fixes: 90a8525d70 ("zink: handle edgeflags")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22498>
2023-04-14 19:22:48 +00:00
antonino
7e6191f605 zink: don't emulate edgeflags for patches
Patches are used for tessellation, edgeflags don't work with
tessellation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fixes: 90a8525d70 ("zink: handle edgeflags")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22498>
2023-04-14 19:22:48 +00:00
Samuel Pitoiset
3ad751f043 radv: tidy up dirtying RBPLUS state in radv_bind_dynamic_state()
To dirty driver specific states at the same place.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22472>
2023-04-14 17:49:23 +00:00
Samuel Pitoiset
ba71b142f8 radv: re-emit the guardband state when related PSO are bound
If one of the related states is static, the guardband state needs to be
re-emitted when a graphics pipeline is bound.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8828
Fixes: 40d8df7280 ("radv: emit the guardband state separately from the scissor state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22472>
2023-04-14 17:49:23 +00:00
Patrick Lerda
28cb33fada r600: fix refcnt imbalance related to r600_set_vertex_buffers()
For instance, this issue is triggered with: "piglit/bin/useprogram-flushverts-2 -auto -fbo" or
"piglit/bin/primitive-restart-draw-mode line_loop -auto"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Fixes: 27dcb46629 ("gallium: add take_ownership param into set_vertex_buffers to eliminate atomics")

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22395>
2023-04-14 16:48:09 +00:00
James Knight
cd861b7f38 meson: ensure i915 Gallium driver includes Intel sources
Ensure builds flag the use of Intel sources when the i915 Gallium driver
is configured (`-Dgallium-drivers=i915`). Otherwise, a build may fail if
other Intel-based configuration options are not enabled:

    ./src/gallium/winsys/i915/drm/meson.build:21:0: ERROR: Unknown variable "libintel_common".

Signed-off-by: James Knight <james.d.knight@live.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22490>
2023-04-14 16:13:48 +00:00
Marcin Ślusarz
cf90be90ad intel: split URB space between task and mesh proportionally to entry sizes
Improves performance by 0.5-2.5% in vk_meshlet_cadscene
depending on the model.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22445>
2023-04-14 15:43:50 +00:00
Samuel Pitoiset
f11a4a09b0 radv: try to keep HTILE compressed for READ_ONLY_OPTIMAL layout
It should be handled like DEPTH_STENCIL_READ_ONLY_OPTIMAL.

This fixes an issue with VRS attachment because HTILE was considered
disabled for READ_ONLY_OPTIMAL but there is no reasons to disable it
as long as the image is only used as a depth/stencil attachment.

Otherwise, when HTILE is disabled, VRS rates are ignored.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8675
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22468>
2023-04-14 13:48:04 +00:00
Eric Engestrom
3e22c3a8bc broadcom/ci: deduplicate script definition
It's always going to be the same for all the jobs in our farm.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Juan A. Suarez <igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22457>
2023-04-14 13:13:00 +00:00
Samuel Pitoiset
bdb03ecdd9 vulkan: ignore rasterizationSamples when the state is dynamic
Fixes: 1deb83fb86 ("vulkan: Add more dynamic multisample states")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22444>
2023-04-14 12:26:53 +00:00
Eric Engestrom
6af78baa23 ci: update shebang to make it more portable
Doesn't matter for now, but it doesn't cost anything to make it portable :)

Suggested-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Eric Engestrom
9120f17b27 ci: bump tags
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Eric Engestrom
8eb5de3126 ci: start documenting which image tags need to be bumped
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Eric Engestrom
9a45d3ee13 ci: move deqp-egl instead of copying it
To make sure we can't accidentally run a random leftover platform.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Eric Engestrom
efd2067a8f ci: add -android suffix for android build of deqp-egl
Makes it clearer which platform is being run.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Eric Engestrom
e876a018e9 ci: stop removing -x11 suffix for x11 build of deqp-egl
Makes it clearer which platform is being run.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22450>
2023-04-14 11:28:21 +00:00
Lionel Landwerlin
08cf224c4a intel/vec4: force exec_all on float control instruction
Applying the same rule as the fs backend so that generation code
doesn't assert.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: daa8003e45 ("intel/fs: use nomask for setting cr0 for float controls")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22473>
2023-04-14 10:54:01 +00:00
Mike Blumenkrantz
df784c03fb glthread: disable by default with fewer than 4 (big) CPUs
with a low CPU count or low count of "big" CPUs, glthread hurts perf
much more than it helps, so it should be disabled

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21926>
2023-04-14 10:16:49 +00:00
Mike Blumenkrantz
8c42c353b6 driconf: rework glthread enablement
this splits out glthread enablement into 3 settings:
- driver
- app
- user

which can then be modified with more granularity

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21926>
2023-04-14 10:16:49 +00:00
Mike Blumenkrantz
0cc93a4603 util/cpu: add big.LITTLE cpu detection
it's useful for drivers to be able to detect big.LITTLE topology in
order to make decisions about how to handle workloads (specifically as
it relates to threading)

Reviewed-by: Rob Clark <robdclark@chromium.org>

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21926>
2023-04-14 10:16:49 +00:00
i509VCB
54d01db8a8 docs/asahi: Add hardware glossary
Explains some of hardware units referenced throughout the driver.

Signed-off-by: i509VCB <git@i509.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22200>
2023-04-14 09:09:12 +00:00
Karol Herbst
44fb5ceb36 nouveau: nouveau_copy_buffer can deal with user_ptrs just fine
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
47e0c6764b nouveau: allow to enable SVM without having to enable CL
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
7cfb8cb1a5 nv50/ir: ignore CL system values
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
bfee3a8563 rusticl: add support for fine-grained system SVM
At the moment it's an all or nothing. A driver supporting fine-grained
system SVM can enable it in order to get full SVM support.

Lower levels could be emulated by userptrs and placing the bo at the same
locations in the GPU's VM as well, but that would require reworking quite
a bit on the drivers side.

For now supporting mmu_notifiers on the kernel side is the only way of
getting SVM support with Rusticl.

The only driver having the gallium bits wired up atm is Nouveau, but I
suspect it shouldn't be all to hard for iris and radeonsi as well.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
bfcd914825 rusticl/mem: add get_parent helper
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
816bab4c23 rusticl/memory: Rework mapping of memory located in system RAM
The old code didn't consider a few cases where we could just map resources
located in system RAM.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
2ee082ef8a rusticl/context: add helper to get the max mem alloc size for all devices
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Karol Herbst
50097ffae0 gallium: correctly name the flags of svm_migrate
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19712>
2023-04-14 07:41:54 +00:00
Mike Blumenkrantz
e5654cb3ee zink: remove screen param from zink_prune_query()
no longer used

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22493>
2023-04-14 07:22:58 +00:00
Mike Blumenkrantz
7119a344f3 zink: always defer query pool deletion
this feels dumb, but I can't think of a simpler way to do it that
would more accurately handle deletion while also guaranteeing
pool longevity

Fixes: 7da78ffb69 ("zink: create/use query pools dynamically")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22493>
2023-04-14 07:22:57 +00:00
Mike Blumenkrantz
50e3974e25 zink: pass ctx through query destroy paths
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22493>
2023-04-14 07:22:57 +00:00
Mike Blumenkrantz
cb83606279 zink: remove atomics from zink_query
this is never accessed from threads anymore and
hasn't been for a long time

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22493>
2023-04-14 07:22:57 +00:00
Thong Thai
c987eed9cd frontends/va: report min width and min height values if available
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8756
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22422>
2023-04-14 06:27:56 +00:00
Thong Thai
413235d164 radeonsi: return min width and min height video cap values
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22422>
2023-04-14 06:27:56 +00:00
Thong Thai
7bce60f8af gallium/pipe: add min width and min height video cap enums
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22422>
2023-04-14 06:27:56 +00:00
Eric Engestrom
5b376664e7 v3d: add flake spec@ext_framebuffer_blit@fbo-sys-sub-blit
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/39905522

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22486>
2023-04-14 05:56:25 +00:00
Giancarlo Devich
440459645b d3d12: Support separate front/back stencils
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3833
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22454>
2023-04-14 03:19:22 +00:00
Giancarlo Devich
36990eca48 d3d12: Add ID3D12GraphicsCommandList8 to the context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22454>
2023-04-14 03:19:22 +00:00
Giancarlo Devich
4f9cd76369 d3d12: Update PSO creation to use CreatePipelineState
This uses CD3DX12_PIPELINE_STATE_STREAM3 from
d3dx12_pipeline_state_stream.h and gives us access to newer D3D12
features.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22454>
2023-04-14 03:19:22 +00:00
Giancarlo Devich
52ee566bc5 d3d12: Query device for D3D12_FEATURE_D3D12_OPTIONS14
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22454>
2023-04-14 03:19:22 +00:00
Giancarlo Devich
cc6d87b462 d3d12: Update and require DirectX-Headers 1.610.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22454>
2023-04-14 03:19:22 +00:00
Lionel Landwerlin
5dc4212cc1 vulkan/runtime: discard unused graphics stages in libraries
Anv is trying to rely on the stages put into the library graphics
state.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22460>
2023-04-14 02:44:04 +00:00
Mike Blumenkrantz
a86c710ce5 mesa/st/program: don't init xfb info if there are no outputs
this is almost certainly a failure case, but drivers still shouldn't
get xfb info if there are no outputs

affects:
spec@glsl-1.50@execution@interface-blocks-api-access-members

cc: mesa-stable

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22448>
2023-04-14 01:12:08 +00:00
Brian Paul
9f4ec94c20 llvmpipe: code clean-ups in llvmpipe_get_query_result_resource()
Replace 'unsignalled' with 'ready' to simplify logic.
Remove needless !! in !!(a > b) expressions.
Remove some casting.  Use MIN2() macro.  Add const qualifiers.
Declare loop vars in loops.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22464>
2023-04-14 00:53:03 +00:00
Brian Paul
f0bd574223 llvmpipe: remove lp_setup_alloc_triangle()'s unneeded tri_size param
This returned size was never used by the callers.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22464>
2023-04-14 00:53:02 +00:00
Lionel Landwerlin
267dcdca8a docs: add missing MESA_VK_WSI_HEADLESS_SWAPCHAIN variable
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22478>
2023-04-14 00:45:25 +00:00