platform/upstream/mesa.git
23 months agointel/eu: Handle compaction when inserting validation errors
Kenneth Graunke [Tue, 19 Jul 2022 07:27:29 +0000 (00:27 -0700)]
intel/eu: Handle compaction when inserting validation errors

When the EU validator encountered an error, it would add an annotation
to the disassembly.  Unfortunately, the code to insert an error assumed
that the next instruction would start at (offset + sizeof(brw_inst)),
which is not true if the instruction with an error is compacted.

This could lead to cascading disassembly errors, where we started trying
to decode the next instruction at the wrong offset, and getting lots of
scary looking output:

   ERROR: Register Regioning patterns where [...]
   (-f0.1.any16h) illegal(*** invalid execution size value 6 )      { align1 $7.src atomic };
   (+f0.1.any16h) illegal.sat(*** invalid execution size value 6 )  { align1 $9.src AccWrEnable };
   illegal(*** invalid execution size value 6 )                     { align1 $11.src };
   (+f0.1) illegal.sat(*** invalid execution size value 6 )         { align1 F@2 AccWrEnable };
   (+f0.1) illegal.sat(*** invalid execution size value 6 )         { align1 F@2 AccWrEnable };
   (+f0.1) illegal.sat(*** invalid execution size value 6 )         { align1 $15.src AccWrEnable };
   illegal(*** invalid execution size value 6 )                     { align1 $15.src };
   (+f0.1) illegal.sat.g.f0.1(*** invalid execution size value 6 )  { align1 $13.src AccWrEnable };

Only the first instruction was actually wrong - the rest are just a
result of starting the disassembler at the wrong offset.  Trash ensues!

To fix this, just pass the instruction size in a few layers so we can
record the next offset properly.

Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624>

23 months agovirgL: lower fneg and fabs
Gert Wollny [Wed, 27 Jul 2022 13:13:12 +0000 (15:13 +0200)]
virgL: lower fneg and fabs

The host doesn't currently handle source mods on immediate values
correctly, so lower the ops that would create these source mods.

v2: update trace checksum

Fixes:  c5cc9ed29b50ada77f875ad0d999678021678922
    virgl: Switch to nir-to-tgsi by default.

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

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17765>

23 months agoutil/reallocarray: add errno.h include.
Dave Airlie [Thu, 28 Jul 2022 03:25:23 +0000 (13:25 +1000)]
util/reallocarray: add errno.h include.

Might fix OSX

Fixes: 419b52f1de6fd ("util: add reallocarray wrapper for win32")
Tested-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17779>

23 months agodocs/ci: fix Emma's name
Eric Engestrom [Thu, 28 Jul 2022 16:39:40 +0000 (17:39 +0100)]
docs/ci: fix Emma's name

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

23 months agozink: print result code string on vulkan failure
TSnake41 [Thu, 28 Jul 2022 16:05:21 +0000 (18:05 +0200)]
zink: print result code string on vulkan failure

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17726>

23 months agor600: Don't set TES_EVAL UCP dirty when it is not supported
Gert Wollny [Thu, 28 Jul 2022 15:28:35 +0000 (17:28 +0200)]
r600: Don't set TES_EVAL UCP dirty when it is not supported

Fixes: 3340c7ce359252ad09b3e4d338837944482fb248
    r600/sfn: lower CLIPVERTEX to clip planes

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17793>

23 months agov3dv: expose Vulkan 1.2
Iago Toral Quiroga [Wed, 11 May 2022 10:35:08 +0000 (12:35 +0200)]
v3dv: expose Vulkan 1.2

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agobroadcom/ci: update list of slow tests
Iago Toral Quiroga [Thu, 28 Jul 2022 10:49:59 +0000 (12:49 +0200)]
broadcom/ci: update list of slow tests

These showed up in some runs for me.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agov3dv: enable missing mandatory Vulkan 1.2 features
Iago Toral Quiroga [Thu, 12 May 2022 06:25:05 +0000 (08:25 +0200)]
v3dv: enable missing mandatory Vulkan 1.2 features

