platform/upstream/mesa.git
9 months agoradeonsi: add radeonsi to GL_RENDERER string
Yogesh Mohan Marimuthu [Mon, 11 Sep 2023 10:40:22 +0000 (16:10 +0530)]
radeonsi: add radeonsi to GL_RENDERER string

adding driver name to GL_RENDERER string will help to quickly
identify the driver being used.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25148>

9 months agoradeonsi: In gfx6_init_gfx_preamble_state() use gfx_level only from sctx
Yogesh Mohan Marimuthu [Mon, 11 Sep 2023 10:06:08 +0000 (15:36 +0530)]
radeonsi: In gfx6_init_gfx_preamble_state() use gfx_level only from sctx

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25148>

9 months agoradeonsi: correct old comment in si_emit_framebuffer_state()
Yogesh Mohan Marimuthu [Mon, 11 Sep 2023 10:00:42 +0000 (15:30 +0530)]
radeonsi: correct old comment in si_emit_framebuffer_state()

si_init_cs_preamble_state() function does not exist anymore and
PA_SC_WINDOW_SCISSOR_TL is set to 0,0. Update the comments with
this information.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25148>

9 months agodocs: remove document for unused variable dfsm from AMD_DEBUG
Yogesh Mohan Marimuthu [Tue, 18 Oct 2022 18:11:25 +0000 (23:41 +0530)]
docs: remove document for unused variable dfsm from AMD_DEBUG

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25148>

9 months agoradeonsi: add more documentation for dpbb debug env variable
Yogesh Mohan Marimuthu [Tue, 18 Oct 2022 17:45:00 +0000 (23:15 +0530)]
radeonsi: add more documentation for dpbb debug env variable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25148>

9 months agozink: check for sampler view existence during zink_rebind_all_images()
Mike Blumenkrantz [Fri, 20 Oct 2023 14:20:19 +0000 (10:20 -0400)]
zink: check for sampler view existence during zink_rebind_all_images()

views with mutable formats do not get created immediately, which means
access of them must be checked first

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25829>

9 months agozink: only increment image_rebind_counter on image export if binds exist
Mike Blumenkrantz [Fri, 20 Oct 2023 14:18:49 +0000 (10:18 -0400)]
zink: only increment image_rebind_counter on image export if binds exist

rebinding all images on all contexts is only relevant for images which
have bindings, otherwise it's just pointless churn

fixes #10016

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25829>

9 months agoamd/radeonsi: add missing stuff for gfx11.5
Lang Yu [Sat, 21 Oct 2023 01:58:50 +0000 (09:58 +0800)]
amd/radeonsi: add missing stuff for gfx11.5

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25836>

9 months agoamd/common: add missing stuff for gfx11.5
Lang Yu [Sat, 21 Oct 2023 01:57:13 +0000 (09:57 +0800)]
amd/common: add missing stuff for gfx11.5

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25836>

9 months agoglsl: Retire dround lowering.
Eric Anholt [Wed, 18 Oct 2023 06:30:22 +0000 (08:30 +0200)]
glsl: Retire dround lowering.

We have competent lowering in NIR already available.

