platform/upstream/mesa.git
19 months agointel/dev: fix macro string concatenation for INTEL_WA_{id}_GFX_VER
Mark Janes [Tue, 14 Mar 2023 17:19:17 +0000 (10:19 -0700)]
intel/dev: fix macro string concatenation for INTEL_WA_{id}_GFX_VER

`INTEL_WA_##id_GFX_VER` evaluates to `INTEL_WA_id_GFX_VER`
instead of numbered identifiers like `INTEL_WA_220579888_GFX_VER`.

Fixes: 3c9a8f7a6d2 ("intel/dev: generate helpers to identify platform workarounds")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21908>

19 months agodzn: Use mesa_loge for DXIL validation errors
Jesse Natalie [Thu, 23 Mar 2023 15:41:00 +0000 (08:41 -0700)]
dzn: Use mesa_loge for DXIL validation errors

This allows them to be printed to OutputDebugString

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

19 months agodzn: Enable variable size bindings
Jesse Natalie [Fri, 17 Mar 2023 15:18:45 +0000 (08:18 -0700)]
dzn: Enable variable size bindings

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

19 months agodzn: Support descriptor indexing via bindless
Jesse Natalie [Mon, 13 Mar 2023 21:36:20 +0000 (14:36 -0700)]
dzn: Support descriptor indexing via bindless

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

19 months agodzn: Add a debug option for enabling bindless mode
Jesse Natalie [Mon, 13 Mar 2023 19:45:15 +0000 (12:45 -0700)]
dzn: Add a debug option for enabling bindless mode

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

19 months agodzn: Apply bindless lowering when compiling pipelines
Jesse Natalie [Mon, 13 Mar 2023 19:44:43 +0000 (12:44 -0700)]
dzn: Apply bindless lowering when compiling pipelines

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

19 months agodzn: Only bind descriptor sets up to the used amount of the current layout
Jesse Natalie [Thu, 23 Mar 2023 15:33:18 +0000 (08:33 -0700)]
dzn: Only bind descriptor sets up to the used amount of the current layout

Prevents setting a root SRV into a slot that's not declared as an SRV
in the root signature if a set is bound into a higher slot from a previous
draw/dispatch op.

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

19 months agodzn: Ensure root signatures are re-bound after a meta op
Jesse Natalie [Thu, 23 Mar 2023 15:32:12 +0000 (08:32 -0700)]
dzn: Ensure root signatures are re-bound after a meta op

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

19 months agodzn: When binding a bindless root signature, bind descriptor heaps first
Jesse Natalie [Mon, 13 Mar 2023 19:44:26 +0000 (12:44 -0700)]
dzn: When binding a bindless root signature, bind descriptor heaps first

The D3D spec says it must be so, and not doing this causes problems
on some hardware.

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

19 months agodzn: Add a binding classification in the pipeline layout remapping
Jesse Natalie [Mon, 13 Mar 2023 19:43:45 +0000 (12:43 -0700)]
dzn: Add a binding classification in the pipeline layout remapping

This is needed so that we can handle two special cases:
* Dynamic buffer data is allocated out of a command-buffer-owned buffer,
  rather than a descriptor-set-owned buffer, so the remapping puts them
  in their own register space.
* Static samplers should be left alone and not converted to bindless.

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

19 months agodzn: Bind buffers for bindless descriptor sets
Jesse Natalie [Fri, 3 Mar 2023 16:49:08 +0000 (08:49 -0800)]
dzn: Bind buffers for bindless descriptor sets

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

19 months agodzn: Use separate dirty bits for descriptor sets/dynamic buffers
Jesse Natalie [Fri, 3 Mar 2023 16:48:39 +0000 (08:48 -0800)]
dzn: Use separate dirty bits for descriptor sets/dynamic buffers

We'll be able to take advantage of this granularity in bindless mode

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

19 months agodzn: Don't dirty bindings if root signature doesn't change
Jesse Natalie [Fri, 3 Mar 2023 16:47:32 +0000 (08:47 -0800)]
dzn: Don't dirty bindings if root signature doesn't change

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