For some reason the Vulkan spec required that these features must be
supported even though they only affect features that are optional
in Vulkan 1.2 and that we don't support, so enabling them doesn't
have any practical implications for us.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agov3dv: enable missing Vulkan 1.2 features for supported extensions
Iago Toral Quiroga [Wed, 11 May 2022 12:01:28 +0000 (14:01 +0200)]
v3dv: enable missing Vulkan 1.2 features for supported extensions

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agov3dv: fill in Vulkan 1.2 missing device properties
Iago Toral Quiroga [Wed, 11 May 2022 12:11:39 +0000 (14:11 +0200)]
v3dv: fill in Vulkan 1.2 missing device properties

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agov3dv: explicitly set sampler min/max filter properties to false
Iago Toral Quiroga [Wed, 11 May 2022 10:33:11 +0000 (12:33 +0200)]
v3dv: explicitly set sampler min/max filter properties to false

Our hardware doesn't support min/max filtering.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786>

23 months agodocs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv
Eric Engestrom [Wed, 27 Jul 2022 13:33:21 +0000 (14:33 +0100)]
docs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv

Fixes: 2686c5419d67aab365c8 ("v3dv: add Android support")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17767>

23 months agodocs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip
Eric Engestrom [Wed, 27 Jul 2022 13:38:39 +0000 (14:38 +0100)]
docs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip

Fixes: 5789505ab3b62e40fb30 ("turnip: Make Android platform build")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17767>

23 months agonouveau: use existing list_first_entry() macro instead of re-writing it
Eric Engestrom [Wed, 27 Jul 2022 15:49:18 +0000 (16:49 +0100)]
nouveau: use existing list_first_entry() macro instead of re-writing it

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

23 months agoutil/list: rename LIST_ENTRY() to list_entry()
Eric Engestrom [Wed, 27 Jul 2022 15:48:11 +0000 (16:48 +0100)]
util/list: rename LIST_ENTRY() to list_entry()

This follows the Linux kernel convention, and avoids collision with
macOS header macro.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6751
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6840
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17772>

23 months agoturnip: Simple breadcrumbs implementation to debug hangs
Danylo Piliaiev [Fri, 18 Mar 2022 11:47:24 +0000 (13:47 +0200)]
turnip: Simple breadcrumbs implementation to debug hangs

A simple implementations of breadcrumbs tracking of GPU progress
intended to be the last resort when debugging unrecoverable hangs.
For best results use Vulkan traces to have a predictable place of hang.

Requires compilation with TU_BREADCRUMBS_ENABLED=1. See tu_cs_breadcrumbs.c
for details on how to use this feature.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15452>

23 months agoutil/u_threaded: fix a CPU storage crash due to an invalid codepath taken
Marek Olšák [Fri, 15 Jul 2022 11:31:49 +0000 (07:31 -0400)]
util/u_threaded: fix a CPU storage crash due to an invalid codepath taken

Fixes: 3df9d8ed807 - gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6837
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6594
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6613

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17556>

23 months agolavapipe: enable VK_EXT_depth_range_unrestricted.
Dave Airlie [Mon, 18 Jul 2022 06:04:17 +0000 (16:04 +1000)]
lavapipe: enable VK_EXT_depth_range_unrestricted.

This passes all the VK CTS tests.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

23 months agollvmpipe/fs: handle unrestricted depth values.
Dave Airlie [Tue, 19 Jul 2022 04:41:01 +0000 (14:41 +1000)]
llvmpipe/fs: handle unrestricted depth values.

It moves the explicit clamping of incoming Z from vertex stages
after interp, to the depth clamp function.

It adds support to the depth clamp function to restrict incoming
Z values to 0..1 range.

It fixes the depth test conversions to allow unrestricted depth
values.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

23 months agoutil/pack_color: clamp depth values outside range for unorm formats.
Dave Airlie [Mon, 18 Jul 2022 01:30:31 +0000 (11:30 +1000)]
util/pack_color: clamp depth values outside range for unorm formats.

For unrestricted depth ranges, depth clear values for unorm buffers
need to be explicitly clamped. However this has to happen in the
driver when we know the depth buffer format, not at the API level.

Just add clamps to the non-f32 cases and separate it out.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

