platform/upstream/mesa.git
20 months agollvmpipe: fixes error: ‘enum pipe_blendfactor’ declared in lp_test_blend.c
Yonggang Luo [Mon, 7 Nov 2022 06:43:20 +0000 (14:43 +0800)]
llvmpipe: fixes error: ‘enum pipe_blendfactor’ declared  in lp_test_blend.c

error  message:
In file included from ../../src/gallium/drivers/llvmpipe/lp_test_blend.c:44:
../../src/gallium/drivers/llvmpipe/lp_bld_blend.h:47:21: error: ‘enum pipe_blendfactor’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   47 |                enum pipe_blendfactor factor_src,

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agoutil: convert usage of uint to unsigned in u_format.h
Yonggang Luo [Mon, 7 Nov 2022 09:43:20 +0000 (17:43 +0800)]
util: convert usage of uint to unsigned in u_format.h

Because uint comes from pipe/p_compiler.h, and that depends will be removed in future

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agoutil: use void * instead of byte * for util_copy_rect in u_format.h
Yonggang Luo [Mon, 7 Nov 2022 06:12:11 +0000 (14:12 +0800)]
util: use void * instead of byte * for util_copy_rect in u_format.h

As ubyte comes from p_compiler.h,  so do not use it,
and the code calles util_copy_rect may use args with type uint8_t*, ubyte* or unsigned char*,
so use the type void* that consistence with memcpy

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agotgsi: fixes error: ‘enum pipe_shader_type’ declared in tgsi_info.h
Yonggang Luo [Mon, 7 Nov 2022 05:53:53 +0000 (13:53 +0800)]
tgsi: fixes error: ‘enum pipe_shader_type’ declared  in tgsi_info.h

error message:
../../src/gallium/auxiliary/tgsi/tgsi_info.h:92:30: error: ‘enum pipe_shader_type’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   92 | tgsi_get_processor_name(enum pipe_shader_type processor);

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agoaco: fixes error: 'uint' was not declared in aco_instruction_selection.cpp
Yonggang Luo [Mon, 7 Nov 2022 10:05:40 +0000 (18:05 +0800)]
aco: fixes error: 'uint' was not declared in aco_instruction_selection.cpp

uint is from pipe/p_compiler.h

error message:
../../src/amd/compiler/aco_instruction_selection.cpp:11061:4: error: 'uint' was not declared in this scope; did you mean 'rint'?
11061 |    uint en_mask = 1;

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agoutil: Remove the usage of enum pipe_error in u_hash_table.*
Yonggang Luo [Sun, 6 Nov 2022 13:31:35 +0000 (21:31 +0800)]
util: Remove the usage of enum pipe_error in u_hash_table.*

Use 0 instead of PIPE_OK in u_hash_table.c

Because pipe_error and PIPE_OK is comes from pipe/p_defines.h that doesn't belong
to src/util/

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agoutil: Remove redundant #include "util/u_inlines.h" in u_trace.c
Yonggang Luo [Sun, 6 Nov 2022 13:21:41 +0000 (21:21 +0800)]
util: Remove redundant #include "util/u_inlines.h" in u_trace.c

util/u_inlines.h is comes from src/gallium/auxiliary/util/u_inlines.h,
so when possible, do not use it under src/util folder

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19676>

20 months agointel/compiler: Remove redundant argument from brw_nir_create_passthrough_tcs
Caio Oliveira [Thu, 17 Nov 2022 22:49:56 +0000 (14:49 -0800)]
intel/compiler: Remove redundant argument from brw_nir_create_passthrough_tcs

Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19831>

20 months agointel/perf: fix printf formatting of size_t for 32bit builds
Mark Janes [Fri, 18 Nov 2022 18:59:41 +0000 (10:59 -0800)]
intel/perf: fix printf formatting of size_t for 32bit builds

Fixes: bdacd6df5adc ("intel/perf: add a non installable tool to print metrics")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7736
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19856>

20 months agoci/dzn: add flake
David Heidelberg [Fri, 18 Nov 2022 21:17:21 +0000 (22:17 +0100)]
ci/dzn: add flake

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19858>

20 months agodocs: update Python requirement to 3.7
David Heidelberg [Wed, 16 Nov 2022 23:13:12 +0000 (00:13 +0100)]
docs: update Python requirement to 3.7