19 months agodzn: Allocate descriptor sets in buffers for bindless mode
Jesse Natalie [Fri, 3 Mar 2023 03:58:09 +0000 (19:58 -0800)]
dzn: Allocate descriptor sets in buffers for bindless mode

Modify the root signature stored in the pipeline layout too.

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

19 months agodzn: Delete unused function
Jesse Natalie [Fri, 3 Mar 2023 00:12:01 +0000 (16:12 -0800)]
dzn: Delete unused function

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

19 months agodzn: Remove defragmenting of descriptor pools
Jesse Natalie [Thu, 2 Mar 2023 23:14:29 +0000 (15:14 -0800)]
dzn: Remove defragmenting of descriptor pools

Rather than trying to perfectly defrag, let's just allow re-use.
When a set is allocated for the first time, it locks in its range of
the heap that it'll use. If the last set in the heap is used, then
those descriptors go back to being free, but if a set in the middle
of the heap is freed, those descriptors remain assigned to that set.
A later allocation attempt can reclaim them, as long as the new set
fits.

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

19 months agodzn: When bindless, only allocate one descriptor per layout entry
Jesse Natalie [Thu, 2 Mar 2023 21:06:22 +0000 (13:06 -0800)]
dzn: When bindless, only allocate one descriptor per layout entry

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

19 months agodzn: Add initial bindless infrastructure
Jesse Natalie [Thu, 2 Mar 2023 18:06:13 +0000 (10:06 -0800)]
dzn: Add initial bindless infrastructure

When operating in "bindless" mode, the device will own 2 descriptor
heaps, one for views, and one for samplers. Every time a view is
created (image view, buffer view), a slot is allocated for it out
of the device view heap for each usage type (sampled vs storage).

Then, in a future change, descriptor sets will just contain view/
sampler indices instead of actual descriptors. Instead of copying
these to a cmdbuf-owned descriptor heap, we can directly bind the
descriptor set as a buffer. We'll also modify shaders to perform
an indirection and index into the device heap.

Buffers also get views set up on creation. In a perfect world, we
could just put addresses/sizes in the descriptor set, but DXIL
doesn't support loading from addresses, we need descriptors. When
robust buffer access is disabled *or* descriptor set buffer views
reference the remainder of the buffer, we can just re-use a view
from the buffer and use an offset.

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

19 months agodzn: Skip setting up UAVs for depth resources
Jesse Natalie [Thu, 16 Mar 2023 20:08:42 +0000 (13:08 -0700)]
dzn: Skip setting up UAVs for depth resources

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

19 months agodzn: Set up SRV descs for 3D textures correctly
Jesse Natalie [Thu, 16 Mar 2023 20:08:33 +0000 (13:08 -0700)]
dzn: Set up SRV descs for 3D textures correctly

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

19 months agodzn: Don't use plane slice 1 for depth+stencil SRVs
Jesse Natalie [Wed, 15 Mar 2023 14:46:06 +0000 (07:46 -0700)]
dzn: Don't use plane slice 1 for depth+stencil SRVs

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

19 months agodzn: Consistently order depth formats before stencil
Jesse Natalie [Wed, 15 Mar 2023 16:41:55 +0000 (09:41 -0700)]
dzn: Consistently order depth formats before stencil

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

19 months agodzn: Put UAVs first for storage images/buffers in descriptor tables
Jesse Natalie [Thu, 2 Mar 2023 17:58:47 +0000 (09:58 -0800)]
dzn: Put UAVs first for storage images/buffers in descriptor tables

When running in a bindless mode, we won't ever be using SRVs for these.
Change terminology for determining descriptor offsets from "writable"
to "alt" to match naming already used elsewhere.

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

19 months agodzn: Add some docs around descriptor sets and remove redundant/unused data
Jesse Natalie [Thu, 2 Mar 2023 16:49:35 +0000 (08:49 -0800)]
dzn: Add some docs around descriptor sets and remove redundant/unused data

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

19 months agodzn: Fix a leak in descriptor set layout creation
Jesse Natalie [Wed, 1 Mar 2023 23:47:20 +0000 (15:47 -0800)]
dzn: Fix a leak in descriptor set layout creation

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