23 months agomesa/st: disable unrestricted fragment depth values for GL/GLES
Dave Airlie [Tue, 19 Jul 2022 05:15:03 +0000 (15:15 +1000)]
mesa/st: disable unrestricted fragment depth values for GL/GLES

GLES always clamps for 32-bit float buffers, GL doesn't require
it but setting this per API causes virgl to fail some tests.

To fix is properly we'd need to introduce a CAP to expose
this between host/guest.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

23 months agogallium: add a rasterizer state bit for unrestricted depth values.
Dave Airlie [Tue, 19 Jul 2022 05:14:06 +0000 (15:14 +1000)]
gallium: add a rasterizer state bit for unrestricted depth values.

This tells the drivers to expect depth values outside the 0..1 range.

This is used for support VK_EXT_depth_range_unrestricted, but could
also be used for GL_NV_depth_buffer_float in GL.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612>

23 months agollvmpipe: Allocate scene tiles dynamically
Dave Airlie [Fri, 1 May 2020 03:31:57 +0000 (13:31 +1000)]
llvmpipe: Allocate scene tiles dynamically

If you allocate this statically it's 1.5MB because the framebuffer might
be 16k x 16k, that's excessive.

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

23 months agollvmpipe: Indentation fix
Adam Jackson [Tue, 26 Jul 2022 18:13:04 +0000 (14:13 -0400)]
llvmpipe: Indentation fix

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

23 months agoutil: add reallocarray wrapper for win32
Dave Airlie [Wed, 27 Jul 2022 21:00:07 +0000 (07:00 +1000)]
util: add reallocarray wrapper for win32

Acked-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17746>

23 months agollvmpipe: add some const qualifiers in lp_rast_linear_fallback.c
Brian Paul [Tue, 21 Jun 2022 20:47:12 +0000 (14:47 -0600)]
llvmpipe: add some const qualifiers in lp_rast_linear_fallback.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: tighten up some code in lp_rast_linear_fallback.c
Brian Paul [Tue, 21 Jun 2022 20:45:58 +0000 (14:45 -0600)]
llvmpipe: tighten up some code in lp_rast_linear_fallback.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: consolidate code in lp_rast_linear_fallback.c
Brian Paul [Mon, 18 Jul 2022 16:12:50 +0000 (10:12 -0600)]
llvmpipe: consolidate code in lp_rast_linear_fallback.c

Combine shade_quads_all() and shade_quads_mask() into new
shade_quads() function which takes a mask parameter.  It calls either
jit_function[RAST_WHOLE] or jit_function[RAST_EDGE_TEST] depending on
the mask argument.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: remove unneeded casts in lp_rast_linear_fallback.c
Brian Paul [Mon, 18 Jul 2022 16:10:29 +0000 (10:10 -0600)]
llvmpipe: remove unneeded casts in lp_rast_linear_fallback.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: asst. clean-up in lp_rast_linear_fallback.c
Brian Paul [Mon, 20 Jun 2022 20:43:01 +0000 (14:43 -0600)]
llvmpipe: asst. clean-up in lp_rast_linear_fallback.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: pass frontfacing param to jit_function() call
Brian Paul [Mon, 20 Jun 2022 19:57:22 +0000 (13:57 -0600)]
llvmpipe: pass frontfacing param to jit_function() call

Instead of 1, in shade_quads_all() and shade_quads_mask().  This fixes
a VMware test (dx10-is-front-face)

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: minor whitespace clean-up in lp_state_fs.h
Brian Paul [Thu, 14 Jul 2022 03:40:00 +0000 (21:40 -0600)]
llvmpipe: minor whitespace clean-up in lp_state_fs.h

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: make opaque field a 1-bit field
Brian Paul [Fri, 15 Jul 2022 14:43:07 +0000 (08:43 -0600)]
llvmpipe: make opaque field a 1-bit field

Reduces sizeof(lp_fragment_shader_variant) from 296 to 288 bytes.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agogallivm: rename 'var' param in emit_store_reg(), emit_store_var().
Brian Paul [Thu, 7 Jul 2022 21:04:35 +0000 (15:04 -0600)]
gallivm: rename 'var' param in emit_store_reg(), emit_store_var().

