Mike Blumenkrantz [Thu, 21 Apr 2022 17:09:46 +0000 (13:09 -0400)]
zink: clamp 1D_ARRAY sparse textures to 2D as needed
forgot to handle this case
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 17:51:13 +0000 (13:51 -0400)]
zink: force render target usage for sampler-only resources
these might hit u_blitter later, which will require rt usage
to handle texture views, so add rt usage now to avoid failing later
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 19:07:03 +0000 (15:07 -0400)]
zink: fix surface/bufferview cache comparisons
these caches ignore pNext from the create info since the pNext cannot
affect the eventual object that is created, so comparing it will break
the hash table
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 17:29:52 +0000 (13:29 -0400)]
zink: add extended usage and retry if resource creation fails
this is one of those cases where some bizarro format is being created
for sampling only, but gallium blasts out all the bind flags at once
trust that we're not going to do anything too crazy and let surface
usage pruning handle the rest
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 17:28:09 +0000 (13:28 -0400)]
zink: remove input attachment usage when pruning surface usage
if the format doesn't support color attachment, it doesn't need to
be an input attachment
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 16:57:47 +0000 (12:57 -0400)]
zink: add extra validation for resource creation
check image params against driver's returned limits to avoid
failing later
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Fri, 15 Apr 2022 15:17:48 +0000 (11:17 -0400)]
zink: add separate error message for push descriptor set alloc fail
PRO triggers this if input attachments are used
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
Mike Blumenkrantz [Wed, 20 Apr 2022 13:45:51 +0000 (09:45 -0400)]
zink: only reject non-blittable resource creation if it has no other binds
the idea here is that if a resource is intended to be used solely as a rendertarget
and can't be blitted to or drawn to, then resource creation should fail
but if the resource might be e.g., a texture, then it can probably hit the subdata
path and be fine
Fixes:
37ac8647fca ("zink: reject resource creation if format features don't match attachment")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563>
xperia64 [Tue, 17 May 2022 23:46:20 +0000 (19:46 -0400)]
wgl: Add driver_zink as a dependency of the wgl frontend
Fixes:
01ed71f9451 ("wgl: support kopper")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16569>
Mike Blumenkrantz [Tue, 3 May 2022 23:14:00 +0000 (19:14 -0400)]
zink: never create a sw context unless sw is requested
this otherwise makes it impossible to accurately do hardware driver
fallback, as zink will create a sw context instead of failing, superceding
the actual sw driver priorities
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16572>
Jonathan Weinstein [Mon, 16 May 2022 13:13:00 +0000 (15:13 +0200)]
lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor
gallium can't directly support vertex attribute instance rate zero, since
the instance rate is also used to determine if the data is per-vertex or
per-instance in the first place (hence divisor zero meaning the data is
per vertex).
While it's an optional feature for VK_EXT_vertex_attribute_divisor, some
apps require it to work (it's a standard d3d10 feature and widely
supported), hence translate it away as MAX_UINT32 divisor instead (which
at this point probably makes more sense than to change the gallium
interface), which should work all the same.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16526>
Jason Ekstrand [Tue, 17 May 2022 15:48:40 +0000 (10:48 -0500)]
glsl: Drop this != NULL assertions
If this == NULL, we'll get a crash which is pretty much the same thing
when it comes to ease of debugging. This fixes a giant pile of warnings
with GCC 12 of the form:
../src/compiler/glsl/ir.h: In member function ‘ir_dereference* ir_instruction::as_dereference()’:
../src/util/macros.h:149:30: warning: ‘nonnull’ argument ‘this’ compared to NULL [-Wnonnull-compare]
149 | #define assume(expr) ((expr) ? ((void) 0) \
| ~~~~~~~~^~~~~~~~~~~~~~
150 | : (assert(!"assumption failed"), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
151 | __builtin_unreachable()))
| ~~~~~~~~~~~~~~~~~~~~~~~~~
../src/compiler/glsl/ir.h:150:7: note: in expansion of macro ‘assume’
150 | assume(this != NULL); \
| ^~~~~~
../src/compiler/glsl/ir.h:160:4: note: in expansion of macro ‘AS_BASE’
160 | AS_BASE(dereference)
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16558>
Chia-I Wu [Tue, 17 May 2022 22:49:03 +0000 (15:49 -0700)]
turnip: fix off-by-one in border color bitset
BITSET_FFS reserves 0 for no bit set. BITSET_CLEAR just below cleared
the wrong bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16567>
Kenneth Graunke [Thu, 14 Apr 2022 05:59:12 +0000 (22:59 -0700)]
iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS
This is considered a bottom-of-pipe flush bit.
Fixes:
a969ad1ddfd ("iris: Demote DC flush to HDC flush in cache tracker")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16565>
Mike Blumenkrantz [Thu, 12 May 2022 17:07:13 +0000 (13:07 -0400)]
zink: add an anv-tgl ci job
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16497>
Sil Vilerino [Mon, 2 May 2022 17:16:45 +0000 (10:16 -0700)]
meson: Support d3d12 as a video-supporting driver
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 20:19:08 +0000 (13:19 -0700)]
d3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:15:38 +0000 (10:15 -0700)]
d3d12: Add support for d3d12 video in d3d12_screen
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:14:29 +0000 (10:14 -0700)]
d3d12: Improve planar resource support to handle video requirements
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:10:45 +0000 (10:10 -0700)]
d3d12: Add util video functions to d3d12_format
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:07:57 +0000 (10:07 -0700)]
d3d12: Add create_video_codec and create_video_buffer entrypoints
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:06:27 +0000 (10:06 -0700)]
d3d12: Add video encode implementation of pipe_video_codec
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 17:00:10 +0000 (10:00 -0700)]
d3d12: Add video decode implementation of pipe_video_codec
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Thu, 12 May 2022 17:36:38 +0000 (10:36 -0700)]
ci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Tue, 3 May 2022 18:00:31 +0000 (11:00 -0700)]
d3d12: Add d3d12_promote_to_permanent_residency
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:50:23 +0000 (09:50 -0700)]
gallium va: VaHandlePictureParameterBufferH264 fill out new pipe params
MinLumaBiPredSize8x8, pic_init_qs_minus26, chroma_format_idc,
bit_depth_chroma, bit_depth_chroma_minus8
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:45:42 +0000 (09:45 -0700)]
gallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:42:53 +0000 (09:42 -0700)]
gallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:39:39 +0000 (09:39 -0700)]
gallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:41:00 +0000 (09:41 -0700)]
gallium radeon/r600/omx/va: Adds support for multiple reference encoding
gallium: pipe_h264_enc_picture_desc: ref_idx_lx to ref_idx_lx_list[32], add num_ref_idx_lx_active_minus1
gallium radeon/r600: Change usage of ref_idx_lx to ref_idx_lx_list
gallium omx: Fill out ref_idx_lx_list, num_ref_idx_lx_active_minus1
gallium va: Add support for multiple references encoding
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:55:32 +0000 (09:55 -0700)]
gallium va: Add support for multiple slices encoding
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:41:33 +0000 (09:41 -0700)]
gallium: Add multiple slice support to pipe_h264_enc_picture_desc
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Fri, 6 May 2022 20:23:23 +0000 (13:23 -0700)]
gallium va: Handle new VA attributes with new pipe video caps
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Fri, 6 May 2022 20:21:32 +0000 (13:21 -0700)]
gallium: Add values to pipe_video_cap for multi-slice and multi-reference encode
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:32:55 +0000 (09:32 -0700)]
gallium va: VaDeriveImage support stride/offset being different for NV12 planes
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 22:22:50 +0000 (15:22 -0700)]
gallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords
Reviewed-by: Leo Liu <leo.liu@amd.com>
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:31:15 +0000 (09:31 -0700)]
d3d12: Add .clang_format file
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:29:17 +0000 (09:29 -0700)]
st_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_description
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:27:37 +0000 (09:27 -0700)]
util/vl_vlc: Support compiling in C++
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:27:09 +0000 (09:27 -0700)]
util/u_format: Drop assert that has valid/well-defined behavior
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Sil Vilerino [Mon, 2 May 2022 16:25:56 +0000 (09:25 -0700)]
gallium/vl: Add software winsys and offscreen winsys
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286>
Adam Jackson [Wed, 2 Jun 2021 18:40:33 +0000 (14:40 -0400)]
dri2: Require a loader with working buffer invalidation
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808>
Adam Jackson [Wed, 2 Jun 2021 18:39:33 +0000 (14:39 -0400)]
glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808>
Michel Zou [Mon, 16 May 2022 16:52:29 +0000 (18:52 +0200)]
zink: fix pointer size conversion warning
fixes:
34e62bfa
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16532>
Lionel Landwerlin [Wed, 23 Jun 2021 16:17:51 +0000 (19:17 +0300)]
intel/perf: deal with OA reports timestamp values on DG2
OA reports on XeHP have their timestamp shifted to the left by 1. To
get that back in the same time domain as the REG_READ you need to
shift it back to the right and you're loosing the top bit.
v2: use ull for 64bit constant (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Mon, 19 Jul 2021 09:33:26 +0000 (12:33 +0300)]
intel/perf: disable sseu setting on Gfx12.5+
This is rejected by i915.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Wed, 7 Jul 2021 07:15:28 +0000 (00:15 -0700)]
intel/perf: add new layout for Gfx12.5 products
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Thu, 10 Mar 2022 10:18:51 +0000 (12:18 +0200)]
intel/perf: add max vfuncs
New counters will use those from inside their read function to
generate percentage numbers.
v2: Forgot to update Iris (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Wed, 23 Jun 2021 15:28:13 +0000 (18:28 +0300)]
intel/perf: add support new variable counting the number of EUs in slice0-3
v2: MIN2(4, max_slices) (Marcin)
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/16144>
Lionel Landwerlin [Wed, 7 Jul 2021 07:13:06 +0000 (00:13 -0700)]
intel/perf: add OA A counter type
On Gfx12.5 products, we'll need to capture a couple of A counters that
are not captured in MI_RPC reports. Those are actually global,
previously all A counters were per context.
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/16144>
Lionel Landwerlin [Wed, 7 Jul 2021 07:12:13 +0000 (00:12 -0700)]
intel/perf: stop overriding oa_format
This already set in the intel_perf_setup.h file at metric set
creation.
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/16144>
Lionel Landwerlin [Wed, 23 Jun 2021 14:54:08 +0000 (17:54 +0300)]
intel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables
For those, we'll fish the information out of the devinfo.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Wed, 23 Jun 2021 14:53:15 +0000 (17:53 +0300)]
intel/perf: add support for dualsubslice count variable
This is the same as the subslice count.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Wed, 23 Jun 2021 14:47:29 +0000 (17:47 +0300)]
intel/perf: store a copy of devinfo
In the future we'll pull more information off devinfo.
v2: Constify pointers (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144>
Lionel Landwerlin [Wed, 23 Jun 2021 14:40:00 +0000 (17:40 +0300)]
intel/perf: add support for new opcodes in code generation
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/16144>
Chad Versace [Mon, 2 May 2022 19:56:24 +0000 (12:56 -0700)]
venus: Don't encode ignored pTessellationState
The spec says that VkGraphicsPipelineCreateInfo::pTessellationState is
ignored and may be an invalid pointer in some cases. When ignored,
patch the pCreateInfo with `pTessellationState = NULL`, so the encoder
doesn't attempt to encode an invalid pointer.
Tested in Borealis, with debug build of venus, with a minimal test app
that sets `.pTesselationState = 0x17`. Pre-patch, the app crashes;
post-patch, the app works.
Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284>
Chad Versace [Mon, 2 May 2022 19:49:16 +0000 (12:49 -0700)]
venus: Refactor vn_fix_graphics_pipeline_create_info
We currently do only a single fix. Prepare to do multiple independent
fixes.
Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284>
Dave Airlie [Tue, 17 May 2022 00:05:50 +0000 (10:05 +1000)]
vl: fix codec checks to disable properly
This was wrong and enabled codecs where they shouldn't have been.
Fixes:
7ab05e3c3fe3 ("gallium/vl: respect the video codecs configure in meson")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16542>
Dave Airlie [Thu, 5 May 2022 02:43:25 +0000 (12:43 +1000)]
meson: add build-id to pipe libraries
Without this the cache setup was crashing with CL and the dynamic
pipe libraries.
Reported and debugged on irc by consolers
Cc: mesa-stable
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16341>
Gert Wollny [Thu, 12 May 2022 11:28:15 +0000 (13:28 +0200)]
r600/sb: Fall back to un-optimized shader if scheduling fails
Sometimes the optimizer created codes that can't be scheduled,
instead of failing completely, simply bail out and use the
un-optimized code.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16499>
Gert Wollny [Tue, 10 May 2022 18:04:09 +0000 (20:04 +0200)]
r600/sb: Don't create three source ops with all kcache values
There is a good chance that the created instruction can't be
scheduled, so avoid this case.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16499>
Jason Ekstrand [Fri, 25 Mar 2022 21:14:19 +0000 (16:14 -0500)]
radv: Use vk_image_view as the base for radv_image_view
I've left the extent field because, even though it looks like it should
be roughly equivalent, it's weirdly different on different hardware and
I didn't want to mess with it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Fri, 25 Mar 2022 19:58:39 +0000 (14:58 -0500)]
radv: Use vk_image as the base for radv_image
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Fri, 25 Mar 2022 23:56:38 +0000 (18:56 -0500)]
radv: Only use PLANE_0 in meta when actually needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Fri, 25 Mar 2022 22:36:35 +0000 (17:36 -0500)]
vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create
We already had a little workaround for v3dv where, for some if its meta
ops, it had to bind a depth/stenicil image as color. Instead of
special-casing binding depth/stencil as color, let's flip on the
drier_internal flag and get rid of most of the checks in that case.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Sat, 26 Mar 2022 00:38:27 +0000 (19:38 -0500)]
v3dv: Drop the region temporary from blit_shader
We're no longer stomping aspects, so there's no need.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Sat, 26 Mar 2022 00:35:17 +0000 (19:35 -0500)]
v3dv: Don't use color aspects for depth/stencil images
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Sat, 26 Mar 2022 00:44:17 +0000 (19:44 -0500)]
vulkan: Only be clever about vk_image_view::view_format for normal views
For color view of depth views, just set whatever format they asked for.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Jason Ekstrand [Fri, 25 Mar 2022 22:57:37 +0000 (17:57 -0500)]
v3dv: Add a create_image_view helper for internal views
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
Samuel Pitoiset [Fri, 13 May 2022 09:19:21 +0000 (11:19 +0200)]
aco: use ac_is_llvm_processor_supported() for checking LLVM asm support
It seems more universal but it's needed to create a temporary TM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16494>
Samuel Pitoiset [Mon, 16 May 2022 14:42:22 +0000 (16:42 +0200)]
radv: do not lower loading TESS/ESGS rings using the ABI for LLVM
LLVM uses an implicit argument for the ring offsets and this lowering
was just broken.
This fixes tessellation and geometry on all generations with LLVM.
Fixes:
896a55f47d9 ("radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16530>
Alyssa Rosenzweig [Sun, 15 May 2022 16:57:31 +0000 (12:57 -0400)]
asahi: Fix hangs waiting on the notification queue
Dequeue and WaitForAvailableData can race. Restructure the loop to avoid
this. Fixes all timeouts in dEQP.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16518>
Emma Anholt [Tue, 17 May 2022 14:07:35 +0000 (07:07 -0700)]
i915g/ci: Add depth-clear-precision-check xfails like everyone else.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390>
Emma Anholt [Thu, 12 May 2022 20:22:17 +0000 (13:22 -0700)]
ci/crocus: Merge the piglit runs with the deqp runs.
Fewer manual buttons to click.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390>
Emma Anholt [Sun, 8 May 2022 16:54:53 +0000 (09:54 -0700)]
ci/crocus: Manual CI updates after CI was down for a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390>
Konstantin Seurer [Sun, 15 May 2022 10:52:58 +0000 (12:52 +0200)]
Revert "radv: Make fill_buffer_shader non-static"
We do not need this any longer since
radv_acceleration_structure.c uses
radv_fill_buffer now instead.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517>
Konstantin Seurer [Sun, 15 May 2022 10:46:11 +0000 (12:46 +0200)]
radv: Use radv_fill_buffer for accel struct builds
It turns out, that the fuchsia sort may actually
perform clears with size < 16 which hits an assert
in radv_fill_buffer_shader. This fixes random
crashes in Control.
Fixes: be57b08 ("radv: Build accaleration structures using LBVH")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517>
Konstantin Seurer [Sun, 15 May 2022 10:43:35 +0000 (12:43 +0200)]
radv: Allow radv_fill_buffer to work with VAs only
Makes the bo parameter optional which is useful
for the clears performed by acceleration structure
build commands.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517>
Marek Olšák [Mon, 16 May 2022 12:16:23 +0000 (08:16 -0400)]
Revert "mesa: consider the sample count when choosing a texture format"
This reverts commit
89c94502b6650fed222abd3588e9c927811580aa.
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16524>
Marek Olšák [Mon, 16 May 2022 12:16:02 +0000 (08:16 -0400)]
Revert "frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers"
This reverts commit
cfec9a55ea6a1cd535ea60aeff7f7bd85dd64bb5.
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16524>
Marek Olšák [Fri, 13 May 2022 08:09:37 +0000 (04:09 -0400)]
radeonsi: fix resource_copy_region with ETC formats (e.g. for Stoney)
Only Stoney, Vega10, Raven, and Raven2 support ETC.
Fixed tests:
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui.texture2d_to_texture2d
Fixes:
cf1e562fdd7 - radeonsi: remove compressed and subsampled gfx copy from resource_copy_region
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6431
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16491>
Dave Airlie [Tue, 3 May 2022 00:33:02 +0000 (10:33 +1000)]
llvmpipe: align scratch size to 64-bit size.
This fixes a crash with luxmark where it uses a 12-byte scratch space,
but when llvmpipe allocates it for 8 lanes, it isn't properly aligned
for 64-bit.
Karol found this debugging rusticl.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16288>
Marek Olšák [Sun, 15 May 2022 01:16:31 +0000 (21:16 -0400)]
winsys/amdgpu: initialize IB_PREAMBLE in advance
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sun, 15 May 2022 00:51:47 +0000 (20:51 -0400)]
radeonsi: move CS preamble emission into the winsys
The preamble will be skipped by the kernel if there is no context switch.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 14:23:05 +0000 (10:23 -0400)]
radeonsi: merge all preamble states into one
Tess registers are appended. GS registers are appended or overwritten
if they are already set. There are separate TMZ and non-TMZ preambles.
The preamble will be passed to the kernel as an IB to execute on a context
switch only.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 11:23:13 +0000 (07:23 -0400)]
radeonsi/gfx11: optimize attribute stores
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 09:55:29 +0000 (05:55 -0400)]
radeonsi/gfx11: fix VM faults due to the attribute ring
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 07:55:34 +0000 (03:55 -0400)]
Revert "radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order"
This reverts commit
54d85700a12aa33d185e147c2d5c794ba54b7a11.
It's an LLVM bug. If you disable AMDGPUImageIntrinsicOptimizer in LLVM,
MSAA is fixed. There is no LLVM command line option to disable it from Mesa.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 06:33:30 +0000 (02:33 -0400)]
radeonsi/gfx11: fix the value of VGT_GS_OUT_PRIM_TYPE at the beginning of IBs
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 06:19:56 +0000 (02:19 -0400)]
radeonsi/gfx11: don't insert shader code for GS_PIPELINE_STATS_EMU
GS_PIPELINE_STATS_EMU is always false, so the branches were never entered.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 02:34:17 +0000 (22:34 -0400)]
radeonsi/gfx11: fix alpha-to-coverage with stencil or samplemask export
We can't use UINT16_ABGR for the alpha channel. Always use 32_ABGR.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 02:04:05 +0000 (22:04 -0400)]
ac/gfx11: fix the scratch buffer
We didn't use the value that we computed.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Wed, 11 May 2022 07:50:03 +0000 (03:50 -0400)]
radeonsi: remove GFX9_MERGED_NUM_USER_SGPR definition
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Marek Olšák [Sat, 14 May 2022 06:21:30 +0000 (02:21 -0400)]
ac/gpu_info: silence a valgrind warning due to amdgpu_query_hw_ip_info
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16509>
Samuel Pitoiset [Thu, 5 May 2022 13:15:17 +0000 (15:15 +0200)]
radv: more register changes on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>
Samuel Pitoiset [Thu, 5 May 2022 12:18:51 +0000 (14:18 +0200)]
radv: limit CP DMA to max 32KB sizes on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>
Samuel Pitoiset [Thu, 5 May 2022 12:06:43 +0000 (14:06 +0200)]
radv: apply a workaround for CB perf counters on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>
Bas Nieuwenhuizen [Wed, 4 May 2022 23:40:34 +0000 (01:40 +0200)]
radv: update the initialization of SGPR0/1 registers for HS and GS on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>
Samuel Pitoiset [Thu, 5 May 2022 11:23:06 +0000 (13:23 +0200)]
radv: update VRS registers on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>
Samuel Pitoiset [Thu, 5 May 2022 11:11:56 +0000 (13:11 +0200)]
radv: update TF_RING_size to a per-SE size on GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419>