19 months agodzn: Remove descriptor heap type from descriptor heap wrapper
Jesse Natalie [Wed, 1 Mar 2023 21:59:33 +0000 (13:59 -0800)]
dzn: Remove descriptor heap type from descriptor heap wrapper

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

19 months agodzn: Remove device pointers from descriptor heaps
Jesse Natalie [Tue, 28 Feb 2023 21:54:18 +0000 (13:54 -0800)]
dzn: Remove device pointers from descriptor heaps

A future change is going to add descriptor heaps *to* the dzn_device,
and having 3x ID3D12Device pointers in a single object just seems
wrong. All of the callers already had a device, so just pass it
along where needed.

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

19 months agospirv2dxil: Support descriptor indexing capabilities
Jesse Natalie [Fri, 17 Mar 2023 15:18:24 +0000 (08:18 -0700)]
spirv2dxil: Support descriptor indexing capabilities

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

19 months agospirv2dxil: Only lower readonly images to SRVs when the option is set
Jesse Natalie [Wed, 15 Mar 2023 15:48:35 +0000 (08:48 -0700)]
spirv2dxil: Only lower readonly images to SRVs when the option is set

This handles the case where readonly is explicitly marked in the shader,
rather than just inferred based on opt_access.

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

19 months agospirv2dxil: Add a pass to lower deref tex/image and vulkan ubo/ssbo to bindless
Jesse Natalie [Mon, 27 Feb 2023 21:55:20 +0000 (13:55 -0800)]
spirv2dxil: Add a pass to lower deref tex/image and vulkan ubo/ssbo to bindless

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

19 months agomicrosoft/compiler: Update header docs for binding modes supported by compiler
Jesse Natalie [Mon, 27 Feb 2023 21:57:35 +0000 (13:57 -0800)]
microsoft/compiler: Update header docs for binding modes supported by compiler

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

19 months agomicrosoft/compiler: Use store_dest instead of store_dest_value more
Jesse Natalie [Thu, 16 Mar 2023 20:26:17 +0000 (13:26 -0700)]
microsoft/compiler: Use store_dest instead of store_dest_value more

The 16bit SSBO load support missed setting the 16bit shader flag.
Make it harder to miss that by only using store_dest_value for things
that don't have a type.

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

19 months agomicrosoft/compiler: Support descriptor heap indexing for UBO/SSBO
Jesse Natalie [Mon, 27 Feb 2023 19:22:35 +0000 (11:22 -0800)]
microsoft/compiler: Support descriptor heap indexing for UBO/SSBO

Treat load_vulkan_descriptor on an input that didn't come from
vulkan_resource_index as a descriptor heap index instead of a
binding index.

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

19 months agomicrosoft/compiler: Handle "bindless" image/tex sources as heap indices
Jesse Natalie [Mon, 27 Feb 2023 19:20:38 +0000 (11:20 -0800)]
microsoft/compiler: Handle "bindless" image/tex sources as heap indices

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

19 months agomicrosoft/compiler: Split handle annotation into two parts
Jesse Natalie [Mon, 27 Feb 2023 18:33:32 +0000 (10:33 -0800)]
microsoft/compiler: Split handle annotation into two parts

The first part gets the resource props struct, and the second
actually emits the annotate instruction. Later changes will
get the resource props struct from different sources.

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

19 months agomicrosoft/compiler: Add helpers for getting res_props structs
Jesse Natalie [Mon, 27 Feb 2023 18:32:14 +0000 (10:32 -0800)]
microsoft/compiler: Add helpers for getting res_props structs

Currently we can get one by looking up already-emitted resource
metadata, but in the future we'll want to be able to get this
info from a call site alone. Depending on the type of call site,
we'll have different sets of info, so add helpers for the
various different kinds of call sites we can support.

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

19 months agomicrosoft/compiler: Refactor type -> resource kind helper
Jesse Natalie [Mon, 27 Feb 2023 18:29:58 +0000 (10:29 -0800)]
microsoft/compiler: Refactor type -> resource kind helper

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

19 months agomicrosoft/compiler: Only set typed UAV load feature bit for multi-comp loads
Jesse Natalie [Wed, 15 Mar 2023 16:58:10 +0000 (09:58 -0700)]
microsoft/compiler: Only set typed UAV load feature bit for multi-comp loads

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

