Boris Brezillon
7ecc22ccaa
dzn: Force sampleCounts to 1 for bgra4 images
...
Those are not expected to be used as render-target, and Vulkan mandates
that such formats get their sampleCounts set to VK_SAMPLE_COUNT_1_BIT.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
84ad923482
dzn: Get rid of dzn_GetPhysicalDeviceProperties()
...
Rely on the vk_common_ wrapper.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
9a804b6390
dzn: Get rid of dzn_GetPhysicalDeviceFeatures()
...
And rely on the vk_common_ wrapper to get it implemented.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
e9c69fe39a
dzn: 3D array images don't exist
...
Let's force maxArrayLayers to one in that case.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
ad0ac592be
dzn: Set bufferFeatures to zero on depth/stencil formats
...
Those are not supposed to advertise buffer features.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
8dfab9b382
dzn: Make sure the properties are all zero when the format is not supported
...
Move one of the is_supported() check before we start filling the
structure so we don't end up with a partially filled object when
we return VK_ERROR_FORMAT_NOT_SUPPORTED (which deqp doesn't seem to like,
so it's probably coming from a spec requirement).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
dc3dd9690b
dzn: Return a valid imageFormatProperties.maxMipLevels
...
maxMipLevels is encoding the maximum number of MIP levels, but
dzn_physical_device_get_max_mip_levels() return the maximum MIP level.
Let's rename the function and add one to the returned value to fix
the problem.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
cfd3dfc074
dzn: Fix 3D <-> 2D image copies
...
We just need to treat layers as slices when manipulating 3D resources
whose slices are coming from/going to 2D array layers.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
94923021d7
dzn: Support 2Darray views on 3D images for color attachments
...
Those are declared as 3D RTVs in D3D12, and layers are treated as
slices.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
3684cae58c
dzn: Fix dzn_image_get_rtv_desc() for 3D views
...
VK_REMAINING_ARRAY_LAYERS maps to -1 in the D3D12 world. Let's make sure
we set WSize to -1 in that case, because the layer_count calculated by
dzn_get_layer_count() won't work for 3D images which never have more
than one layer (in case of 3D images, we treat slices as layers).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
9f5831bbec
dzn: Replace C++ references by pointers
...
Let's keep as much as we can in plain C.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
1401f62069
dzn: Align the default case in dzn_image_view_prepare_dsv_desc()
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
1692d8f0f6
dzn: Don't crash when EndCommandBuffer() returns an error
...
Leftover from a debug session.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
c937152756
dzn: Fix dzn_translate_viewport() when height < 0
...
Since negative height is not a thing in D3D12, we need to adjust the
TopLeftY accordingly.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Boris Brezillon
05b6c1ed84
dzn: Fix pipeline creation when rasterization is disabled
...
We use some of the VkGraphicsPipelineCreateInfo fields that should
be ignored when rasterization in disabled, assuming those who be set
to NULL by the caller in that case, which is not mandated by the
Vulkan specification.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15698 >
2022-04-08 11:54:43 +00:00
Corentin Noël
c59fc44114
virgl/ci: Uprev virglrenderer and crosvm
...
Use a patch file for crosvm instead of relying on private repositories for faster
uprevs.
Use latest virglrenderer to keep the tests in-sync.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15772 >
2022-04-08 11:28:27 +00:00
Corentin Noël
9a88231458
ci: Only apply patches with the build-skqp prefix
...
Allows to ship patches for other components too.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15772 >
2022-04-08 11:28:27 +00:00
Samuel Pitoiset
8db9b175a5
radv: stop relying on shader modules after SPIRV->NIR
...
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/15766 >
2022-04-08 09:50:31 +02:00
Samuel Pitoiset
b2568be1de
radv: stop passing the module to the compiler debug callback
...
After SPIRV->NIR, the driver shouldn't rely on the module. This will
still report messages via VK_EXT_debug_report but the object will be
NULL.
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/15766 >
2022-04-08 09:50:29 +02:00
Samuel Pitoiset
0835065260
radv: drop the module reference for enable_mrt_output_nan_fixup
...
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/15766 >
2022-04-08 09:50:26 +02:00
Samuel Pitoiset
0411bb1297
radv: drop the module reference in radv_can_dump_shader_stats()
...
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/15766 >
2022-04-08 09:50:25 +02:00
Samuel Pitoiset
a434097453
radv: drop the module reference in radv_can_dump_shader()
...
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/15766 >
2022-04-08 09:50:22 +02:00
Samuel Pitoiset
e11712a0a3
radv: copy the spirv module for debugging after compilation
...
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/15766 >
2022-04-08 09:50:20 +02:00
Samuel Pitoiset
115fd6dd8e
radv: remove more references to the pipeline layout during compilation
...
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/15749 >
2022-04-08 07:00:34 +00:00
Samuel Pitoiset
2c97e79473
radv: lower ycbcr textures just before applying the pipeline layout
...
This shouldn't change anything.
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/15749 >
2022-04-08 07:00:34 +00:00
Samuel Pitoiset
ace073eb0b
radv: assert that the arg is declared when used in get_scalar_arg()
...
Help debugging.
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/15789 >
2022-04-08 06:40:52 +00:00
Samuel Pitoiset
a0f3839ce8
radv: add radv_is_vrs_enabled()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Samuel Pitoiset
59466d40a3
radv: add a new helper to initialize various type of pipelines
...
This is common to graphics, compute and library pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Samuel Pitoiset
6117612189
radv: add radv_generate_pipeline_key() for common graphics/compute keys
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Samuel Pitoiset
e74217d5a7
radv: remove unused parameters in radv_get_{wave,ballot_bit}_size()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Samuel Pitoiset
465b530a15
radv: use radv_pipeline_has_ds_attachments() more
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Samuel Pitoiset
ac6dbb8c7b
radv: do not check if VkPipelineRenderingCreateInfo is NULL
...
The driver converts legacy render pass to dynamic rendering, so this
structure should always be in pNext.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15792 >
2022-04-08 06:21:22 +00:00
Iago Toral Quiroga
cf4b3cb563
broadcom/compiler: prefer reconstruction over TMU spills when possible
...
We have been reconstructing/rematerializing uniforms for a while, but we
can do this in more scenarios, namely instructions which result is
immutable along the execution of a shader across all channels.
By doing this we gain the capacity to eliminate TMU spills which not
only are slower, but can also make us drop to a fallback compilation
strategy.
Shader-db results show a small increase in instruction counts caused
by us now being able to choose preferential compiler strategies that
are intended to reduce TMU latency. In some cases, we are now also
able to avoid dropping thread counts:
total instructions in shared programs: 12658092 -> 12659245 (<.01%)
instructions in affected programs: 75812 -> 76965 (1.52%)
helped: 55
HURT: 107
total threads in shared programs: 416286 -> 416412 (0.03%)
threads in affected programs: 126 -> 252 (100.00%)
helped: 63
HURT: 0
total uniforms in shared programs: 3716916 -> 3716396 (-0.01%)
uniforms in affected programs: 19327 -> 18807 (-2.69%)
helped: 94
HURT: 50
total max-temps in shared programs: 2161796 -> 2161578 (-0.01%)
max-temps in affected programs: 3961 -> 3743 (-5.50%)
helped: 80
HURT: 24
total spills in shared programs: 3274 -> 3266 (-0.24%)
spills in affected programs: 98 -> 90 (-8.16%)
helped: 6
HURT: 0
total fills in shared programs: 4657 -> 4642 (-0.32%)
fills in affected programs: 130 -> 115 (-11.54%)
helped: 6
HURT: 0
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15710 >
2022-04-08 05:37:28 +00:00
Connor Abbott
32af90d96f
freedreno/a6xx: Fix SP_DS_CTRL_REG0 definition
...
Bit 20 isn't actually MERGEDREGS, the mode for the entire geometry
pipeline is controlled by SP_VS_CTRL_REG0::MERGEDREGS and it appears to
be something preamble-related instead since writing any register in the
preamble hangs if it's set. This fixes those hangs on freedreno and
turnip since we no longer set it.
Fixes: fccc35c2de ("ir3: Add preamble optimization pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15801 >
2022-04-08 04:40:17 +00:00
Mike Blumenkrantz
80683943d1
mesa/st: simplify st_can_add_pointsize_to_program iterator
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:10 -04:00
Mike Blumenkrantz
16f08ad469
mesa/st: don't precompile the pointsize upload variant anymore
...
this is no longer likely to be used, so precompile the base variant now
also delete some now-unused code
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:10 -04:00
Mike Blumenkrantz
4f027fbff2
mesa/st: only flag pointsize constant uploads if they're needed
...
now that shaders are guaranteed to have a pointsize export, the only time
the variant using the uploaded constant is needed is when pointsize != 1.0
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:10 -04:00
Mike Blumenkrantz
f964881fcc
mesa/st: only use constant upload pointsize variants if pointsize != 1.0
...
it's not that common for apps to need varying pointsize, so now that shaders
are guaranteed to have the export in the shader, the constant version is almost
never used
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:10 -04:00
Mike Blumenkrantz
2b626af110
mesa/st: also add pointsize to fixedfunction vertex shaders as needed
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:10 -04:00
Mike Blumenkrantz
d773055d92
mesa/st: always inject a 1.0 pointsize for vertex stages
...
since 1.0 is used in nearly every case, drivers requiring this exporting
can avoid potential shader variants by adding a 1.0 export to the base
shader variant and the only using the ubo upload when pointsize is explicitly
set for wide point functionality
drivers can then be responsible for removing unused pointsize exports
as needed (or desired)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:09 -04:00
Mike Blumenkrantz
3aa449ff72
mesa/st: declare added pointsize var as hidden
...
ensure this isn't counted as part of the shader and ignored for e.g.,
glGetProgramInterfaceiv
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:09 -04:00
Mike Blumenkrantz
310903d096
nir/lower_point_size_mov: fix check for overwriting existing pointsize
...
this should match the comment and allow overwriting injected pointsize
variables regardless of whether xfb is flagged
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:09 -04:00
Mike Blumenkrantz
02b573e03e
mesa: add a bool indicating when pointsize == 1.0
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15699 >
2022-04-07 21:56:09 -04:00
Emma Anholt
75a4e3f0e8
Revert "ci/freedreno: Reduce concurrency when replaying traces on a630"
...
This reverts commit d948f32365 .
I think that fixing the timeout will have resolved this problem.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15805 >
2022-04-08 00:24:20 +00:00
Emma Anholt
d51aea7f57
freedreno: Fix the cpu-prep wait to be "infinite".
...
We don't need to restrict our timeout to 5 seconds, because the kernel's
hangcheck will ensure that the wait completes in finite time if the GPU
gets wedged. If the GPU is making progress, we don't want to time out
early and have pipe_transfer_map() return an error, causing glReadPixels()
to throw a confusing GL_OOM even though we're not out memory.
The INFINITE arg to this function isn't actually infinite, it's limited to
an hour. But an hour of GPU processing to wait on is probably plenty.
This 5s timeout has caused problems with the CTS on freedreno at high
parallelism, and I suspect is the cause of recent issues in the closed
traces replay jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15805 >
2022-04-08 00:24:20 +00:00
Timothy Arceri
7d216f296a
glsl: fix needs_lowering() call in varying packing pass
...
Here we remove the outer arrays on geom and tess shaders where
needed. Without this the pass can sometimes attempt to pack a
varying on only one side of the shader interface where it is not
actually needed. The result can be mismatching varying types.
Fixes: d6b9202873 ("glsl: disable varying packing when its not safe")
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15761 >
2022-04-07 23:57:40 +00:00
Mike Blumenkrantz
b3abd3db33
docs: update features for lavapipe
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15808 >
2022-04-07 23:06:05 +00:00
Mike Blumenkrantz
3030e5baaf
zink: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15808 >
2022-04-07 23:06:05 +00:00
Mike Blumenkrantz
4bb45bcd16
zink: add error logging for SRGB framebuffer without KHR_swapchain_mutable_format
...
this is going to explode, so at least print an error explaining why
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15808 >
2022-04-07 23:06:05 +00:00
Mike Blumenkrantz
bbede22850
lavapipe: KHR_swapchain_mutable_format
...
it Just Works(tm)
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15808 >
2022-04-07 23:06:05 +00:00