platform/upstream/mesa.git
2 years agosubprojects: Point DirectX-Headers at a specific tag
Jesse Natalie [Thu, 14 Jul 2022 21:54:54 +0000 (14:54 -0700)]
subprojects: Point DirectX-Headers at a specific tag

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548>

2 years agomicrosoft/clc: Add helpers to build with correct ABI for MinGW
Jesse Natalie [Thu, 14 Jul 2022 21:54:34 +0000 (14:54 -0700)]
microsoft/clc: Add helpers to build with correct ABI for MinGW

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548>

2 years agod3d12: Add helpers to build with correct ABI for MinGW
Jesse Natalie [Thu, 14 Jul 2022 21:54:18 +0000 (14:54 -0700)]
d3d12: Add helpers to build with correct ABI for MinGW

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548>

2 years agodzn: Remove the cast when the SDK version is high enough
Jesse Natalie [Thu, 14 Jul 2022 21:58:25 +0000 (14:58 -0700)]
dzn: Remove the cast when the SDK version is high enough

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548>

2 years agodzn: Missed ABI fixes for GetCustomHeapProperties
Jesse Natalie [Thu, 14 Jul 2022 16:37:25 +0000 (09:37 -0700)]
dzn: Missed ABI fixes for GetCustomHeapProperties

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548>

2 years agodocs/isl: fix typos & formatting
Eric Engestrom [Wed, 13 Jul 2022 17:53:22 +0000 (18:53 +0100)]
docs/isl: fix typos & formatting

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17522>

2 years agoradv: Only set pstate for the first hw_ctx.
Tatsuyuki Ishi [Thu, 14 Jul 2022 12:23:50 +0000 (21:23 +0900)]
radv: Only set pstate for the first hw_ctx.

We used to do it for every queue, which was duplicate work as pstate is
per-device. It could also cause trouble when multiple hw_ctx are created as
the call will succeed for only one of them and the rest will return -EBUSY.

Simplify and fix this by only setting for the first non-null hw_ctx.

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

2 years agoradv: Expose VK_NV_device_generated_commands.
Bas Nieuwenhuizen [Fri, 7 Jan 2022 11:02:11 +0000 (12:02 +0100)]
radv: Expose VK_NV_device_generated_commands.

Closes: #6736

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

2 years agoradv: Add stub for vkCmdBindPipelineShaderGroupNV.
Bas Nieuwenhuizen [Thu, 14 Jul 2022 10:54:37 +0000 (12:54 +0200)]
radv: Add stub for vkCmdBindPipelineShaderGroupNV.

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

2 years agoradv: Implement CmdExecuteGeneratedCommandsNV.
Bas Nieuwenhuizen [Mon, 27 Jun 2022 21:29:04 +0000 (23:29 +0200)]
radv: Implement CmdExecuteGeneratedCommandsNV.

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

2 years agoradv: Implement DGC cmdbuffer generation.
Bas Nieuwenhuizen [Mon, 27 Jun 2022 21:28:14 +0000 (23:28 +0200)]
radv: Implement DGC cmdbuffer generation.

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

2 years agoradv: Implement DGC generated command layout structure.
Bas Nieuwenhuizen [Mon, 27 Jun 2022 21:21:08 +0000 (23:21 +0200)]
radv: Implement DGC generated command layout structure.

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

2 years agoradv: Add DGC meta shader.
Bas Nieuwenhuizen [Mon, 7 Feb 2022 02:28:01 +0000 (03:28 +0100)]
radv: Add DGC meta shader.

This generated the cmd and upload buffers.

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

2 years agoradv: Add flushing for DGC.
Bas Nieuwenhuizen [Mon, 27 Jun 2022 22:14:49 +0000 (00:14 +0200)]
radv: Add flushing for DGC.

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

2 years agoradv: Add helper to write scissors.
Bas Nieuwenhuizen [Wed, 13 Jul 2022 12:06:02 +0000 (14:06 +0200)]
radv: Add helper to write scissors.

For use by DGC shader.

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

2 years agoradv: Make radv_get_vgt_index_size non-static.
Bas Nieuwenhuizen [Thu, 7 Jul 2022 00:33:10 +0000 (02:33 +0200)]
radv: Make radv_get_vgt_index_size non-static.

