Dave Airlie
bc122e0769
mesa/st: remove st_context from debug callback
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14632 >
2022-01-21 01:18:19 +00:00
Dave Airlie
e344a117af
mesa/st: move intel blackhole noop enable to frontend
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14632 >
2022-01-21 01:18:19 +00:00
Mike Blumenkrantz
129e31cd4f
zink: hook up planar image format creation
...
it'll explode if used for anything, but this is how it's done
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13865 >
2022-01-21 01:02:18 +00:00
Mike Blumenkrantz
bff042fd43
zink: link with vulkan utils
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13865 >
2022-01-21 01:02:18 +00:00
Ian Romanick
926d78a645
ntt: Extend ntt_compile::addr_declared and ntt_compile::addr_reg
...
This was identified by Coverity. 4bb9c0a28a added uses of a third
address register, but the arrays for tracking address registers only
have two slots.
Add back a version of the assertion from before 4bb9c0a28a to help
prevent future problems. I don't think any drivers that would hit
this path use NIR-to-TGSI yet, so it may be moot.
Reviewed-by: Matt Turner <mattst88@gmail.com >
CID: 1496942
CID: 1496944
Fixes: 4bb9c0a28a ("nir_to_tgsi: Use the same address reg mappings as GLSL-to-TGSI did.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14487 >
2022-01-21 00:25:38 +00:00
Rhys Perry
495debebad
nir/algebraic: optimize expressions using fmulz/ffmaz
...
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
14b8227083
nir: add some missing nir_alu_type_get_base_type
...
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
f2fbba7920
nir/algebraic: optimize open-coded fmulz/ffmaz
...
This pattern will be found in future versions of D3D9 DXVK.
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
312a284980
nir/algebraic: add ignore_exact() wrapper
...
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
f68797ead7
aco: create v_mac_legacy_f32/v_fmac_legacy_f32
...
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
43e32ad074
aco: consider legacy multiplications in optimizer
...
Optimize omod, -(a*b), b2f(a)*b, a*1, a*0 and create MAD/FMA.
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
e7f91b194a
radv,aco,ac/llvm: implement fmulz and ffmaz
...
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/13436 >
2022-01-20 22:54:42 +00:00
Rhys Perry
7f05ea3793
nir: add nir_op_fmulz and nir_op_ffmaz
...
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/13436 >
2022-01-20 22:54:42 +00:00
Ian Romanick
945fb51fb5
intel/fs: Fix gl_FrontFacing optimization on Gfx12+
...
It's not obvious why the (gl_FrontFacing ? -1.0 : 1.0) case was handled
different for Gfx12+ than for previous generations, and it's not
correct. It tries to negate the result as an integer, and it does this
before the mask operation that clears the other bits in the value.
When we eventually support dual-SIMD8 dispatch, the other front-facing
bit is in g1.6 at bit 15, so similar code should be possible there.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Fixes: c92fb60007 ("intel/fs/gen12: Implement gl_FrontFacing on gen12+.")
Closes : #5876
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14625 >
2022-01-20 22:37:18 +00:00
Mike Blumenkrantz
4aaedc20c1
zink: fix non-modifer dmabuf usage
...
drivers/hardware lacking VK_EXT_image_drm_format_modifier can still use dmabuf,
but that setup has to do the old copy to linear scanout instead of copy to
modifier scanout
this requires a couple extra checks to be added to handle the case
Fixes: 619438bf7ce ("zink: check EXT_image_drm_format_modifier for dmabuf support")
fixes #5836
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14597 >
2022-01-20 21:33:54 +00:00
Renato Pereyra
4d95a7f800
anv: add helper methods related to enabling CCS for external images
...
Also, clarify/improve related comments
Signed-off-by: Renato Pereyra <renatopereyra@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14416 >
2022-01-20 11:37:29 -08:00
Renato Pereyra
b664349973
anv: Enable implicit CCS for external images
...
AUX and clear state is stored in the VkDevice private binding
Signed-off-by: Renato Pereyra <renatopereyra@google.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14416 >
2022-01-20 11:37:15 -08:00
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