Rename 'dst' param' to 'vals'.  This parameter contains the values
which we're storing.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agogallivm: fix incorrect memset() in SOA emit_load_const()
Brian Paul [Tue, 5 Jul 2022 22:42:20 +0000 (16:42 -0600)]
gallivm: fix incorrect memset() in SOA emit_load_const()

The memset() call to zero-out the unused elements of outval[] used
the wrong bytecount.  Just replace it with a simpler for loop.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agogallivm: simplify shuffling in emit_store_reg()
Brian Paul [Tue, 5 Jul 2022 22:34:39 +0000 (16:34 -0600)]
gallivm: simplify shuffling in emit_store_reg()

The writemask can be implemented with just one llvm vector shuffle.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agogallivm: asst. clean-ups in lp_bld_swizzle.c
Brian Paul [Thu, 23 Jun 2022 04:07:12 +0000 (22:07 -0600)]
gallivm: asst. clean-ups in lp_bld_swizzle.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: replace 'unsigned' with enum types
Brian Paul [Wed, 22 Jun 2022 18:42:38 +0000 (12:42 -0600)]
llvmpipe: replace 'unsigned' with enum types

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: remove unneeded casts
Brian Paul [Wed, 22 Jun 2022 18:41:59 +0000 (12:41 -0600)]
llvmpipe: remove unneeded casts

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: asst. clean-ups in lp_state_setup.c
Brian Paul [Wed, 22 Jun 2022 18:41:18 +0000 (12:41 -0600)]
llvmpipe: asst. clean-ups in lp_state_setup.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: minor optimization in lp_linear_init_interp()
Brian Paul [Wed, 22 Jun 2022 18:29:24 +0000 (12:29 -0600)]
llvmpipe: minor optimization in lp_linear_init_interp()

Skip multiplying by 1/w when it's 1.0.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: asst. clean-ups in lp_linear_interp.c
Brian Paul [Wed, 22 Jun 2022 18:27:44 +0000 (12:27 -0600)]
llvmpipe: asst. clean-ups in lp_linear_interp.c

Comments, move var decls, fix code formatting.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agogallivm: asst. clean-ups in lp_bld_const.c
Brian Paul [Wed, 22 Jun 2022 15:57:47 +0000 (09:57 -0600)]
gallivm: asst. clean-ups in lp_bld_const.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: asst. clean-ups in lp_setup_rect.c
Brian Paul [Tue, 21 Jun 2022 21:13:49 +0000 (15:13 -0600)]
llvmpipe: asst. clean-ups in lp_setup_rect.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: minor white-space clean-up in lp_setup.h
Brian Paul [Tue, 21 Jun 2022 21:07:45 +0000 (15:07 -0600)]
llvmpipe: minor white-space clean-up in lp_setup.h

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agollvmpipe: asst. clean-up in lp_bld_depth.c
Brian Paul [Mon, 20 Jun 2022 20:42:21 +0000 (14:42 -0600)]
llvmpipe: asst. clean-up in lp_bld_depth.c

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561>

23 months agomailmap: fix order of emails for Axel Davy
David Heidelberg [Wed, 27 Jul 2022 20:12:07 +0000 (22:12 +0200)]
mailmap: fix order of emails for Axel Davy

Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698>

23 months agonine: char can be unsigned on non-x86 platforms
David Heidelberg [Thu, 21 Jul 2022 21:43:07 +0000 (23:43 +0200)]
nine: char can be unsigned on non-x86 platforms

Keep sign by using int8_t to get the same result on non-x86 machines.

Reviewed-by: Axel Davy <davyaxel0@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698>

23 months agonine: Only enable thread_submit by default on x86
Icecream95 [Thu, 15 Jul 2021 02:30:53 +0000 (14:30 +1200)]
nine: Only enable thread_submit by default on x86

Possibly the bug breaking this is in box86, but given that there
aren't a whole lot of other reasons to be using Nine with a non-x86
Mesa, disable the feature unless we are running on x86.

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

23 months agonine: Make vdecl_index_map always signed
Icecream95 [Sun, 18 Oct 2020 11:36:10 +0000 (00:36 +1300)]
nine: Make vdecl_index_map always signed