For DGC cmdbuffer generation use.

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

2 years agoradv: Expose helper for base pa_su_sc_mode_cntl.
Bas Nieuwenhuizen [Mon, 27 Jun 2022 22:37:02 +0000 (00:37 +0200)]
radv: Expose helper for base pa_su_sc_mode_cntl.

So that we can feed it to the DGC shader for front face overrides.

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

2 years agoradv: Require 32bit memory for indirect buffers.
Bas Nieuwenhuizen [Mon, 7 Feb 2022 01:08:51 +0000 (02:08 +0100)]
radv: Require 32bit memory for indirect buffers.

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

2 years agoradv: Always store stride in the vbo descriptor.
Bas Nieuwenhuizen [Mon, 7 Feb 2022 01:04:56 +0000 (02:04 +0100)]
radv: Always store stride in the vbo descriptor.

So we can use it in the DGC shader.

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

2 years agoradv: Expose function to write vertex descriptors for dgc.
Bas Nieuwenhuizen [Sat, 1 Jan 2022 22:38:38 +0000 (23:38 +0100)]
radv: Expose function to write vertex descriptors for dgc.

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

2 years agoradv: Skip setting empty index buffers to avoid hang
Bas Nieuwenhuizen [Sun, 30 Jan 2022 00:54:12 +0000 (01:54 +0100)]
radv: Skip setting empty index buffers to avoid hang

In the direct path we already skipped draws, but in DGC I noticed
that just emitting these packets can cause issues ...

Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269>

2 years agoradv: Add a 32bit memory type.
Bas Nieuwenhuizen [Tue, 21 Dec 2021 22:29:58 +0000 (23:29 +0100)]
radv: Add a 32bit memory type.

Got to put the commandbuffers & uploadbuffers there. With DGC
those can be allocated by the application.

Excluding it from all other buffers/images to avoid using the
precious 32bit address space.

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

2 years agozink: always update sampler descriptor layouts on fb surface unbind
Mike Blumenkrantz [Thu, 7 Jul 2022 16:43:07 +0000 (12:43 -0400)]
zink: always update sampler descriptor layouts on fb surface unbind

this will affect the layout

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

2 years agozink: break out samplerview layout reset code
Mike Blumenkrantz [Tue, 12 Jul 2022 01:53:28 +0000 (21:53 -0400)]
zink: break out samplerview layout reset code

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

2 years agozink: use sampler_bind_count to simplify some code
Mike Blumenkrantz [Tue, 12 Jul 2022 01:49:55 +0000 (21:49 -0400)]
zink: use sampler_bind_count to simplify some code

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

2 years agozink: add a compiler pass to match up tex op dest types
Mike Blumenkrantz [Tue, 5 Jul 2022 17:08:25 +0000 (13:08 -0400)]
zink: add a compiler pass to match up tex op dest types

this handles bitsize conversions and depth component splatting to
enable simplifying some of the related ntv code

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

2 years agozink: always use 32bit sample ops
Mike Blumenkrantz [Tue, 5 Jul 2022 17:07:01 +0000 (13:07 -0400)]
zink: always use 32bit sample ops

while some (tg4) sample ops can use different bit sizes in spirv, most
cannot, and all the shader variables are always emitted as 32bit, so
ensure the 32bit type is always what's being used for sampling

cc: mesa-stable

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

2 years agozink: allow multiple tex components for depth tg4
Mike Blumenkrantz [Tue, 5 Jul 2022 17:05:43 +0000 (13:05 -0400)]
zink: allow multiple tex components for depth tg4

this returns a vec4, so don't break the return type by clamping 1 component

cc: mesa-stable

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

2 years agoCI: Disable Collabora lab
Daniel Stone [Fri, 15 Jul 2022 08:41:38 +0000 (09:41 +0100)]
CI: Disable Collabora lab

It's everyone's favourite day, infrastructure maintenance Friday.

This includes manual disables for a618-vk and zink-anv-tgl, because
apparently the disable-on-variable rules don't carry through to those
jobs for ... some reason.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17553>

