Mike Blumenkrantz
a4c9276de2
docs: add features/relnotes for zink sparse texture support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
f86e97ab34
zink: ARB_sparse_texture2
...
there is no vulkan driver that can currently pass all these tests, and
some of the tests themselves are broken, but this seems like it should be
correct
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
7c918a807b
zink: enable ARB_sparse_texture pipe caps
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
0959fd7f34
zink: handle sparse texture miptail commits
...
basically just allocate pages for miptail levels (probably just one) and
then bind them separately since they're probably never going to be batched
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
7e03554af0
zink: batch sparse texture binds
...
do 10 binds per submit now (4 is enough for cts but yolo)
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
30bd4ff72e
zink: handle min_lod texture operands
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
ac30051a5d
zink: emit sparse residency cap in ntv
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
d76694a18f
zink: only allocate ntv residency info if it will be used
...
odds are it will never be used, so don't bother allocating
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
7e7c94afaa
zink: add nir_intrinsic_image_deref_sparse_load to image scanning in compiler
...
this flags the shader as having image use
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
60d0a0a8ce
zink: always pass shader info to ntv
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
0af2b7740b
zink: rename zink_so_info -> zink_shader_info
...
start passing more useful info to ntv
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
73ef54e342
zink: handle residency return value from sparse texture instructions
...
this one's a bit tricky since vulkan doesn't support vec5, the return from
the instructions is a struct, and I don't want to add temp var support to zink
now instead the process for these ops is:
* rewrite the is_sparse_texels_resident instruction to read the first vec member of the texop
* (temporarily) decrement num_components for sparse texop's dest to get real result size
* wrap texop's return type in spirv-required struct(uint, result)
* unwrap struct, store result normally + store residency info to separate array
* for is_sparse_texels_resident, ignore the mov alu for src[0] and instead use the ssa index
from the parent instr since this is the original texop that was used to store the residency result
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
dfc74d703e
zink: always set actual_dest_type for ntv tex instruction emission
...
no-op for now
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
3c05646fbe
zink: implement sparse shader instructions in ntv
...
this automatically wraps the results into the required struct(int, result) type,
handling will come next
note that there is no cts coverage for sparseImageLoadARB, so this is purely
hypothetical
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
1bbcd68d5f
zink: fake sparse R9G9B9E5 support as needed
...
these just allocate the whole thing now, which means they aren't actually
sparse, but who cares because nobody but cts is actually going to use it
and those tests pass just fine
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
d83b52928c
zink: stop allocating such massive staging regions for buffer maps
...
this would allocate a new stream uploader for every map if the offset was
large (e.g., all sparse buffer usage), which almost immediately consumes all vram
cc: mesa-stable
fixes KHR-GL46.CommonBugs.CommonBug_SparseBuffersWithCopyOps
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
7753ca2a45
zink: allow sparse buffers to be suballocated
...
this is now symmetrical since the backing memory was being cached,
and there's no reason not to allow this since memory is no longer in use
by the time it gets returned to the cache
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
9fd155697a
zink: support sparse texture range commits
...
this is a bit duplicated because the buffer and image commit code is
a little shared but not enough to combine without becoming spaghetti
this will only get worse once multisampling is supported
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
d320e8328d
zink: set up image create bits for sparse textures
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Mike Blumenkrantz
2e57c2c029
zink: add get_sparse_texture_virtual_page_size hook
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14381 >
2022-01-20 15:51:30 +00:00
Danylo Piliaiev
cadcbed258
tu: expose VK_KHR_copy_commands2
...
Relevant CTS tests:
dEQP-VK.api.copy_and_blit.copy_commands2.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14623 >
2022-01-20 10:43:31 +00:00
Charles Giessen
6ea7a61d7a
v3dv: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Charles Giessen
4e0604279d
freedreno, tu: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Charles Giessen
6eb8ceac87
lavapipe: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Charles Giessen
0988e4ae09
anv: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Charles Giessen
a2ec6bf60f
panvk: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Charles Giessen
80a99ae906
radv: Update LoaderICDInterfaceVersion to v5
...
With the proper version checking in the common vulkan instance code
(commit 88b9b68 ) it is now possible to bring the reported interface
version up to v5.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14563 >
2022-01-20 07:25:07 +00:00
Dave Airlie
8733d19f53
meson: start building intel earlier.
...
as intel perf is a big impact, start building the intel subdir
earlier so there is less chance of long stalls at the end waiting
for one file to link other things.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14630 >
2022-01-20 06:41:17 +00:00
Dave Airlie
acc2d08cf9
intel/perf: use a function to do common allocations
...
This cuts the compile time down for this file on my ryzen from
real 1m4.077s
to
real 0m30.827s
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14630 >
2022-01-20 06:41:17 +00:00
Tapani Pälli
521ede8451
mesa: refactor GetProgramiv to use program resource list
...
This way we make sure glGetActiveUniform and glGetProgramiv
are in sync about active uniform count.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5885
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14589 >
2022-01-20 05:52:53 +00:00
Emma Anholt
7a8d651d50
ci/softpipe: Drop the GS sampling known-flakes.
...
They haven't appeared in the last half a year since I added the IRC flake
reports.
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14627 >
2022-01-20 05:41:07 +00:00
Emma Anholt
bee77d3a82
softpipe: Request that st fix up DST_ALPHA blending for RGB render targets.
...
Fixes a render target of
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14627 >
2022-01-20 05:41:07 +00:00
Emma Anholt
263faa3dfb
softpipe: respect !independent_blend_enable for color masks.
...
blend_buf is the resolved "are we using independent blending?" index, cbuf
is the RT we're drawing to.
Cc: mesa-stable.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14627 >
2022-01-20 05:41:07 +00:00
Mike Blumenkrantz
0c31ab34d2
lavapipe: fix ptralloc typo
...
these calculations are so tricky I can't even type them again
Fixes: 48fde98b79 ("lavapipe: replace hard pointer calcs in dynamic render with ptralloc")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14631 >
2022-01-19 21:05:03 -05:00
Guilherme Gallo
9314950726
ci: Add docs for Linux Kernel uprevs
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14514 >
2022-01-20 01:29:45 +00:00
Dave Airlie
4b8d84f71a
mesa/st: merge texture obj/image alloc/free into mesa
...
This just drops the st wrappers for alloc/free of texture images
and objects.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:54:08 +10:00
Dave Airlie
cd0961dce2
mesa/st: merge texture object/image structs into mesa
...
This just merges the subclasses into main class
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:54:03 +10:00
Dave Airlie
ea3e700e35
mesa/st: cleanup last bits of st perfmon code.
...
Just some small cleanups left to finish perfmon code movement.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:54:01 +10:00
Dave Airlie
bc9b176aef
mesa/st: move perfmon code from st into mesa
...
This merges the perfmon code after the objects have been merged.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:58 +10:00
Dave Airlie
1e2ded21ba
mesa/st: merge perfmon groups init/cleanup from st into mesa
...
This moves the init/cleanup code from st into mesa.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:55 +10:00
Dave Airlie
350dbb000e
mesa/st: merge perfmon counters/groups objects from st into mesa
...
This merges subclassed or side allocated objects into the main
ones.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:50 +10:00
Dave Airlie
a3099f885e
mesa/st: merge perfmon object from st into mesa
...
This just merges the perf mon subclass into the base class,
and cleans up the result.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:48 +10:00
Dave Airlie
0fb946da94
mesa/st: merge transform feedback code from st into mesa
...
After the objects are merged, this moves the rest of the code
from the state tracker into mesa.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:44 +10:00
Dave Airlie
ecb99724a3
mesa/st: merge st transform feedback object into gl one.
...
This just merges the object subclass into the main class,
this was left separate to ease review.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:42 +10:00
Dave Airlie
b6710b6549
mesa/st: merge condrender code from st into mesa.
...
This merges conditional render code from state tracker into mesa.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:36 +10:00
Dave Airlie
1c73afa462
mesa/st: merge queryobj code from st into mesa.
...
This merges all the query object code from st into mesa.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:33 +10:00
Dave Airlie
0af7c1e385
mesa/st: merge the syncobj code from st into mesa
...
This merges all the syncobj code into the mesa from the state tracker.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:30 +10:00
Dave Airlie
adf0dc7801
mesa/st: merge semaphore objects from st into mesa
...
Take all the semaphore objects code from state tracker and merge it
into mesa.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:27 +10:00
Dave Airlie
addcc24f77
mesa/st: merge memoryobjects code from st into mesa
...
This takes all the memory object code from state tracker and
merges it into mesa, cleaning it up on the way.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14327 >
2022-01-20 10:53:18 +10:00
Dave Airlie
ed0046c5b4
glsl: drop glheader.h include.
...
This is unused.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437 >
2022-01-20 00:20:06 +00:00