Commit Graph

185913 Commits

Author SHA1 Message Date
Caio Oliveira
24569b8079 intel/elk: Remove DPAS opcode
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629>
2024-03-07 15:53:17 +00:00
Caio Oliveira
7b90470ca1 intel/elk: Remove split sends
They are not supported in Gfx8-.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27629>
2024-03-07 15:53:17 +00:00
Gert Wollny
b7d6d90dab zink/nir-to-spirv: Make sure sampleid for InterpolateAtSample is int
This fixes the validation error

  VUID-VkShaderModuleCreateInfo-pCode-08737

triggered by piglit:
  spec@arb_gpu_shader5@execution@built-in-functions@fs-interpolateatsample-block-array:

  GLSL.std.450 InterpolateAtSample: expected Sample to be 32-bit integer
    %47 = OpExtInst %float %1 InterpolateAtSample %45 %float_0

Fixes: 9f6be8effb
   zink: store and use alu types for ntv defs

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28043>
2024-03-07 13:26:31 +00:00
Rhys Perry
dea8b02b03 aco: don't pass constant to is_overwritten_since()
Fixes usage of uninitialised value in dead_space/065515347dca4851 and
other dead_space shaders.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: def0c275c4 ("aco: Eliminate SCC copies when possible.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28011>
2024-03-07 12:17:39 +00:00
Samuel Pitoiset
c383739cfc radv/ci: remove dEQP-VK.robustness.* from the VANGOGH skip list
These no longer hangs the GPU since 4c05ebf3a5 ("radv: Set SCRATCH_EN
for RT pipelines based on dynamic stack size").

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28037>
2024-03-07 11:51:42 +00:00
Samuel Pitoiset
52be850d7f radv/ci: remove RT tests from the VANGOGH skip list
I thought the recent scratch fix for RT would have fixed it but even
with it reverted everything is passing. A bunch of RT fixes landed
since, who knows.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9208
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28037>
2024-03-07 11:51:42 +00:00
Friedrich Vock
7792ee1c15 radv/rt: Fix frontface culling with emulated RT
We need to preserve the divisor's sign for front/backface detection to
work correctly.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28034>
2024-03-07 10:34:52 +00:00
David Heidelberg
23441f7f4a drm-shim: Avoid invalid file and time bits combination
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1065153

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10721
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27967>
2024-03-07 09:55:06 +00:00
Kenneth Graunke
9e5fd49cbe iris: Fix tessellation evaluation shaders that use scratch
The code path for emitting tessellation commands when the TES needed
scratch space was failing to emit 3DSTATE_TE, and instead only emitting
3DSTATE_DS.  This meant that you could get HS and DS enabled with
tessellation itself turned off, which is utter nonsense and would
cause a GPU hang.

Alchemist and later takes a different path and don't take this bug,
but all earlier hardware would hit it.  Discovered while working on
compiler changes that caused a single piglit test to spill minorly,
and thus break entirely.

Fixes: 4256f7ed58 ("iris: Fill out scratch base address dynamically")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28032>
2024-03-07 09:32:51 +00:00
Chris Rankin
f9358cb105 frontends/vdpau: Add support for VDPAU AV1 decoding.
Signed-off-by: Chris Rankin <rankincj@gmail.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27825>
2024-03-07 07:55:19 +00:00
Chris Rankin
f64e8ca7f4 meson: bump the minimal required vdpau version to 1.5
Signed-off-by: Chris Rankin <rankincj@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27825>
2024-03-07 07:55:19 +00:00
Mike Blumenkrantz
2665badcfe util/blitter: iterate samples in stencil_fallback
this matches handling in do_blits and fixes multisampled stencil blits

fixes (nv):
GTF-GL45.gtf44.GL31Tests.texture_stencil8.texture_stencil8_gl44

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27988>
2024-03-07 04:44:58 +00:00
Timothy Arceri
981900055c glsl: remove now unused glsl ir lower discard pass
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005>
2024-03-07 04:02:45 +00:00
Timothy Arceri
8ceb10a1bd glsl: make use of nir lower discard flow
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005>
2024-03-07 04:02:45 +00:00
Timothy Arceri
8317a37ea7 glsl: implement nir version of lower discard flow
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28005>
2024-03-07 04:02:45 +00:00
Teng, Jin Chung
ef45417690 d3d12: HEVC Encode - Query slice config mode based on user slice setting
Queries D3D12_FEATURE_VIDEO_ENCODER_SUPPORT1 for HEVC setting
D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT1.SubregionFrameEncoding as
D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
or D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME depending on
the frontend number of slices requested.
Doing this avoids d3d12_video_encoder_config_dirty_flag_slices from
being set on every frame otherwise, triggering a reconstruction of the
encoder objects on every frame on some platforms.

Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28007>
2024-03-07 03:43:10 +00:00
Jesse Natalie
cda6877cb6 nir_lower_tex_shadow: For old-style shadows, use vec4(result, 0, 0, 1)
If the app requests a swizzle on the shadow sampler which doesn't just
return the red channel or literal 0s/1s, we'll crash attempting to build
the result vector. Use something that's probably valid.

Cc: mesa-stable
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28001>
2024-03-07 01:15:46 +00:00
Mike Blumenkrantz
4b7bf9a6db zink: update nvk baseline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28026>
2024-03-07 00:21:05 +00:00
Sil Vilerino
2074da0c39 d3d12: Refactor graphics functions from context and blit to separate files
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06 23:06:59 +00:00
Sil Vilerino
55e377e965 d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06 23:06:59 +00:00
Sil Vilerino
0cd023bf6a frontend/va: Use get_resources in VaDeriveImage for media only devices without get_surfaces support
Reviewed-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06 23:06:59 +00:00
Sil Vilerino
bf6a415841 frontend/va: Support media only post proc without compositor using shaders or surfaces
Reviewed-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06 23:06:59 +00:00
Lionel Landwerlin
0b6a2c24d6 anv: don't copy the null descriptor from the GPU memory
Performance regression with vkd3d-proton.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 9506d3f338 ("anv: implement data write entry points for EXT_descriptor_buffer")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Tested-by: Felix DeGrood felix.j.degrood@intel.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28010>
2024-03-06 22:45:13 +00:00
Faith Ekstrand
d20b547e8e nvk: Report official GPU names from NVIDIA when we have them
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28024>
2024-03-06 22:28:22 +00:00
Faith Ekstrand
1069b216ac nouveau: Import g_nv_name_released.h from NVIDIA OGK
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28024>
2024-03-06 22:28:22 +00:00
Sil Vilerino
43b857a015 d3d12: HEVC encode - Update CQP using current frame type as per VA frontend change
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06 22:09:45 +00:00
Sil Vilerino
f8274eea76 d3d12: H264 encode - Update CQP using current frame type as per VA frontend change
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06 22:09:45 +00:00
Sil Vilerino
e3e593d721 d3d12: AV1 encode - Configure CQP using qp and new qp_inter parameters
Fixes: 8c9445896f ("frontends/va: Separate QP for I/P/B frames")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06 22:09:45 +00:00
Vasily Khoruzhick
4762d03391 lima: update expected CI failures
Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855>
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
feccf4121b lima: gpir: abort compilation if load_uniform instrinsic src isn't const
GP supports indirect indexing of uniforms, but it's never been
implemented in GPIR, so just abort compilation instead of crashing an
app with assertion failure.

Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855>
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
6998c48f77 lima: ppir: use dummy program if FS has empty body
As per spec, any colors, or color components, associated with a fragment
that are not written by the fragment shader are undefined.

So we might as well just write vec4(1.0) to output, since HW doesn't allow
us to have an empty FS.

Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855>
2024-03-06 21:43:43 +00:00
Vasily Khoruzhick
b999e41250 lima: ppir: always use vec4 for output register
gl_FragDepth is a float, but the hardware still uses a vec4 register,
.x component for depth and another component for stencil, so we have to
always allocate a vec4 for output.

Backport-to: 23.3
Backport-to: 24.0
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24855>
2024-03-06 21:43:43 +00:00
Felix DeGrood
f6c908293e iris: Increase target batch size to 128 KB
Doubling batch size speeds up GFXBench Manhattan +0.5% by
reducing batches / frame from 3 -> 2.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28002>
2024-03-06 21:22:17 +00:00
Danylo Piliaiev
a76fcebfc0 tu: Fix dynamic state not always being emitted
We precompile static state and count it as dynamic, so we have to
manually clear bitset that tells which dynamic state is set, in order to
make sure that future dynamic state will be emitted. The issue is that
framework remembers only a past REAL dynamic state and compares a new
dynamic state against it, and not against our static state masquaraded
as dynamic.

Example:
 - Set dynamic state S with value A
 - Bind pipeline with dynamic state S
 - Draw
 - Bind pipeline with static state S with value B
 - Draw
 - Set dynamic state S with value A
 - Bind pipeline with dynamic state S
 - Draw

Previously, at the last draw the dynamic state S was not dirty and
current dynamic state was equal to the past dynamic state, so
it was not emitted, while GPU used value B from static pipeline.

This fix, at the point of static pipeline binding, clears the
bitset which tells that dynamic state S was previously set.
This forces the next dynamic state to be re-emitted.

Fixes broken rendering in Arma 3, and probably some other
games running through DXVK.

Fixes: 97da0a7734
("tu: Rewrite to use common Vulkan dynamic state")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27961>
2024-03-06 20:57:35 +00:00
Lionel Landwerlin
6823ffe70e anv: try to keep the pipeline in GPGPU mode when buffer transfer ops
To avoid ping-ponging between 3D & GPGPU in the following sequence :

  vkCmdDispatch(...)
  vkCmdCopyBuffer(...)
  vkCmdDispatch(...)

We can try to keep the pipeline in GPGPU mode when doing blorp buffer
operations (we have blorp support for the CCS and can use the same
shaders on RCS).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956>
2024-03-06 20:33:12 +00:00
Lionel Landwerlin
194afe8416 anv/iris/blorp: use the right MOCS values for each engine
There are multiple problems currently :

   - blorp blitter commands overwrite the protection value coming from
     the driver
   - anv & iris are using render target MOCS for compute commands

Driver already have the ability to pass the MOCS values so we choose
to stick to that in this change. But now the driver need to select the
right MOCS depending on the engine the commands are going to run onto.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956>
2024-03-06 20:33:12 +00:00
Lionel Landwerlin
c40f14bb31 anv: fix incorrect ISL usage in buffer view creation
We need to use the usage parameter.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 64f20cec28 ("anv: prepare image/buffer views for non indirect descriptors")
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27956>
2024-03-06 20:33:12 +00:00
Faith Ekstrand
33bf7ca710 nvk: Return os_page_size for minMemoryMapAlignment
Fixes: 8017ac0e79 ("nvk: add some limits/features from binary driver.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28019>
2024-03-06 19:21:20 +00:00
Gert Wollny
1882527f78 zink: decrease aggressiveness of increasing descriptor data space adaptive
An increase by factor 10 with each re-allocation is a bit aggressive and
we hit the available limit easily on lavapipe.

By starting of with an initial larger scale, but decreasing this over time
this error can be avoided.

Specifically with
  "spec@arb_shader_texture_lod@execution@tex-miplevel-selection *gradarb 1d"
originally the buffer sizes would be 250, 2500, 25000, and 250000,
with the patch it's 250, 4000, and 32000.

v2: use minimum scale of 4 instead of 2 (Mike)
v3: fix typo (Mike)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27977>
2024-03-06 18:50:46 +00:00
Gert Wollny
8e239dda41 zink: use only ZINK_BIND_DESCRIPTOR
ZINK_BIND_RESOURCE_DESCRIPTOR and ZINK_BIND_SAMPLER_DESCRIPTOR are
always used together, so that we can replace these two values with
ZINK_BIND_DESCRIPTOR and use only one bit to represent the value.
With that we can also remove the aliasing of ZINK_BIND_DESCRIPTOR with
PIPE_BIND_CONST_BW.

Fixes:  13c6ad0038
    zink: use a single descriptor buffer for all non-bindless types

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28016>
2024-03-06 18:15:21 +00:00
Konstantin Seurer
1bcb7f1eb8 docs: Document lavapipe ray tracing features
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
b55580cab8 lavapipe/ci: Document ray query failures
This is the same issue as RADV+emulate_rt has. (Except the jit timeout
of course)

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
c2646c6bbc lavapipe: Advertise VK_KHR_ray_query
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
32e86e1bff lavapipe: Advertise VK_KHR_acceleration_structure
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
09bf35e3c4 lavapipe: Advertise VK_KHR_deferred_host_operations
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
ed6c0a7443 lavapipe: Implement VK_KHR_ray_query
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
b69ae8b355 lavapipe: Add ray traversal code
Basically the software implementation in radv_rt_common without
traversal stack.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:26 +00:00
Konstantin Seurer
897ccbd180 lavapipe: Implement VK_KHR_acceleration_structure
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:25 +00:00
Konstantin Seurer
ff09e95080 vulkan/cmd_queue: Implement CmdBuildAccelerationStructuresKHR
This is needed for copying the arguments properly.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25616>
2024-03-06 16:34:25 +00:00
Amber
48da361eb7 tu: wideLines support for a7xx.
Passes dEQP-VK.clipping.clip_volume.clipped.wide_lines_*

Signed-off-by: Amber Harmonia <amber@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27775>
2024-03-06 16:01:09 +00:00