Drivers exposing CAP_DOUBLES but not SHADER_CAP_DROUND:
- d3d12 (NIR lowers ~0 if the underlying impl doesn't do floats)
- svga (Now sets the NIR lowering options)
- softpipe (Doesn't do GL4 so you can't use doubles anyway)
- llvmpipe (Lowers dround_even in NIR and passees the rest through
            successfully)
- zink (NIR lowers ~0 if the underlying impl doesn't do floats,
        otherwise passes things through successfully, except needed
        dround_even lowering to avoid lavapipe regression with
        native doubles)
- r600 (sets NIR rounding lowering flags, and lowers all fsign)

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777>

9 months agonir: Add nir_lower_dsign as 64-bit fsign lowering.
Eric Anholt [Wed, 18 Oct 2023 07:49:32 +0000 (09:49 +0200)]
nir: Add nir_lower_dsign as 64-bit fsign lowering.

Right now some drivers are doing dsign lowering in GLSL and haven't had to
have a NIR path due to there not being a corresponding vulkan driver.  We
want this in NIR now so that we can retire that batch of GLSL lowering
code.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777>

9 months agollvmpipe: Set nir_lower_dround_even.
Eric Anholt [Wed, 18 Oct 2023 07:47:16 +0000 (09:47 +0200)]
llvmpipe: Set nir_lower_dround_even.

Avoids a regression when disabling GLSL-level lowering of the dround class
of ops, while passing through doubles to llvm for the other rounding ops.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777>

9 months agoglsl: Remove int64 div/mod lowering.
Eric Anholt [Wed, 18 Oct 2023 06:18:46 +0000 (08:18 +0200)]
glsl: Remove int64 div/mod lowering.

Most drivers that can expose GL4 were claiming the cap anyway (llvmpipe,
softpipe, zink, iris, nvc0, radeonsi, r600, freedreno, d3d12), and just
doing lowering in NIR if nessary.

crocus was only claiming the cap for gen8, but the backend compiler
enables NIR lowering regardless.

svga is the only other GL4 driver that didn't set it, and we can just set
the NIR lowering flag.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777>

9 months agoanv: Switch Xe KMD vm bind to sync
José Roberto de Souza [Fri, 29 Sep 2023 21:09:19 +0000 (14:09 -0700)]
anv: Switch Xe KMD vm bind to sync

It was never actually async as it was doing a DRM_IOCTL_SYNCOBJ_WAIT
right after DRM_IOCTL_XE_VM_BIND but it was required to allow the
partial binds required by sparse.
But it is now fixed and we can switch back to sync vm bind.

In future we will switch back to async vm bind to improve performance
but this time it will be properly implemented.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25300>

9 months agointel: Sync xe_drm.h
José Roberto de Souza [Tue, 19 Sep 2023 15:52:18 +0000 (08:52 -0700)]
intel: Sync xe_drm.h

Sync xe_drm.h with commit xxxxx ("drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY").

One not so straght forward change is that sync VM binds now don't
require a syncobj anymore, the uAPI will return as soon the VM bind
operations are done.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25300>

9 months agospirv: Let spirv2nir find out the shader to use
Caio Oliveira [Thu, 28 Sep 2023 09:02:55 +0000 (02:02 -0700)]
spirv: Let spirv2nir find out the shader to use

Previous behavior was to default to "main"/fs, this wasn't nice
when the SPIR-V module had a single shader that didn't match that spec.

New behavior is to look at the available shaders:

- if there's only one, use just use it
- if multiple, narrow down using --stage and --entry as criteria
- if still multiple after narrowing down, print the list and fail

Note you can use just one --stage or --entry if that already narrows
down to a single match.  Note that in SPIR-V it is valid to have a
shader module with two shaders sharing the same entry-point name but
different stages.  Because of that in rare cases both --stage and
--entry will be needed.

This patch should remove the need of using --stage and --entry for most
of the uses of spirv2nir.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25461>

9 months agospirv: List entry-points in spirv2nir when unsure what to use
Caio Oliveira [Thu, 28 Sep 2023 17:39:52 +0000 (10:39 -0700)]
spirv: List entry-points in spirv2nir when unsure what to use

When there's ambiguity about what shader to use, list the shaders.
Conveniently print in the command line argument for, so can be copied
pasted.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25461>

9 months agospirv: Change spirv2nir to use the shorter shader name abbreviations
Caio Oliveira [Thu, 28 Sep 2023 17:20:05 +0000 (10:20 -0700)]
spirv: Change spirv2nir to use the shorter shader name abbreviations

This are the abbreviations we use elsewhere in Mesa.  For convenience we
make them case insensitive.  Old names still work for compatibility.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25461>

9 months agospirv: Expose stage enum conversion in vtn_private.h
Caio Oliveira [Thu, 28 Sep 2023 07:05:08 +0000 (00:05 -0700)]
spirv: Expose stage enum conversion in vtn_private.h

Refactor it to not fail, just return MESA_SHADER_NONE.  Caller
takes care of handling error.  Exposed so can be used by spirv2nir
program.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25461>

9 months agoradv: fix signed integer overflow
Rhys Perry [Wed, 27 Sep 2023 15:04:16 +0000 (16:04 +0100)]
radv: fix signed integer overflow

Fixes UBSan error:
src/amd/vulkan/radv_shader_info.c:78:41: runtime error: left shift of 15 by 28 places cannot be represented in type 'int'

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25432>

9 months agoac/nir: fix out-of-bounds access in ac_nir_export_position
Rhys Perry [Wed, 27 Sep 2023 12:00:21 +0000 (13:00 +0100)]
ac/nir: fix out-of-bounds access in ac_nir_export_position

These accesses (and similar) in ac_nir_exprot_position were out-of-bounds:
if (!outputs[VARYING_SLOT_PSIZ][0])
   outputs_written &= ~VARYING_BIT_PSIZ;

I don't think this caused any real issue, but this silences ASan:
==40091==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f8ffa6b1cb8 at pc 0x7f900da99068 bp 0x7f8ffb8871d0 sp 0x7f8ffb8871c8

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25432>

9 months agoradv: skip zero-sized memcpy
Rhys Perry [Wed, 27 Sep 2023 11:51:15 +0000 (12:51 +0100)]
radv: skip zero-sized memcpy

Fixes UBSan:
src/amd/vulkan/radv_pipeline.c:1181:4: runtime error: null pointer passed as argument 2, which is declared to never be null
src/amd/vulkan/radv_shader.c:2243:4: runtime error: null pointer passed as argument 2, which is declared to never be null

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25432>

9 months agointel/isl: Add scores for GEN12_RC_CCS and MTL_RC_CCS
Nanley Chery [Fri, 25 Aug 2023 22:09:39 +0000 (18:09 -0400)]
intel/isl: Add scores for GEN12_RC_CCS and MTL_RC_CCS

Now that these CCS-enabled modifiers have non-zero scores, anv is
enabled to use them.

We found this to improve the performance of Borderlands 3 by 18.73%.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6701
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Tested-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Delete implicit CCS code
Nanley Chery [Mon, 28 Aug 2023 22:46:38 +0000 (18:46 -0400)]
anv: Delete implicit CCS code

Stop allocating CCS at the end of some BOs. Anv no longer uses that
memory range.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Meet CCS alignment reqs with dedicated allocs
Nanley Chery [Fri, 25 Aug 2023 20:10:29 +0000 (16:10 -0400)]
anv: Meet CCS alignment reqs with dedicated allocs

At image bind time, we require BOs to meet aux-map alignment
requirements in order to enable CCS on images. This is a heuristic
controlled by anv_bo_allows_aux_map().

To improve the chances of getting a properly aligned BO, we make use of
the dedicated allocation extension. Firstly, we report to applications a
preference for dedicated memory if an image would like to use the aux
map. Secondly, we align the VMA for dedicated allocations to meet
aux-map requirements.

To make enabling modifiers much easier on integrated gfx12, report
dedicated allocations as a requirement for modifiers which specify CCS.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Loosen anv_bo_allows_aux_map
Nanley Chery [Mon, 23 Oct 2023 14:32:57 +0000 (10:32 -0400)]
anv: Loosen anv_bo_allows_aux_map

Instead of requiring that a BO has the has_implicit_ccs flag set, simply
require that the BO is aligned according to aux-map requirements.

Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Place images into the aux-map when safe to do so
Nanley Chery [Fri, 25 Aug 2023 21:03:59 +0000 (17:03 -0400)]
anv: Place images into the aux-map when safe to do so

At image bind time, if an image's addresses can be placed into the
aux-map without causing conflicts with a pre-existing mapping, do so.
The code aux management code in the binding function operates on a
per-plane basis. So, use the per-plane CCS memory range from the image
rather than the CCS memory region for the entire BO.

Another way to avoid aux-map conflicts is to rely solely on having a
dedicated allocation for an image. Unfortunately, not all workloads
change their behavior when drivers report a preference for dedicated
allocations. In particular, 3DMark Wild Life Extreme does not make more
dedicated allocations and such a solution was measured to perform ~16%
worse than this solution. With this solution, I did not measure a loss
of CCS on that benchmark.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6304
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Refactor CCS disabling at image bind time
Nanley Chery [Fri, 25 Aug 2023 20:10:29 +0000 (16:10 -0400)]
anv: Refactor CCS disabling at image bind time

Split out the discrete and integrated implicit CCS cases. We'll do more
work in the integrated case in a future commit.

Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Wrap aux surface image binding queries
Nanley Chery [Fri, 25 Aug 2023 22:22:45 +0000 (18:22 -0400)]
anv: Wrap aux surface image binding queries

Add and use anv_image_get_aux_memory_range.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Allocate space for aux-map CCS in image bindings
Nanley Chery [Fri, 25 Aug 2023 19:24:27 +0000 (15:24 -0400)]
anv: Allocate space for aux-map CCS in image bindings

This makes images a bit larger by reserving space to store the
compression control surface when the device uses an aux-map.

This space is not used currently because anv still maps main surface
addresses to space at the end of the anv_bo.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoanv: Move scope of CCS binding determination
Nanley Chery [Fri, 25 Aug 2023 19:50:33 +0000 (15:50 -0400)]
anv: Move scope of CCS binding determination

Move the determination of the image binding for CCS to a larger scope,
so that it can be reused for other aux usages in
add_aux_surface_if_supported().

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agointel: Return a bool from intel_aux_map_add_mapping
Nanley Chery [Tue, 10 Oct 2023 19:14:28 +0000 (15:14 -0400)]
intel: Return a bool from intel_aux_map_add_mapping

Make intel_aux_map_add_mapping return false if a mapping is attempted
that would conflict with an existing one. If this function doesn't
return false, it will either fail to return or return true.

The Vulkan driver will make use of this feature to opportunistically
enable CCS if a BO's VMA range has not been already mapped.

Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25003>

9 months agoradv/rmv: Recognize LPDDR memory
Friedrich Vock [Sun, 22 Oct 2023 18:24:04 +0000 (20:24 +0200)]
radv/rmv: Recognize LPDDR memory

Fixes: 8d0e6c02 ("radv: Add RMV tracing utilities")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25845>

9 months agoradv/rra: Recognize LPDDR memory
Friedrich Vock [Sun, 22 Oct 2023 18:21:19 +0000 (20:21 +0200)]
radv/rra: Recognize LPDDR memory

Also move away from using unnamed constants for memory types.

Fixes: aef7ea868fe ("ac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25845>

9 months agodocs/ci: Add some links in the CI docs to how to track job flakes
Eric Anholt [Thu, 19 Oct 2023 08:21:04 +0000 (10:21 +0200)]
docs/ci: Add some links in the CI docs to how to track job flakes

and also figuring out how many boards are available for sharding
management.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25806>

9 months agodocs/ci: Drop old instructions for farm disabling
Eric Anholt [Thu, 19 Oct 2023 08:12:16 +0000 (10:12 +0200)]
docs/ci: Drop old instructions for farm disabling

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25806>

9 months agoutil: Remove MESA_TRACE_BEGIN/END
Corentin Noël [Wed, 20 Sep 2023 15:50:20 +0000 (17:50 +0200)]
util: Remove MESA_TRACE_BEGIN/END

There are no user of these macros anymore, simplify the cpu_trace header.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agoutil/perf: Remove the tracing categories
Corentin Noël [Wed, 20 Sep 2023 15:41:05 +0000 (17:41 +0200)]
util/perf: Remove the tracing categories

The slow category remains unused in Mesa currently, readd it once we have
a use for it.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agoutil: Avoid the use of MESA_TRACE_BEGIN/END
Corentin Noël [Wed, 20 Sep 2023 15:25:09 +0000 (17:25 +0200)]
util: Avoid the use of MESA_TRACE_BEGIN/END

Switch the last occurrences of it to the MESA_TRACE_SCOPE macro which is
easier to use.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agovenus: Change the only occurrence of VN_TRACE_BEGIN/END to VN_TRACE_SCOPE
Corentin Noël [Mon, 23 Oct 2023 07:59:35 +0000 (09:59 +0200)]
venus: Change the only occurrence of VN_TRACE_BEGIN/END to VN_TRACE_SCOPE

This is the only part of venus using this macro, let's replace it with the scope
one.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agoaux/tc: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
Corentin Noël [Wed, 20 Sep 2023 14:50:30 +0000 (16:50 +0200)]
aux/tc: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agotu: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
Corentin Noël [Wed, 20 Sep 2023 14:38:43 +0000 (16:38 +0200)]
tu: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agofreedreno/drm/virtio: Use MESA_TRACE_SCOPE instead of _BEGIN/_END
Corentin Noël [Wed, 20 Sep 2023 14:36:14 +0000 (16:36 +0200)]
freedreno/drm/virtio: Use MESA_TRACE_SCOPE instead of _BEGIN/_END

The MESA_TRACE_SCOPE macro is an exact replacement for this.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25308>

9 months agozink: fix zink_destroy_screen for early screen creation fails
Karol Herbst [Sun, 22 Oct 2023 14:11:36 +0000 (16:11 +0200)]
zink: fix zink_destroy_screen for early screen creation fails

Fixes crashes on at least my system with multiple GPUs.

Fixes: 0c2045553fe ("zink: use screen destructor for creation fails")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25844>

9 months agoetnaviv: Skip 'empty' cmd streams
Christian Gmeiner [Mon, 23 Oct 2023 07:53:39 +0000 (09:53 +0200)]
etnaviv: Skip 'empty' cmd streams

Make use of etna_cmd_stream_mark_end_of_context_init(..) to mark the
end of context init states. If the cmd stream is untouched until
etna_cmd_stream_flush(..) gets called the drm layer will downgrade this
specific cmd stream to a noop.

This safes us from calling into the kernel with an 'empty' cmd stream.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25849>

9 months agoetnaviv: drm: Be able to mark end of context init
Christian Gmeiner [Mon, 23 Oct 2023 07:51:19 +0000 (09:51 +0200)]
etnaviv: drm: Be able to mark end of context init

Add etna_cmd_stream_mark_end_of_context_init(..) which stores the current
offset of the cmd stream as offset_end_of_context_init. This information
will be used to downgrade a cmd stream flush to a noop.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25849>

9 months agopvr: Only setup the bgobj to load if we have a load_op
Karmjit Mahil [Tue, 3 Oct 2023 13:15:43 +0000 (14:15 +0100)]
pvr: Only setup the bgobj to load if we have a load_op

We only need to setup the background object if we have a load_op,
to perform the loads/clears.

This fixes segfaults for cases where we don't have a load_op.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25703>

9 months agoci/b2c: change artifacts path to match baremetal and LAVA
Eric Engestrom [Thu, 19 Oct 2023 13:12:00 +0000 (15:12 +0200)]
ci/b2c: change artifacts path to match baremetal and LAVA

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25815>

9 months agoci/ci_run_n_monitor: keep monitoring if a job is still running
Helen Koike [Fri, 20 Oct 2023 11:52:12 +0000 (08:52 -0300)]
ci/ci_run_n_monitor: keep monitoring if a job is still running

When running multiple targets, the script was returning if any of the
targets failed.
But sometimes some of the targets are still running and we want to
monitor it until it finishes, even if some of the targets failed.

So check if any targeted jobs are in pending or running before deciding
to finish.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25826>

9 months agoci/freedreno: disable Adreno 660 Vulkan pre-merge
David Heidelberg [Sat, 21 Oct 2023 13:58:20 +0000 (15:58 +0200)]
ci/freedreno: disable Adreno 660 Vulkan pre-merge

No need to move it to manual/nightly - we already run full runs there.

Revert when Adreno 660 gets stable again!

Reported-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25839>

9 months agoradeonsi: fixes compilaton error when perfetto is disabled
Saroj Kumar [Fri, 20 Oct 2023 10:08:11 +0000 (15:38 +0530)]
radeonsi: fixes compilaton error when perfetto is disabled

Signed-off-by: Saroj Kumar <saroj.kumar@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25827>

9 months agoci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline
David Heidelberg [Thu, 19 Oct 2023 15:22:02 +0000 (17:22 +0200)]
ci/freedreno: fix copy paste causing a618_gl being run only in manual pipeline

Fixes: 9d442b459a43 ("ci/freedreno: handle disabling farm properly for each FD/Collabora farm")
Closes: #9992

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25816>

9 months agosvga: Unify gmr and mob surface pool managers
Maaz Mombasawala [Sat, 8 Jul 2023 00:22:15 +0000 (17:22 -0700)]
svga: Unify gmr and mob surface pool managers

The svga driver contains several buffer managers with gmr* and mob* prefixes,
but they are of similar functionality. The underlying vmwgfx kernel driver
allocates memory of one type - mobs if supported by the virtual hardware,
and gmrs otherwise - and returns an opaque pointer to userspace, so several
managers are reduntant.

This patch reduces the number of buffer managers by unifying similar managers
and performing refactors where necessary.

Signed-off-by: Maaz Mombasawala <mombasawalam@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25832>

9 months agosvga: Make surfaces shareable at creation.
Maaz Mombasawala [Thu, 17 Aug 2023 23:17:56 +0000 (16:17 -0700)]
svga: Make surfaces shareable at creation.

There is no need to have a separate shareable pool of surfaces, we can make
all surfaces shareable.
This change makes all surfaces shareable when creating them.

Signed-off-by: Maaz Mombasawala <mombasawalam@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25832>

9 months agoci/venus: mark more flaky tests after recent cts uprev
Yiwei Zhang [Thu, 19 Oct 2023 00:17:54 +0000 (17:17 -0700)]
ci/venus: mark more flaky tests after recent cts uprev

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25799>

9 months agoci/marge_queue: add missing python-dateutils to requirements.txt
Helen Koike [Fri, 20 Oct 2023 13:40:51 +0000 (10:40 -0300)]
ci/marge_queue: add missing python-dateutils to requirements.txt

marge_queue.py requires python-dateutils to run, so add it.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25828>

9 months agomesa: add GL_APPLE_sync support
Lucas Stach [Wed, 18 Oct 2023 11:55:11 +0000 (13:55 +0200)]
mesa: add GL_APPLE_sync support

This extension is a backport of GL_ARB_sync to GLES 1.1 and 2.0
and reuses token IDs and entry point prototypes from that extension,
so adding support is pretty trivial.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25789>

9 months agozink: properly alias shared memory
Karol Herbst [Tue, 17 Oct 2023 10:16:24 +0000 (12:16 +0200)]
zink: properly alias shared memory

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25763>

9 months agozink: wrap shared memory blocks in a struct
Karol Herbst [Tue, 17 Oct 2023 10:14:48 +0000 (12:14 +0200)]
zink: wrap shared memory blocks in a struct

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25763>

9 months agofrontends/va: Fix locking in vlVaBeginPicture
David Rosca [Fri, 20 Oct 2023 08:27:41 +0000 (10:27 +0200)]
frontends/va: Fix locking in vlVaBeginPicture

The assert in vlVaSetSurfaceContext would very rarely fail because
the mutex was already unlocked when calling this function from
vlVaBeginPicture.

Keep the lock until returning from vlVaBeginPicture, as that's what
other functions are already doing.

Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25823>

9 months agopvr: Implement VK_EXT_host_query_reset
Vlad Schiller [Mon, 4 Sep 2023 11:24:05 +0000 (12:24 +0100)]
pvr: Implement VK_EXT_host_query_reset

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25783>

9 months agopvr: Implement VK_EXT_texel_buffer_alignment
Vlad Schiller [Wed, 30 Aug 2023 09:54:20 +0000 (10:54 +0100)]
pvr: Implement VK_EXT_texel_buffer_alignment

This commit will implement the VK_EXT_texel_buffer_alignment
extension and add the texture_baseaddress_byte_aligned feature.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25781>

9 months agopvr: Enable VK_KHR_bind_memory2 extension
Vlad Schiller [Mon, 4 Sep 2023 14:09:47 +0000 (15:09 +0100)]
pvr: Enable VK_KHR_bind_memory2 extension

The two functions 'vkBindBufferMemory2' and 'vkBindImageMemory2' are aleady
implemented, and it seems that the flag does not need to be enabled for the
tests to pass.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25779>

9 months agopvr: Implement VK_KHR_external_semaphore
Vlad Schiller [Mon, 11 Sep 2023 06:19:39 +0000 (07:19 +0100)]
pvr: Implement VK_KHR_external_semaphore

In order for the tests to pass, this commit also enables
the VK_KHR_external_semaphore_fd extension.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25784>

9 months agopvr: Implement VK_KHR_external_fence
Vlad Schiller [Mon, 11 Sep 2023 06:42:22 +0000 (07:42 +0100)]
pvr: Implement VK_KHR_external_fence

In order for the tests to pass, this commit also enables
the VK_KHR_external_fence_fd extension.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25784>

9 months agoanv: document the draw indirect optimization ring mode
Lionel Landwerlin [Sun, 24 Sep 2023 19:38:47 +0000 (22:38 +0300)]
anv: document the draw indirect optimization ring mode

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: merge gfx9/11 indirect draw generation shaders
Lionel Landwerlin [Sun, 24 Sep 2023 07:45:31 +0000 (10:45 +0300)]
anv: merge gfx9/11 indirect draw generation shaders

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: add ring buffer mode to generated draw optimization
Lionel Landwerlin [Wed, 20 Sep 2023 17:04:16 +0000 (20:04 +0300)]
anv: add ring buffer mode to generated draw optimization

When the number of draw calls is very large, instead of allocating
large amounts of batch buffer space for the draws, use a ring buffer
and process the draw calls by batches.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8645
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: index indirect data buffer with absolute offset
Lionel Landwerlin [Mon, 18 Sep 2023 21:28:39 +0000 (00:28 +0300)]
anv: index indirect data buffer with absolute offset

This will help for a follow up change where we will respawn the shader
multiple times in a loop and the base offset will be edited by the
shader itself.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: factor out host/gpu internal shaders interfaces
Lionel Landwerlin [Sun, 17 Sep 2023 10:39:46 +0000 (13:39 +0300)]
anv: factor out host/gpu internal shaders interfaces

This will prevent host/gpu structure definitions to go out of sync.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoutil/glsl2spirv: add ability to pass defines
Lionel Landwerlin [Sun, 17 Sep 2023 10:38:50 +0000 (13:38 +0300)]
util/glsl2spirv: add ability to pass defines

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: move generation batch fields to a sub-struct
Lionel Landwerlin [Sun, 17 Sep 2023 08:46:18 +0000 (11:46 +0300)]
anv: move generation batch fields to a sub-struct

Just tyding things a bit since we're about to add more.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: avoid MI commands to copy draw indirect count
Lionel Landwerlin [Thu, 14 Sep 2023 16:10:10 +0000 (19:10 +0300)]
anv: avoid MI commands to copy draw indirect count

We can just make the address of the count available to the generation
shader.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: identify internal shader in NIR
Lionel Landwerlin [Thu, 14 Sep 2023 16:08:57 +0000 (19:08 +0300)]
anv: identify internal shader in NIR

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: extract out draw call generation
Lionel Landwerlin [Sun, 17 Sep 2023 08:55:40 +0000 (11:55 +0300)]
anv: extract out draw call generation

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: fix generated draws gl_DrawID with more than 8192 indirect draws
Lionel Landwerlin [Thu, 21 Sep 2023 20:27:46 +0000 (23:27 +0300)]
anv: fix generated draws gl_DrawID with more than 8192 indirect draws

This applies only to Gfx9.

We're writting out of bounds to a wrong location.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 1d9cf8f381 ("anv: add gfx9 generated draw support")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoanv: move generation shader return instruction to last draw lane
Lionel Landwerlin [Wed, 20 Sep 2023 19:38:42 +0000 (22:38 +0300)]
anv: move generation shader return instruction to last draw lane

If we dispatch exactly a multiple of 8192 items, there is additional
lane left to generate the jump instruction.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25361>

9 months agoRevert "etnaviv: use correct blit box sizes when copying resource"
Lucas Stach [Fri, 20 Oct 2023 11:16:37 +0000 (13:16 +0200)]
Revert "etnaviv: use correct blit box sizes when copying resource"

Revert commit b4c24d5978a5, as it causes a regression in
dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb
and some other testcases. Needs further investigation.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10007
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25825>

9 months agodri: Drop a duplicate mesa vs pipe format table.
Emma Anholt [Tue, 10 Oct 2023 19:19:46 +0000 (12:19 -0700)]
dri: Drop a duplicate mesa vs pipe format table.

mesa_format is a typedef of enum pipe_format, and the nice mesa format
names are a subset of the available pipe formats.  No need to keep a
duplicate table here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>

9 months agoci: drop skip for glx-swap-copy.
Emma Anholt [Tue, 10 Oct 2023 19:09:01 +0000 (12:09 -0700)]
ci: drop skip for glx-swap-copy.

This will always be a skip now that we dropped GLX_OML_swap_method.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>

9 months agoglx: Delete support for GLX_OML_swap_method.
Emma Anholt [Tue, 10 Oct 2023 18:42:59 +0000 (11:42 -0700)]
glx: Delete support for GLX_OML_swap_method.

This was an ill-advised extension.  While we advertised SWAP_COPY support,
we might implement it with a back-copy from the front buffer.  And we
never advertised EXCHANGE because we couldn't guarantee it.  So, if you
actually used this extension to try to reduce app redraws of the back
buffer, you might actually increase the bandwidth you used.  Whoops.

Instead, GLX_EXT_buffer_age and the similar EGL extension give you
feedback on what's left in your back buffer, letting you do minimum
redraws.

This reduces our GLX visual+fbconfig count from 1410 to 940 on an llvmpipe
X server.  Reducing visual counts will improve test runtime for
visual-iterating tests like piglit's glx-visuals-*.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25650>

9 months agoci_run_n_monitor: Poll mesa/mesa and user/mesa for pipelines at the same time.
Eric Anholt [Thu, 19 Oct 2023 10:03:34 +0000 (12:03 +0200)]
ci_run_n_monitor: Poll mesa/mesa and user/mesa for pipelines at the same time.

Now you don't fail if you're trying to test a mesa/mesa MR pipeline and
gitlab takes more than 10s to create it.  And you don't have to wait 10
seconds to get things started (aka see if your regex was right) if you're
testing a user/mesa fork pipeline.

Fixes: 941d92408ee5 ("bin/ci_run_n_monitor: automatically pick MR pipelines when they exist")
Closes: #9894
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25810>

9 months agoradeonsi/vcn: set jpeg reg version for gfx 1150
Saleemkhan Jamadar [Mon, 18 Sep 2023 19:48:09 +0000 (21:48 +0200)]
radeonsi/vcn: set jpeg reg version for gfx 1150

select appropriate jpeg register version for gfx1150

Signed-off-by: Saleemkhan Jamadar <saleemkhan.jamadar@amd.com>
Reviewed-by: Leo Liu <Leo.Liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agoamd/common: update DCC for gfx11.5
Marek Olšák [Mon, 18 Sep 2023 19:48:02 +0000 (21:48 +0200)]
amd/common: update DCC for gfx11.5

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agoamd, radeonsi: Add code to enable gfx11.5
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:59 +0000 (21:47 +0200)]
amd, radeonsi: Add code to enable gfx11.5

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agoac/nir: extract must_wait_attr_ring helper
Pierre-Eric Pelloux-Prayer [Tue, 3 Oct 2023 07:38:54 +0000 (09:38 +0200)]
ac/nir: extract must_wait_attr_ring helper

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agoamd/common: add registers for gfx11.5
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:55 +0000 (21:47 +0200)]
amd/common: add registers for gfx11.5