Reported in https://gitlab.freedesktop.org/mesa/mesa/-/issues/7716

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19791>

20 months agoinclude: Update the OpenCL headers
Jason Ekstrand [Thu, 17 Nov 2022 17:06:53 +0000 (11:06 -0600)]
include: Update the OpenCL headers

This syncs all our headers with their canonical versions from Khronos.
Of particular note, CL headers repo does not have cl.hpp and cl2.hpp has
been depricated all in favor of opencl.hpp which is the new canonical
header.  Fortunately, nothing in Mesa uses any of the C++ headers so
this shouldn't break anything.

Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19816>

20 months agoclover: Use braces arround a union initializer
Jason Ekstrand [Thu, 17 Nov 2022 17:55:08 +0000 (11:55 -0600)]
clover: Use braces arround a union initializer

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

20 months agoscripts: Fix khronos-update.py to use main for OpenCL headers
Jason Ekstrand [Thu, 17 Nov 2022 16:21:50 +0000 (10:21 -0600)]
scripts: Fix khronos-update.py to use main for OpenCL headers

Also, cl.hpp no longer exists in OpenCL-Headers to fix it at the last
commit where it did exist.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19816>

20 months agoUpdate 00-mesa-defaults.conf
Jim Wu [Wed, 9 Nov 2022 14:54:56 +0000 (14:54 +0000)]
Update 00-mesa-defaults.conf

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

20 months agonir/lower_explicit_io: fix metadata preserve
Lionel Landwerlin [Wed, 16 Nov 2022 13:53:26 +0000 (15:53 +0200)]
nir/lower_explicit_io: fix metadata preserve

This pass can insert if blocks, therefore no dominance/block_index for
you.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19818>

20 months agonir/lower_bit_size: lower uadd_sat/iadd_sat/isub_sat to unsaturated alu
Rhys Perry [Wed, 2 Nov 2022 16:49:18 +0000 (16:49 +0000)]
nir/lower_bit_size: lower uadd_sat/iadd_sat/isub_sat to unsaturated alu

The unsaturated arithmetic won't overflow/borrow, and may be faster.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19473>

20 months agonir/lower_bit_size: optimize usub_sat lowering
Rhys Perry [Thu, 3 Nov 2022 13:05:41 +0000 (13:05 +0000)]
nir/lower_bit_size: optimize usub_sat lowering

The result should never be larger than uint_max. This doesn't need a
special path.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19473>

20 months agonir/algebraic: optimize open-coded uadd_sat/usub_sat
Rhys Perry [Wed, 2 Nov 2022 16:45:41 +0000 (16:45 +0000)]
nir/algebraic: optimize open-coded uadd_sat/usub_sat

fossil-db (navi21):
Totals from 19 (0.01% of 135636) affected shaders:
Instrs: 40730 -> 40688 (-0.10%)
CodeSize: 217708 -> 217568 (-0.06%)
Latency: 261466 -> 261373 (-0.04%)
InvThroughput: 74944 -> 74896 (-0.06%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19473>

20 months agoradv: lower 8/16-bit uadd_carry/usub_borrow
Rhys Perry [Wed, 2 Nov 2022 16:45:27 +0000 (16:45 +0000)]
radv: lower 8/16-bit uadd_carry/usub_borrow

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7615
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19473>

20 months agonir/lower_bit_size: lower uadd_carry
Rhys Perry [Wed, 2 Nov 2022 16:45:08 +0000 (16:45 +0000)]
nir/lower_bit_size: lower uadd_carry

8/16-bit uadd_carry can exist in SPIR-V.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7615
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19473>

20 months agocrocus: Pass devinfo directly in crocus_setup_uniforms
Caio Oliveira [Thu, 17 Nov 2022 23:16:37 +0000 (15:16 -0800)]
crocus: Pass devinfo directly in crocus_setup_uniforms

Instead of reaching through brw_compiler.  This will make easy
future changes on brw_compiler side.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19834>

20 months agoradv: advertise extendedDynamicState3ColorBlendEnable
Samuel Pitoiset [Mon, 7 Nov 2022 09:25:36 +0000 (10:25 +0100)]
radv: advertise extendedDynamicState3ColorBlendEnable

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19579>

20 months agoradv: add support for dynamic color blend enable
Samuel Pitoiset [Mon, 7 Nov 2022 12:21:22 +0000 (13:21 +0100)]
radv: add support for dynamic color blend enable

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19579>

20 months agoci/freedreno: temporarily disable godot-trive
David Heidelberg [Fri, 18 Nov 2022 01:03:27 +0000 (02:03 +0100)]
ci/freedreno: temporarily disable godot-trive

Test if this trace impact surrounding traces causing rendering changes.

Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7732

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/panfrost: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 01:00:43 +0000 (02:00 +0100)]
ci/panfrost: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/iris: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:59:59 +0000 (01:59 +0100)]
ci/iris: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/llvmpipe: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:59:07 +0000 (01:59 +0100)]
ci/llvmpipe: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/virgl: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:58:02 +0000 (01:58 +0100)]
ci/virgl: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/broadcom: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:57:17 +0000 (01:57 +0100)]
ci/broadcom: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/freedreno: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:56:49 +0000 (01:56 +0100)]
ci/freedreno: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agoci/amd: drop glmark2 traces, useless
David Heidelberg [Fri, 18 Nov 2022 00:56:04 +0000 (01:56 +0100)]
ci/amd: drop glmark2 traces, useless

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19838>

