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
Samuel Pitoiset
90db834603
radv: do not support UNIFORM_TEXEL_BUFFER with SRGB
...
Looks like it can't be supported. Also disabled by PRO/AMDVLK.
Fixes new CTS dEQP-VK.texture.texel_buffer.uniform.srgb.*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16010 >
2022-04-19 06:35:50 +00:00
Samuel Pitoiset
443034c1ec
radv: initialize the vertex input interface state in only one place
...
Instead of copying states from these structures at many different
places, do it only once. Will help VK_EXT_graphics_pipeline_library.
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/15967 >
2022-04-19 06:15:52 +00:00
Samuel Pitoiset
ea6eaa4c19
radv: use the hardware primitive topology everywhere
...
Instead of mixing the VK type vs HW type everywhere.
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/15967 >
2022-04-19 06:15:52 +00:00
Samuel Pitoiset
984b6c037c
radv: mark all active stages earlier in the pipeline creation path
...
Few pCreateInfo structs have to be ignored based on the active stages
and this will be used to make a union of stages from graphics libraries.
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/15967 >
2022-04-19 06:15:52 +00:00
Mike Blumenkrantz
1eada1b02d
zink: selectively disable dynamic vertex stride
...
if the vertex state doesn't meet the requirements to use this feature,
fall back to fully-baked pipelines instead of violating spec
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
d46774f8e6
zink: store min required stride values on the vertex state
...
this will be useful shortly
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
75e4a861cb
zink: always bind gfx pipeline at the top of draw
...
at one point I thought it'd be cool to try and async compile a pipeline
between shader bind and draw emit, but this is an unrealistic pipe dream
that just makes things more complicated
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
3d97367a60
zink: rework zink_kopper_update() assert
...
the dt might have been killed, so just assert that it's a display target
fixes #6317
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16017 >
2022-04-19 00:59:29 +00:00
Mike Blumenkrantz
9ecdc2e985
zink: make a kopper debug print into an error
...
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16017 >
2022-04-19 00:59:29 +00:00
Mike Blumenkrantz
452a2fb995
zink: remove ZINK_NO_TIMELINES
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
beb71504f4
zink: remove the worst part of basic framebuffer support
...
this was one of the most complex interactions in zink, and now it's
finally gone
thanks to @jekstrand for licensing his patented Delete The Code methodology
for this project
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
00f2517391
zink: rename imageless framebuffer functions
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
623de06056
zink: remove framebuffer indirection
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
fe8212791f
zink: delete all non-imageless framebuffer code
...
hooray it's finally gone
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
0067641d3c
zink: require KHR_imageless_framebuffer
...
this allows for deleting tons of code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
8c539328fd
zink: require renderpass2
...
drivers should be able to support this, and it allows for deleting
a lot of untested code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
d461b1f722
zink: only use VK_DEPENDENCY_BY_REGION_BIT if sync2 is available
...
this breaks texture barriers since non-sync2 barriers don't have this
available
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
4f1ecbd7b7
zink: hook up VK_KHR_create_renderpass2
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
b0cbe3d419
zink: remove driver-based max_fences throttling
...
there are no more fence objects, so there's no need to do driver-specific
clamping on them
the mechanism remains intact to handle ETOOMANYSUBMITS
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
21fb0a3473
zink: rename zink_query::batch_id
...
this conflicts with zink_fence::batch_id and is confusing in grep
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
b5d7f61e0c
zink: remove batch lock
...
this is no longer needed and allows deleting some awful code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
bc2e29accd
zink: require timeline semaphores
...
this allows the removal of tons of awful code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
07c86e99b1
zink: do not create fences at all if timeline semaphores are supported
...
there's no point in doing this, as it's just extra objects that don't need
to ever be used
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
8806f444a5
zink: fix extended restart prim types without dynamic state2
...
these are all allowed with the ext
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978 >
2022-04-18 22:20:36 +00:00
Mike Blumenkrantz
cd9424d93f
zink: support restart with PIPE_PRIM_LINES_ADJACENCY if ext is available
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978 >
2022-04-18 22:20:36 +00:00
Mike Blumenkrantz
d8b66fcbf9
zink: unconditionally set line width on rasterizer state change
...
the pipe cap is used for gating wideline support, so this will always
be 1.0 when not supported
furthermore, the previous code wasn't accurately checking line width
for tess shaders, breaking tests
cc: mesa-stable
fixes (nv):
KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_PatchVerticesIn
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
9409756ee3
zink: use mixed zs renderpass for depth read/write
...
this is triggered by u_blitter when doing src==dst blits
Fixes: 7781a75229 ("zink: add a renderpass flag for mixed zs layout")
affects:
GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality*
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
37ac8647fc
zink: reject resource creation if format features don't match attachment
...
if a rendertarget-specified image can't be a rendertarget or a blit dst
then it can't be used for the designated functionality and must be rejected
cc: mesa-stable
fixes hangs on various nv driver versions:
dEQP-GLES2.functional.texture.mipmap.2d.generate.rgba5551_fastest
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
44ad45fa06
zink: add baseline for amdpro
...
got some work to do here
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980 >
2022-04-18 21:56:46 +00:00
Mike Blumenkrantz
c7122814c5
zink: disable EXT_extended_dynamic_state2 on AMDPRO
...
this is broken beyond space and time in 22.10-1395274
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980 >
2022-04-18 21:56:46 +00:00
Mike Blumenkrantz
12cf9a1544
zink: remove tcs patch slot map
...
this is illegal, and we'll just have to eat some piglit fails
until indirects are handled
Fixes: f7ade1f188 ("zink: simplify shader i/o assignment")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15976 >
2022-04-18 21:32:40 +00:00
Erik Faye-Lund
7ca1253932
gallium: rename ldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
439c212a3c
gallium: rename dfracexp/dldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
3efd6d4bfe
gallium: rename dround shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
9b545ea691
gallium: rename continue shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Mike Blumenkrantz
d275d6c32f
zink: clamp max shader images to 32
...
NO MATTER WHAT.
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16013 >
2022-04-18 17:54:20 +00:00
Konstantin Seurer
b761b51451
radv: Fix ray queries with !15854
...
Fixes: b62e90a ("radv: use nir_op_imm helpers")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16004 >
2022-04-18 16:37:54 +00:00