Built from amd-staging-drm-next c5a7d38c2c7fc + Alex D
"drm/amdgpu: update to the latest GC 11.5 header" patch.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agoamd/common: update addrlib for gfx11.5
Pierre-Eric Pelloux-Prayer [Mon, 18 Sep 2023 19:47:49 +0000 (21:47 +0200)]
amd/common: update addrlib for gfx11.5

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25278>

9 months agod3d12: Allocate d3d12_video_buffer with higher alignment for compatibility
Sil Vilerino [Wed, 27 Sep 2023 11:28:11 +0000 (07:28 -0400)]
d3d12: Allocate d3d12_video_buffer with higher alignment for compatibility

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: Add support for PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS/COLS
Sil Vilerino [Fri, 22 Sep 2023 12:37:52 +0000 (08:37 -0400)]
d3d12: Add support for PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS/COLS

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agofrontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols
Sil Vilerino [Fri, 22 Sep 2023 12:37:34 +0000 (08:37 -0400)]
frontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: AV1 Encode - Fix VAConfigAttribEncMaxRefFrames reporting
Sil Vilerino [Tue, 19 Sep 2023 00:38:35 +0000 (20:38 -0400)]
d3d12: AV1 Encode - Fix VAConfigAttribEncMaxRefFrames reporting

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: AV1 encode - add fallback for app passing unsupported pic_params.Interpolation...
Sil Vilerino [Mon, 18 Sep 2023 23:43:34 +0000 (19:43 -0400)]
d3d12: AV1 encode - add fallback for app passing unsupported pic_params.InterpolationFilter

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: AV1 encode - Add lower resolution fallback check for uniform tile support
Sil Vilerino [Mon, 18 Sep 2023 23:31:51 +0000 (19:31 -0400)]
d3d12: AV1 encode - Add lower resolution fallback check for uniform tile support

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: Do not destroy codec when destroying video buffer
Sil Vilerino [Tue, 12 Sep 2023 02:37:46 +0000 (22:37 -0400)]
d3d12: Do not destroy codec when destroying video buffer

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: Video Decode - Wait for GPU completion before destroying decoder in-flight...
Sil Vilerino [Mon, 11 Sep 2023 18:48:22 +0000 (14:48 -0400)]
d3d12: Video Decode - Wait for GPU completion before destroying decoder in-flight objects

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: Fixes AV1 tx_mode_support reporting and unsupported tx_mode overriding
Sil Vilerino [Thu, 7 Sep 2023 23:11:38 +0000 (19:11 -0400)]
d3d12: Fixes AV1 tx_mode_support reporting and unsupported tx_mode overriding

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agod3d12: Upgrade to D3D12 Agility SDK 1.611 Video interface
Sil Vilerino [Tue, 11 Jul 2023 15:01:27 +0000 (11:01 -0400)]
d3d12: Upgrade to D3D12 Agility SDK 1.611 Video interface

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agofrontends/va: Add profile param when querying PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL
Sil Vilerino [Fri, 25 Aug 2023 17:05:54 +0000 (13:05 -0400)]
frontends/va: Add profile param when querying PIPE_VIDEO_CAP_ENC_QUALITY_LEVEL

Pass the specific profile as drivers may only support
quality levels for specific codecs or profiles.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

9 months agovenus: set lvp queries as saturate on overflow
Juston Li [Wed, 18 Oct 2023 21:46:49 +0000 (14:46 -0700)]
venus: set lvp queries as saturate on overflow

Test case 'dEQP-VK.pipeline.monolithic.timestamp.misc_tests.consistent_results'..
  Fail (Results are inconsistent: B32=0xffffffff B64=0x10103ba2cdd4e G32=0xba2cdd4e G64=0x10103ba2cdd4e)

Fixes: e6cffa1f0e4e ("venus: use feedback for vkGetQueryPoolResults")

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25820>