vdecl_index_map needs to be able to store negative values, but char is
not signed on all platforms, so change it to int8_t.

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

23 months agozink/llvmpipe/ci: skip broken CTS ballot test.
Dave Airlie [Mon, 18 Jul 2022 06:36:55 +0000 (16:36 +1000)]
zink/llvmpipe/ci: skip broken CTS ballot test.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agozink: fixup subgroup vote/ballot enables.
Dave Airlie [Mon, 18 Jul 2022 04:15:41 +0000 (14:15 +1000)]
zink: fixup subgroup vote/ballot enables.

These are part of vulkan 1.1, but the ext are if you don't have 1.1.

This will enable some tests that break in CI

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agolavapipe: expose some subgroup extensions
Dave Airlie [Sun, 17 Jul 2022 23:18:48 +0000 (09:18 +1000)]
lavapipe: expose some subgroup extensions

These are part of vulkan 1.2, but expose them to be nice.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agollvmpipe: export ARB_shader_ballot
Dave Airlie [Mon, 18 Jul 2022 05:51:32 +0000 (15:51 +1000)]
llvmpipe: export ARB_shader_ballot

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agogallivm: fix casting around read invocation.
Dave Airlie [Mon, 18 Jul 2022 03:58:38 +0000 (13:58 +1000)]
gallivm: fix casting around read invocation.

Fixes zink KHR-GL46.shader_ballot_tests.ShaderBallotAvailability

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agogallivm: use progress from subgroup lowering.
Dave Airlie [Mon, 18 Jul 2022 05:00:01 +0000 (15:00 +1000)]
gallivm: use progress from subgroup lowering.

This makes sure the pack lowering gets called again.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>

23 months agotu: Add debug option to use emulated renderpass support
Connor Abbott [Mon, 18 Jul 2022 14:49:59 +0000 (16:49 +0200)]
tu: Add debug option to use emulated renderpass support

This should be useful for stress-testing dynamic rendering.

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

23 months agotu: Use common vk_image_view base struct
Connor Abbott [Mon, 18 Jul 2022 11:07:57 +0000 (13:07 +0200)]
tu: Use common vk_image_view base struct

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

23 months agotu: Use common vk_image struct
Connor Abbott [Mon, 18 Jul 2022 10:30:59 +0000 (12:30 +0200)]
tu: Use common vk_image struct

This eliminates some boilerplate, and will be necessary to use the
common render pass implementation for debugging purposes.

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

23 months agotu: Add support for suspending and resuming renderpasses
Connor Abbott [Thu, 30 Jun 2022 15:36:05 +0000 (17:36 +0200)]
tu: Add support for suspending and resuming renderpasses

This is unfortunately very complicated because we have to stitch
together the state of the suspended passes after the fact, with primary
command buffers at submit time.

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

23 months agoutil/trace: Fix u_trace_*_iterator with no tracepoints
Connor Abbott [Fri, 8 Jul 2022 10:36:59 +0000 (12:36 +0200)]
util/trace: Fix u_trace_*_iterator with no tracepoints

If u_trace is empty then there are no chunks, and we didn't account for
that case.

This fixes tracing some dynamic rendering tests.

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

23 months agotu: Split out some state into a separate struct
Connor Abbott [Wed, 29 Jun 2022 09:03:25 +0000 (11:03 +0200)]
tu: Split out some state into a separate struct

These bits of state will have to be treated specially when
suspending/resuming a render pass, because they will need to be tracked
across command buffers.

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

23 months agotu: Update more state with secondaries
Connor Abbott [Tue, 28 Jun 2022 15:18:06 +0000 (17:18 +0200)]
tu: Update more state with secondaries

Some of these are actually bugfixes, some like the drawcall information
are just for autotune so they are just performance fixes. However this
came from an audit into what state is used in CmdEndRenderPass().

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

23 months agotu: Remove has_subpass_predication
Connor Abbott [Tue, 28 Jun 2022 15:06:01 +0000 (17:06 +0200)]
tu: Remove has_subpass_predication

The workaround this was used for was removed.

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

23 months agotu: Initial support for dynamic rendering
Connor Abbott [Tue, 28 Jun 2022 08:33:01 +0000 (10:33 +0200)]
tu: Initial support for dynamic rendering

