Erik Faye-Lund
c87802f658
zink: do not check for varying output for fragment shaders
...
This will make us emit these caps needlessly, possibly on implementations
not supporting the enabling features.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10371 >
2021-05-05 10:51:02 +02:00
Erik Faye-Lund
567699f048
zink: always enable fixed shader-caps
...
This is required for a bunch of stuff that can occur in any Vulkan
shader stage, not just these few. So let's always emit this cap.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10371 >
2021-05-05 10:51:00 +02:00
Dave Airlie
922f71b819
intel/decoder: add gen4/5 geometry state decode
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10642 >
2021-05-05 07:28:34 +00:00
Dave Airlie
d91d3613ad
intel/decoder: fixup batch decoder for binding tables on gen4/5
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10642 >
2021-05-05 07:28:34 +00:00
Samuel Pitoiset
08d162f0b5
radv: expose 2/3rd of total memory as VRAM and 1/3rd as GTT on APUs
...
A bunch of games complain when the VRAM size is too small. The most
compatible solution seems to return memory heaps like a dGPU.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3423
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/9774 >
2021-05-05 08:44:17 +02:00
Samuel Pitoiset
986a3243cf
radv: adjust the computation of the total usage of memory used
...
internal_usage is the memory allocated by the current process (intent)
while system_usage is the memory allocated globally (actual).
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/9774 >
2021-05-05 08:44:17 +02:00
Marek Olšák
340703e044
gallium/u_threaded: don't set resource pointers to NULL after driver calls
...
The pointers won't be used at that point. Just decrement the refcounts.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606 >
2021-05-05 05:17:25 +00:00
Marek Olšák
1233c90ab4
gallium/u_threaded: rewrite slot layout to reduce wasted space
...
A lot of space was wasted due to 16-byte alignment for slots. This new
layout tries to match glthread. Highlights:
- the slot size changed to 8 bytes (was 16), so less padding
- the header size changed to 4 bytes (was 8), so some calls can use
the remaining 4 bytes in the slot for parameters
- draw merging merges up to 307 draws (was 256) due to space savings
- parameters in structures are sorted based on implicit type alignment
(uint8_t first, pointers last) to make it easier to utilize the 4 bytes
after the header and to remove holes
- some structures use smaller types for parameters than pipe_context where
it's safe (e.g. clear uses float instead of double for depth)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606 >
2021-05-05 05:17:25 +00:00
Marek Olšák
9ee2b8209a
gallium/u_threaded: handle sampler views == NULL better
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606 >
2021-05-05 05:17:25 +00:00
Marek Olšák
e7a15973bb
gallium/u_threaded: move base_valid_buffer_range to transfer where it belongs
...
This saves 8 bytes per resource.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606 >
2021-05-05 05:17:25 +00:00
Marek Olšák
954f59f2af
Revert "gallium/u_threaded: align batches and call slots to 16 bytes"
...
This reverts commit 3b1ce49bc1 .
It will be completely rewritten, but let's revert this first.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606 >
2021-05-05 05:17:25 +00:00
Adam Jackson
20538b50c7
gallium: Reset attachments to ST_ATTACHMENT_INVALID when revalidating
...
It is *super* *confusing* to leave this initialized to zero, i.e.
ST_ATTACHMENT_FRONT_LEFT.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10491 >
2021-05-05 03:23:58 +00:00
Adam Jackson
64e7248bfb
mesa: Ignore the depth buffer when computing framebuffer floatness
...
Not that Z32F is especially common, but we shouldn't consider it to
imply that the color buffers are also float, which is what floatMode
is meant to mean.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10491 >
2021-05-05 03:23:58 +00:00
Adam Jackson
d7888294ac
mesa: Remove unused _mesa_{create,destroy}_visual
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10491 >
2021-05-05 03:23:58 +00:00
Samuel Pitoiset
75831d5fce
util/math: change ROUND_DOWN_TO to return a uint64_t
...
For 32-bit builds.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10622 >
2021-05-05 03:03:45 +00:00
Dave Airlie
4d80ec8fcf
intel/genxml: fix raster op fields on gen4/5
...
These should be unsigned integers
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10636 >
2021-05-05 02:56:20 +00:00
Dave Airlie
e5169714ea
intel/gemxml: move blitter command to render on gen4/5
...
The blitter commands don't show up in INTEL_DEBUG=bat, but on
gen4/5 they are emitted on the render engine ring so just change
the XML to reflect that.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10636 >
2021-05-05 02:56:20 +00:00
Dave Airlie
c6f34e9fda
intel/genxml: rewrite the prefilterop xml to be more consistent.
...
This uses a prefix at Ken's suggestion and aligns it across gens
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10636 >
2021-05-05 02:56:20 +00:00
Dave Airlie
04ed882046
intel/genxml: align gen4/5 xml for store data immediate
...
Just align with the gen6 and later xml
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10636 >
2021-05-05 02:56:20 +00:00
Ilia Mirkin
10abc09a04
intel: fix MI builder for pre-gen7
...
MI_LOAD_REGISTER_MEM is only available on gen7+, so avoid build errors
on earlier generations.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10636 >
2021-05-05 02:56:20 +00:00
Mike Blumenkrantz
26feb45810
zink: export PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
c90246b682
zink: implement sparse buffer creation/mapping
...
sparse buffers are not cpu-readable, so any mapping requires that they
use a staging buffer, either the stream uploader for writes or a manual
copy for readback
future work here should attempt to resolve two perf issues:
* sparse allocations should be allocated dynamically using a suballocator
or some other, more useful strategy
* readback shouldn't allocate a huge staging buffer
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
dcbdb6820f
zink: add a pipe_context::resource_commit hook
...
so many structs
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
49fdb57b9c
zink: use new ctx device lost checker function
...
make this handling more consistent
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
30be8799a5
zink: add a ctx function for handling device lost resets
...
ensure the reset function is only called once when the screen flag is set
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
01c62fca0a
zink: use zink_screen_handle_vkresult() for fence and timeline waiting
...
more consistent handling and some code size reduction
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
00bd74fb6c
zink: add a screen util function for handling VkResults
...
enforce device lost status always
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Mike Blumenkrantz
480b2b6508
zink: minor refactoring of buffer map for read case
...
make this a little more flexible for the non-DONTBLOCK case
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509 >
2021-05-05 02:46:06 +00:00
Alyssa Rosenzweig
a67347d496
pan/bi: Use nir_lower_to_bit_size
...
Last holdout of the backend algebraic pass. Delete it.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:04 +00:00
Alyssa Rosenzweig
2db8048aaa
pan/bi: Switch to 1-bit bools
...
In prep for FP16.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:04 +00:00
Alyssa Rosenzweig
f21248c3c2
pan/bi: Don't swizzle scalars
...
Pointless, already replicated.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:04 +00:00
Alyssa Rosenzweig
578f5d0000
pan/bi: Track scalarness of 16-bit ALU
...
Needed for optimal swizzle lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Alyssa Rosenzweig
59afff8708
pan/bi: Handle b2i8/16
...
Missing from the algebraic rules, get it right this time.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Alyssa Rosenzweig
1c17a91731
pan/bi: Handle b2f ourselves
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Alyssa Rosenzweig
0906d75479
pan/bi: Handle ineg
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Alyssa Rosenzweig
ab56471955
pan/bi: Handle integer min/max ourselves
...
total instructions in shared programs: 158197 -> 158181 (-0.01%)
instructions in affected programs: 169 -> 153 (-9.47%)
helped: 3
HURT: 0
total nops in shared programs: 116393 -> 116397 (<.01%)
nops in affected programs: 60 -> 64 (6.67%)
helped: 0
HURT: 2
total clauses in shared programs: 28628 -> 28627 (<.01%)
clauses in affected programs: 10 -> 9 (-10.00%)
helped: 1
HURT: 0
total quadwords in shared programs: 124146 -> 124140 (<.01%)
quadwords in affected programs: 127 -> 121 (-4.72%)
helped: 3
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Alyssa Rosenzweig
5e55824c62
pan/bi: Add imm_uintN helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10627 >
2021-05-05 02:19:03 +00:00
Mike Blumenkrantz
ff4ba3d4a7
zink: support PIPE_CAP_QUERY_MEMORY_INFO
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10511 >
2021-05-05 02:08:44 +00:00
Mike Blumenkrantz
ce1e05de8a
zink: hook up VK_EXT_memory_budget
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10511 >
2021-05-05 02:08:44 +00:00
Mike Blumenkrantz
d050be4b26
zink: grab GetPhysicalDeviceMemoryProperties2 from instance
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10511 >
2021-05-05 02:08:44 +00:00
Eric Anholt
c19801c939
ci/freedreno: Mark a5xx texture gather as flaky.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10633 >
2021-05-04 23:37:00 +00:00
Jason Ekstrand
e1edf74dde
nir/builder: Move clamp helpers to nir_builder.h
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10631 >
2021-05-04 22:51:34 +00:00
Erik Kurzinger
f4eb13dc55
vulkan/device_select: avoid segfault on Wayland if wl_drm is unavailable
...
On Wayland, if the wl_drm interface is not available, for example if the
compositor is using the proprietary NVIDIA driver along with their egl-wayland
library, the device_select layer will fail to initialize. However, the failure
path will unconditionally call wl_drm_destroy even though info.wl_drm would be
NULL in that case. This can cause a segfault in libwayland-client.so.
To fix this, check if info.wl_drm is NULL before calling wl_drm_destroy. This
way, initialization will fail gracefully even if that interface is not present.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10598 >
2021-05-04 21:26:21 +00:00
Caio Marcelo de Oliveira Filho
dd48683cfd
nir: Move shared_memory_explicit_layout bit into common shader_info
...
Move it out of the "cs" sub-struct, since the bit can be used for
other shader stages in the future.
This also removes a subtle issue in spirv_to_nir:
info.cs.shared_memory_explicit_layout was used without checking for
the CS shader stage. It ended up being "harmless" since the effects
also depended on presence of shared variables.
Fixes: 5de6c5973a ("spirv: Implement SPV_KHR_workgroup_memory_explicit_layout")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10529 >
2021-05-04 20:54:58 +00:00
Eric Anholt
89114225b5
tunrip: Add support for VK_EXT_separate_stencil_usage.
...
We were implictly including it in exposing VK 1.2, but we weren't making
use of the supplied struct. Actually enabling it gives us a chance to do
slightly better at Z/S UBWC, and means we won't lose the separate usage
test coverage when switching back to exposing VK 1.1.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10594 >
2021-05-04 20:30:50 +00:00
Erik Faye-Lund
1d00e86078
zink: cache SpvId for aggregate glsl_types
...
This should reduce the amount of types we re-emit while producing
SPIR-V.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10372 >
2021-05-04 20:19:30 +00:00
Erik Faye-Lund
3d3867e7b1
zink: handle matrix-types after vectors
...
This makes us handle all non-aggregate types before we handle aggregate
types. This is going to matter in the next commit.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10372 >
2021-05-04 20:19:30 +00:00
Alyssa Rosenzweig
a9621c4493
pan/mdg: Don't print zero
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10393 >
2021-05-04 20:04:03 +00:00
Alyssa Rosenzweig
cb10a8e2f1
pan/mdg: Reduced printed parens
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10393 >
2021-05-04 20:04:03 +00:00
Alyssa Rosenzweig
0b45d4b6b5
pan/mdg: Don't print mem addr brackets
...
Already comma separated.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10393 >
2021-05-04 20:04:03 +00:00