2 years agoetnaviv: fix use after free in async shader compile
Lucas Stach [Thu, 14 Jul 2022 08:27:05 +0000 (10:27 +0200)]
etnaviv: fix use after free in async shader compile

When the shader state is destroyed before the async shader compile is
done, we get a use after free in the async thread, as the shader state
it is operating on is gone. Fix this by dropping any pending job from
the async queue or wait for it to finish before destroying the state
by calling util_queue_drop_job.

Also call util_queue_fence_destroy, which would have caught this issue
by asserting that the queue_fence is in signalled state when the
shader state is destroyed.

Fixes: 1141ed585901 ("etnaviv: async shader compile")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17534>

2 years agopvr: Add helper macros for creating pvr_dev_addr_t instances
Matt Coster [Tue, 12 Jul 2022 12:37:43 +0000 (13:37 +0100)]
pvr: Add helper macros for creating pvr_dev_addr_t instances

The two macros introduced here form a (hopefully) unobjectionable
subset of those added in !17203.

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

2 years agopvr: Split pvr_dev_addr_t into a separate header
Matt Coster [Wed, 29 Jun 2022 15:23:02 +0000 (16:23 +0100)]
pvr: Split pvr_dev_addr_t into a separate header

This type is useful beyond the scope of winsys.

It can now be used without being lumbered with a dependency on
pvr_winsys.h. Since pvr_winsys.h is used by pvr_private.h, this can be
a common cause for circular dependencies during development.

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

2 years agopvr: Update pvrsrv build version for fixed size fw.
Karmjit Mahil [Fri, 10 Jun 2022 09:10:13 +0000 (10:10 +0100)]
pvr: Update pvrsrv build version for fixed size fw.

It's still 1.17 but the version is changed due to the fixed size
fw struct update.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17491>

2 years agoci/lava: Add delay before calling lava-test-case
Guilherme Gallo [Thu, 14 Jul 2022 03:29:59 +0000 (00:29 -0300)]
ci/lava: Add delay before calling lava-test-case

Sleep a bit before executing `lava-test-case` to give time for bash to dump shell xtrace messages into
the console, which may cause interleaving with `LAVA_SIGNAL_STARTTC` in some
devices like a618.

The same approach worked for `LAVA_SIGNAL_STARTRUN` since
https://gitlab.freedesktop.org/mesa/mesa/-/commit/3b8d10d270413a1f49ccce5563c1e4e96e10b6ef#deafdd86b8d9d0108bc692f479c3b31c4c7d5635_161_164
was merged.

Closes: #6867

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

2 years agoanv: Stop compacting surface state tables
Jason Ekstrand [Mon, 13 Jun 2022 21:13:07 +0000 (16:13 -0500)]
anv: Stop compacting surface state tables

Instead of trying to compact the surface state table to get rid of any
unused render targets, emit MAX(1, colorAttachmentCount) surface states
always.  This ensures that secondaries will always match with primaries
when we go to do the copy since there's no rule requiring the secondary
to have VK_FORMAT_UNDEFINED when the primary has a NULL image view.

Fixes: 3501a3f9ed92 ("anv: Convert to 100% dynamic rendering")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17543>

2 years agoFix static glapi on Windows
Jesse Natalie [Wed, 25 May 2022 20:50:42 +0000 (13:50 -0700)]
Fix static glapi on Windows

On Linux, the static glapi path sees libGL.so implementing the static
glapi, and the drivers (libgallium_dri.so) updating/reading the TLS
vars.

On Windows, to allow libgallium_wgl.dll to be a full ICD, it's
responsible for implementing the actual static glapi. However, before
this change, OpenGL32.dll was also implementing the static glapi,
meaning that GL API calls from OpenGL32.dll didn't route to the driver
correctly because the TLS vars were never actually set - the driver set
its copy, and OpenGL32.dll read its own copy.

Now, always build a bridge and static version of glapi when not using
shared. The bridge version is linked into OpenGL32.dll, and the static
version is linked into the driver on Windows. GLES only builds with
shared glapi - but after this, shared glapi is not really needed on
Windows for GLES, since the driver has all of the data.

Fixes: f36921ef ("wgl: Refactor drivers to a libgallium_wgl.dll")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6560
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16713>