Support for suspend/resume will be added later. This just sets up
the internal render pass, and adds support to pipeline creation and
secondary inheritance.

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

23 months agotu: Remove usage of RenderPassBeginInfo
Connor Abbott [Fri, 24 Jun 2022 14:39:53 +0000 (16:39 +0200)]
tu: Remove usage of RenderPassBeginInfo

More preparation for using this with dynamic rendering.

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

23 months agotu: Move tu_render_pass definition up
Connor Abbott [Fri, 24 Jun 2022 13:15:44 +0000 (15:15 +0200)]
tu: Move tu_render_pass definition up

So that we can embed one in tu_cmd_buffer.

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

23 months agotu: Disable GMEM for multiview inside tu_render_pass_gmem_config
Connor Abbott [Tue, 5 Jul 2022 17:49:22 +0000 (19:49 +0200)]
tu: Disable GMEM for multiview inside tu_render_pass_gmem_config

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

23 months agotu: Move TU_DONT_CARE_AS_LOAD into attachment_set_ops()
Connor Abbott [Fri, 24 Jun 2022 13:05:34 +0000 (15:05 +0200)]
tu: Move TU_DONT_CARE_AS_LOAD into attachment_set_ops()

So that we can share it with dynamic rendering.

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

23 months agotu: Rewrite tess factor emission
Connor Abbott [Thu, 14 Jul 2022 16:25:58 +0000 (18:25 +0200)]
tu: Rewrite tess factor emission

Emit it at EndRenderPass time, if the renderpass has tessellation. This
avoids all the special handling for secondaries, will work with
suspended/resumed render passes, and will handle secondaries that
contain render passes which will be allowed with dynamic rendering.

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

23 months agotu: Treat CP_WAIT_FOR_ME as a cache invalidate
Connor Abbott [Sat, 16 Jul 2022 20:58:59 +0000 (22:58 +0200)]
tu: Treat CP_WAIT_FOR_ME as a cache invalidate

The workaround for draws that need a CP_WAIT_FOR_ME didn't work if the
barrier before the draw is in a separate command buffer from the draw.
The barrier would add a pending CP_WAIT_FOR_ME, but it would get dropped
on the floor at the end of the command buffer and the draw wouldn't have
a pending CP_WAIT_FOR_ME so it wouldn't emit one. We don't know in the
barrier if the destination is a draw with the workaround, so we have two
options:

- Emit any pending CP_WAIT_FOR_ME at the end of the command buffer (and
  before secondaries) in case there is a workaround draw later. This
  will emit an extra CP_WAIT_FOR_ME at the end of the command buffer in
  case there is an indirect command barrier.
- Always assume at the beginning of the command buffer that there is a
  pending CP_WAIT_FOR_ME. This will emit an extra CP_WAIT_FOR_ME before
  the first workaround-requiring draw in the command buffer, in case
  there was a barrier earlier.

The only draws requiring a workaround are currently
vkCmdDraw*IndirectCount(), which we assume are rarer than indirect
command barriers, so we implement the second option. This entails
treating it as a cache invalidate.

This fixes some upcoming dynamic rendering CTS tests that do
vkCmdDrawIndirectCount() in a secondary but put the barrier for it in
the primary.

Fixes: 37939e9c546 ("turnip: Fix the lack of WFM before indirect draws")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378>

23 months agotu/lrz: Do not use framebuffer when inheriting LRZ
Connor Abbott [Wed, 29 Jun 2022 09:33:56 +0000 (11:33 +0200)]
tu/lrz: Do not use framebuffer when inheriting LRZ

The only thing it's used for is to get the image view, and we can't rely
on it existing anyway. With dynamic rendering, we only have the format
of the attachments and sample count, so moving forward we can't rely on
anything other than that.

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

23 months agonir/fold_16bit_tex_image: Default to only_fold_all.
Georg Lehmann [Tue, 26 Jul 2022 18:14:34 +0000 (20:14 +0200)]
nir/fold_16bit_tex_image: Default to only_fold_all.

No driver doesn't use this option.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17757>