19 months agomicrosoft/compiler: Fix setting bit 31 in feature flags
Jesse Natalie [Mon, 13 Mar 2023 18:22:27 +0000 (11:22 -0700)]
microsoft/compiler: Fix setting bit 31 in feature flags

Fixes: a84208ee ("microsoft/compiler: Fill out and sort the shader/module flags")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913>

19 months agointel/fs: use generated helpers for Wa_14013363432 / Wa_14012688258
Mark Janes [Wed, 8 Feb 2023 03:08:47 +0000 (19:08 -0800)]
intel/fs: use generated helpers for Wa_14013363432 / Wa_14012688258

Wa_14013363432 is a clone of Wa_14012688258.  It does not apply to all
gfx 12.5 platforms.

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

19 months agofreedreno/decode: fix possible overflow
David Heidelberg [Mon, 20 Mar 2023 23:24:43 +0000 (00:24 +0100)]
freedreno/decode: fix possible overflow

```
../src/freedreno/decode/rddecompiler.c:242:65: error: 'sscanf' may overflow; destination buffer in argument 3 has size 32, but the corresponding specifier may require size 33 [-Werror,-Wfortify-source]
         if (sscanf(info->name, "%32[A-Z0-6_][%32[x0-9]].%32s", reg_name,
                                                                ^
../src/freedreno/decode/rddecompiler.c:243:21: error: 'sscanf' may overflow; destination buffer in argument 4 has size 32, but the corresponding specifier may require size 33 [-Werror,-Wfortify-source]
                    reg_idx, field_name) != 3) {
                    ^
../src/freedreno/decode/rddecompiler.c:243:30: error: 'sscanf' may overflow; destination buffer in argument 5 has size 32, but the corresponding specifier may require size 33 [-Werror,-Wfortify-source]
                    reg_idx, field_name) != 3) {
                             ^
```

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

19 months agoci/freedreno: do not build tools executables without explicitly enabling them
David Heidelberg [Sun, 19 Mar 2023 14:37:11 +0000 (15:37 +0100)]
ci/freedreno: do not build tools executables without explicitly enabling them

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

19 months agod3d12: Remove now-unused UAV format from shader info
Jesse Natalie [Thu, 23 Mar 2023 16:31:56 +0000 (09:31 -0700)]
d3d12: Remove now-unused UAV format from shader info

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

19 months agod3d12: Fix buffer SRV/UAV creation
Jesse Natalie [Thu, 23 Mar 2023 16:31:11 +0000 (09:31 -0700)]
d3d12: Fix buffer SRV/UAV creation

Get the format right for UAVs (using the image view instead of
relying on the shader having a format specified) and limit the size
to the API-reported size.

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

19 months agod3d12: Report correct texel buffer max size
Jesse Natalie [Thu, 23 Mar 2023 16:30:30 +0000 (09:30 -0700)]
d3d12: Report correct texel buffer max size

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

19 months agomicrosoft/compiler: Handle writable buffer UAV size queries
Jesse Natalie [Wed, 15 Mar 2023 16:59:10 +0000 (09:59 -0700)]
microsoft/compiler: Handle writable buffer UAV size queries

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

19 months agod3d12: Encode - Only upload headers when written headers size is > 0
Sil Vilerino [Thu, 23 Mar 2023 15:31:32 +0000 (11:31 -0400)]
d3d12: Encode - Only upload headers when written headers size is > 0

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

19 months agod3d12: Encode H264/HEVC - Do not write PPS unless different from active
Sil Vilerino [Thu, 23 Mar 2023 14:56:14 +0000 (10:56 -0400)]
d3d12: Encode H264/HEVC - Do not write PPS unless different from active

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

19 months agod3d12: H264/HEVC Encode - Set both VBV InitialCapacity/Size in CBR Rate Control to...
Sil Vilerino [Thu, 23 Mar 2023 12:47:56 +0000 (08:47 -0400)]
d3d12: H264/HEVC Encode - Set both VBV InitialCapacity/Size in CBR Rate Control to same value when requested

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

