platform/upstream/mesa.git
23 months agopanfrost: Only emit images when they are present
Icecream95 [Sun, 10 Jul 2022 08:48:16 +0000 (20:48 +1200)]
panfrost: Only emit images when they are present

nr_images is the trigger for allocating double the number of buffers
for attributes. When there are no images, there is not always enough
space for ALIGN_POT(k, 2) to not move k out of bounds, so don't
execute the line in that case.

Fixes: dc85f65e059 ("panfrost: emit shader image attribute descriptors")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447>

23 months agozink: remove deqp fails for lavapipe
Mike Blumenkrantz [Fri, 22 Jul 2022 20:13:00 +0000 (16:13 -0400)]
zink: remove deqp fails for lavapipe

these are all broken tests, so ignore whatever results there were for now

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

23 months agolavapipe: propagate xfb info for pipeline library rasterization stages
Mike Blumenkrantz [Fri, 22 Jul 2022 15:57:21 +0000 (11:57 -0400)]
lavapipe: propagate xfb info for pipeline library rasterization stages

Fixes: 202bbedc55a ("lavapipe: streamline xfb shader setup")

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

23 months agospirv: Fix array length of buffers larger than INT32_MAX.
Ian Romanick [Tue, 9 Feb 2021 19:18:48 +0000 (11:18 -0800)]
spirv: Fix array length of buffers larger than INT32_MAX.

Like 90a8fb03556e.

fossil-db results:

All Skylake and newer Intel platforms had similar results. (Ice Lake shown)
Instructions in all programs: 141442369 -> 141442363 (-0.0%)
Instructions helped: 1

Cycles in all programs: 9099270231 -> 9099270187 (-0.0%)
Cycles helped: 1

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

23 months agoci/crocus: Fix the commented YML for blender-demo-cube_diorama.
Emma Anholt [Tue, 19 Jul 2022 19:41:35 +0000 (12:41 -0700)]
ci/crocus: Fix the commented YML for blender-demo-cube_diorama.

Fixes: c0930b552d01 ("ci/crocus: Disable the blender trace.")
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637>

23 months agointel/vec4: Set lower_usub_sat
Ian Romanick [Wed, 20 Jul 2022 20:01:44 +0000 (13:01 -0700)]
intel/vec4: Set lower_usub_sat