23 months agoradeonsi: Stop using nir_legalize_16bit_sampler_srcs.
Georg Lehmann [Tue, 26 Jul 2022 17:55:36 +0000 (19:55 +0200)]
radeonsi: Stop using nir_legalize_16bit_sampler_srcs.

This pass is problematic because it truncates sources when there are type
mismatches. With the right nir_fold_16bit_tex_image options we can ensure
that there is never a mismatch.

Other changes: bias is affected by A16 https://reviews.llvm.org/D111754
And enable G16 as we recently confirmed that it's fully independent from A16.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17757>

23 months agozink/turnip: Add comments to already triaged failures for tu baseline
Danylo Piliaiev [Wed, 27 Jul 2022 10:23:13 +0000 (13:23 +0300)]
zink/turnip: Add comments to already triaged failures for tu baseline

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17762>

23 months agoir3: set UL flag before ir3_lower_subgroups
Chia-I Wu [Fri, 22 Jul 2022 17:33:20 +0000 (10:33 -0700)]
ir3: set UL flag before ir3_lower_subgroups

ir3_legalize_relative, extracted from ir3_legalize, assumes a0 is loaded
first in each block if there is any user in the block.
ir3_lower_subgroups breaks the assumption.  We need to do
ir3_legalize_relative first.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6902
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17720>

23 months agollvmpipe: fix texcoord analysis regression
Brian Paul [Mon, 25 Jul 2022 17:39:12 +0000 (11:39 -0600)]
llvmpipe: fix texcoord analysis regression

The texcoord component can be specifed by the src registers swizzle
or the variable's location_frac field.