20 months agonir/lower_shader_calls: Get rid of any brw occurences
Konstantin Seurer [Tue, 15 Nov 2022 14:33:29 +0000 (15:33 +0100)]
nir/lower_shader_calls: Get rid of any brw occurences

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

20 months agotu: Rewrite inline uniform implementation
Connor Abbott [Fri, 16 Sep 2022 14:24:17 +0000 (16:24 +0200)]
tu: Rewrite inline uniform implementation

Now we always push the inline uniforms, using an indirect CP_LOAD_STATE.
There is just enough space to be able to always push them if we expose
the minimum possible per-stage limits. This aligns us with Qualcomm and
removes the need to setup a uniform descriptor which will be
problematic.

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

20 months agonir: Fix nir_chase_binding() vecN handling
Connor Abbott [Fri, 16 Sep 2022 14:00:07 +0000 (16:00 +0200)]
nir: Fix nir_chase_binding() vecN handling

In the comments we claimed to handle vecN instructions, for the case
where an offset is trimmed from the descriptor, but we didn't ignore the
offset itself and in effect only handled identity vecN's (which copy
propagation would normally remove already!), so the handling of vecN was
useless and this relied on copy propagation cleaning things up. Fix it
to ignore everything except the components in the original source.

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18703>

20 months agopvr: Minor cleanup around pvr_emit_vdm_index_list()
Matt Coster [Fri, 21 Oct 2022 14:15:23 +0000 (15:15 +0100)]
pvr: Minor cleanup around pvr_emit_vdm_index_list()

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19802>

20 months agovulkan/wsi/wayland: Set num_modifier_lists = 0 if num_drm_modifiers == 0
Michel Dänzer [Thu, 17 Nov 2022 09:12:59 +0000 (10:12 +0100)]
vulkan/wsi/wayland: Set num_modifier_lists = 0 if num_drm_modifiers == 0