2 years agolavapipe: fix incorrect sv[] array size
Brian Paul [Wed, 15 Jun 2022 21:41:10 +0000 (15:41 -0600)]
lavapipe: fix incorrect sv[] array size

The sampler views array needs to be dimensioned by
PIPE_MAX_SHADER_SAMPLER_VIEWS, not PIPE_MAX_SAMPLERS.

This fixes out-of-bounds array writes when using more than 32
textures in a shader.

Also add some assertions to check array indexing elsewhere.
And change loop limits to be based on ARRAY_SIZE().

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062>

2 years agollvmpipe: initialize a local var to fix compiler warning in release build
Brian Paul [Thu, 16 Jun 2022 03:29:41 +0000 (21:29 -0600)]
llvmpipe: initialize a local var to fix compiler warning in release build

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

2 years agollvmpipe: don't allow texture/resource swizzles on linear path
Brian Paul [Tue, 14 Jun 2022 19:41:21 +0000 (13:41 -0600)]
llvmpipe: don't allow texture/resource swizzles on linear path

This fixes another VMware test (dx9-stretch-formats-copy-a8r8g8b8-x8r8g8b8).

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agolavapipe: fix logicop, independent blend enable/disable
Brian Paul [Thu, 9 Jun 2022 23:48:43 +0000 (17:48 -0600)]
lavapipe: fix logicop, independent blend enable/disable

The logicop_enable and independent_blend_enable vars need to always
be assigned, otherwise, once turned on, they could never be disabled.

This fixes a number of failures in VMware's test suite.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agogallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32
Brian Paul [Wed, 8 Jun 2022 19:10:57 +0000 (13:10 -0600)]
gallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32

This allows a VMware test to pass.  The comments in lp_bld_limits.h
mention SM 3.0 requirements, but we're in the SM 5.0 era...

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agollvmpipe: replace LP_RAST_OP_ #defines with enum type
Brian Paul [Tue, 7 Jun 2022 17:06:02 +0000 (11:06 -0600)]
llvmpipe: replace LP_RAST_OP_ #defines with enum type

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

2 years agollvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()
Brian Paul [Mon, 6 Jun 2022 21:19:59 +0000 (15:19 -0600)]
llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()

For the linear rendering fast path, we need to know whether the
texcoord argument to tex instructions comes directly from an FS input
(swizzling OK, but no arithmetic, etc).  Use the input register info
to fill in the tex_info object.

This is part of a fix for some linear rendering bugs.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agollvmpipe: fix invalid memory used in lp_fs_linear_run
Brian Paul [Mon, 6 Jun 2022 21:06:49 +0000 (15:06 -0600)]
llvmpipe: fix invalid memory used in lp_fs_linear_run

We were saving the address of the constants[] and nir_constants[]
arrays in the jit structure.  But those arrays went out of scope
before use.

This patch moves the constants[] array to the function scope and
consolidates the TGSI/NIR paths.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agollvmpipe: add missing tex_info->texture_unit assignment
Brian Paul [Thu, 2 Jun 2022 18:39:13 +0000 (12:39 -0600)]
llvmpipe: add missing tex_info->texture_unit assignment

The texture_unit field needs to be set like the sampler_unit field.

Also, add a swizzle initialization and some comments.

Signed-off-by: Brian Paul <brianp@vmare.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agollvmpipe: replace GET_A0() macro w/ inline function
Brian Paul [Fri, 3 Jun 2022 15:02:18 +0000 (09:02 -0600)]
llvmpipe: replace GET_A0() macro w/ inline function

And GET_DADX(), GET_DADY(), GET_PLANES().  This is a bit more
readable, making the expected parameter types explicit.

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

2 years agogallivm: s/0/LP_BLD_TEX_MODIFIER_NONE/
Brian Paul [Thu, 2 Jun 2022 18:41:35 +0000 (12:41 -0600)]
gallivm: s/0/LP_BLD_TEX_MODIFIER_NONE/

A minor readability improvement.

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