19 months agofreedreno/rnn: Fix reg names for regs with variants
Rob Clark [Mon, 20 Mar 2023 21:54:16 +0000 (14:54 -0700)]
freedreno/rnn: Fix reg names for regs with variants

Fixes reg names with headergen2, so that if we have separate a6xx and
a7xx variants for a register we get REG_A6XX_foo and REG_A7XX_foo
instead of both being REG_A6XX_foo.  Otherwise generated headers for the
kernel wouldn't compile.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22035>

19 months agofreedreno, nir, ir3: implement GL_EXT_shader_framebuffer_fetch
Amber [Thu, 2 Mar 2023 16:45:30 +0000 (17:45 +0100)]
freedreno, nir, ir3: implement GL_EXT_shader_framebuffer_fetch

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

19 months agonir: Add memory coherency information to shaders.
Amber [Thu, 2 Mar 2023 16:42:57 +0000 (17:42 +0100)]
nir: Add memory coherency information to shaders.

Signed-off-by: Amber Amber <amber@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21260>

19 months agonir: allow nir_lower_fb_read to support multiple render targets
Amber [Thu, 9 Feb 2023 13:04:46 +0000 (14:04 +0100)]
nir: allow nir_lower_fb_read to support multiple render targets

Signed-off-by: Amber Amber <amber@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21260>

19 months agotu: Fix tile_align_h on a650
Connor Abbott [Thu, 23 Mar 2023 15:10:59 +0000 (16:10 +0100)]
tu: Fix tile_align_h on a650

This matches what the blob on a650 does and fixes errors when
calculating the tile size due to tile_align_h not being a power of two.

Fixes: 60bc7c0e ("freedreno: Specify GMEM tile alignment per GPU")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22088>

19 months agov3d: add link to issue investigating failure
Eric Engestrom [Thu, 23 Mar 2023 15:04:54 +0000 (15:04 +0000)]
v3d: add link to issue investigating failure

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

19 months agofrontends/va: check decoder in va surface call
Boyuan Zhang [Thu, 23 Mar 2023 13:34:55 +0000 (09:34 -0400)]
frontends/va: check decoder in va surface call

Add a check to see if decoder is valid before using it. Currently we
only support decode and encode operations, return unsupported error
for all other entrypoints.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21905>

19 months agoanv: Implement Xe version of execute_simple_batch()
José Roberto de Souza [Fri, 10 Feb 2023 15:50:30 +0000 (07:50 -0800)]
anv: Implement Xe version of execute_simple_batch()

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22058>

19 months agoanv: Handle Xe queue/engine priority
José Roberto de Souza [Thu, 9 Feb 2023 20:46:33 +0000 (12:46 -0800)]
anv: Handle Xe queue/engine priority

As Xe requires engine info, it is not possible to fetch max priority
from anv_physical_device_get_parameters() call chain, so here
anv_xe_physical_device_max_priority_update() was added.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22058>

19 months agoanv: Implement Xe version of check_status()
José Roberto de Souza [Thu, 9 Feb 2023 20:34:50 +0000 (12:34 -0800)]
anv: Implement Xe version of check_status()

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22058>

19 months agoanv: Create Xe engines
José Roberto de Souza [Mon, 20 Mar 2023 18:19:13 +0000 (11:19 -0700)]
anv: Create Xe engines

Xe engine is not equal to hardware engine, it is just a submission
queue that will be scheduled in the hardware engine during process
time slice of the GPU.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22058>

19 months agoanv: Replace I915_ENGINE_CLASS_VIDEO by INTEL_ENGINE_CLASS_VIDEO
José Roberto de Souza [Fri, 17 Mar 2023 16:24:51 +0000 (09:24 -0700)]
anv: Replace I915_ENGINE_CLASS_VIDEO by INTEL_ENGINE_CLASS_VIDEO

Using the value that is not dependent on the KMD uapi.

Not marking as a fixes because both have the same value, so we
don't need a backport.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22058>

19 months agoradv: Enable mesh shading on GFX11.
Timur Kristóf [Wed, 15 Mar 2023 20:07:15 +0000 (13:07 -0700)]
radv: Enable mesh shading on GFX11.

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

