Emma Anholt
ce15bf19fb
turnip: Add TU_DEBUG=layout for dumping image layouts.
...
This was useful for comparing image allocations between gfxbench
gl_5_normal and vk_5_normal to see if rendering was generally equivalent
(formats, MSAA, UBWC choices, and notably gfxbench vk was choosing DXT5
instead of ASTC on non-android builds!)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:29 +00:00
Danylo Piliaiev
2c683519e2
turnip: Try harder to keep LRZ valid and fix a few edge cases
...
Refactored tu6_calculate_lrz_state and added comments.
1) If there is no depth write we could keep LRZ valid with any
compare op, we just have to temporary disable LRZ for incompatible
ops in such case.
2) Found that VK_COMPARE_OP_EQUAL is not compatible with LRZ,
and since it doesn't change LRZ buffer - LRZ could be just
temporary disabled. This fixes rendering of grass/trees in
PUBG mobile on angle.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6127
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16014 >
2022-04-19 18:06:58 +00:00
M Henning
8313a9231c
nouveau: Skip cctl for atomic counters in tgsi
...
The tgsi path already marked all aliasing loads of atomic counters with
CACHE_CG, so we don't need to emit a cctl. This patch uses the cache
flag on the atomic to model whether the L1 cache needs the stale
values to be flushed or not.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14386 >
2022-04-19 16:33:36 +00:00
M Henning
850197b3e0
nouveau: Emit cctl to flush L1 cache for atomics
...
We were previously only emitting these for CAS, but all of the atomics
seem to need it.
Fixes spec@glsl-es-3.10 @execution@fs-simple-atomic-counter-inc-dec-read
on kepler with NV50_PROG_USE_NIR=1
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14386 >
2022-04-19 16:33:36 +00:00
Boris Brezillon
9eace7f2e4
dzn: refactor error-handling
...
Here's a couple of cleanups to the error-handling code, now that we're
no longer using ComPtr<T>.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
cfdaf1af9b
dzn: remove needless defines
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
2ca4e21df7
dzn: merge util sources
...
There, no more C and C++ sources of the same base-name. We can do both
in one source.
This is our last C++ source file, so let's also clean away the C++20
mess in meson.build.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
0551f8ed62
dzn: port code to plain c
...
This does quite a lot in one go, simply because C and C++ are too
different to cleanly move from one language to another. But hopefully
this won't create too many rebase-issues.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
b369e10d08
dzn: do not set unused default member initializer
...
These objects aren't allocated using C++ constructors, so these default
member initializers does nothing.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
c5e979f632
dzn: c-style casts
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
3d608de882
dzn: use c-style initialization
...
Here's a few cases where we can use C-style initialization up-front,
which reduces the diffs later on.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
05af6f0434
dzn: use c-style for-statement
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
502c36c07d
dzn: use define instead of constexpr
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
5a9571ee2c
dzn: no more reinterpret_cast
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
79119ac478
dzn: drop using references
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
bd8e8537cc
dzn: drop auto usage
...
The auto keyword isn't available in C, so let's drop it and just use
explicit types instead.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
d61c2e965b
dzn: add a bunch of missing struct-keywords
...
If we're going to have any chance of porting this code to C, we're
going to have to be better at spelling out structs.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
4903a7c051
dzn: port to d3d12 c-api
...
Using the vulkan-helpers from C++ code has turned out to have a lot of
friction, because no other driver uses C++ for this.
So let's bite the bullet and call the D3D12 C-API instead. The C-API
wasn't really around when we started out, but it's there now.
This is still far from ideal; we should really create some wrapping
macros to generate the extremely verbose COM calls.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
4753222e62
dzn: pass IDXGIAdapter1 to d3d12_create_device
...
The D3D12 C API doesn't know about the relationship between
IDXGIAdapter1 and IUnknown. And there's no good reason to care about it
here either. So let's just pass the right type all the way.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
3ba021cdd0
dzn: use ID3D10Blob instead of ID3DBlob
...
In the C interface, there's no such alias.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
8c6f50efdb
dzn: always use ID3D12GraphicsCommandList1
...
In the C-interface, ID3D12GraphicsCommandList1 and
ID3D12GraphicsCommandList are unrelated types. So let's make sure we
consistenly use the most up-to-date version.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
411dfc574c
dzn: always use ID3D12Device1
...
In the C-interface, ID3D12Device1 and ID3D12Device are unrelated types.
So let's make sure we consistenly use the most up-to-date version.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
5f17d070a9
dzn: remove all usage of ComPtr<T>
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
74228c32ee
dzn: fixup indent
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Georg Lehmann
d12b5e7633
aco: Reuse previous -1 result in find_msb to avoid using VOP3.
...
Totals:
CodeSize: 388934388 -> 388933712 (-0.00%)
Totals from 208 (0.15% of 134913) affected shaders:
CodeSize: 2008016 -> 2007340 (-0.03%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16011 >
2022-04-19 15:18:58 +00:00
Yonggang Luo
ebb099a9b0
zink: Remove redundant framebuffer_mtx from zink_screen.h
...
Fixes: beb71504f4 ("zink: remove the worst part of basic framebuffer support")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16025 >
2022-04-19 15:02:33 +00:00
Lionel Landwerlin
2ab57e056d
ci/iris: mark another test as flaky
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16032 >
2022-04-19 14:27:26 +00:00
Lionel Landwerlin
8ef8e72aac
intel/fs: tidy up lower of ray queries
...
We already expect a single function.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15946 >
2022-04-19 12:56:06 +00:00
Boris Brezillon
9fd02d49b8
dzn: Pass the right type to CreateCommandList() in the reset path
...
The Command allocator and command list type must match, but we
are forcing it to D3D12_COMMAND_LIST_TYPE_DIRECT in the reset path.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16023 >
2022-04-19 12:07:38 +00:00
Marcin Ślusarz
5dace41c10
intel/compiler: invalidate metadata in brw_nir_initialize_mue
...
New "if" blocks may have been inserted.
Fixes: bc4f8c073a ("intel/compiler: inject MUE initialization")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15924 >
2022-04-19 11:43:55 +00:00
Marcin Ślusarz
4fddef33d5
intel/compiler: invalidate all metadata in brw_nir_lower_intersection_shader
...
New "if" blocks were inserted.
Fixes: 303378e1dd ("intel/rt: Add lowering for combined intersection/any-hit shaders")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15924 >
2022-04-19 11:43:55 +00:00
Marcin Ślusarz
5bd3ba5b67
anv: invalidate all metadata in anv_nir_lower_ubo_loads
...
lower_ubo_load_instr may insert "if" blocks.
Fixes: 61749b5a15 ("anv: Add a pass for lowering A64 UBO access")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15924 >
2022-04-19 11:43:55 +00:00
Lionel Landwerlin
184084e21c
anv: allow getting the address of the beginning of the batch
...
There is no reason not to be able to get it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 34a0ce58c7 ("anv: add a new execution mode for secondary command buffers")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15968 >
2022-04-19 10:43:29 +00:00
Alexey Bozhenko
2d7d907ad1
intel/compiler: fix singleton pointer coverity warning
...
fix brw_kernel::stats member that was declared as a variable
but used as a pointer to array of 3 elements
CID: 1503279
Signed-off-by: Bozhenko Alexey <oleksii.bozhenko@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15975 >
2022-04-19 12:36:10 +03:00
Karmjit Mahil
4c6bec2c0c
pvr: Fix clang-format errors caused by vk outarrays.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15944 >
2022-04-19 09:13:07 +00:00
Boris Brezillon
3e97d37c63
dzn: Add support for sampleRateShading
...
Forward the sample-rate shading info to spirv_to_dxil() so we can
claim to support sampleRateShading.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Boris Brezillon
80a5deee62
microsoft/spirv_to_dxil: Allow forcing per-sample shading
...
Needed to support VkPipelineMultisampleStateCreateInfo::sampleShadingEnable.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Boris Brezillon
cacc3f03e6
microsoft/compiler: Add a dunmmy SV_SampleIndex when needed
...
When per-sample shading is forced and all input variables have a flat
interpolation, DXIL validation detects a mismatch between the
SampleFrequency property and the fact that no variables are per-sample
and SV_SampleIndex is never read. When that happens, add a dummy
SV_SampleIndex.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Juan A. Suarez Romero
04fb31a420
v3d: enable GL_ARB_copy_image extension
...
Enable the proper capability to get activate this extension.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4588
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
e40cbd3438
v3d: define our own canonical supported formats
...
Some of the canonical formats defined by Gallium are not TLB compatible,
so we need to provide an alternative.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
606e42027e
gallium: add hook on getting canonical format
...
On swizzled copies canonical formats are used to reduce the formats to a
simpler subset.
Nevertheless, it is possible that some of the canonical formats defined
in Gallium are actually not supported by the drivers themselves.
This provides a driver-defined hook that can be used to provide an
alternative canonical format in case the canonical one defined by
Gallium is not supported by the driver.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
21bfbc74ee
v3d: use surface format defined on pipe_blit
...
When trying to perform a TLB-based blit, we need to create a surface out
of the src and dst resources. But instead of using the same formats as
the resources, we need to use the format that is passed through
pipe_blit_info.
This was making some cases to use the render-based blit instead of the
TLB-based blit, which is more performant.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
e6bcb8ad15
v3d: do not tile 1D textures
...
Hardware already support 1D untiled textures, so no need to convert them
to tile for render-based blit.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
18f8e3e7bd
v3d: report the correct unsupported blit format
...
We were reporting the resource format instead of the surface format for
unsupported render blit formats.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15693 >
2022-04-19 08:03:42 +00:00
Lionel Landwerlin
3684012770
anv: implement DEBUG_SYNC
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Lionel Landwerlin
317512e038
anv/intel: add a new debug flag for stalling after every draw/dispatch
...
Useful for hang debugging. Previously Anv incorrectly used DEBUG_SYNC
for this.
v2: Update documentations for sync/stall (Jordan)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Lionel Landwerlin
a1969fa777
anv: improve INTEL_DEBUG for submit
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Erik Faye-Lund
ff05137c2d
nir: introduce and use nir_component_mask
...
The BITFIELD_MASK() macro is intended for using with actual bitfields,
not with nir_component_mask_t. This means we do some extra work to
handle values that are invalid for nir_component_mask_t in the first
place.
This eliminates some warnings on Clang, where the compiler complains
about casting UINT32_MAX to UINT16_MAX.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00
Erik Faye-Lund
be952e71a7
meson: turn on -Wno-unused-function project-wide
...
We generate a lot of functions without knowing if they end up being used
or not. So we can't easily avoid these warnings.
This fixes a bunch of warnings for me when building with Clang.
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00
Erik Faye-Lund
b27a2ba4fc
vulkan: explicitly cast object-type enum
...
VkObjectType and VkDebugReportObjectTypeEXT has the same enum-values.
Why the Vulkan WG thought this was a good idea, beats me. But it's what
we have to live with now.
Anyway, instead of having a statement that implicitly casts two
different values from the former to the latter, let's fully relsove the
type as the former, and cast the value when using it instead.
Fixes: 41318a5819 ("vulkan: Use vk_object_base::type for debug_report")
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00