2 years agollvmpipe: replace if/then with switch in llvmpipe_nir_fn_is_linear_compat()
Brian Paul [Thu, 2 Jun 2022 18:38:41 +0000 (12:38 -0600)]
llvmpipe: replace if/then with switch in llvmpipe_nir_fn_is_linear_compat()

To simplify the logic a bit.

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

2 years agonir: add const qualifiers, move some decls in nir_to_tgsi_info.c
Brian Paul [Thu, 2 Jun 2022 18:33:01 +0000 (12:33 -0600)]
nir: add const qualifiers, move some decls in nir_to_tgsi_info.c

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

2 years agollvmpipe: minor code re-org in lp_state_fs_analysis.c
Brian Paul [Thu, 26 May 2022 18:42:16 +0000 (12:42 -0600)]
llvmpipe: minor code re-org in lp_state_fs_analysis.c

And add comments.

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

2 years agolavapipe: rework code to compute textures_used, samplers_used
Brian Paul [Wed, 25 May 2022 16:37:40 +0000 (10:37 -0600)]
lavapipe: rework code to compute textures_used, samplers_used

The code did not handle more than 32 textures.  We have a test that
exercises 128 textures (views) and crashed w/ memory corruption down
in the llvm code generator because of this.

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agoutil/bitset: add BITSET_SIZE()
Brian Paul [Wed, 25 May 2022 16:21:21 +0000 (10:21 -0600)]
util/bitset: add BITSET_SIZE()

To get the size (in bits) of a bitset.
And minor clean-up in __bitset_ffs().

Signed-off-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
cc: mesa-stable

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

2 years agollvmpipe: add simple assertion in generate_fragment()
Brian Paul [Tue, 24 May 2022 21:15:09 +0000 (15:15 -0600)]
llvmpipe: add simple assertion in generate_fragment()

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

2 years agogallivm: s/unsigned/enum pipe_swizzle/
Brian Paul [Tue, 24 May 2022 21:14:05 +0000 (15:14 -0600)]
gallivm: s/unsigned/enum pipe_swizzle/

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

2 years agollvmpipe: remove lp_rast_cmd_arg::state field
Brian Paul [Thu, 2 Jun 2022 16:00:11 +0000 (10:00 -0600)]
llvmpipe: remove lp_rast_cmd_arg::state field

Use the existing 'set_state' field.  Some code was using 'state'
and other code was using 'set_state'.  It didn't really matter
since lp_rast_cmd_arg is a union, but this removes some potential
confusion.

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

2 years agollvmpipe: add minor comments in lp_rast.h, lp_setup-rect.c
Brian Paul [Tue, 7 Jun 2022 17:12:07 +0000 (11:12 -0600)]
llvmpipe: add minor comments in lp_rast.h, lp_setup-rect.c

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

2 years agoanv: ensure tile flush before streamout writes
Lionel Landwerlin [Wed, 13 Jul 2022 00:35:06 +0000 (03:35 +0300)]
anv: ensure tile flush before streamout writes

Streamout is not L3 coherent so previous writes to the same address
might be pending and overwrite the SO writes later when they get
flushed from L3, even though the SO write happened later in the batch.

v2: Use the right flag (not COUNTER)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6680
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17503>

2 years agointel/compiler: Don't create vec4 reg-set for gen8+
Jordan Justen [Fri, 8 Jul 2022 18:27:13 +0000 (11:27 -0700)]
intel/compiler: Don't create vec4 reg-set for gen8+

After 60e1d0f0286, we know that vec4 will never be used for gen >= 8.

Ref: 60e1d0f0286 ("intel/compiler: Remove INTEL_SCALAR_... env variables")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17437>

2 years agotu: Use incoherent CCU write for buffer accesses
Connor Abbott [Wed, 22 Jun 2022 17:24:58 +0000 (19:24 +0200)]
tu: Use incoherent CCU write for buffer accesses

Unlike image writes, buffer writes may access the same memory in
different ways, which we've seen in the past can cause problems. Use an
incoherent access to force flush/invalidate between accesses to the same
buffer, unless we know the barrier applies to images only.

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

2 years agoradv: Use a global address for sbt_base
Konstantin Seurer [Thu, 30 Jun 2022 14:27:05 +0000 (16:27 +0200)]
radv: Use a global address for sbt_base