19 months agoac/nir/ngg: Store special MS outputs in attribute ring for PS to read.
Timur Kristóf [Fri, 17 Feb 2023 22:56:55 +0000 (23:56 +0100)]
ac/nir/ngg: Store special MS outputs in attribute ring for PS to read.

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

19 months agoac/nir/ngg: Fix mesh shader layer on GFX11.
Timur Kristóf [Fri, 17 Feb 2023 22:42:13 +0000 (23:42 +0100)]
ac/nir/ngg: Fix mesh shader layer on GFX11.

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

19 months agoac/nir/ngg: Split legacy workgroup index function.
Timur Kristóf [Fri, 17 Feb 2023 12:55:38 +0000 (13:55 +0100)]
ac/nir/ngg: Split legacy workgroup index function.

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

19 months agoac/nir/ngg: Use attribute ring for mesh shader params.
Timur Kristóf [Fri, 17 Feb 2023 12:13:02 +0000 (13:13 +0100)]
ac/nir/ngg: Use attribute ring for mesh shader params.

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

19 months agoac/nir/ngg: Clarify mesh shader scratch ring.
Timur Kristóf [Thu, 16 Feb 2023 13:41:36 +0000 (14:41 +0100)]
ac/nir/ngg: Clarify mesh shader scratch ring.

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

19 months agoradv: Adjust mesh draw packets for GFX11.
Timur Kristóf [Fri, 17 Feb 2023 21:40:43 +0000 (22:40 +0100)]
radv: Adjust mesh draw packets for GFX11.

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

19 months agoradv: Include per-prim params in NUM_INTERP on GFX11.
Timur Kristóf [Fri, 17 Feb 2023 12:00:44 +0000 (13:00 +0100)]
radv: Include per-prim params in NUM_INTERP on GFX11.

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

19 months agoradv: Use PRIM_ATTR for PS inputs on GFX11.
Timur Kristóf [Fri, 17 Feb 2023 11:59:40 +0000 (12:59 +0100)]
radv: Use PRIM_ATTR for PS inputs on GFX11.

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

19 months agoradv: Add extra offset to per-prim params.
Timur Kristóf [Fri, 17 Feb 2023 11:59:08 +0000 (12:59 +0100)]
radv: Add extra offset to per-prim params.

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

19 months agoradv: Use per-prim params in has_param_exports.
Timur Kristóf [Fri, 17 Feb 2023 11:58:07 +0000 (12:58 +0100)]
radv: Use per-prim params in has_param_exports.

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

19 months agoradv: Add per-prim attributes to ring_attr stride.
Timur Kristóf [Fri, 17 Feb 2023 11:57:26 +0000 (12:57 +0100)]
radv: Add per-prim attributes to ring_attr stride.

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

19 months agoradv: Use new mesh shading packet defines.
Timur Kristóf [Thu, 23 Mar 2023 09:39:56 +0000 (10:39 +0100)]
radv: Use new mesh shading packet defines.

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

19 months agoac: Add more defines for mesh shading packets.
Timur Kristóf [Thu, 23 Mar 2023 09:33:57 +0000 (10:33 +0100)]
ac: Add more defines for mesh shading packets.

Add some set macro defines for mesh shading packets.
The naming convention is:
S_(packet opcode)(dword index)_FIELD_NAME

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

19 months agoci: bump Alpine to 3.17 (again)
David Heidelberg [Mon, 20 Mar 2023 21:41:30 +0000 (22:41 +0100)]
ci: bump Alpine to 3.17 (again)

Now with fixed ccache 4.7.5.

`ccache` changelog:
Disabled the inode cache by default again since there have reports of ccache
processes hanging on futex calls related to the inode cache.

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

19 months agov3d: fix condition for EZ disabling when stencil on
Juan A. Suarez Romero [Wed, 22 Mar 2023 18:05:17 +0000 (19:05 +0100)]
v3d: fix condition for EZ disabling when stencil on

When stencil is enabled and it isn't non-op, Early-Z must be disabled.

The condition that checks this for stencil[0] is correct, but the one
for stencil[1] is wrong: it uses an "and" instead of "or" condition.

