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
Alyssa Rosenzweig
d0fc23b7bd
pan/mdg: Don't print explicit .rte
...
Default round mode.
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
9bd3ebf829
pan/mdg: Suppress most attribute tables
...
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
07740e78b4
pan/mdg: Don't print zero shifts
...
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
fa68c8bca9
pan/mdg: More concise RMU name
...
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
7752b09ade
pan/mdg: Hide units behind MIDGARD_MESA_DEBUG=verbose
...
Not usually interesting unless debugging bundling.
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
93a176b6cf
panfrost: Key blend shaders to the input types
...
On Bifrost, fragment shaders might output either FP16 or FP32. The blend
shader will access the output as-is within the register, so depending on
the precision of the blend shader's logic, it may need to insert a
f2f16 or f2f32 conversion. This requires expanding the blend shader key.
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
9df1d1306e
pan/blend: Emit explicit conversions for all types
...
Needed so we can mix and match.
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
30423b0c36
panfrost/lower_framebufffer: Don't use i2imp
...
Fails when converting from i2i8, which is possible.
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
03e3e65cd4
panfrost: Assume lower_fragcolor has been called
...
Allows us to clean up quite a bit.
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
28ac4d1e00
panfrost: Call nir_lower_fragcolor based on key
...
We only want it to trigger if MRT is actually in use. This is a cheap
key (only require multiple variants for an obscure edge case) and avoids
the perf regression of using this pass which is needed for conformance.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10393 >
2021-05-04 20:04:03 +00:00
Alyssa Rosenzweig
6a4482df98
panfrost/blend: Prepare for lower_fragcolor
...
FRAG_RESULT_COLOR means something a bit different.
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
120dd92e86
panfrost/blend: Distribute to_c_factor
...
Easier to understand, I think.
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