Required for indirect(2) ray tracing to work.
Fixes the following tests:

dEQP-VK.ray_tracing_pipeline.trace_rays_indirect2.indirect_*
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_*

Fixes: 16585664 ("radv: vkCmdTraceRaysIndirect2KHR")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17316>

2 years agoradv: Use a global address for ray_launch_size
Konstantin Seurer [Thu, 30 Jun 2022 14:19:25 +0000 (16:19 +0200)]
radv: Use a global address for ray_launch_size

Required for indirect(2) ray tracing to work.

Fixes: b30f96dd ("radv,aco: Use ray_launch_size_addr")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17316>

2 years agoradeonsi/vcn: use calculated max hierarchy depth for hevc enc
Boyuan Zhang [Tue, 12 Jul 2022 16:11:41 +0000 (12:11 -0400)]
radeonsi/vcn: use calculated max hierarchy depth for hevc enc

Certain player has hard coded max_transform_hierarchy_depth_inter and
max_transform_hierarchy_depth_intra values set through VA-API, which
doesn't work on radeon HW. Until properly fixing it on player side,
temporarily adding this workaround to use calculated values instead.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17489>

2 years agosimple_mtx: Replace GCC sync intrinsics with u_atomic ops
Jesse Natalie [Fri, 8 Jul 2022 18:16:14 +0000 (11:16 -0700)]
simple_mtx: Replace GCC sync intrinsics with u_atomic ops

Reviewed-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/17529>

2 years agozink: Use p_atomic_fetch_add
Jesse Natalie [Fri, 8 Jul 2022 19:32:33 +0000 (12:32 -0700)]
zink: Use p_atomic_fetch_add

Reviewed-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/17529>

2 years agou_atomic: Add p_atomic_fetch_add which returns the old value
Jesse Natalie [Fri, 8 Jul 2022 19:30:45 +0000 (12:30 -0700)]
u_atomic: Add p_atomic_fetch_add which returns the old value

Reviewed-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/17529>

2 years agou_atomic: Fix MSVC p_atomic_add_return
Jesse Natalie [Fri, 8 Jul 2022 19:29:41 +0000 (12:29 -0700)]
u_atomic: Fix MSVC p_atomic_add_return

InterlockedExchangeAdd returns the *old* value, not the new one

Cc: mesa-stable
Reviewed-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/17529>

2 years agou_atomic: Implement p_atomic_xchg for Windows
Jesse Natalie [Fri, 8 Jul 2022 18:15:13 +0000 (11:15 -0700)]
u_atomic: Implement p_atomic_xchg for Windows

Reviewed-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/17529>

2 years agoradeonsi: no need to call si_pm4_clear_state() in si_pm4_free_state()
Yogesh Mohan Marimuthu [Wed, 13 Jul 2022 03:21:56 +0000 (08:51 +0530)]
radeonsi: no need to call si_pm4_clear_state() in si_pm4_free_state()

the si_pm4_clear_state() initializes the variable in struct si_pm4_state which
anyway gets freed in si_pm4_free_state(). Hence no need to call
si_pm4_clear_state() in si_pm4_free_state().

Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17504>

2 years agoradeonsi: remove tabs from code
Yogesh Mohan Marimuthu [Wed, 13 Jul 2022 03:19:52 +0000 (08:49 +0530)]
radeonsi: remove tabs from code

v2: fix indentation after if (Marek Olšák)

Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17504>

2 years agofix(gallivm): Replace LLVMConstF* with LLVMBuild* methods.
Kai Wasserbäch [Wed, 13 Jul 2022 14:41:59 +0000 (16:41 +0200)]
fix(gallivm): Replace LLVMConstF* with LLVMBuild* methods.

LLVM 15 removed support for LLVMConstF in commit
4bb7b6fae3be02031878b2aa3be584c6627ad8ec.

Reference: https://github.com/llvm/llvm-project/commit/4bb7b6fae3be02031878b2aa3be584c6627ad8ec
Reference: https://github.com/llvm/llvm-project/blob/07146a9e647918ef1ea5fec494b6c7c2a4206037/llvm/docs/ReleaseNotes.rst#changes-to-the-c-api
Closes: mesa/mesa#6863
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17518>