This affects dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.14

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22081>

19 months agointel/dev: fold Gfx12 URB entries in Gfx12 HW info
Lionel Landwerlin [Thu, 16 Mar 2023 20:01:02 +0000 (22:01 +0200)]
intel/dev: fold Gfx12 URB entries in Gfx12 HW info

Also add a non-zero URB size for intel_stub_gpu

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agointel/devinfo: initialize pci_device_id with from_pci_id()
Lionel Landwerlin [Fri, 17 Mar 2023 12:35:48 +0000 (14:35 +0200)]
intel/devinfo: initialize pci_device_id with from_pci_id()

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Suggested-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agointel/devinfo: dedicated entries for XeHP
Lionel Landwerlin [Thu, 16 Mar 2023 08:38:19 +0000 (10:38 +0200)]
intel/devinfo: dedicated entries for XeHP

Also fixing the max URB entries for VS stage.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reported-by: Chuansheng Liu <chuansheng.liu@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agointel/dev: use generated WA helpers for Wa_22012575642
Lionel Landwerlin [Thu, 16 Mar 2023 08:28:23 +0000 (10:28 +0200)]
intel/dev: use generated WA helpers for Wa_22012575642

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agointel/devinfo: printout URB entries
Lionel Landwerlin [Thu, 16 Mar 2023 09:23:56 +0000 (11:23 +0200)]
intel/devinfo: printout URB entries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agointel/devinfo: add an option to pick platform to print
Lionel Landwerlin [Thu, 16 Mar 2023 09:13:29 +0000 (11:13 +0200)]
intel/devinfo: add an option to pick platform to print

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21949>

19 months agoci/windows: Update warp to 1.0.5
Jesse Natalie [Mon, 20 Mar 2023 21:04:55 +0000 (14:04 -0700)]
ci/windows: Update warp to 1.0.5

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

19 months agoac/llvm: add missing type convert for nir_load_buffer_amd
Qiang Yu [Mon, 20 Mar 2023 10:23:52 +0000 (18:23 +0800)]
ac/llvm: add missing type convert for nir_load_buffer_amd

Fixes: afcbccb0781 ("ac/llvm: implement ACCESS_USE_FORMAT_AMD as buffer_load/store_format")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22043>

19 months agoac/llvm: respect channel_type when ac_build_buffer_load
Qiang Yu [Tue, 21 Mar 2023 07:07:02 +0000 (15:07 +0800)]
ac/llvm: respect channel_type when ac_build_buffer_load

Mainly for nir_load_smem_buffer_amd which pass i32 for this parameter.

Fixes: 8030fbcf16a ("nir,ac/llvm: add nir_load_smem_buffer_amd")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22043>

19 months agoglsl: Write a new test for GLSL and NIR mediump lowering.
Emma Anholt [Mon, 27 Feb 2023 20:50:22 +0000 (12:50 -0800)]
glsl: Write a new test for GLSL and NIR mediump lowering.

The mediump lowering tests are important for poking at the lowering pass
behavior, since you can't really assert the behavior in any given driver,
given that the GLSL spec allows any mediump op to be done in highp.

But, in hacking on mediump lowering, I wanted several things that the old
test couldn't do:

- Be able to assert about the actual NIR code we expect to generate for a
  hypothetical driver (important if other compiler stages might do invalid
  transformations like eliminating highp temps, or if we were to move the
  lowering after GLSL IR)
- Run faster (gtest unit tests rather than python forking off the standalone
  glsl compiler per testcase).
- Express expectations with a lot less escaping of typical syntax.
- High-quality logs for displaying failures.

This new test does all of that, I think, though I haven't converted all of
the unit tests over yet.  In converting, I dropped some of the
combinatorial explosion for float/int variations, instead only doing so
when it gets at some different code path (default precision flags).  I've
also included some new tests I wrote in the process of writing my proposed
gl_nir mediump lowering.

Even if the conversion isn't complete, getting these tests to run faster
is probably a good idea on its own, for anyone iterating running Mesa's
unit tests (80 tests in 25ms, compared to 109 tests in 1.5s!).

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