This case was missed in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 ,
resulting in native Wayland apps failing with

 ../src/vulkan/wsi/wsi_common_drm.c:452: wsi_configure_native_image: Assertion `!"Failed to find a supported modifier!  This should never " "happen because LINEAR should always be available"' failed.

if the Wayland compositor advertises only the INVALID modifier.

Fixes: c315e20d6198 ("vulkan/wsi/wayland: Configure images via params passed to wsi_swapchain_init()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19795>

20 months agopvr: Support clear colours with more than 32 bits
Matt Coster [Mon, 31 Oct 2022 11:03:10 +0000 (11:03 +0000)]
pvr: Support clear colours with more than 32 bits

The support for this seems to already exist, but was blocked by a
conditional. Replace with an assert to ensure the format can be packed
into 4x32 bit words (true for all currently supported formats).

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/19799>

20 months agopvr: Fix clang-format error.
Karmjit Mahil [Wed, 16 Nov 2022 09:19:56 +0000 (09:19 +0000)]
pvr: Fix clang-format error.

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/19798>

20 months agovirgl/video: Check driver supported profiles and entrypoints
Feng Jiang [Thu, 22 Sep 2022 07:48:09 +0000 (15:48 +0800)]
virgl/video: Check driver supported profiles and entrypoints

Since the support of video by the device and the driver may be
different, it is necessary to check on the driver side as well.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agovirgl/video: Add support for H.265 encoding
Feng Jiang [Tue, 20 Sep 2022 08:43:43 +0000 (16:43 +0800)]
virgl/video: Add support for H.265 encoding

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Weishi Li <liweishi@kylinos.cn>
Signed-off-by: Liming Sun <sunliming@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agovirgl/video: Add support for H.264 encoding
Feng Jiang [Thu, 29 Sep 2022 03:38:20 +0000 (11:38 +0800)]
virgl/video: Add support for H.264 encoding

Implement encoding framework and support H.264 encoding.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Ming Xie <xieming@kylinos.cn>
Signed-off-by: Liming Sun <sunliming@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agovirgl/video: Pass "max_references" to backend when creating a video codec
Boyuan Zhang [Thu, 29 Sep 2022 03:26:25 +0000 (11:26 +0800)]
virgl/video: Pass "max_references" to backend when creating a video codec

The "max_references" is an important value in sequence parameters,
which will be used when encoding SPS headers.

Signed-off-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agofrontends/va/enc: save intra_idr_period in the context
Feng Jiang [Thu, 29 Sep 2022 03:36:46 +0000 (11:36 +0800)]
frontends/va/enc: save intra_idr_period in the context

The va frontend loses some information when processing parameter
buffers, but the virgl video encoding driver needs it to work.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agovirgl/video: Move hardware-related definitions from virgl_video.h to virgl_video_hw.h
Feng Jiang [Thu, 29 Sep 2022 03:35:58 +0000 (11:35 +0800)]
virgl/video: Move hardware-related definitions from virgl_video.h to virgl_video_hw.h

Considering the increasing number of hardware-related definitions,
it is better to put them in a separate file.

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18831>

20 months agoiris: Increase the maximum grid size
Kenneth Graunke [Thu, 17 Nov 2022 20:20:30 +0000 (12:20 -0800)]
iris: Increase the maximum grid size

I had simply copied these values from another driver when adding initial
compute support to iris.  The actual hardware limit is UINT32_MAX (see
the GPGPU_WALKER/COMPUTE_WALKER ThreadGroupID{X,Y,Z}Dimension fields).

Thanks to Karol Herbst for noticing the unnecessarily low limit.

References: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7676
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19826>

20 months agoturnip: set ycbcr feature bits properly
Chia-I Wu [Tue, 8 Nov 2022 19:59:43 +0000 (11:59 -0800)]
turnip: set ycbcr feature bits properly

Set ycbcr feature bits only for ycbcr formats.  Besides, we can control
chroma locations only for planar formats and we support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
on newer gens.

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

20 months agofreedreno: add has_separate_chroma_filter to fd_dev_info
Chia-I Wu [Tue, 8 Nov 2022 19:15:54 +0000 (11:15 -0800)]
freedreno: add has_separate_chroma_filter to fd_dev_info

The blob driver does not support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
before a6xx_gen3.  It still sets CHROMA_LINEAR bit according to
chromaFilter, but the bit has no effect before a6xx_gen3 (confirmed on
a618 with blob version 512.490.0).

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

20 months agofreedreno: Find curses properly for building fdperf
Jami Kettunen [Thu, 10 Nov 2022 23:46:10 +0000 (01:46 +0200)]
freedreno: Find curses properly for building fdperf

Upstream ncurses doesn't ship any legacy ncurses.pc pkg-config symlinks
(just ncursesw.pc) which Void Linux strictly follows[1] for example.

Meson (since 0.54) has a generic curses dependency which works perfectly
in this case[2], thus also bump the toplevel minimum meson version from
0.53.

[1] https://github.com/void-linux/void-packages/tree/master/srcpkgs/ncurses
[2] https://mesonbuild.com/Dependencies.html#curses

Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19664>

20 months agoci: Update dozen flakes
Yonggang Luo [Thu, 17 Nov 2022 20:47:36 +0000 (04:47 +0800)]
ci: Update dozen flakes

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

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19824>

20 months agosvga: Fixes -Werror,-Wunused-but-set-variable for clang-15 in svga/svga_tgsi_vgpu10.c
Yonggang Luo [Fri, 4 Nov 2022 11:31:22 +0000 (19:31 +0800)]
svga: Fixes -Werror,-Wunused-but-set-variable for clang-15 in svga/svga_tgsi_vgpu10.c

error message:
../../src/gallium/drivers/svga/svga_tgsi_vgpu10.c:5199:13: error: variable 'indicesMask' set but not used [-Werror,-Wunused-but-set-variable]   unsigned indicesMask = 0;
            ^

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>

20 months agosoftpipe: fixes -Werror,-Wunused-but-set-variable for clang-15 in sp_tile_cache.c
Yonggang Luo [Fri, 4 Nov 2022 12:45:44 +0000 (20:45 +0800)]
softpipe: fixes -Werror,-Wunused-but-set-variable for clang-15 in sp_tile_cache.c

error message:
../../src/gallium/drivers/softpipe/sp_tile_cache.c:346:9: error: variable 'numCleared' set but not used [-Werror,-Wunused-but-set-variable]
   uint numCleared = 0;
        ^

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>

20 months agoradv: fixes -Werror,-Wunused-but-set-variable for clang-15 in radv_shader_args.c
Yonggang Luo [Fri, 4 Nov 2022 13:40:31 +0000 (21:40 +0800)]
radv: fixes -Werror,-Wunused-but-set-variable for clang-15 in radv_shader_args.c

error message:
../../src/amd/vulkan/radv_shader_args.c:457:16: error: variable 'arg_count' set but not used [-Werror,-Wunused-but-set-variable]
      unsigned arg_count = 0;
               ^

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>

20 months agointel: fixes -Werror,-Wunused-but-set-variable for clang-15
Yonggang Luo [Fri, 4 Nov 2022 13:38:37 +0000 (21:38 +0800)]
intel: fixes -Werror,-Wunused-but-set-variable for clang-15

one of those error message:
../../src/intel/compiler/brw_vec4_cmod_propagation.cpp:53:8: error: variable 'ip' set but not used [-Werror,-Wunused-but-set-variable]
   int ip = block->end_ip + 1;

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>

20 months agointel: Fixes -Werror,-Wbitwise-instead-of-logical for clang-15 in brw_nir_lower_shade...
Yonggang Luo [Fri, 4 Nov 2022 11:26:45 +0000 (19:26 +0800)]
intel: Fixes -Werror,-Wbitwise-instead-of-logical for clang-15 in brw_nir_lower_shader_calls.c

error message:
error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>

20 months agor300: don't use abs twice in transform_TRUNC on older hardware
Filip Gawin [Thu, 17 Nov 2022 12:50:44 +0000 (13:50 +0100)]
r300: don't use abs twice in transform_TRUNC on older hardware

r400:
total instructions in shared programs: 27594 -> 27523 (-0.26%)
instructions in affected programs: 3594 -> 3523 (-1.98%)
helped: 61
HURT: 0
helped stats (abs) min: 1 max: 4 x̄: 1.16 x̃: 1
helped stats (rel) min: 1.16% max: 8.70% x̄: 2.55% x̃: 1.64%
95% mean confidence interval for instructions value: -1.29 -1.04
95% mean confidence interval for instructions %-change: -3.13% -1.97%
Instructions are helped.

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

20 months agomeson: Enable initialized-but-unused warning for MSVC
Jesse Natalie [Wed, 16 Nov 2022 23:34:46 +0000 (15:34 -0800)]
meson: Enable initialized-but-unused warning for MSVC

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19792>

20 months agogallium/vl: Remove unused win32 screen var
Jesse Natalie [Thu, 17 Nov 2022 17:04:52 +0000 (09:04 -0800)]
gallium/vl: Remove unused win32 screen var

Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19792>

20 months agodocs: update calendar for 22.3.0-rc3
Eric Engestrom [Thu, 17 Nov 2022 17:19:24 +0000 (17:19 +0000)]
docs: update calendar for 22.3.0-rc3

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

20 months agozink/ci: Add automatic test on Adreno 618 with Turnip
Tomeu Vizoso [Mon, 7 Nov 2022 12:15:06 +0000 (13:15 +0100)]
zink/ci: Add automatic test on Adreno 618 with Turnip

Make the existing manual test automatic, sharding to 3 boards.

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

20 months agoci/freedreno: Test on a618
Tomeu Vizoso [Mon, 14 Nov 2022 10:47:53 +0000 (11:47 +0100)]
ci/freedreno: Test on a618

Do the same testing we currently do on a630.

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

20 months agoci/turnip: Shard the tests on a618 over more boards
Tomeu Vizoso [Mon, 14 Nov 2022 10:42:40 +0000 (11:42 +0100)]
ci/turnip: Shard the tests on a618 over more boards

12 kingoftown Chromebooks have been added to Collabora's LAVA lab.

Use them to run the same tests as before, as the jobs never take less
than 10 minutes.

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

20 months agoradv/rra: Fix copying accel structs that were not built yet
Konstantin Seurer [Wed, 16 Nov 2022 09:31:20 +0000 (10:31 +0100)]
radv/rra: Fix copying accel structs that were not built yet

In the case that radv_GetEventStatus always returns true, the loop will
never exit.

Fixes: 5749806 ("radv: Add Radeon Raytracing Analyzer trace dumping utilities")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19772>

20 months agovulkan: Update the XML and headers to 1.3.235
Jason Ekstrand [Thu, 17 Nov 2022 16:00:21 +0000 (10:00 -0600)]
vulkan: Update the XML and headers to 1.3.235

Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19815>

20 months agod3d12: Video Screen - Do not crash if HEVC not supported, return no support instead
Sil Vilerino [Wed, 16 Nov 2022 17:01:21 +0000 (12:01 -0500)]
d3d12: Video Screen - Do not crash if HEVC not supported, return no support instead

Fixes: 8f654b90 ("d3d12: Fix HEVC wrong caps detection due to bad parenthesis in condition")
Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19813>

20 months agoiris: Get VM id from iris_bufmgr's fd
José Roberto de Souza [Wed, 2 Nov 2022 13:33:43 +0000 (06:33 -0700)]
iris: Get VM id from iris_bufmgr's fd

iris_bufmgr_init_global_vm() was getting the VM id from the callers
fd not the iris_bufmgr's duplicated fd.

If i915 driver decides to always return unique vm ids, like a counter
that is initialized per device. So fd0 would have vm id = 0 by
default, fd1(dup of fd0) would have vm id = 1... in this scenario it
would cause a mismatch. But it is not the current i915 implementation.

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/19467>

20 months agointel/perf: add ACM/DG2 performance metrics
Lionel Landwerlin [Thu, 29 Sep 2022 16:04:31 +0000 (19:04 +0300)]
intel/perf: add ACM/DG2 performance metrics

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: use the new OA format for Gfx12.5+
Lionel Landwerlin [Fri, 25 Jun 2021 10:08:47 +0000 (13:08 +0300)]
intel/perf: use the new OA format for Gfx12.5+

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agodrm-uapi: import i915_drm.h changes for the new OA report type
Lionel Landwerlin [Thu, 29 Sep 2022 16:24:34 +0000 (19:24 +0300)]
drm-uapi: import i915_drm.h changes for the new OA report type

To be replace by a proper drm-next update.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: fix B/C counters accumulation in non query mode
Lionel Landwerlin [Tue, 28 Jun 2022 14:20:02 +0000 (14:20 +0000)]
intel/perf: fix B/C counters accumulation in non query mode

When we're not using queries, all the counters from the
MI_REPORT_PERF_COUNT are available. This is the case when using
perfetto with the global pps datasource that capture global counter
values.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 8750f43a9077 ("intel/perf: add performance query layout using MI_SRM")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agoanv: tweak performance query timeout based on number of passes
Lionel Landwerlin [Mon, 1 Aug 2022 14:49:39 +0000 (17:49 +0300)]
anv: tweak performance query timeout based on number of passes

This avoids device lost events when we replay a command buffer 1k
times on DG2.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agoanv/perf: fixup counter/query mapping
Lionel Landwerlin [Wed, 27 Jul 2022 08:51:29 +0000 (08:51 +0000)]
anv/perf: fixup counter/query mapping

The intel_perf_counter_pass::pass field is actually useless and
invalid.

Once you have mapped all the counters to all the metrics, the order of
the metrics capture is dictated by intel_perf_get_n_passes().

When reading values that is the order we should follow.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 2001a80d4a81 ("anv: Implement VK_KHR_performance_query")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: simplify pass computation loop
Lionel Landwerlin [Thu, 21 Jul 2022 07:51:03 +0000 (07:51 +0000)]
intel/perf: simplify pass computation loop

We don't need to go through all the metric sets as we're already built
a bitset matching per counter to figure out in which metric set a
particular counter is.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: don't ralloc on perf context a temporary hash table
Lionel Landwerlin [Thu, 21 Jul 2022 07:50:37 +0000 (07:50 +0000)]
intel/perf: don't ralloc on perf context a temporary hash table

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: allocate cleared counter infos
Lionel Landwerlin [Thu, 21 Jul 2022 07:46:50 +0000 (07:46 +0000)]
intel/perf: allocate cleared counter infos

This array of structure needs to be initialized to 0 as it contains a
bitset we don't explicitly clear.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3144bc1d3369 ("intel/perf: move query_mask and location out of gen_perf_query_counter")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: add a non installable tool to print metrics
Lionel Landwerlin [Tue, 13 Oct 2020 09:34:43 +0000 (12:34 +0300)]
intel/perf: add a non installable tool to print metrics

Useful to look at the layout of the queries.

v2: Rework based on Marcin's comment

v3: Rebase

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: fix overflow in index types
Mark Janes [Fri, 17 Jun 2022 17:42:34 +0000 (10:42 -0700)]
intel/perf: fix overflow in index types

With DG2, the number of perf groups and metrics climbs into the
thousands.  16bit fields are not sufficient for storing metrics
indices, and the build throws warnings when compiling the generated
intel_perf_metrics.c

Use a 32bit integer for these values.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: support new variable names
Lionel Landwerlin [Mon, 27 Jun 2022 08:39:37 +0000 (11:39 +0300)]
intel/perf: support new variable names

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: support new operators for upcoming metrics
Lionel Landwerlin [Tue, 31 Aug 2021 08:55:25 +0000 (11:55 +0300)]
intel/perf: support new operators for upcoming metrics

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: support more than 64 queries
Lionel Landwerlin [Tue, 31 Aug 2021 08:54:41 +0000 (11:54 +0300)]
intel/perf: support more than 64 queries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agointel/perf: fix variable type assumption error
Lionel Landwerlin [Mon, 27 Jun 2022 08:39:09 +0000 (11:39 +0300)]
intel/perf: fix variable type assumption error

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>

20 months agoci: don't remove wget from the packages of debian/x86_test-vk
Sergi Blanch Torne [Wed, 16 Nov 2022 14:56:08 +0000 (15:56 +0100)]
ci: don't remove wget from the packages of debian/x86_test-vk

The 'wget' package was in the list of ephemeral packages used only during the
build. 'Wget' installation comes from the build for the 'x86_build-base', and
the inclusion on this list only affects its purge. Jobs that use this image,
like 'venus-lavapipe' in 'virglrenderer', cannot use it as other GL jobs can.
So, please don't consider this package ephemeral when it comes from the upper
layer builder.

This 'wget' package is a known dependency on a job that uses this image. So,
even if this package is installed in the base image, it is good to have it
explicitly mentioned in the packages to install.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19784>

20 months agoci: insert debian/x86_test-vk in image tags
Sergi Blanch Torne [Wed, 16 Nov 2022 14:41:15 +0000 (15:41 +0100)]
ci: insert debian/x86_test-vk in image tags

Using the variable DEBIAN_X86_TEST_IMAGE_PATH in a Vulkan test, we realize the
reference to the Vulkan one is missing. Even more, hardcoded within mesa. With
this, a variable for Vulkan image has a reference VK on it, as well as the GL
one. But the old variable is still there, pointing to the value that can be
expected to avoid any brake on other CI elements.

Also, updated the build tag to regenerate the image.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19784>

20 months agoanv: get rid of ilog2_round_up
Lionel Landwerlin [Wed, 16 Nov 2022 18:34:24 +0000 (20:34 +0200)]
anv: get rid of ilog2_round_up

__builtin_clz(value - 1) is undefined for with value=1 (because
__builtin_clz(0) is undefined).

Because we set rt_pipeline->stack_size = 1 when a ray tracing pipeline
doesn't need any stack allocation to differentiate from a dynamic size
(rt_pipeline->stack_size = 0) we can run into this undefinied behavior
issue.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: f68d64dac015 ("anv: Add support for vkCmdSetRayTracingPipelineStackSizeKHR")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19781>

20 months agoci/alpine: rename job to alpine-build-testing
David Heidelberg [Wed, 16 Nov 2022 18:17:22 +0000 (19:17 +0100)]
ci/alpine: rename job to alpine-build-testing

Better describes what the job does.

@thx to MrCooper for suggestion.

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19789>

20 months agofrontends/va: Use YUV400 YUY2 444P for JPEG only
Leo Liu [Wed, 16 Nov 2022 14:50:14 +0000 (09:50 -0500)]
frontends/va: Use YUV400 YUY2 444P for JPEG only

Since these formats are only for JPEG, and not all the backend driver
supports these format. Eg radeonsi does, virgl doesn't, they should
be used only for JPEG profile.

Fixes d2c0ff1caf (frontends/va: add support for yuv400 and yuv444)

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

20 months agoradv: suspend/resume XFB queries with NGG for meta operations
Samuel Pitoiset [Wed, 16 Nov 2022 14:49:24 +0000 (15:49 +0100)]
radv: suspend/resume XFB queries with NGG for meta operations

XFB queries enable primitives generated queries with NGG and meta
operations shouldn't be counted.

Reproduced on GFX10.3 by forcing NGG streamout.

Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19785>

20 months agoaco: fix FS inputs loads in WQM with 16-bit
Samuel Pitoiset [Wed, 16 Nov 2022 10:35:19 +0000 (10:35 +0000)]
aco: fix FS inputs loads in WQM with 16-bit

p_wqm needs to use the same size.

Fixes: 16d2c7ad557 ("aco/gfx11: perform FS input loads in WQM")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19788>

20 months agoasahi: Unset PIPE_CAP_POINT_SIZE_FIXED
Alyssa Rosenzweig [Wed, 9 Nov 2022 01:38:40 +0000 (20:38 -0500)]
asahi: Unset PIPE_CAP_POINT_SIZE_FIXED

We do not support glPointSize(), we need point size lowered to gl_PointSize
writes in the frontend so we can use the GLES pat.

Fixes glamor.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>

20 months agoasahi: Set data_valid with PERSISTENT or COHERENT
Alyssa Rosenzweig [Tue, 8 Nov 2022 21:19:47 +0000 (16:19 -0500)]
asahi: Set data_valid with PERSISTENT or COHERENT

We won't get an unmap/flush but we could have had data already.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>

20 months agoasahi: Make resource creation code modifier-aware
Asahi Lina [Tue, 8 Nov 2022 21:17:36 +0000 (16:17 -0500)]
asahi: Make resource creation code modifier-aware

Needed for WSI.

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

20 months agoasahi: Fix indexed draw decode
Alyssa Rosenzweig [Tue, 8 Nov 2022 20:07:24 +0000 (15:07 -0500)]
asahi: Fix indexed draw decode

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>

20 months agoasahi: Add render scanout to resource
Asahi Lina [Tue, 8 Nov 2022 15:35:27 +0000 (10:35 -0500)]
asahi: Add render scanout to resource

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

20 months agoasahi: Set cfg.levels for linear framebuffers
Asahi Lina [Tue, 8 Nov 2022 15:35:00 +0000 (10:35 -0500)]
asahi: Set cfg.levels for linear framebuffers

Otherwise we will crash in GenXML, which does not specify a default here.

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

20 months agoasahi: Set fd/ro appropriately
Asahi Lina [Tue, 8 Nov 2022 15:34:17 +0000 (10:34 -0500)]
asahi: Set fd/ro appropriately

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

20 months agoasahi: Implement agx_resource_get_param
Asahi Lina [Tue, 8 Nov 2022 15:32:56 +0000 (10:32 -0500)]
asahi: Implement agx_resource_get_param

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

20 months agoasahi: Implement agx_resource_get_handle
Asahi Lina [Tue, 8 Nov 2022 15:31:26 +0000 (10:31 -0500)]
asahi: Implement agx_resource_get_handle

Only useful on Linux.

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

20 months agoasahi: Implement agx_resource_from_handle
Asahi Lina [Tue, 8 Nov 2022 15:31:02 +0000 (10:31 -0500)]
asahi: Implement agx_resource_from_handle

Only used on Linux, but can compile anywhere.

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

20 months agoasahi: Stub import/export code
Asahi Lina [Tue, 8 Nov 2022 15:20:03 +0000 (10:20 -0500)]
asahi: Stub import/export code

It will be used on Linux, and it is convenient to be able to compile the same
code on macOS in the mean time.

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

20 months agoasahi: Implement dmabuf modifier queries
Asahi Lina [Tue, 8 Nov 2022 15:10:12 +0000 (10:10 -0500)]
asahi: Implement dmabuf modifier queries

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