2 years agospirv: switch to uint64 for rayquery internal type
Lionel Landwerlin [Fri, 8 Jul 2022 11:38:35 +0000 (14:38 +0300)]
spirv: switch to uint64 for rayquery internal type

Fixes dEQP-VK.ray_query.advanced.using_wrapper_function.comp.*

An empty struct is causing problems because when passing it as
argument the spirv parser will just drop the argument, considering it
does not hold any data.

v2: update radv CI

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 4c703686dba5 ("spirv: handle ray query intrinsics")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17420>

2 years agolavapipe: support inlined shader spirv for compute
Mike Blumenkrantz [Tue, 5 Jul 2022 17:45:37 +0000 (13:45 -0400)]
lavapipe: support inlined shader spirv for compute

no testing, full send

Fixes: d4d5a7abba7 ("lavapipe: implement EXT_graphics_pipeline_library")

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

2 years agodocs: Update features.txt and new_features.txt
Jesse Natalie [Wed, 13 Jul 2022 20:05:54 +0000 (13:05 -0700)]
docs: Update features.txt and new_features.txt

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

2 years agod3d12: Fix up resource import validation
Jesse Natalie [Mon, 11 Jul 2022 22:55:35 +0000 (15:55 -0700)]
d3d12: Fix up resource import validation

Format on buffers is irrelevant and bind flag validation needs to be disabled.

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

2 years agod3d12: Implement fence opening and value setting
Jesse Natalie [Sun, 10 Jul 2022 04:13:03 +0000 (21:13 -0700)]
d3d12: Implement fence opening and value setting

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

2 years agod3d12: Implement server signal/wait
Jesse Natalie [Sun, 10 Jul 2022 04:12:52 +0000 (21:12 -0700)]
d3d12: Implement server signal/wait

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

2 years agod3d12: Support importing fences / timeline semaphores
Jesse Natalie [Sun, 10 Jul 2022 03:58:13 +0000 (20:58 -0700)]
d3d12: Support importing fences / timeline semaphores

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

2 years agod3d12: Support opening resources and memobj by name
Jesse Natalie [Sun, 10 Jul 2022 02:27:03 +0000 (19:27 -0700)]
d3d12: Support opening resources and memobj by name

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

2 years agod3d12: Implement resource_from_memobj
Jesse Natalie [Sun, 10 Jul 2022 01:53:53 +0000 (18:53 -0700)]
d3d12: Implement resource_from_memobj

If the memobj wraps a resource, then we only succeed the
mapping operation if the gallium desc matches the D3D12
resource desc.

If the memobj wraps a heap, then we can place whatever
gallium is describing on the heap.

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

2 years agod3d12: Support creating memory objects
Jesse Natalie [Sun, 10 Jul 2022 01:51:54 +0000 (18:51 -0700)]
d3d12: Support creating memory objects

They can wrap either an opened heap or resource

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

2 years agod3d12: PIPE_BIND_SHARED doesn't mean linear and is always on opened resources
Jesse Natalie [Sun, 10 Jul 2022 01:50:01 +0000 (18:50 -0700)]
d3d12: PIPE_BIND_SHARED doesn't mean linear and is always on opened resources

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

2 years agod3d12: Get adapter LUID after device creation
Jesse Natalie [Sun, 10 Jul 2022 01:48:47 +0000 (18:48 -0700)]
d3d12: Get adapter LUID after device creation

Otherwise it's only set if the GL frontend gave us one

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

2 years agod3d12: Support B4G4R4A4 format
Jesse Natalie [Sun, 10 Jul 2022 01:48:13 +0000 (18:48 -0700)]
d3d12: Support B4G4R4A4 format

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

2 years agod3d12: Add pipe getters for Win32 and base external objects device matching
Jesse Natalie [Sat, 9 Jul 2022 21:47:25 +0000 (14:47 -0700)]
d3d12: Add pipe getters for Win32 and base external objects device matching

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

2 years agod3d12: Compute UUIDs required by external objects extension
Jesse Natalie [Sat, 9 Jul 2022 21:47:02 +0000 (14:47 -0700)]
d3d12: Compute UUIDs required by external objects extension

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