Reviewed-by: Emma Anholt <emma@anholt.net>
Closes: #6900
Fixes: 90a8fb03 ("nir/lower_io: Fix array length of buffers larger than INT32_MAX.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637>

23 months agonir: Split usub_sat lowering flag from uadd_sat.
Emma Anholt [Tue, 19 Jul 2022 19:34:03 +0000 (12:34 -0700)]
nir: Split usub_sat lowering flag from uadd_sat.

Intel vec4 would like to do uadd_sat, but use lowering for usub_sat.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637>

23 months agoanv: disable dev.i915.perf_stream_paranoid=0 warning
Mike Blumenkrantz [Wed, 20 Jul 2022 19:04:22 +0000 (15:04 -0400)]
anv: disable dev.i915.perf_stream_paranoid=0 warning

this is spammed constantly even if ANV isn't used

fixes #6731

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

23 months agoiris: Use fill_surface_states for compressed resources
Nanley Chery [Fri, 15 Jul 2022 16:05:24 +0000 (12:05 -0400)]
iris: Use fill_surface_states for compressed resources

In iris_create_surface, use the fill_surface_states helper function instead of
an open-coded solution for compressed resources.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17598>

23 months agoiris: Don't leak compressed resources in iris_create_surface
Nanley Chery [Fri, 15 Jul 2022 17:42:18 +0000 (13:42 -0400)]
iris: Don't leak compressed resources in iris_create_surface

Before this patch, we were leaking compressed resources in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't unreference the resource pointer we referenced
into the pipe_surface.

Fix this by delaying the pipe_surface initialization code to after attempting
to create the uncompressed surface and view.

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

23 months agoiris: Don't leak surface states for compressed resources
Nanley Chery [Fri, 15 Jul 2022 15:51:55 +0000 (11:51 -0400)]
iris: Don't leak surface states for compressed resources

Before this patch, we were leaking surface states in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't free surface states we allocated for it.

Fix this by attempting to create the uncompressed surface and view before we
allocate the surface states.

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

23 months agovk/util: simplify extensions gen code
Eric Engestrom [Thu, 21 Jul 2022 21:38:27 +0000 (22:38 +0100)]
vk/util: simplify extensions gen code

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

23 months agovk/util: handful of pythonic cleanups
Eric Engestrom [Thu, 21 Jul 2022 21:38:27 +0000 (22:38 +0100)]
vk/util: handful of pythonic cleanups

No functional changes.

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

23 months agoradv/rt: simplify lower_rt_instructions()
Daniel Schürmann [Tue, 5 Jul 2022 10:04:38 +0000 (12:04 +0200)]
radv/rt: simplify lower_rt_instructions()

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv/rt: fix nir_builder cursor in lower_rt_instructions()
Daniel Schürmann [Tue, 5 Jul 2022 09:49:29 +0000 (11:49 +0200)]
radv/rt: fix nir_builder cursor in lower_rt_instructions()

Fixes: 207ce6d658ac6d8f6421a02304b74645ff835e96 ('radv: Add helper to inline shaders into the main shader.')
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv/rt: Don't load ClosestHit SBT on every hit, but only once after traversal
Daniel Schürmann [Wed, 22 Jun 2022 09:35:47 +0000 (11:35 +0200)]
radv/rt: Don't load ClosestHit SBT on every hit, but only once after traversal

Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 217592 -> 215956 (-0.75%)
Instrs: 39468 -> 39341 (-0.32%)
Latency: 761581 -> 746802 (-1.94%)
InvThroughput: 507721 -> 497870 (-1.94%)
Copies: 4621 -> 4585 (-0.78%)
Branches: 1598 -> 1584 (-0.88%)

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv/rt: use stage ID as handle for general and closestHit shaders
Daniel Schürmann [Fri, 22 Apr 2022 12:18:36 +0000 (14:18 +0200)]
radv/rt: use stage ID as handle for general and closestHit shaders

This avoids some code duplication and divergence.

Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 218880 -> 217592 (-0.59%)
Instrs: 39692 -> 39468 (-0.56%)
Latency: 789091 -> 761581 (-3.49%)
InvThroughput: 526061 -> 507721 (-3.49%)
VClause: 1202 -> 1188 (-1.16%)
Copies: 4649 -> 4621 (-0.60%)
Branches: 1605 -> 1598 (-0.44%)

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv/rt: use derefs for the traversal stack
Daniel Schürmann [Thu, 21 Apr 2022 22:29:02 +0000 (00:29 +0200)]
radv/rt: use derefs for the traversal stack

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv: create RT traversal as separate shader
Daniel Schürmann [Thu, 21 Apr 2022 19:33:10 +0000 (21:33 +0200)]
radv: create RT traversal as separate shader

This will help in future to keep the main shader slim
when we have actual function calls.

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoradv: Only create noop-fs for graphics pipelines
Daniel Schürmann [Fri, 13 May 2022 14:14:34 +0000 (16:14 +0200)]
radv: Only create noop-fs for graphics pipelines

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301>

23 months agoanv: implement Wa_14015264727 for DG2
Tapani Pälli [Wed, 20 Jul 2022 12:29:22 +0000 (15:29 +0300)]
anv: implement Wa_14015264727 for DG2

On DG2 we need to flush data cache before fast clear operation.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17218>

23 months agoiris: implement Wa_14015264727 for DG2
Tapani Pälli [Wed, 20 Jul 2022 09:30:32 +0000 (12:30 +0300)]
iris: implement Wa_14015264727 for DG2

On DG2 we need to flush data cache before fast clear operation.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17218>

23 months agod3d12: Remove state tracking implementation details from header
Jesse Natalie [Thu, 21 Jul 2022 19:46:23 +0000 (12:46 -0700)]
d3d12: Remove state tracking implementation details from header

Now that the old state tracking code is removed, implementation details
no longer need to be leaked out of this single source file. Remove structs,
function declarations, 'd3d12_' prefixes, and add static when possible.

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

23 months agod3d12: Add a transition flag indicating that state accumulation is needed
Jesse Natalie [Thu, 21 Jul 2022 17:15:25 +0000 (10:15 -0700)]
d3d12: Add a transition flag indicating that state accumulation is needed

Most call sites for transitions will only apply transitions to one or two
resources, and don't need to use the bo set, where each call is guaranteed
to insert the bo, only to walk the set immediately afterwards. Instead, they
can just append the barriers to the dynarray directly and skip the bo set.

Draws and dispatches still use the append approach, to accumulate the full
set of state needed for each subresource for the case where a single
[sub]resource is bound to the pipeline in multiple places.

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

23 months agod3d12: Optimize transition_subresource_states that covers a whole resource
Jesse Natalie [Thu, 21 Jul 2022 17:00:01 +0000 (10:00 -0700)]
d3d12: Optimize transition_subresource_states that covers a whole resource

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

23 months agod3d12: Extract core barrier logic
Jesse Natalie [Thu, 21 Jul 2022 16:21:41 +0000 (09:21 -0700)]
d3d12: Extract core barrier logic

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

23 months agod3d12: Rename bind invalidate options to transition flags
Jesse Natalie [Thu, 21 Jul 2022 16:10:13 +0000 (09:10 -0700)]
d3d12: Rename bind invalidate options to transition flags

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

23 months agod3d12: Swap the remainder of state tracking to new method
Jesse Natalie [Thu, 21 Jul 2022 03:25:29 +0000 (20:25 -0700)]
d3d12: Swap the remainder of state tracking to new method

Uses a set of d3d12_bo on the context to track which bos are pending
a transition instead of an intrusive linked list, since the bo may
need to be pending on multiple contexts at once.

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

23 months agod3d12: Record a state fixup command list when necessary
Jesse Natalie [Wed, 20 Jul 2022 19:03:21 +0000 (12:03 -0700)]
d3d12: Record a state fixup command list when necessary

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

23 months agod3d12: Track a global resource state for non-simultaneous-access resources
Jesse Natalie [Wed, 20 Jul 2022 14:45:59 +0000 (07:45 -0700)]
d3d12: Track a global resource state for non-simultaneous-access resources

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

23 months agod3d12: Create/free context state entries
Jesse Natalie [Wed, 20 Jul 2022 14:02:38 +0000 (07:02 -0700)]
d3d12: Create/free context state entries

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

23 months agod3d12: Treat depth/stencil as planar for plane count helper
Jesse Natalie [Wed, 20 Jul 2022 14:00:36 +0000 (07:00 -0700)]
d3d12: Treat depth/stencil as planar for plane count helper

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

23 months agod3d12: Add a context state tracking structure
Jesse Natalie [Wed, 20 Jul 2022 12:31:01 +0000 (05:31 -0700)]
d3d12: Add a context state tracking structure

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

23 months agod3d12: Notify contexts about deletion of bos
Jesse Natalie [Tue, 19 Jul 2022 22:42:04 +0000 (15:42 -0700)]
d3d12: Notify contexts about deletion of bos

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

23 months agod3d12: Hold lock when removing resources from residency list
Jesse Natalie [Tue, 19 Jul 2022 22:30:07 +0000 (15:30 -0700)]
d3d12: Hold lock when removing resources from residency list

Also, remove them from the list before releasing the ID3D12Resource.

Fixes: 671deb54 ("d3d12: Add residency info to d3d12_bo")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688>

23 months agod3d12: Add a list of contexts alive for the current screen
Jesse Natalie [Tue, 19 Jul 2022 22:07:42 +0000 (15:07 -0700)]
d3d12: Add a list of contexts alive for the current screen

When a resource is destroyed, we'll need to let the contexts know.
This is guarded by the submit mutex, because we'll already be holding
that for at least one place where we want to iterate this list, and
it's low-frequency enough that re-using it is simpler than adding more
locks and creating confusing lock ordering.

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

23 months agod3d12: Give bos a unique identifier to be used for state tracking
Jesse Natalie [Tue, 19 Jul 2022 21:47:47 +0000 (14:47 -0700)]
d3d12: Give bos a unique identifier to be used for state tracking

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

23 months agod3d12: Move current resource state to new files
Jesse Natalie [Mon, 18 Jul 2022 23:11:59 +0000 (16:11 -0700)]
d3d12: Move current resource state to new files

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

23 months agod3d12: Move desired resource state to new files
Jesse Natalie [Mon, 18 Jul 2022 21:28:30 +0000 (14:28 -0700)]
d3d12: Move desired resource state to new files

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

23 months agod3d12: Add a blank d3d12_resource_state.h/cpp
Jesse Natalie [Mon, 18 Jul 2022 20:20:26 +0000 (13:20 -0700)]
d3d12: Add a blank d3d12_resource_state.h/cpp

This will host some code that's moving and ported to match style
with the rest of the driver, and other code that will be re-written.

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

23 months agoutil/vbuf: handle multidraws
Mike Blumenkrantz [Thu, 21 Jul 2022 16:48:17 +0000 (12:48 -0400)]
util/vbuf: handle multidraws

this moves the handling from cso_conext to vbuf, which reduces overhead
for draws that aren't rewritten

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

23 months agoglsl: correctly track cross slot component packing
Timothy Arceri [Fri, 22 Jul 2022 01:59:49 +0000 (11:59 +1000)]
glsl: correctly track cross slot component packing

Otherwise we will mix and match mesa's custom cross slot packing
with arb_enhanced_layouts style packing and we won't correctly
handle the size of the vars needed for the mesa custom packing.

The code was working correctly if the shader interface had both
a matching input and output but when we only had one side of
the interface we were only marking a single slot location as
packed.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Fixes: e5122a55435d ("glsl: add a NIR based varying linker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6853
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17550>

23 months agoetnaviv: remove etna_align_up() function
Lucas Stach [Thu, 21 Jul 2022 19:50:37 +0000 (21:50 +0200)]
etnaviv: remove etna_align_up() function

It does the same thing as align() from u_math.h, no need to
have a etnaviv specific version.

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

23 months agozink: drop pointless comment
Erik Faye-Lund [Thu, 21 Jul 2022 10:22:43 +0000 (12:22 +0200)]
zink: drop pointless comment

We're already handling all the meaningful types here. The other types
like samplers, images, structs etc aren't really appropriate here.

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

23 months agozink: remove pointless assert
Erik Faye-Lund [Wed, 13 Apr 2022 08:32:26 +0000 (10:32 +0200)]
zink: remove pointless assert

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

23 months agozink: remove pointless test
Erik Faye-Lund [Wed, 13 Apr 2022 08:30:28 +0000 (10:30 +0200)]
zink: remove pointless test

These are already all the bitsizes there are. No need to test for them.

Besides, get_uvec_type already contains an assert for the same
condition anyway.

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

23 months agoac/nir/ngg: Remember proper bit sizes of GS output variables.
Timur Kristóf [Sun, 17 Jul 2022 18:36:43 +0000 (20:36 +0200)]
ac/nir/ngg: Remember proper bit sizes of GS output variables.

The LLVM backend keeps track of 16-bit output variables and it will
miscompile shaders when these outputs aren't the correct bitsize.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

23 months agoac/nir/ngg: Copy comment about LDS layout for NGG GS.
Timur Kristóf [Wed, 8 Sep 2021 08:37:09 +0000 (10:37 +0200)]
ac/nir/ngg: Copy comment about LDS layout for NGG GS.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

23 months agoac/llvm: Use gs_prim_id for NGG VS.
Timur Kristóf [Sun, 17 Jul 2022 17:08:11 +0000 (19:08 +0200)]
ac/llvm: Use gs_prim_id for NGG VS.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

23 months agoac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add.
Timur Kristóf [Thu, 19 May 2022 21:13:28 +0000 (23:13 +0200)]
ac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add.

LLVM always believes that this instruction's upper bound is the wave
size, regardless of ac_set_range_metadata and regardless of whether
the add source is used.

As a workaround, emit an extra add instruction.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

23 months agoac/llvm: Implement load_num_subgroups for NGG shaders.
Timur Kristóf [Thu, 9 Sep 2021 14:19:37 +0000 (16:19 +0200)]
ac/llvm: Implement load_num_subgroups for NGG shaders.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706>

23 months agoradv: Simplify the meta init fail path
Konstantin Seurer [Wed, 20 Jul 2022 12:49:38 +0000 (14:49 +0200)]
radv: Simplify the meta init fail path

Move most of the the cleanup into radv_device_init_meta.

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

23 months agoradv: Use RADV_META_SUSPEND_PREDICATING
Konstantin Seurer [Tue, 19 Jul 2022 12:39:06 +0000 (14:39 +0200)]
radv: Use RADV_META_SUSPEND_PREDICATING

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

23 months agoradv: Add meta saving/restoring for predicating
Konstantin Seurer [Tue, 19 Jul 2022 12:11:15 +0000 (14:11 +0200)]
radv: Add meta saving/restoring for predicating

There are a bunch of places, where this is done manually.

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

23 months agollvmpipe: fix aniso cube map arrays.
Dave Airlie [Fri, 22 Jul 2022 03:59:11 +0000 (13:59 +1000)]
llvmpipe: fix aniso cube map arrays.

There was a coordinate missing when you have cube map arrays,
and aniso sampling.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fixes: ce2b711c0a5d ("gallivm: add support for anisotropic sampling.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17704>

23 months agoRevert "venus: suballocate more for layering"
Yiwei Zhang [Fri, 22 Jul 2022 01:16:34 +0000 (01:16 +0000)]
Revert "venus: suballocate more for layering"

This reverts commit f96e25ae0530be62e8c4b0ca6631643725753190.

It's causing vkbench oom failure on radv.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17701>

23 months agozink: Mark depth/stencil visual tests as flakes
Jason Ekstrand [Fri, 22 Jul 2022 00:18:09 +0000 (19:18 -0500)]
zink: Mark depth/stencil visual tests as flakes

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

23 months agovulkan: Don't assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0
Jason Ekstrand [Wed, 20 Jul 2022 23:17:21 +0000 (18:17 -0500)]
vulkan: Don't assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0

There are VUs that imply that this is a requirement but the CTS seems to
ignore it.

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

23 months agovulkan: Input assembly and depth/stencil can also be fully dynamic
Jason Ekstrand [Thu, 21 Jul 2022 19:41:43 +0000 (14:41 -0500)]
vulkan: Input assembly and depth/stencil can also be fully dynamic

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

23 months agovulkan: Fix pipeline libraries with dynamic-only VI or FSR state
Jason Ekstrand [Wed, 20 Jul 2022 18:58:44 +0000 (13:58 -0500)]
vulkan: Fix pipeline libraries with dynamic-only VI or FSR state

When we initialize the graphics pipeline state, we skip VI and FSR state
if they're 100% dynamic.  We need to do this if the current set of
dynamic things contains VI/FSR or if the set of dynamic state already in
the vk_graphics_pipeline_state has them dynamic.  Look state->dynamic
after we've merged instead of just looking at the dynamic set from the
VkGraphicsPipelineCreateInfo we were passed.

Also, when we validate, we need to assume that VI and FSR exist or else
we'll assert if dynamic VI or FSR are set.

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

23 months agovulkan: Add a fully_dynamic_state_groups() helper
Jason Ekstrand [Thu, 21 Jul 2022 19:35:25 +0000 (14:35 -0500)]
vulkan: Add a fully_dynamic_state_groups() helper

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

23 months agovulkan: Depth/stencil isn't fragment output state but multisample is
Jason Ekstrand [Wed, 20 Jul 2022 18:32:28 +0000 (13:32 -0500)]
vulkan: Depth/stencil isn't fragment output state but multisample is

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

23 months agovulkan: Multisample state isn't always included in fragment shader state
Jason Ekstrand [Wed, 20 Jul 2022 20:38:28 +0000 (15:38 -0500)]
vulkan: Multisample state isn't always included in fragment shader state

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

23 months agovulkan: Record shader stages in vk_graphics_pipeline_state
Jason Ekstrand [Wed, 20 Jul 2022 20:11:57 +0000 (15:11 -0500)]
vulkan: Record shader stages in vk_graphics_pipeline_state

Some of our asserts and other checks depend on the total set of stages,
not just the stages set in the current pCreateInfo.  Recording the stage
mask lets us combine them in vk_graphics_pipeline_state_merge().

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

23 months agovulkan: Allow up to 12 pointers in multialloc
Jason Ekstrand [Wed, 20 Jul 2022 02:37:11 +0000 (21:37 -0500)]
vulkan: Allow up to 12 pointers in multialloc

vk_graphics_pipeline_state_init() may allocate up to 12 things so expand
vk_multialloc accordingly.

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

23 months agoturnip: fix an assertion with drm-shim
Chia-I Wu [Fri, 15 Jul 2022 18:31:16 +0000 (11:31 -0700)]
turnip: fix an assertion with drm-shim

Fixes

  deqp-vk: ../src/vulkan/runtime/vk_device.c:49:
  get_timeline_mode: Assertion `timeline_type == NULL' failed.

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

23 months agofreedreno/drm-shim: add a660
Chia-I Wu [Fri, 15 Jul 2022 18:21:22 +0000 (11:21 -0700)]
freedreno/drm-shim: add a660

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

23 months agoRevert "ci/freedreno: Switch a630 to manual/disabled for lab maintenance."
Emma Anholt [Wed, 20 Jul 2022 19:23:59 +0000 (12:23 -0700)]
Revert "ci/freedreno: Switch a630 to manual/disabled for lab maintenance."

This reverts commit 7e381ba9fcc4b2cba0ab72fdfbe5535561e23f6c.  2 new
boards are in place, bringing us from 7 to 9.  We hoped for 12, but have
ongoing power stability issues.

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

23 months agoci/turnip: Add a couple of missing a630 fails.
Emma Anholt [Thu, 21 Jul 2022 21:22:52 +0000 (14:22 -0700)]
ci/turnip: Add a couple of missing a630 fails.

Same as a618.

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

23 months agoci/turnip: Bump up the a630 full run timeout.
Emma Anholt [Thu, 21 Jul 2022 21:20:22 +0000 (14:20 -0700)]
ci/turnip: Bump up the a630 full run timeout.

Test runtime has crept up with more CTS tests and more features.  The last
vk_full 1/2 run I tried timed out at:

Pass: 268488, Fail: 2, ExpectedFail: 7, Warn: 1, Skip: 602571, Duration: 1:29:29, Remaining: 45

Rude.

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

23 months agoci/freedreno: Add some more known flakes for a630 from our IRC logs.
Emma Anholt [Wed, 20 Jul 2022 19:29:23 +0000 (12:29 -0700)]
ci/freedreno: Add some more known flakes for a630 from our IRC logs.

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

23 months agod3d12: Support clip halfz
Jesse Natalie [Mon, 7 Feb 2022 17:49:33 +0000 (09:49 -0800)]
d3d12: Support clip halfz

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

23 months agod3d12: Enable VPP rotation, flip, alpha blend, crop, scaling via pipe_video_codec...
Sil Vilerino [Fri, 15 Jul 2022 12:04:49 +0000 (08:04 -0400)]
d3d12: Enable VPP rotation, flip, alpha blend, crop, scaling via pipe_video_codec::process_frame

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agod3d12: Add pipe_video_codec::process_frame implementation
Sil Vilerino [Fri, 15 Jul 2022 12:03:56 +0000 (08:03 -0400)]
d3d12: Add pipe_video_codec::process_frame implementation

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agova: Add support for VPP rotation, flip, alpha blend, crop, scaling
Sil Vilerino [Fri, 15 Jul 2022 12:01:41 +0000 (08:01 -0400)]
va: Add support for VPP rotation, flip, alpha blend, crop, scaling

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agogallium/video: Add video post processing interface
Sil Vilerino [Thu, 21 Jul 2022 16:34:55 +0000 (12:34 -0400)]
gallium/video: Add video post processing interface

Add process_frame to pipe_video codec
Add new structures/caps for video post-processing with rotation,
flip, alpha blending, crop, and scaling, via the video engine.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agova: Replace usage of entrypoint UNKNOWN with PROCESSING for VP
Sil Vilerino [Thu, 21 Jul 2022 16:41:45 +0000 (12:41 -0400)]
va: Replace usage of entrypoint UNKNOWN with PROCESSING for VP

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agovl: Replace usage of entrypoint UNKNOWN with PROCESSING for VP
Sil Vilerino [Thu, 21 Jul 2022 16:41:32 +0000 (12:41 -0400)]
vl: Replace usage of entrypoint UNKNOWN with PROCESSING for VP

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agopipe/video: Add PIPE_VIDEO_ENTRYPOINT_PROCESSING
Sil Vilerino [Thu, 21 Jul 2022 16:36:15 +0000 (12:36 -0400)]
pipe/video: Add PIPE_VIDEO_ENTRYPOINT_PROCESSING

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agod3d12: Video - Remove unused spCopyQueues from enc/dec objects
Sil Vilerino [Fri, 8 Jul 2022 19:01:29 +0000 (15:01 -0400)]
d3d12: Video - Remove unused spCopyQueues from enc/dec objects

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557>

23 months agoanv: allocate RT scratch in local memory
Lionel Landwerlin [Thu, 21 Jul 2022 09:27:16 +0000 (09:27 +0000)]
anv: allocate RT scratch in local memory

Like a 100x (not joking) improvement.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17674>

23 months agoac/nir/ngg: Create output variable for primitive ID export.
Timur Kristóf [Sun, 17 Jul 2022 19:34:06 +0000 (21:34 +0200)]
ac/nir/ngg: Create output variable for primitive ID export.

This makes the RADV/LLVM backend happy and mitigates a crash.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581>

23 months agoaco: Remove hack for primitive ID export.
Timur Kristóf [Sun, 17 Jul 2022 19:34:43 +0000 (21:34 +0200)]
aco: Remove hack for primitive ID export.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581>

23 months agoac/nir/ngg: Move primitive ID workgroup barrier to proper place.
Timur Kristóf [Mon, 18 Jul 2022 13:42:57 +0000 (15:42 +0200)]
ac/nir/ngg: Move primitive ID workgroup barrier to proper place.

Previously, it was in a divergent branch, therefore
it could hang the GPU when a workgroup had a primitive-only wave.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581>

23 months agoac/nir/ngg: Decouple primitive ID store and primitive export.
Qiang Yu [Thu, 14 Jul 2022 04:45:45 +0000 (12:45 +0800)]
ac/nir/ngg: Decouple primitive ID store and primitive export.

There's no dependency between them.

This can simplify the compiler backend translation by
always storing prim id before vertex export, which also
benefits the LLVM backend in latter changes.

Signed-off-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581>

23 months agolavapipe: Use more Vulkan NIR heleprs
Jason Ekstrand [Tue, 19 Jul 2022 23:16:18 +0000 (18:16 -0500)]
lavapipe: Use more Vulkan NIR heleprs

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

23 months agovulkan: Call gather_xfb_info in vk_spirv_to_nir
Jason Ekstrand [Wed, 20 Jul 2022 00:20:38 +0000 (19:20 -0500)]
vulkan: Call gather_xfb_info in vk_spirv_to_nir

In particular, we now call it before running dead variables so we get
the XFB info even for things which are never written.  This fixes a 102
Vulkan CTS tests on ANV and probably turnip as well.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644>

23 months agovulkan/nir: Don't remove dead XFB outputs
Jason Ekstrand [Wed, 20 Jul 2022 18:45:45 +0000 (13:45 -0500)]
vulkan/nir: Don't remove dead XFB outputs

Fixes: 21b405fbbc53 ("vulkan: Add a vk_shader_module_to_nir() helper")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644>

23 months agovulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir
Jason Ekstrand [Wed, 20 Jul 2022 00:19:42 +0000 (19:19 -0500)]
vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644>

23 months agoiris/bufmgr: Add assert and TODO comment for future small BAR uapi
Jordan Justen [Tue, 21 Jun 2022 22:12:18 +0000 (15:12 -0700)]
iris/bufmgr: Add assert and TODO comment for future small BAR uapi

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoanv/allocator: Add assert and TODO comment for future small BAR uapi
Jordan Justen [Tue, 21 Jun 2022 22:43:32 +0000 (15:43 -0700)]
anv/allocator: Add assert and TODO comment for future small BAR uapi

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoiris: Set clear_color_unknown if the bo is not mappable
Jordan Justen [Mon, 16 May 2022 17:47:15 +0000 (10:47 -0700)]
iris: Set clear_color_unknown if the bo is not mappable

Rework:
 * Ken: Check bo for IRIS_MMAP_NONE rather than the global
   intel_vram_all_mappable

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoiris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode
Jordan Justen [Fri, 15 Jul 2022 17:16:19 +0000 (10:16 -0700)]
iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Suggested-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoiris/bufmgr: Add all_vram_mappable which is currently always true
Jordan Justen [Mon, 16 May 2022 16:48:23 +0000 (09:48 -0700)]
iris/bufmgr: Add all_vram_mappable which is currently always true

This can be false on systems where the PCI Base Address Register (BAR)
is too small for the amount of VRAM. Eventually the kernel will be
able to tell us that a system can't map all of VRAM, and
`all_vram_mappable` will then be false.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoiris/resource: Avoid mapping when not needed in iris_resource_init_aux_buf()
Jordan Justen [Mon, 16 May 2022 09:43:03 +0000 (02:43 -0700)]
iris/resource: Avoid mapping when not needed in iris_resource_init_aux_buf()

We might not be able to map all vram buffers in the future, so only
map the buffer when actually required.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agoiris/resource: Assert that DG2 CCS buffers don't also try to set BO_ALLOC_SMEM
Jordan Justen [Mon, 16 May 2022 09:35:11 +0000 (02:35 -0700)]
iris/resource: Assert that DG2 CCS buffers don't also try to set BO_ALLOC_SMEM

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agointel/dev: Add intel_vram_all_mappable()
Jordan Justen [Mon, 16 May 2022 10:02:01 +0000 (03:02 -0700)]
intel/dev: Add intel_vram_all_mappable()

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agointel/tools: Print unmappable region info in intel_dev_info
Jordan Justen [Tue, 14 Jun 2022 06:45:35 +0000 (23:45 -0700)]
intel/tools: Print unmappable region info in intel_dev_info

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agointel/dev: Add vram.unmappable.size region info
Jordan Justen [Sat, 11 Jun 2022 01:10:27 +0000 (18:10 -0700)]
intel/dev: Add vram.unmappable.size region info

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>

23 months agointel/dev: deal with i915 unallocated_size on smem
Lionel Landwerlin [Wed, 22 Jun 2022 07:51:13 +0000 (10:51 +0300)]
intel/dev: deal with i915 unallocated_size on smem

We cannot rely on unallocated_size on system memory for
VK_EXT_memory_budget.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 4aecfbf0f4ab ("intel/dev: Add devinfo::mem to store i915 regions information")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349>