19 months agoglsl/standalone: Make all standalone contexts have NewProgram set.
Emma Anholt [Wed, 1 Mar 2023 00:12:33 +0000 (16:12 -0800)]
glsl/standalone: Make all standalone contexts have NewProgram set.

It was in the standalone compiler but not unit tests.  Only the standalone
compiler had done linking and needed it, so far.

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

19 months agoglsl/standalone: Pull out a helper function for adding GLSL source shaders.
Emma Anholt [Wed, 1 Mar 2023 00:04:56 +0000 (16:04 -0800)]
glsl/standalone: Pull out a helper function for adding GLSL source shaders.

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

19 months agoglsl/standalone: Pull program create/destroy out to a public function.
Emma Anholt [Tue, 28 Feb 2023 23:37:14 +0000 (15:37 -0800)]
glsl/standalone: Pull program create/destroy out to a public function.

For reuse with unit tests.

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

19 months agofreedreno/a6xx: Restore mode
Rob Clark [Wed, 22 Mar 2023 18:56:09 +0000 (11:56 -0700)]
freedreno/a6xx: Restore mode

We set the "mode" to 1 for CS because we want CP_SET_DRAW_STATE to
immediately execute the state groups.  But in the 3d path, we don't
restore the value in the sysmem path.  This was causing GPU faults
on 7c3 and presumably other a6xx gen4 things.  But somehow not on
a6xx gen1.

Let's just set it as part of initial state restore where we are
ensuring that the GPU is in a sane state.

Fixes: dec49ec50a2 ("freedreno/a6xx: Move CS state to PROG state group")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22080>

19 months agoci/docs: start documenting ci_run_n_monitor.py
Eric Engestrom [Wed, 22 Mar 2023 18:48:02 +0000 (18:48 +0000)]
ci/docs: start documenting ci_run_n_monitor.py

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

19 months agointel/fs: restore message layout changes for cube array
Tapani Pälli [Wed, 22 Mar 2023 11:23:16 +0000 (13:23 +0200)]
intel/fs: restore message layout changes for cube array

This reverts commit bc04e2dacac that handled the change as a WA while
this is about a new feature, change done in message layout. Patch also
changes the original comment to not refer to Wa but bspec page.

Fixes: bc04e2dacac ("intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22068>

19 months agoMove combining clip and cull optimization before linking
Oleksii Bozhenko [Wed, 1 Mar 2023 13:04:00 +0000 (15:04 +0200)]
Move combining clip and cull optimization before linking

As far gl_nir_link_glsl fills xfb data we should do it after lowering clip and cull in order to get correct locations.

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21625>

19 months agoegl: don't expose swrast device if swrast is not built
Marek Olšák [Fri, 27 Jan 2023 03:29:19 +0000 (22:29 -0500)]
egl: don't expose swrast device if swrast is not built

This fixes piglit/egl_ext_device_base without swrast.

Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20951>

19 months agoegl: reorder code in _eglQueryDevicesEXT, add *swrast variable
Marek Olšák [Mon, 20 Mar 2023 16:55:48 +0000 (12:55 -0400)]
egl: reorder code in _eglQueryDevicesEXT, add *swrast variable

This is a preparation for the next commit. No change in behavior.

Reviewed-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20951>

19 months agoci: deduplicate compiler wrappers
Eric Engestrom [Fri, 17 Mar 2023 23:51:21 +0000 (23:51 +0000)]
ci: deduplicate compiler wrappers

Signed-off-by: Eric Engestrom <eric@igalia.com>
Suggested-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

19 months agoci: always use the -Werror wrapper
Eric Engestrom [Fri, 17 Mar 2023 18:52:24 +0000 (18:52 +0000)]
ci: always use the -Werror wrapper

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

19 months agoci: add linker wrapper for clang
Eric Engestrom [Fri, 17 Mar 2023 20:48:32 +0000 (20:48 +0000)]
ci: add linker wrapper for clang

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>

19 months agoci: centralize detection of ccache in link-werror wrapper
Eric Engestrom [Fri, 17 Mar 2023 18:53:34 +0000 (18:53 +0000)]
ci: centralize detection of ccache in link-werror wrapper

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21997>