Commit graph

56567 commits

Author SHA1 Message Date
Dave Airlie
09d4eb92e8 gallivm/nir: move to explicit pointer interfaces.
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932>
2022-10-03 22:42:07 +00:00
Ruijing Dong
ba64f45124 d3d12: Updating refactored fields in pipe_h264_enc_picture_desc
Updating accesses to refactored fields in pipe_h264_enc_picture_desc

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:27 +00:00
Ruijing Dong
e568d5d073 radeonsi/vcn: support aspect ratio and vui timing info
add aspect ratio and vui timing info into vui
for both avc/hevc encoder.

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:27 +00:00
Ruijing Dong
00be1a4928 frontends/va: add aspect ratio and vui timing info
add aspect ratio and vui timing info to va interface

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:27 +00:00
Ruijing Dong
3ed4e8c956 radeonsi/vcn: use avc seq paramters
- use avc seq parameters
- clean up pipe_264_enc_picture_desc structure
- clean up get_param function

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:26 +00:00
Ruijing Dong
b4eb10e4ca frontends/va: apply avc seq parameters
using avc seq parameters

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:26 +00:00
Ruijing Dong
566d95ce14 frontends/omx: apply avc seq parameters
change omx according to avc seq parameters

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:26 +00:00
Ruijing Dong
47e2e15c24 radeonsi/vce: apply avc seq parameters
just apply avc seq parameters

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:26 +00:00
Ruijing Dong
8432ed4b28 gallium/pipe/video: group avc encoder seq structure
Prepare for using new seq structure

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877>
2022-10-03 16:45:26 +00:00
José Roberto de Souza
1e87834980 intel: Share code to read render timestamp
Timestamp read is not in any hot path so there is no down-sides in
share the same function between iris, crocus, anv and hasvk.

Also while at it also dropping the functions to read MMIO from kernel,
the only use is read render timestamp so we don't need it.

v2:
- fix compilaton of ds

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18920>
2022-10-03 06:26:50 -07:00
Pavel Ondračka
d1dbf6fe7e r300: fix reader detection with breaks
We were previously ignoring the breaks completelly. This patch
is heavily based on analysis and draft patch from Filip Gawin.

It mostly mirrors the current behavior for ENDIF with minor
differences. If the reader is in a branch leading directly to BRK,
we set the AbortOnRead mask as when encountering ENDIF but jump to
the ENDLOOP. If the reader was before the branch, we save the
AbortOnRead mask as if in normal branch handling and restore it
at the end of the loop.

Besides the single dEQP fix, this also fixes one more dEQP and few
piglits when the loop unrolling is disabled.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7249

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18900>
2022-10-03 08:49:37 +02:00
Pavel Ondračka
ff933485b7 Revert "r300: be less agresive with copy propagate in loops"
This reverts commit 2bdffe7eb2.
This solution was mostly a workaround to fix the copy propagation.
A (hopefully) proper fix to the reader detection is in the next commit.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18900>
2022-10-03 08:49:24 +02:00
Karol Herbst
3246889fb0 radeonsi: stop vectorizing unpack_32_2x16_split
nir_to_llvm can't deal with them being vectors.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802>
2022-10-01 13:36:46 +00:00
Karol Herbst
8e6faa34e1 rusticl/kernel: assign locations before passing the nir to drivers
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802>
2022-10-01 13:36:46 +00:00
Karol Herbst
3811834eb1 rusticl: limit global mem to 2GB
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802>
2022-10-01 13:36:46 +00:00
Karol Herbst
bd9d276485 rusticl/mem: align fill pattern buffer to 4 bytes
drivers might treat it as a uint32_t* buffer.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18853>
2022-10-01 12:27:19 +00:00
Karol Herbst
df84c89d96 rusticl/mem: fix image OOB checks
The CL API puts the array layer on the height, where gallium puts it on
the depth. This is taken into account everywhere else, except for API
validation.

