Mike Blumenkrantz
dc5d02ca54
zink: break out queue submit into separate functions
...
to be used with async submission
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:59 +00:00
Mike Blumenkrantz
38c5e154df
zink: move VkQueue to batch object
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:59 +00:00
Mike Blumenkrantz
ef538e50c8
zink: remove zink_fence_init()
...
contents moved to more correct places
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:59 +00:00
Mike Blumenkrantz
95af27f032
zink: make a local screen pointer in zink_flush
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:59 +00:00
Mike Blumenkrantz
3a344174dc
zink: store context to batch state
...
this will be used for post-flush device resets when device is lost
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:59 +00:00
Mike Blumenkrantz
ba6265a1ff
zink: rename init_batch_state to get_batch_state
...
more sensible, no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
f9ee9c4539
zink: assume fence has already completed if a batch state isn't found
...
we're not going to be waiting on fences from the future, so if we can't
find a fence then it must have completed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
03946bfcdd
zink: explicitly reset a couple more batch state members
...
no functional changes at this time
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
f32079efab
zink: add locking for fence resources
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
0ebc13564a
zink: split fence finish func
...
one part of this will be used to handle tc mechanics, the other part is for
internal use
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
4a736677af
zink: add function for checking whether a batch is done
...
this is like wait_on_batch, but without the waiting
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
6eaaaaa542
zink: add locking for batch states
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
c452c82b98
zink: manually invoke cpu detection during screen init
...
ensure this gets populated before using it
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
0731861748
zink: add locking for resource maps
...
vulkan prohibits multiple maps on a resource, so these have to be locked
down
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Mike Blumenkrantz
e7420c7708
zink: add locking for descriptor pools
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9885 >
2021-03-30 15:12:58 +00:00
Juan A. Suarez Romero
1f90d51749
v3dv: fix unused value
...
Do not assign to a variable that won't be used.
Fixes CID#1468098 "Unused value (UNUSED_VALUE)".
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9910 >
2021-03-30 14:15:43 +00:00
Juan A. Suarez Romero
cc1f070a27
broadcom/compiler: fix unused value
...
Do not assign to a variable that won't be used.
Fixes CID#1451708 and CID#1451710 "Unused value (UNUSED_VALUE)".
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9910 >
2021-03-30 14:15:43 +00:00
Erik Faye-Lund
d03a9fa50c
docs: do not try to copy missing file
...
This file was removed, but the inclusion in the docs build was missed.
Fixes: 6e6cd7d93c ("scons: Remove.")
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9913 >
2021-03-30 11:48:52 +00:00
Samuel Pitoiset
688dada1a8
radv: do not fixup DCC after compute color resolves if DCC stores enabled
...
With compressed DCC writes supported, the image should still be
compressed after resolving using the compute path.
Fixes various dEQP-VK.api.copy_and_blit.core.resolve_image.*
failures with RADV_DEBUG=forcecompress on GFX10.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9908 >
2021-03-30 10:01:12 +00:00
Erik Faye-Lund
8e2f320f36
lavapipe: report correct value for maxTexelBufferElements
...
We already have a pipe_cap for this, so let's use that to report the
correct value.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9891 >
2021-03-30 08:25:05 +00:00
Juan A. Suarez Romero
528d66eaa2
ci/v3d: run full GLES3 and GLES31 testsuite
...
There is margin in the time budget to run the full GLES3 and GLES31 CTS
instead of only 50%.
Reviewed-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9899 >
2021-03-30 08:03:16 +00:00
Juan A. Suarez Romero
dc859bb5bb
ci/broadcom: update piglit expected results
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9899 >
2021-03-30 08:03:16 +00:00
Marcin Ślusarz
1df3a00dcd
iris: disable dynamic VAO fastpath on GFX version 9
...
Enabling this fast path, while making CPU side simpler
(and thus reducing driver's CPU overhead), forces us to
generate multiple VERTEX_BUFFER_STATE packets pointing to
the same buffer, but with slightly shifted BufferStartingAddress.
This is fine on GFX version >= 11 and < 8, but on version
8 and 9, thanks to internal details of the VF cache, vertex
data from each VERTEX_BUFFER_STATE is cached separately
and this results in a lot of cache misses.
Disabling this fast path restores previous performance levels.
On my SKL GT2 machine this improves performance in:
- GLB27 Egypt offscreen by 37%
- GLB27 TRex offscreen by 22%
- gfxbench5 Manhattan offscreen by 1.75%
- gfxbench5 Manhattan31 offscreen by 1.9%
- gfxbench5 Aztec Ruins high by 2.3%
In Intel performance CI on GFX version 9 it improves performance in:
- gfxbench5 Manhattan offscreen by 1.65%
- gfxbench5 Aztec Ruins normal offscreen by 1.33%
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3277
Fixes: 42842306d3 ("mesa,st/mesa: add a fast path for non-static VAOs")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9857 >
2021-03-30 07:32:16 +00:00
Marcin Ślusarz
33d87eeb5a
gallium: add PIPE_CAP_ALLOW_DYNAMIC_VAO_FASTPATH
...
Fixes: 42842306d3 ("mesa,st/mesa: add a fast path for non-static VAOs")
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9857 >
2021-03-30 07:32:16 +00:00
Mike Blumenkrantz
84ad0feec5
zink: rework memory_barrier hook
...
this is a bit more sensible all around without being too much hammer
and not enough nail
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9886 >
2021-03-30 04:26:28 +00:00
Mike Blumenkrantz
3047c7c77f
zink: rework some includes
...
descriptors.h requires stuff from context.h and vice versa, so there's
a little redefinition here to work around that
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9883 >
2021-03-30 04:11:37 +00:00
Mike Blumenkrantz
5c1ce2edb8
zink: use GENERAL layout for sampler images that are also bound as shader images
...
we can't have the same image with 2 layouts, so just go with the more global one
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9883 >
2021-03-30 04:11:37 +00:00
Mike Blumenkrantz
ed0fedf1c2
zink: simplify some descriptor update function parameters
...
just removing unused params
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9883 >
2021-03-30 04:11:37 +00:00
Mike Blumenkrantz
dd29a7e5b0
zink: move descriptor barrier handling to main update function
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9883 >
2021-03-30 04:11:37 +00:00
Mike Blumenkrantz
c7f9dc5891
zink: move update_descriptors & related funcs to zink_descriptors.c
...
keep zink_draw.c for draw stuff
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9883 >
2021-03-30 04:11:37 +00:00
Mike Blumenkrantz
812f7ecb13
zink: rework texture_barrier hook
...
we can be more precise with this and avoid flushing unnecessarily
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9791 >
2021-03-30 00:49:43 +00:00
Alyssa Rosenzweig
8578adeaa6
nir: Unify memory atomics
...
Avoids some copypaste and makes it easier to see how the different types
relate.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8847 >
2021-03-30 00:11:01 +00:00
Mike Blumenkrantz
ee8ea0cf86
lavapipe: ignore unused clearvalues when beginning renderpass
...
according to spec, unused clearvalues aren't accessed
> Only elements corresponding to cleared attachments are used. Other elements of pClearValues are ignored.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9900 >
2021-03-29 23:48:55 +00:00
Bas Nieuwenhuizen
61cf77583a
lavapipe: Free sorted descriptor array.
...
Fixes: abc724e440 ("lavapipe: sort bindings before creating descriptor set")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9880 >
2021-03-29 23:32:50 +00:00
Bas Nieuwenhuizen
83c92a48b7
vulkan: Fix descriptor set creation with zero bindings.
...
MAX2(count * struct size, 1) results in 1 for count=0, not the size of a struct.
Since this MAX only seems to exist so we can keep using NULL for error reporting,
just refactor to return a VkResult.
Fixes: ad241b15a9 ("vk: consolidate dynamic descriptor binding sorting")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4522
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9880 >
2021-03-29 23:32:50 +00:00
Icecream95
80b90a0f2b
panfrost: Implement panfrost_set_global_binding
...
This is enough OpenCL support to pass the Piglit test
cl-custom-run-simple-kernel with PAN_MESA_DEBUG=deqp.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9380 >
2021-03-29 23:15:48 +00:00
Icecream95
27b5ee5d7a
pipe-loader: Stop trying to use kmsro for vgem
...
Fixes two OpenCL devices being created for a single kmsro-using GPU
when vgem is enabled in the kernel.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9380 >
2021-03-29 23:15:48 +00:00
Icecream95
06a883cfe5
pipe-loader,gallium/drm: Fix the kmsro pipe_loader target
...
Include drm_helper.h to define the driver descriptor again, but with a
new define GALLIUM_KMSRO_ONLY to disable defining descriptors for the
drivers that kmsro uses.
Fixes clinfo on Panfrost.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4002
Fixes: 9ec28b8d22 ("gallium/drm: Deduplicate screen creation for the dynamic (clover) pipe loader.")
Acked-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9380 >
2021-03-29 23:15:48 +00:00
Lionel Landwerlin
aa53665fda
intel/fs/copy_prop: check stride constraints with actual final type
...
In some cases we will change the type of the destination register of
an instruction. This is the type we should use to verify that we're
allow to do the replacement.
Otherwise we can hit restrictions on CHV and upcoming Xe-Hp for
instance where the copy propagation transforms this :
send(16) (mlen: 2) vgrf10:UD, 0u, 0u, vgrf35:D, null:UD
mov(16) vgrf11:UW, vgrf10<2>:UW
mov(16) vgrf12:UW, vgrf10+0.2<2>:UW
mov(16) vgrf15:HF, |vgrf11|:HF
mov(16) vgrf16:HF, |vgrf12|:HF
mov(8) vgrf41<2>:UW, vgrf15+0.0:UW group0
mov(8) vgrf42<2>:UW, vgrf15+0.16:UW group8
mov(8) vgrf45<2>:UW, vgrf16+0.0:UW group0
mov(8) vgrf46<2>:UW, vgrf16+0.16:UW group8
into this :
send(16) (mlen: 2) vgrf10:UD, 0u, 0u, vgrf35:D, null:UD
mov(8) vgrf41<2>:HF, |vgrf10+0.0|<2>:HF group0
mov(8) vgrf42<2>:HF, |vgrf10+1.0|<2>:HF group8
mov(8) vgrf45<2>:HF, |vgrf10+0.2|<2>:HF group0
mov(8) vgrf46<2>:HF, |vgrf10+1.2|<2>:HF group8
Because of the floating point use, stride and offets should be the
same.
v2: Fix final destination type selection (Curro)
v3: constify (Curro)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9832 >
2021-03-29 22:14:45 +00:00
Matt Turner
0b35987895
tu: Skip tu_tiling_config_update_tile_layout() if not using gmem
...
Otherwise pass->tile_align_w will be 0, leading to a divide by zero and
undefined behavior. In practice, I saw this lead to an infinite loop in
tests like
dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_line_list_attrib_divisor_0_multiview
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9606 >
2021-03-29 21:58:24 +00:00
Eric Anholt
0fbf453689
freedreno/a5xx: Use VALIDREG/CONDREG like a6xx do.
...
Fewer magic numbers and less to diff between the two.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9870 >
2021-03-29 21:24:16 +00:00
Eric Anholt
99838513ae
freedreno/a5xx: Add support for clip distances and use them for userclip.
...
A little low-stakes RE effort as I unwind from fighting CI all day. Comes
from diffing dEQP-VK.clipping.user_defined.clip_distance.vert.* on the
blob and comparing to a6xx behavior. (My blob doesn't do tess, so if
there are equivalent tess fields for some of these, I didn't find them)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9870 >
2021-03-29 21:24:16 +00:00
Dave Airlie
115ba959dc
lavapipe: enable KHR_shader_atomic_int64
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9591 >
2021-03-29 20:32:09 +00:00
Dave Airlie
8c1d5fcb7c
gallivm: add 64-bit atomic global support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9591 >
2021-03-29 20:32:09 +00:00
Dave Airlie
92eafe42af
gallivm: add 64-bit atomic support for ssbo/shared.
...
This just fixes things up to handle bit-size
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9591 >
2021-03-29 20:32:09 +00:00
Samuel Pitoiset
fa712d9e17
ac/surface: do not allocate FMASK or CMASK for stencil-only surfaces on GFX9+
...
FMASK/CMASK make no sense with depth/stencil or stencil-only surfaces.
gfx9_compute_miptree() was called twice for stencil-only surfaces,
and the first call was allocating FMASK/CMASK.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9612 >
2021-03-29 20:18:29 +00:00
Kenneth Graunke
da45f3f35c
ci: Enable iris testing in meson-release
...
This should catch any build breaks in release mode. iris was already
build tested in debug builds, but not release mode.
Suggested by Michel Dänzer.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9862 >
2021-03-29 20:02:09 +00:00
Kenneth Graunke
d67b343aa0
intel: Mark an otherwise unused variable in intel_dump_gpu as ASSERTED
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9862 >
2021-03-29 20:02:09 +00:00
Samuel Pitoiset
1df4f11eb5
radv: require DRM 3.35+
...
Linux Kernel 4.15+ is now required for RADV, this kernel has been
released 3 years ago and should be in most modern distros.
This allows us to remove a lot of legacy code for fence/semaphore.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9800 >
2021-03-29 19:48:19 +00:00
Bas Nieuwenhuizen
fb6814cd91
radv: Only set WRITE_COMPRESS_ENABLE on supported HW.
...
Fixes: a7c0cf500b ("radv: Enable DCC for image stores on GFX10.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9876 >
2021-03-29 19:36:45 +00:00