Signed-off-by: Brian Paul <brianp@vmware.com>
Fixes: 90d011de8ee ("llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6889
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17743>

23 months agoaco/ir: Add swapped opcode for v_cmp_u/v_cmp_o.
Georg Lehmann [Wed, 27 Jul 2022 10:43:31 +0000 (12:43 +0200)]
aco/ir: Add swapped opcode for v_cmp_u/v_cmp_o.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agoaco/ir: Add v_cmp_class to get_cmp_info.
Georg Lehmann [Wed, 27 Jul 2022 10:34:27 +0000 (12:34 +0200)]
aco/ir: Add v_cmp_class to get_cmp_info.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agoaco/ir: Add vcmpx opcode to get_cmp_info.
Georg Lehmann [Wed, 27 Jul 2022 10:27:07 +0000 (12:27 +0200)]
aco/ir: Add vcmpx opcode to get_cmp_info.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agoaco/ir: Fix swapped nle.
Georg Lehmann [Wed, 27 Jul 2022 10:04:58 +0000 (12:04 +0200)]
aco/ir: Fix swapped nle.

Cc: mesa-stable
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agoaco/ir: Add integer get_cmp_info.
Georg Lehmann [Wed, 27 Jul 2022 10:03:22 +0000 (12:03 +0200)]
aco/ir: Add integer get_cmp_info.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agoaco/ir: Generalize (un)ordered_swapped.
Georg Lehmann [Wed, 27 Jul 2022 09:43:03 +0000 (11:43 +0200)]
aco/ir: Generalize (un)ordered_swapped.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763>

23 months agopvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory
Sarah Walker [Mon, 4 Jul 2022 09:05:30 +0000 (10:05 +0100)]
pvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory

The new kernel mode driver will provide the relevant information directly to
userspace, so this code is only required for pvrsrvkm.

Signed-off-by: Sarah Walker <sarah.walker@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17595>

23 months agoanv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR
Jordan Justen [Wed, 27 Jul 2022 03:20:24 +0000 (20:20 -0700)]
anv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR

Reported-by: Dave Airlie <airlied@redhat.com>
Fixes: fae88d8791b ("anv: make use of the new smallbar uAPI")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6937
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17761>

23 months agoradv: Use NIR-based NGG lowering with LLVM.
Timur Kristóf [Tue, 17 May 2022 17:18:37 +0000 (19:18 +0200)]
radv: Use NIR-based NGG lowering with LLVM.

Also cleanup some unused code.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792>

23 months agoradv: Properly set LDS size for LLVM NGG shaders.
Timur Kristóf [Tue, 17 May 2022 16:51:54 +0000 (18:51 +0200)]
radv: Properly set LDS size for LLVM NGG shaders.

Update the esgs_ring_size after ac_nir_lower_ngg.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792>

23 months agoradv/llvm: Remove incorrect hardcoded workgroup size from NGG GS.
Timur Kristóf [Thu, 9 Sep 2021 13:11:43 +0000 (15:11 +0200)]
radv/llvm: Remove incorrect hardcoded workgroup size from NGG GS.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792>

23 months agoac/llvm: Implement GDS atomic add NIR intrinsic.
Timur Kristóf [Wed, 8 Sep 2021 08:14:09 +0000 (10:14 +0200)]
ac/llvm: Implement GDS atomic add NIR intrinsic.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792>

23 months agodri: add [ax]bgr16161616 to format lookup tables
Manuel Stoeckl [Tue, 18 Jan 2022 03:03:20 +0000 (22:03 -0500)]
dri: add [ax]bgr16161616 to format lookup tables

Note: The format __DRI_IMAGE_FORMAT_ABGR16161616 was already
in the dri2_format_table, but had been hidden from outside view,
for lack of an official DRM fourcc. Since its fourcc has now been
assigned, it is safe to reveal the format.

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

23 months agodri: fix incorrect fourcc for R16G16B16A16_UNORM format
Manuel Stoeckl [Tue, 18 Jan 2022 03:02:48 +0000 (22:02 -0500)]
dri: fix incorrect fourcc for R16G16B16A16_UNORM format

The DRM fourcc for this format is DRM_FORMAT_ABGR16161616 = 'AB48', not
__DRI_IMAGE_FOURCC_RGBA16161616 = 'RA48'. This should have no outward
effect for clients, since the format does not get revealed by
dri2_query_dma_buf_formats, and is otherwise only used within the
library.

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

23 months agogbm: add GBM_FORMAT_[AX]BGR16161616
Manuel Stoeckl [Mon, 10 Jan 2022 02:30:29 +0000 (21:30 -0500)]
gbm: add GBM_FORMAT_[AX]BGR16161616

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

23 months agodri_interface: add XBGR16161616 format
Manuel Stoeckl [Mon, 10 Jan 2022 02:28:36 +0000 (21:28 -0500)]
dri_interface: add XBGR16161616 format

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580>

23 months agoac/gpu_info: require amdgpu DRM 3.15.0 (kernel 4.12) from July 2017
Marek Olšák [Mon, 11 Jul 2022 04:48:51 +0000 (00:48 -0400)]
ac/gpu_info: require amdgpu DRM 3.15.0 (kernel 4.12) from July 2017

to match the radeon requirement

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

23 months agogallium/radeon: require radeon DRM 2.50.0 (kernel 4.12) from July 2017
Marek Olšák [Mon, 11 Jul 2022 04:43:07 +0000 (00:43 -0400)]
gallium/radeon: require radeon DRM 2.50.0 (kernel 4.12) from July 2017

This is the latest radeon DRM version.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

23 months agoac/gpu_info: remove unused has_unaligned_shader_loads
Marek Olšák [Mon, 11 Jul 2022 04:38:43 +0000 (00:38 -0400)]
ac/gpu_info: remove unused has_unaligned_shader_loads

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

23 months agoac/gpu_info: remove amdgpu_gpu_info parameter from ac_query_gpu_info
Marek Olšák [Mon, 11 Jul 2022 04:27:59 +0000 (00:27 -0400)]
ac/gpu_info: remove amdgpu_gpu_info parameter from ac_query_gpu_info

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

23 months agoac/gpu_info: use drm_amdgpu_device_info instead of amdgpu_gpu_info
Marek Olšák [Mon, 11 Jul 2022 04:24:46 +0000 (00:24 -0400)]
ac/gpu_info: use drm_amdgpu_device_info instead of amdgpu_gpu_info

These fields are identical but the latter is from libdrm.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

23 months agoradeonsi: remove workarounds for radeon DRM < 2.45.0
Marek Olšák [Fri, 8 Jul 2022 00:33:40 +0000 (20:33 -0400)]
radeonsi: remove workarounds for radeon DRM < 2.45.0

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>