Fixes: 8b9a5adf8b ("rusticl/mem: return errors for OOB accesses")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18852>
2022-10-01 03:43:10 +00:00
Mike Blumenkrantz
1af804d554 delete graw tests
These seem abandoned and they make interfaces changes less easy.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705>
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
4b0f28d706 delete rbug
These seem abandoned and they make interfaces changes less easy.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705>
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
8cc766d8f7 remove xvmc
These seem abandoned and they make interfaces changes less easy.

Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705>
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
0b81ff0193 zink: set depth clamp
this is correct according to spec

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
2d6fa1dcdf zink: define zink_pipeline_dynamic_state3 as zink_rasterizer_hw_state
this ensures the structs are kept in sync

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
50a7ac1bb2 zink: reenable GPL
this is now functional again

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
11c4d79709 zink: use an extra pipeline state bit to track coherent fbfetch usage for gpl outputs
bringing parity to non-gpl codepath

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
617ee2855b zink: don't deref prog->shaders during pipeline construction
this may or may not be valid depending on (upcoming) threading changes,
and the nir pointers are all readily available

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
9b76fc4033 zink: reorder zink_destroy_gfx_program()
this ensures that pipeline cache entries are freed before shaders

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
f63944f694 zink: move binding_map to hw_state part of vertex state
this is used when dynamic states aren't used

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
dd9e5fea20 zink: add param to disable optimization when combining pipeline libraries
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
203daf97c6 zink: require optimal_keys for GPL
this is pointless otherwise

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
53a5291803 zink: set VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
c4dc3adff2 zink: further compress zink_gfx_output_key lookups
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
764e800886 zink: compress zink_gfx_output_key members
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
4c228f00a2 zink: don't access prog->shaders array during pipeline compile
this may or may not have valid data

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911>
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
e7ede96f3f zink: add tgl ci skip
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18921>
2022-10-01 01:55:26 +00:00
Roland Scheidegger
0dec967ca9 gallivm: remove dead cube map lod calculation code
Since commit d413fd0219 ("gallivm: Always take the per-pixel LOD path
for cubemaps.") the special cube rho code was not used anymore.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18892>
2022-10-01 00:27:19 +00:00
Mike Blumenkrantz
a5b8466e4a zink: use more dynamic state3 when available
this is an all-or-nothing type of thing, where either all the blend/ms
states are available or they aren't

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18890>
2022-09-30 23:17:25 +00:00
Mike Blumenkrantz
c7f46d2ad6 zink: use dynamic state3 rasterization states when available
this massively reduces the number of pipelines required

also temporarily disable GPL until a few more patches land since something's
weird and broken

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18890>
2022-09-30 23:17:25 +00:00
Mike Blumenkrantz
57f966ed1e lavapipe: improve blend handling on pipeline binds
* use renderpass info for independent blend
* only reset blend state if no color attachments

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18913>
2022-09-30 21:20:03 +00:00
SoroushIMG
6ac3f9d64e zink: enable loop unrolling for loops that have soft fp64
The info that a loop contains fp64 ops is lost after full
software lowering.
Therefore, specifically unroll these loops in zink instead of
in vulkan, where the blown up body is no longer unrolled.
This helps a lot in KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
SoroushIMG
bcbcc25602 zink: fix spirv temp func variable class emission
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
SoroushIMG
d2e2b9bb80 zink: fix nir_op_unpack_64_2x32 emission
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
SoroushIMG
d20c82b785 zink: lower 64bit pack when float64 not supported
SPIRV ops for 64bit pack/unpack require float64 cap.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
SoroushIMG
e7afa9cddf zink: optimise lower_64bit_vars for when int64 is supported
There are vulkan drivers that support Int64 but not Float64.
Optimise the 64bit lowering by converting doubles to uint64,
but keep matrix lowerig to float as glsl int64 matrices do
not exist.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
SoroushIMG
5a831be1ac zink: lower 64bit vars for drivers without float64
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
2022-09-30 17:07:37 +00:00
Mike Blumenkrantz
a47b9f2b6f zink: call flush_resource when presenting garbage
this ensures the resource is queued for presentation

fixes #7359

Fixes: babf9474c4 ("zink: rework flush_frontbuffer to always flush")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18899>
2022-09-30 16:40:43 +00:00
Corentin Noël
4a1bde9fb0 gallium/hud: use snprintf(..., "%s", ...) instead of strncpy
This fixes a warning with stringop-truncation:
```
error: 'strncpy' output may be truncated copying 127 bytes from a string of length 255 [-Werror=stringop-truncation]
 1443 |             strncpy(graph->name, s, sizeof(graph->name)-1);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18613>
2022-09-30 12:38:11 +00:00
Mike Blumenkrantz
31d38d1882 zink: enable glthread by default
huge perf gains.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858>
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
8da9e65500 pipe-loader: fix zink driinfo header path
this feels like a compiler bug, but somehow just specifying the
shorter path ends up with a broken/partial header include

Fixes: d760a9151b ("gallium: Learn about kopper")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858>
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
966d6b738e zink: export PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858>
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
12569a390f zink: export PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858>
2022-09-30 02:16:02 +00:00