2 years agod3d12: Store the rest of the device IDs in the screen
Jesse Natalie [Sat, 9 Jul 2022 21:46:28 +0000 (14:46 -0700)]
d3d12: Store the rest of the device IDs in the screen

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

2 years agogallium, mesa: Support setting timeline semaphore values
Jesse Natalie [Sun, 10 Jul 2022 03:29:12 +0000 (20:29 -0700)]
gallium, mesa: Support setting timeline semaphore values

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agomesa: Implement ImportSemaphoreWin32NameEXT
Jesse Natalie [Sun, 10 Jul 2022 04:15:50 +0000 (21:15 -0700)]
mesa: Implement ImportSemaphoreWin32NameEXT

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agomesa: Support importing D3D12 fences as timeline semaphores
Jesse Natalie [Sun, 10 Jul 2022 02:58:51 +0000 (19:58 -0700)]
mesa: Support importing D3D12 fences as timeline semaphores

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agogallium: Add a new fence type with a pipe cap to indicate it can be imported
Jesse Natalie [Sun, 10 Jul 2022 02:58:26 +0000 (19:58 -0700)]
gallium: Add a new fence type with a pipe cap to indicate it can be imported

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agodriver_noop: Remove infinite recursion from create_fence_win32
Jesse Natalie [Wed, 13 Jul 2022 19:33:31 +0000 (12:33 -0700)]
driver_noop: Remove infinite recursion from create_fence_win32

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agogallium: Add 'name' field to Win32 semaphore import
Jesse Natalie [Sun, 10 Jul 2022 02:44:28 +0000 (19:44 -0700)]
gallium: Add 'name' field to Win32 semaphore import

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agomesa: Implement ImportMemoryWin32NameEXT
Jesse Natalie [Sun, 10 Jul 2022 02:20:05 +0000 (19:20 -0700)]
mesa: Implement ImportMemoryWin32NameEXT

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agogallium: Add a 'name' field to winsys_handle
Jesse Natalie [Sun, 10 Jul 2022 02:19:10 +0000 (19:19 -0700)]
gallium: Add a 'name' field to winsys_handle

Win32 memory objects can be imported by name (const void *
that will be interpreted as const wchar_t *)

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agomapi: Add more EXT_external_objects_win32 functions/enums
Jesse Natalie [Sun, 10 Jul 2022 02:14:17 +0000 (19:14 -0700)]
mapi: Add more EXT_external_objects_win32 functions/enums

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agomesa: Support D3D11/D3D12 memory imports
Jesse Natalie [Sun, 10 Jul 2022 01:56:40 +0000 (18:56 -0700)]
mesa: Support D3D11/D3D12 memory imports

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446>

2 years agoutil: Shut down Perfetto before driver unload
Sami Kyöstilä [Mon, 11 Jul 2022 06:36:31 +0000 (16:36 +1000)]
util: Shut down Perfetto before driver unload

Shut down Perfetto before unloading the driver to fix a crash caused by
an internal Perfetto thread that kept running after dlclose() took away
its code.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4909
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17454>

2 years agosubprojects: Roll Perfetto to v27.1
Sami Kyöstilä [Wed, 13 Jul 2022 09:24:03 +0000 (19:24 +1000)]
subprojects: Roll Perfetto to v27.1

Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17454>

2 years agoci: uprev vkd3d-proton to 5b73139f182d86cd58a757e4b5f0d4cfad96d319
Samuel Pitoiset [Mon, 11 Jul 2022 14:48:48 +0000 (16:48 +0200)]
ci: uprev vkd3d-proton to 5b73139f182d86cd58a757e4b5f0d4cfad96d319

This contains some Device Generated Command tests that will be
useful for an experimental RADV implementation.

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

2 years agozink: reject swizzled format blits
Mike Blumenkrantz [Tue, 12 Jul 2022 23:40:38 +0000 (19:40 -0400)]
zink: reject swizzled format blits

e.g., R8G8B8A8 -> B8G8R8A8 is invalid, so use u_blitter

fixes (various gl configs):
KHR-GL46.blend_equation_advanced*

cc: mesa-stable

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