José Roberto de Souza
fb6e65c72c
hasvk: Remove remaining bits of anv_i915_query()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
5ecb8966b2
anv: Remove remaining bits of anv_i915_query()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
c8626a20bb
anv: Start to move anv_gem_stubs.c to kmd backend
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
de79cf0512
anv: Add basic KMD backend infrastructure
...
Functions that are in hot paths will have a different treatment to
support i915 and Xe KMD.
Each KMD will have an anv_kmd_backend that will have the hot path
functions set, this way we can avoid branch prediction misses.
Other functions will gradually be moved to anv_kmd_backend.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
eaeda2107e
anv: Use DRM_IOCTL_I915_GEM_CREATE_EXT in all supported kernels
...
As we continue to refactor the code base to support Xe KMD here I'm
dropping anv_gem_create() and unifying all graphics memory allocation
calls to anv_gem_create_regions().
anv_gem_create_regions() will call DRM_IOCTL_I915_GEM_CREATE_EXT
for integrated platforms too only leaving DRM_IOCTL_I915_GEM_CREATE
calls to kernel versions that do not support
DRM_IOCTL_I915_GEM_CREATE_EXT.
This can be detected by devinfo->mem.use_class_instance as
DRM_I915_QUERY_MEMORY_REGIONS uAPI landed in the same kernel version
as DRM_IOCTL_I915_GEM_CREATE_EXT.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
099b9e5058
anv: Convert drm_i915_gem_memory_class_instance to intel_memory_class_instance
...
Also using pointers to intel_device_info struct instead of replicate
the same information.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
José Roberto de Souza
9fc224631c
intel: Add intel_memory_class_instance
...
This is a KMD independent struct to hold memory class and instance
values.
drm_i915_gem_memory_class_instance usage will be gradually replaced.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20948 >
2023-02-09 02:57:32 +00:00
Emma Anholt
cc0b749890
ci/freedreno: Don't forget to report flakes on a618, too.
...
I just noticed that our flake reports are only coming from cheza, which is
a bummer because almost all the VK coverage is on a618 unless you're
kicking off a full run.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21092 >
2023-02-09 02:13:39 +00:00
Amber
20d4c592c9
freedreno: make sure depth/stencil layouts are always tiled
...
Small depth/stencil textures were using linear tiling, but depth/stencil
attachments cannot use linear tiling for sysmem rendering.
Fixes:
KHR-GL45.geometry_shader.layered_framebuffer.stencil_support
KHR-GL45.geometry_shader.layered_framebuffer.depth_support
Signed-off-by: Amber Amber <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21046 >
2023-02-08 22:55:52 +00:00
Eric Engestrom
885c315d10
docs: update calendar for 22.3.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21207 >
2023-02-08 22:26:56 +00:00
Eric Engestrom
a0e1707b65
docs: add release notes for 22.3.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21207 >
2023-02-08 22:26:56 +00:00
SoroushIMG
f7b2dbb2bd
zink: relax bresenhamLines requirement for non-strictLine drivers
...
non-strictLine Vulkan drivers use either parallelogram or bresenham
rasterization for default line modes.
This method of rasterisation produces close enough results that it
in practice is GL/GLES spec compliant (at least cts wise).
Don't emit a feature missing warning for this case.
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20985 >
2023-02-08 22:00:43 +00:00
Rhys Perry
b4383821e7
aco: don't modify exec in p_interp_gfx11
...
The RDNA3 ISA docs say that lds_param_load write the entire quad
regardless of exec, so this isn't needed.
fossil-db (gfx1100):
Totals from 5291 (3.93% of 134574) affected shaders:
Instrs: 4891396 -> 4789628 (-2.08%)
CodeSize: 25519032 -> 25111960 (-1.60%)
Latency: 36122982 -> 36074300 (-0.13%); split: -0.14%, +0.00%
InvThroughput: 4162436 -> 4161424 (-0.02%); split: -0.02%, +0.00%
Copies: 263862 -> 263838 (-0.01%)
PreSGPRs: 225012 -> 224179 (-0.37%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21171 >
2023-02-08 19:35:54 +00:00
Georg Lehmann
6e4598f7b9
aco: support omod/imod for v_fmac_f16
...
Only matters for post-RA DPP16.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21174 >
2023-02-08 18:52:28 +00:00
Georg Lehmann
2deda5c0be
aco: don't list imod/omod support v_fmaak_f32/v_fmamk_f32
...
We can never use them anyway because these opcodes don't support VOP3/DPP16/SDWA
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21174 >
2023-02-08 18:52:28 +00:00
Georg Lehmann
4c9ac73064
aco: allow output modifiers for ldexp_f16
...
It also supports imod for the first operand, but we cannot express that at
moment.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21174 >
2023-02-08 18:52:28 +00:00
Georg Lehmann
b63aa2bb8e
aco: don't allow output modifiers for v_cvt_pkrtz_f16_f32
...
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21174 >
2023-02-08 18:52:28 +00:00
Rob Clark
dc93033234
freedreno: Indent fixes
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21195 >
2023-02-08 18:27:55 +00:00
Rob Clark
e9eee8781a
freedreno/a2xx: Move pack_rgba()
...
It is only used in fd2_draw.c
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21195 >
2023-02-08 18:27:55 +00:00
Rob Clark
e7f88c41c4
freedreno: Quiet unused variable warnings
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21195 >
2023-02-08 18:27:55 +00:00
Rob Clark
eaf272aa93
ir3: Quiet unused variable warning
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21195 >
2023-02-08 18:27:55 +00:00
Sil Vilerino
727afda21f
d3d12: Video Encode - Fix ID3D12CommandAllocator leak
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21196 >
2023-02-08 18:00:41 +00:00
Sil Vilerino
997b91fead
d3d12: Video processing - Fix out of bounds array access
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21196 >
2023-02-08 18:00:41 +00:00
Rob Clark
2c8c151591
freedreno/drm/virtio: Limit guest handles passed to virtgpu
...
We only need to have virtgpu in the loop for shared buffers when
implicit sync is in play. The rest of the time we can rely on userspace
fence waits.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21143 >
2023-02-08 17:36:23 +00:00
Rob Clark
53ba7d8867
freedreno/drm: Move sa_cpu_prep() to core
...
Now that we can do a blocking wait on an fd_fence (which the suballoc
heap already depended on) we can just move the fence wait into core
leaving the backend cpu_prep() implementation only needing to care
about implicit sync on shared buffers.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21143 >
2023-02-08 17:36:23 +00:00
Rob Clark
dec49ec50a
freedreno/a6xx: Move CS state to PROG state group
...
It is pretty easy to just cache the stateobj with the hwcso (since
unlike 3d, there is only a single shader state) and re-emit it by
pointer when it changes, now that the CS state doesn't depend on the
grid info.
This also moves immed consts into the PROG state, so they are only
updated when the PROG state is dirty. And splits user consts and
driver param consts, so they are only re-emit when needed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21127 >
2023-02-08 16:59:40 +00:00
Matt Coster
7ea98091c1
pvr: Add firmware stream support for transfer submit
...
Move transfer jobs over to the new firmware stream interface. This had already
been done for render and compute jobs in 947e183ff5
("pvr: Implement new
firmware stream interface").
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21163 >
2023-02-08 16:33:35 +00:00
Sarah Walker
5a2618c73c
pvr: Update FWIF transfer queue register structures
...
This matches changes made in FW 1.17.OS@6293467.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21163 >
2023-02-08 16:33:35 +00:00
Michel Dänzer
0dd89dacf2
mesa/st: Handle all 10 bpc types in st_choose_format
...
Only GL_UNSIGNED_INT_2_10_10_10_REV was handled, add
GL_UNSIGNED_INT_10_10_10_2 & GL_UNSIGNED_INT_10_10_10_2_OES.
This makes sure that if the Gallium driver doesn't support the exact
corresponding format, another 10 bpc format is tried before an 8 bpc one
as a fallback.
Fixes the mutter test cogl-test-offscreen-texture-formats with iris.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21021 >
2023-02-08 16:06:38 +00:00
Michel Dänzer
98526b7d48
mesa/st: Fix GL_EXT_texture_type_2_10_10_10_REV name in comment
...
Suggested by Adam Jackson in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21021#note_1747761
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21021 >
2023-02-08 16:06:37 +00:00
Lionel Landwerlin
6390953fa5
anv: put the video extension behind a variable
...
As initialized acked.
The WSI code is currently trying to blit on the video queue.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 633efa7af7
("anv: enable video decode extensions.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21194 >
2023-02-08 15:38:27 +00:00
Simon Perretta
81af999a75
pvr: Clarify unreachable text
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
c13bed8bef
pvr: Add block printing support during validation
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
1bd84f4753
pvr: Validate instruction repeat and src/dst sizes
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
8ac16c97cf
pvr: Adjust instruction repeat offset
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
d431adaecd
pvr: Keep NIR SSA defs instead of registers
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
d47d0ea101
pvr: Drop the ENUM_PACKED macro
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
52bcb0e292
pvr: Commonise some instruction member defs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
e74aaa347b
pvr: Support dual-destination ALU instructions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
6187f1fd8c
pvr: Add support for optional instruction params
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Simon Perretta
d187418f63
pvr: Add new Rogue compiler framework
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20430 >
2023-02-08 15:15:17 +00:00
Georg Lehmann
5038a049f1
aco: add mov/cndmask opcodes to does_fp_op_flush_denorms
...
For completeness sake also add v_mov_b32, even if we don't use imod for it
because it's only supported since gfx10.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21170 >
2023-02-08 13:07:46 +00:00
Georg Lehmann
c8adf16278
aco: fix imod/omod for gfx11 VOP3 opcodes
...
Fixes: d8d99c3c4f
("aco: add GFX11 opcode numbers")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21170 >
2023-02-08 13:07:46 +00:00
Mike Blumenkrantz
8f5a63ebfe
util/vbuf: fix multidraw unrolling
...
* drawid needs to be incremented at end of loop
* rescope draw structs to initialize at top of loop
fix #8191
Fixes: 6b07893b31
("util/vbuf: handle multidraws")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21139 >
2023-02-08 12:41:32 +00:00
Tatsuyuki Ishi
c6ebd2de71
radv: Fix noop FS not getting constructed for GPL pipelines.
...
The condition was inverted, causing compilation to be actually skipped when
a noop FS is used and straight emitting the pipeline from the default
initialized struct.
Fixes: 3eb97b9d33
("radv: skip compilation when possible with GPL fast-linking")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21166 >
2023-02-08 10:52:54 +00:00
Daniel Schürmann
e5600d5257
radv: CSE ray_launch_{size|id}
...
Stats for Q2RTX
Totals from 7 (0.01% of 134913) affected shaders: (GFX10.3)
VGPRs: 736 -> 704 (-4.35%)
CodeSize: 204424 -> 204400 (-0.01%); split: -0.03%, +0.02%
MaxWaves: 67 -> 69 (+2.99%)
Instrs: 37540 -> 37549 (+0.02%); split: -0.02%, +0.04%
Latency: 973556 -> 973267 (-0.03%)
InvThroughput: 209068 -> 200902 (-3.91%)
VClause: 920 -> 921 (+0.11%); split: -0.11%, +0.22%
SClause: 1045 -> 1043 (-0.19%)
Copies: 4853 -> 4865 (+0.25%); split: -0.08%, +0.33%
Branches: 1571 -> 1578 (+0.45%)
PreSGPRs: 421 -> 407 (-3.33%)
PreVGPRs: 638 -> 632 (-0.94%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21156 >
2023-02-08 10:10:27 +00:00
Timur Kristóf
8ebb34ee57
radv: Refactor radv_emit_ngg_culling_state so it's based on dirty flags.
...
This significantly lowers the CPU overhead of this function.
Signed-off-by: Timur Kristóf <timur.kristof@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/20980 >
2023-02-08 09:28:20 +00:00
Timur Kristóf
22947ef0cc
radv: Remove NGG culling skip from command buffer.
...
This code used to runtime-disable NGG culling for small draw calls.
However, this had too much CPU overhead, let's remove it.
It will be solved by the shaders instead.
Signed-off-by: Timur Kristóf <timur.kristof@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/20980 >
2023-02-08 09:28:19 +00:00
Timur Kristóf
88a4e17018
radv: Use shader code to skip NGG culling in small workgroups.
...
Extend RADV lowering of the load_cull_any_enabled_amd intrinsic to
take into account the number of primitives in the current workgroup.
Workgroups that have less than 16 triangles are considered "small"
and will disable shader culling. Note that LLPC does the same,
but it checks the number of vertices not primitives.
The primary intention of this change is to eliminate the need to
check the draw size in radv_cmd_buffer, but this is actually
beneficial to larger draw calls too, specifically this may improve
the performance of the last workgroup of larger draws too.
Signed-off-by: Timur Kristóf <timur.kristof@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/20980 >
2023-02-08 09:28:19 +00:00
Timur Kristóf
def53a085c
radv: Move checking primitive topology to radv_get_ngg_culling_settings.
...
Signed-off-by: Timur Kristóf <timur.kristof@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/20980 >
2023-02-08 09:28:19 +00:00