Nanley Chery
0a5a54b81a
docs: Document the implicit barriers around blits
...
We're going to use resource_copy_region to copy from a resource that has
been written to with imageStore. Make it clear that this is safe.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19827 >
2023-02-10 01:40:47 +00:00
Dave Airlie
6043f66dd3
crocus: disable Y tiling for render targets properly.
...
The old code would disallow linear targets as well which would confuse
things with reimporting dma-bufs.
Fixes: 32728dc66e
("crocus: introduce main resource configuration helper.")
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21209 >
2023-02-10 01:25:42 +00:00
Tapani Pälli
db6c374919
iris: disable preemption for 3DPRIMITIVE during streamout
...
This is required by Wa_16013994831.
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19947 >
2023-02-09 21:40:10 +02:00
Lionel Landwerlin
ebc4893947
intel/fs: fix mesh indirect movs
...
The size in src[2] is in byte and needs to cover any possible data
accessed in src[0] by the indirection. That way the register
allocation is aware of what cannot be spilled for the instruction to
execute on valid data.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 70ace2bbcd
("intel/compiler: Implement Task Output and Mesh Input")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21188 >
2023-02-09 15:35:55 +00:00
Mike Blumenkrantz
dc91f2c71b
zink: set PIPE_CAP_SURFACE_REINTERPRET_BLOCKS
...
this fixes perf for CompressedTexSubImage and makes DOOM2016 run at full speed
ref #8223
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21218 >
2023-02-09 09:54:27 -05:00
Mike Blumenkrantz
e3b746e3a3
zink: use GPL to handle (simple) separate shader objects
...
apps/games using separate shader objects end up passing the separable
shaders to the link_shader hook individually, which is still not ideal for
zink's usage since the more optimal path is to have all the shaders and create
a RAST+FS GPL stage that can run all the inter-stage io handlers
it IS technically possible to handle this for simple VS+FS pipelines using
GPL, however, but it's kinda gross. such shaders now use descriptor buffer
to create their own pipelines/layouts/descriptors async, and then a "separable"
variant of the gfx program can be created by fast-linking these together
the "separable" gfx program can't handle shader variants, but it can do basic
pipeline caching for PSO state changes, which makes it flexible enough to sorta
kinda maybe handle the most basic cases of separate shader objects
descriptor buffer is used because having to create and manage a separate architecture
for sets/pools/templates is too nightmarish even for me
this is, at best, a partial solution, but it's the best the vulkan api can
currently do
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
60b26a6b1f
zink: enable combining intermediate gpl libs from combine function
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
ab69cba807
zink: move gpl input/output funcs to zink_pipeline.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
4f8a548af1
zink: allow multiple gpl libraries in zink_create_gfx_pipeline_combined()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
7efec7fb61
zink: add gpl flags for libraries based on shaders passed
...
no change to current operations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
983f30f8ba
zink: split out gfx pipeline library creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
5ae973c7d3
zink: add flags param to zink_pipeline_layout_create()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
bdb97b3f20
zink: split out VkShaderModule creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197 >
2023-02-09 13:57:50 +00:00
Mike Blumenkrantz
36595e94c7
zink: avoid the descriptor set multiplier for bindless buffers
...
the bindless descriptor buffer is already correctly sized, so it needs
to avoid the huge set multiplier or it'll explode all available vram
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21216 >
2023-02-09 08:08:22 -05:00
Mike Blumenkrantz
f14571e393
zink: flag bindless_init before calling zink_batch_bind_db() in init
...
this otherwise fails to bind the bindless buffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21216 >
2023-02-09 07:49:22 -05:00
Samuel Pitoiset
1fdf6e140d
docs: add missing RADV_PERFTEST=video_decode
...
Fixes: 9477f117f4
("radv/video: add initial frameworking.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21158 >
2023-02-09 12:05:26 +00:00
Tatsuyuki Ishi
9fdc145ad6
radv: Assert the hardware support rbplus when emitting rbplus state.
...
If someone forget to check for rbplus before setting dirty bits, it's going
to cause really mysterious bugs.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21189 >
2023-02-09 08:32:20 +00:00
Tatsuyuki Ishi
a36efe3e19
radv: Fix missing rbplus_allowed check for dynamic PS epilogs.
...
This created really mysterious bugs on gfx10.
Fixes flickering in a bunch of DXVK games, most visibly Overwatch 2.
Fixes: eb07a11b8f
("radv: add support for compiling PS epilogs on-demand")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8258
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21189 >
2023-02-09 08:32:20 +00:00
Samuel Pitoiset
46aee750c6
radv: stop skipping the cache for monolithic graphics pipelines with GPL
...
Only libraries and optimized (LTO) pipelines are still unsupported,
but there is no reason to skip the cache for monolithic pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21198 >
2023-02-09 08:11:45 +00:00
Samuel Pitoiset
26896616c1
radv: stop skipping the cache for compute/raytracing pipelines with GPL
...
This was a hard solution somewhat.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21198 >
2023-02-09 08:11:45 +00:00
Samuel Pitoiset
53cea404f7
radv: simplify creating a FS epilog from a library
...
It's now compiled in radv_graphics_pipeline_compile().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
06d17fccfb
radv: make sure to disable MRT compaction when compiling a PS epilog with GPL
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
16e4dd3e37
radv: fix disabling MRT compaction for on-demand PS epilogs
...
Some dynamic states require to compile PS epilogs on-demand. In this
case, MRT compaction should be disabled because we don't know the CB
state when compiling the fragment shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
ea5c893289
radv: regroup PS epilog info when generating the graphics pipeline key
...
No logical change.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
84d006ef11
radv: simplify determining when the fragment shader needs an epilog
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
b41c6c3a50
radv: cleanup graphics pipeline library flags uses
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140 >
2023-02-09 07:48:03 +00:00
Samuel Pitoiset
7976316f3e
radv: fix skipping graphics pipeline compilation when the FS is NULL
...
Fixes: 3eb97b9d33
("radv: skip compilation when possible with GPL fast-linking")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21192 >
2023-02-09 07:27:53 +00:00
Tapani Pälli
88cadf1454
intel/blorp: disable REP16 for gfx12+ with R10G10B10_FLOAT_A2
...
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21137 >
2023-02-09 06:34:43 +00:00
Yonggang Luo
948f4e4d07
util: Fixes error: no previous prototype for 'mesa_cache_db_entry_remove'
...
Fixes: c92c99481f
("util/mesa-db: Support removal of cache entries")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21191 >
2023-02-09 04:05:39 +00:00
Emma Anholt
a2fbd2fbd0
zink: Add tracing of blit operations.
...
I found this useful in lining up some perfetto traces between zink+anv and
iris, and understanding what was going on in them. Also it's a demo of
being able to insert annotations for work in the command stream, which I
suspect we'll want more of.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20657 >
2023-02-09 03:27:34 +00:00
Emma Anholt
4dc6390445
u_trace: Add an interface for checking trace enablement outside a context.
...
For zink, we want to know if we should pass command stream markers down to
the underlying driver, but we don't have our own trace context we're
recording trace events with. We definitely want those markers if the
underlying driver is going to be doing perfetto tracing, or is requesting
marker tracing. So, create an interface for querying those flags before
they get copied down to an actual u_trace_context.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20657 >
2023-02-09 03:27:34 +00:00
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