platform/upstream/mesa.git
3 years agoiris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0
Yevhenii Kharchenko [Mon, 22 Feb 2021 22:15:15 +0000 (00:15 +0200)]
iris: fix layer calculation for TEXTURE_3D ReadPixels() on mip-level>0

Fixes assert when ReadPixels() called to read from FBO to
GL_PIXEL_PACK_BUFFER, on mip-level > 0, since num_layers
wasn't properly calculated with mip-level.

v2: patched 'iris_create_sampler_view' function instead of
'resolve_sampler_views'. Just like it was suggested in this
function's comment.
The logic of fix is similar to one in 'update_image_surface' function
of i965 driver, which is introduced in commit
f9fd0cf4790cb2a530e75d1a2206dbb9d8af7cb2.
With a slight change: setting array_len=1, like it was done in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5808 ,
since minifying depth fails KHR-GLES2.texture_3d.filtering tests.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4145
Fixes: 3c979b0e ('iris: add some draw resolve hooks')

Signed-off-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9253>

3 years agoradv: remove unecessary radv_finishme() for invalid color formats
Samuel Pitoiset [Thu, 26 Aug 2021 09:00:33 +0000 (11:00 +0200)]
radv: remove unecessary radv_finishme() for invalid color formats

Something really bad happen (likely driver bug) if this is triggered.
Replace with some assertions to catch an eventual issue in debug build.

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

3 years agoradv: remove useless check about number of samples in the HW resolve path
Samuel Pitoiset [Thu, 26 Aug 2021 08:56:04 +0000 (10:56 +0200)]
radv: remove useless check about number of samples in the HW resolve path

Although this can likely hang, this is invalid and should be caught
by the validation layers. There is many ways to hang the GPU with VK,
this check alone is useless.

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

3 years agoradv: remove outdated radv_finishme() in the HW resolve path
Samuel Pitoiset [Thu, 26 Aug 2021 08:54:53 +0000 (10:54 +0200)]
radv: remove outdated radv_finishme() in the HW resolve path

Resolving layered MSAA images is actually implemented by the HW
resolve path but never used because the driver uses the compute path.

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

3 years agozink: set primitive restart with extended dynamic state2
Mike Blumenkrantz [Fri, 11 Jun 2021 15:20:30 +0000 (11:20 -0400)]
zink: set primitive restart with extended dynamic state2

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

3 years agozink: bump dynamic pipeline state count
Mike Blumenkrantz [Fri, 11 Jun 2021 14:04:24 +0000 (10:04 -0400)]
zink: bump dynamic pipeline state count

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

3 years agozink: template for VK_EXT_extended_dynamic_state2
Mike Blumenkrantz [Fri, 11 Jun 2021 14:04:17 +0000 (10:04 -0400)]
zink: template for VK_EXT_extended_dynamic_state2

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

3 years agozink: hook up VK_EXT_extended_dynamic_state2
Mike Blumenkrantz [Fri, 11 Jun 2021 14:03:59 +0000 (10:03 -0400)]
zink: hook up VK_EXT_extended_dynamic_state2

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

3 years agozink: no-op prim changes for pipeline recalc
Mike Blumenkrantz [Mon, 14 Jun 2021 18:24:32 +0000 (14:24 -0400)]
zink: no-op prim changes for pipeline recalc

this is no longer part of pipeline hash since we're using dynamic state

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

3 years agozink: consolidate pipeline hash tables
Mike Blumenkrantz [Mon, 14 Jun 2021 18:23:05 +0000 (14:23 -0400)]
zink: consolidate pipeline hash tables

with dynamic prim type, pipelines can now be grouped by base prim type
instead of requiring a different pipeline for overall prim type

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

3 years agozink: use dynamic prim type
Mike Blumenkrantz [Mon, 14 Jun 2021 18:21:39 +0000 (14:21 -0400)]
zink: use dynamic prim type

this is part of dynamic state but wasn't used since it required
actual work to effectively make use of it

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

3 years agozink: batch mem barrier hooks
Mike Blumenkrantz [Fri, 16 Jul 2021 13:44:51 +0000 (09:44 -0400)]
zink: batch mem barrier hooks

memory barriers are redundant, so batch them and apply based on actual
usage to be slightly more efficient

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

3 years agozink: slim down streamout component of mem barrier hook
Mike Blumenkrantz [Thu, 15 Jul 2021 18:26:04 +0000 (14:26 -0400)]
zink: slim down streamout component of mem barrier hook

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

3 years agozink: remove query flush from memory barrier hook
Mike Blumenkrantz [Thu, 15 Jul 2021 14:42:39 +0000 (10:42 -0400)]
zink: remove query flush from memory barrier hook

qbos are separate buffers with their own barriers, so this just stalls
pointlessly

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

3 years agozink: use ctx gfx prim mode for draw comparisons
Mike Blumenkrantz [Fri, 11 Jun 2021 13:50:09 +0000 (09:50 -0400)]
zink: use ctx gfx prim mode for draw comparisons

just being consistent

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

3 years agozink: init ctx->gfx_prim_mode to nonzero value to trigger pipeline changes
Mike Blumenkrantz [Fri, 25 Jun 2021 13:32:44 +0000 (09:32 -0400)]
zink: init ctx->gfx_prim_mode to nonzero value to trigger pipeline changes

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

3 years agozink: reorder gfx program/pipeline/descriptor binds if dynamic state is present
Mike Blumenkrantz [Fri, 11 Jun 2021 13:32:35 +0000 (09:32 -0400)]
zink: reorder gfx program/pipeline/descriptor binds if dynamic state is present

this enables deferring the heavy lifting until the rest of the state updates are
done

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

3 years agozink: remove extra unsetting of ctx->vertex_state_changed
Mike Blumenkrantz [Wed, 28 Jul 2021 19:09:11 +0000 (15:09 -0400)]
zink: remove extra unsetting of ctx->vertex_state_changed

this is already managed in zink_get_gfx_pipeline

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

3 years agozink: pass current program's shader array, not ctx array
Mike Blumenkrantz [Thu, 10 Jun 2021 12:17:33 +0000 (08:17 -0400)]
zink: pass current program's shader array, not ctx array

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

3 years agozink: remove attachment count from pipeline hash
Mike Blumenkrantz [Thu, 10 Jun 2021 12:17:09 +0000 (08:17 -0400)]
zink: remove attachment count from pipeline hash

this is redundant

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

3 years agozink: declare ctx var during blend state bind
Mike Blumenkrantz [Thu, 10 Jun 2021 10:43:34 +0000 (06:43 -0400)]
zink: declare ctx var during blend state bind

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

3 years agozink: assert precise queries are occlusion queries
Mike Blumenkrantz [Tue, 10 Aug 2021 14:17:39 +0000 (10:17 -0400)]
zink: assert precise queries are occlusion queries

this should always be the case

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

3 years agozink: require occlusionQueryPrecise for occlusion queries
Mike Blumenkrantz [Tue, 10 Aug 2021 14:16:15 +0000 (10:16 -0400)]
zink: require occlusionQueryPrecise for occlusion queries

ensure this is present to avoid driver explosions

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

3 years agozink: always init bordercolor value for sampler
Mike Blumenkrantz [Mon, 21 Jun 2021 13:53:35 +0000 (09:53 -0400)]
zink: always init bordercolor value for sampler

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

3 years agozink: implement PIPE_QUERY_GPU_FINISHED
Mike Blumenkrantz [Thu, 15 Jul 2021 12:33:23 +0000 (08:33 -0400)]
zink: implement PIPE_QUERY_GPU_FINISHED

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

3 years agov3dv: Implement VK_EXT_pipeline_creation_feedback
Ella-0 [Mon, 2 Aug 2021 22:13:25 +0000 (22:13 +0000)]
v3dv: Implement VK_EXT_pipeline_creation_feedback

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

3 years agomicrosoft/compiler: trivial fixes to error-handling
Erik Faye-Lund [Wed, 25 Aug 2021 12:16:52 +0000 (14:16 +0200)]
microsoft/compiler: trivial fixes to error-handling

We're really bad at making sure we report errors when we fail to
allocate memory. This makes us a bit better...

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

3 years agomicrosoft/compiler: return errors from get_n_src
Erik Faye-Lund [Wed, 25 Aug 2021 12:22:04 +0000 (14:22 +0200)]
microsoft/compiler: return errors from get_n_src

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

3 years agomicrosoft/compiler: remove needless error-returns
Erik Faye-Lund [Wed, 25 Aug 2021 09:45:13 +0000 (11:45 +0200)]
microsoft/compiler: remove needless error-returns

There's no root error-conditions in this code, just code that assumes
they exist and tries to handle them.

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

3 years agonir: fix ifind_msb_rev by using appropriate type
Filip Gawin [Wed, 25 Aug 2021 21:19:36 +0000 (23:19 +0200)]
nir: fix ifind_msb_rev by using appropriate type

As you can see comparion "x < 0" doesn't make
sense if x is unsigned.

Fixes: a5747f8a ("nir: add opcodes for *find_msb_rev and lowering ")

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

3 years agonir: fix shadowed variable in nir_lower_bit_size.c
Filip Gawin [Tue, 24 Aug 2021 19:28:19 +0000 (21:28 +0200)]
nir: fix shadowed variable in nir_lower_bit_size.c

Fixes: 6d792989924 ("nir/lower_bit_size: fix lowering of {imul,umul}_high")

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12527>

3 years agovenus: conditionally enable async descriptor set allocation
Yiwei Zhang [Sun, 22 Aug 2021 22:26:54 +0000 (22:26 +0000)]
venus: conditionally enable async descriptor set allocation

When VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT is not used to
create the pool, set allocation is guaranteed to not return
VK_ERROR_FRAGMENTED_POOL, and we can safely move set allocation to async
after doing resource tracking in the driver.

Enable after fully tested with assert(false) in the failure case.

Tested with:
- dEQP-VK.api.descriptor*
- dEQP-VK.api.object_management.*
- dEQP-VK.binding_model.descriptor*
- dEQP-VK.descriptor_indexing.*

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

3 years agovenus: check descriptor allocations against pool resource
Yiwei Zhang [Fri, 20 Aug 2021 21:50:14 +0000 (21:50 +0000)]
venus: check descriptor allocations against pool resource

Only kick in when async_set_allocation is enabled.

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

3 years agovenus: descriptor set to track descriptor count of last binding
Yiwei Zhang [Wed, 25 Aug 2021 01:17:58 +0000 (01:17 +0000)]
venus: descriptor set to track descriptor count of last binding

Track the descriptor count to be used instead of the variable descriptor
count to avoid duplicate checks in later accounting.

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

3 years agovenus: descriptor pool to track pool state
Yiwei Zhang [Fri, 20 Aug 2021 18:53:04 +0000 (18:53 +0000)]
venus: descriptor pool to track pool state

It also tracks whether async set allocation is enabled.

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

3 years agovenus: layout to track variable descriptor count binding info
Yiwei Zhang [Tue, 24 Aug 2021 20:57:23 +0000 (20:57 +0000)]
venus: layout to track variable descriptor count binding info

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

3 years agovenus: descriptor layout to track more binding infos
Yiwei Zhang [Fri, 20 Aug 2021 18:57:43 +0000 (18:57 +0000)]
venus: descriptor layout to track more binding infos

Rename existing max_binding to last_binding to be consistent.

1. layout to track last binding index
2. binding to track descriptor type
3. binding to track descriptor count

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

3 years agovenus: add vn_descriptor_set_layout_init
Yiwei Zhang [Sat, 21 Aug 2021 00:27:04 +0000 (00:27 +0000)]
venus: add vn_descriptor_set_layout_init

Just a refactoring without functional changes.

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

3 years agovenus: refactor failure path for sets allocation
Yiwei Zhang [Fri, 20 Aug 2021 21:06:25 +0000 (21:06 +0000)]
venus: refactor failure path for sets allocation

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

3 years agodri2: Fix Null pointer dereferences
Sergii Melikhov [Wed, 25 Aug 2021 12:13:21 +0000 (15:13 +0300)]
dri2: Fix Null pointer dereferences

Fix defect reported by Coverity Scan CID-1490794

Fixes: 0d42033b26 ("glx/dri2: Require the driver to support v4 of __DRI_DRI2")
Signed-off-by: Sergii Melikhov <sergii.v.melikhov@globallogic.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12563>

3 years agoetnaviv: remove primconvert
Christian Gmeiner [Wed, 23 Jun 2021 05:58:01 +0000 (07:58 +0200)]
etnaviv: remove primconvert

This is no longer used.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12516>

3 years agoetnaviv: export supported prim types
Christian Gmeiner [Wed, 23 Jun 2021 05:56:43 +0000 (07:56 +0200)]
etnaviv: export supported prim types

This is now handled by gallium, so the related codepaths can be dropped.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12516>

3 years agobroadcom/qpu: remove duplicated opcode variable
Juan A. Suarez Romero [Thu, 26 Aug 2021 08:36:48 +0000 (10:36 +0200)]
broadcom/qpu: remove duplicated opcode variable

`opcode` is wrote twice.

Fixes CID 1490798:  Incorrect expression  (EVALUATION_ORDER).

Fixes: 8a5f2228dbb ("broadcom/qpu: add new lookup opcode description helper")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12554>

3 years agoaco: Use workgroup size from input shader info.
Timur Kristóf [Wed, 11 Aug 2021 08:09:04 +0000 (10:09 +0200)]
aco: Use workgroup size from input shader info.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>

3 years agoradv: Remove superfluous workgroup size calculations.
Timur Kristóf [Wed, 11 Aug 2021 06:53:55 +0000 (08:53 +0200)]
radv: Remove superfluous workgroup size calculations.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>

3 years agoradv: Calculate workgroup sizes in radv_pipeline.
Timur Kristóf [Wed, 11 Aug 2021 06:54:28 +0000 (08:54 +0200)]
radv: Calculate workgroup sizes in radv_pipeline.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>

3 years agoac: Calculate workgroup sizes of HW stages that operate in workgroups.
Timur Kristóf [Wed, 11 Aug 2021 06:57:04 +0000 (08:57 +0200)]
ac: Calculate workgroup sizes of HW stages that operate in workgroups.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12321>

3 years agoci: update the list of skipped tests for Fiji/RADV
Samuel Pitoiset [Wed, 25 Aug 2021 12:36:30 +0000 (14:36 +0200)]
ci: update the list of skipped tests for Fiji/RADV

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

3 years agopanvk: Initialize timestamp for disk cache
Tomeu Vizoso [Mon, 5 Jul 2021 08:00:54 +0000 (10:00 +0200)]
panvk: Initialize timestamp for disk cache

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>

3 years agopanfrost: Make pan_blit() return the tiler job pointer
Boris Brezillon [Fri, 7 May 2021 10:33:14 +0000 (12:33 +0200)]
panfrost: Make pan_blit() return the tiler job pointer

The Vulkan driver needs to patch job headers when re-issueing a command
buffer. Return the tiler job pointer to allow that.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>

3 years agopanfrost: Fix pan_blit_ctx_init() when start > end
Boris Brezillon [Tue, 1 Jun 2021 08:18:00 +0000 (10:18 +0200)]
panfrost: Fix pan_blit_ctx_init() when start > end

This can happen when one wants to obtain a mirrored view. We need
to make sure the min <= max before emitting the viewport.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12552>

3 years agopanfrost: Prepare indirect draw helpers to per-gen XML
Boris Brezillon [Fri, 6 Aug 2021 09:21:14 +0000 (11:21 +0200)]
panfrost: Prepare indirect draw helpers to per-gen XML

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Prepare indirect dispatch helpers to per-gen XML
Boris Brezillon [Fri, 6 Aug 2021 09:05:13 +0000 (11:05 +0200)]
panfrost: Prepare indirect dispatch helpers to per-gen XML

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanvk: Prepare per-gen split
Boris Brezillon [Wed, 7 Jul 2021 14:19:16 +0000 (16:19 +0200)]
panvk: Prepare per-gen split

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Only emit special attribute buffer entries on pre-v6 hardware
Boris Brezillon [Mon, 23 Aug 2021 13:37:37 +0000 (15:37 +0200)]
panfrost: Only emit special attribute buffer entries on pre-v6 hardware

There's no special attributes on Bifrost.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Move panfrost_modifier_to_layout() to pan_texture.c
Boris Brezillon [Fri, 6 Aug 2021 12:16:18 +0000 (14:16 +0200)]
panfrost: Move panfrost_modifier_to_layout() to pan_texture.c

This function is not used outside pan_texture.c.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Get rid of all _packed structs in pan_context.h
Boris Brezillon [Wed, 4 Aug 2021 10:28:48 +0000 (12:28 +0200)]
panfrost: Get rid of all _packed structs in pan_context.h

Such that pan_context.h remains generic even after the per-gen XML
switch.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_pack: Add parens around packed1/2 vars in pan_merge()
Boris Brezillon [Wed, 4 Aug 2021 10:23:02 +0000 (12:23 +0200)]
pan/gen_pack: Add parens around packed1/2 vars in pan_merge()

This way we can pass *desc instead of (*desc).

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Add generic mappings for the gen-specific tiler descriptor macros
Boris Brezillon [Wed, 4 Aug 2021 09:25:26 +0000 (11:25 +0200)]
panfrost: Add generic mappings for the gen-specific tiler descriptor macros

This way the transition to per-gen XML files gets simpler.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Get rid of the mali_xxx enum redefinitions
Boris Brezillon [Fri, 6 Aug 2021 10:30:04 +0000 (12:30 +0200)]
panfrost: Get rid of the mali_xxx enum redefinitions

The gen_macros.h header should include the common header file when
PAN_ARCH is undefined, thus making those redefinitions useless.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: s/[idep_]midgard_pack/[idep_]pan_packers/
Boris Brezillon [Wed, 4 Aug 2021 08:41:54 +0000 (10:41 +0200)]
panfrost: s/[idep_]midgard_pack/[idep_]pan_packers/

We will soon have per-gen pack headers. Let's rename the meson variables
to reflect that.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Stop including midgard_pack.h directly
Boris Brezillon [Fri, 6 Aug 2021 10:24:09 +0000 (12:24 +0200)]
panfrost: Stop including midgard_pack.h directly

Include gen_macros.h instead so we can smoothly transition to per-gen
XMLs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_macros: Include midgard_pack.h from gen_macros.h
Boris Brezillon [Wed, 28 Jul 2021 09:15:31 +0000 (11:15 +0200)]
pan/gen_macros: Include midgard_pack.h from gen_macros.h

This way we will only have a single entry point, thus making the
transition to per-gen XML files easier.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_macros: Map {TEXTURE,SAMPLER} to the arch-specific descriptor
Boris Brezillon [Wed, 28 Jul 2021 09:13:39 +0000 (11:13 +0200)]
pan/gen_macros: Map {TEXTURE,SAMPLER} to the arch-specific descriptor

This will ease the transition to per-arch XML files. While at it, patch
pan_cmdstream.c to use this new macro and avoid an #if section.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_macros: Move the TEXTURE definition to gen_macros.h
Boris Brezillon [Wed, 28 Jul 2021 09:12:23 +0000 (11:12 +0200)]
pan/gen_macros: Move the TEXTURE definition to gen_macros.h

So we can use the same trick in panvk.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanfrost: Move the polygon list init logic to pan_cmdstream.c
Boris Brezillon [Wed, 28 Jul 2021 09:09:49 +0000 (11:09 +0200)]
panfrost: Move the polygon list init logic to pan_cmdstream.c

This logic is Midgard specific and we need move the
panfrost_scoreboard_initialize_tiler() call to a per-arch file so
we can make panfrost_scoreboard_initialize_tiler a per-arch function.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_pack: Add pan_size() and pan_align() macros
Boris Brezillon [Wed, 28 Jul 2021 09:03:13 +0000 (11:03 +0200)]
pan/gen_pack: Add pan_size() and pan_align() macros

And replace all references to MALI_xxx_{LENGTH,ALIGN} by
pan_{size,alignment}(xxx) calls so we can give generic alias to
midgard/bifrost specific descriptors.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopanvk: Add missing midgard_pack dependency
Boris Brezillon [Thu, 5 Aug 2021 08:04:56 +0000 (10:04 +0200)]
panvk: Add missing midgard_pack dependency

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agopan/gen_pack: Generalize the PREFIX() trick
Boris Brezillon [Wed, 28 Jul 2021 09:01:22 +0000 (11:01 +0200)]
pan/gen_pack: Generalize the PREFIX() trick

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12551>

3 years agointel/compiler: INT DIV function does not support source modifiers
Marcin Ślusarz [Tue, 24 Aug 2021 08:50:42 +0000 (10:50 +0200)]
intel/compiler: INT DIV function does not support source modifiers

BSpec says that for all generations.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5281
CC: mesa-stable
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-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/12518>

3 years agoradeonsi: Change GS vertex offset arguments to use gs_vtx_offset array.
Timur Kristóf [Mon, 23 Aug 2021 22:27:58 +0000 (00:27 +0200)]
radeonsi: Change GS vertex offset arguments to use gs_vtx_offset array.

This makes RadeonSI behave like RADV, and hence makes it possible to
use the NIR based ESGS I/O lowering and NGG lowering.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12511>

3 years agoradv, ac, aco: Use indices 0-2 of gs_vtx_offset argument array on GFX9+.
Timur Kristóf [Tue, 24 Aug 2021 06:20:32 +0000 (08:20 +0200)]
radv, ac, aco: Use indices 0-2 of gs_vtx_offset argument array on GFX9+.

Previously, indices 0, 2, 4 were used.
This worked, but it was somewhat unintuitive.
This commit changes it to use indices 0, 1, 2 instead, which
makes the code easier to understand.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12511>

3 years agoglsl: fix explicit-location ifc matching in presence of array types
Ilia Mirkin [Thu, 19 Aug 2021 21:59:18 +0000 (17:59 -0400)]
glsl: fix explicit-location ifc matching in presence of array types

We were treating each field as if it took up a single slot. However
that's not the case. And with strict matching (GLSL 4.20+ / ES 3.1+) we
would end up not matching identical interfaces.

Fixes: c4545676d7 ("glsl/linker: fix location aliasing checks for interface variables")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12479>

3 years agomeson: stop searching for execinfo
Simon Zeni [Mon, 16 Aug 2021 15:24:08 +0000 (11:24 -0400)]
meson: stop searching for execinfo

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>

3 years agoutil/u_debug_symbol: remove debug_symbol_name_glibc and execinfo dependency
Simon Zeni [Mon, 16 Aug 2021 15:23:01 +0000 (11:23 -0400)]
util/u_debug_symbol: remove debug_symbol_name_glibc and execinfo dependency

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>

3 years agoglapi/gl_gentable.py: drop call to backtrace on no op
Simon Zeni [Mon, 16 Aug 2021 15:17:06 +0000 (11:17 -0400)]
glapi/gl_gentable.py: drop call to backtrace on no op

The function uses glibc specific functions

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>

3 years agoi915: remove use of backtrace and backtrace_symbols
Simon Zeni [Mon, 16 Aug 2021 14:44:25 +0000 (10:44 -0400)]
i915: remove use of backtrace and backtrace_symbols

The function `debug_backtrace` relied on glibc specific functions, and is
unused unless someone manually patches the source to set DEBUG_BACKTRACE_SIZE

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12108>

3 years agoanv/image: Don't assert that HiZ can be added
Nanley Chery [Wed, 21 Jul 2021 19:06:28 +0000 (12:06 -0700)]
anv/image: Don't assert that HiZ can be added

HiZ isn't yet enabled for Tile4/64.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agoiris: Disable tiled memcpy for Tile4
Nanley Chery [Tue, 6 Apr 2021 18:45:22 +0000 (11:45 -0700)]
iris: Disable tiled memcpy for Tile4

ISL's tiled memcpy functions don't support it yet.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agoiris: Disable the Y-tiled modifiers on XeHP+
Jordan Justen [Wed, 17 Jun 2020 04:53:48 +0000 (21:53 -0700)]
iris: Disable the Y-tiled modifiers on XeHP+

I915_FORMAT_MOD_Y_TILED_CCS was already disabled for Xe+ due to a change
in the CCS layout. Disable the remaining Y-tiled modifiers since XeHP
lacks support for Y-tiling.

Rework:
* Nanley: Include Anuj's fix for the non-CCS modifiers.
* Nanley: Split out Anuj's fix into a separate if statement.
* Nanley: Rewrite commit message.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Disable I915_FORMAT_MOD_Y_TILED on XeHP+
Nanley Chery [Fri, 23 Jul 2021 23:37:47 +0000 (16:37 -0700)]
intel/isl: Disable I915_FORMAT_MOD_Y_TILED on XeHP+

XeHP lacks support for Y-tiling.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel: Add underscores to HALIGN and VALIGN enums
Nanley Chery [Mon, 28 Jun 2021 22:32:16 +0000 (15:32 -0700)]
intel: Add underscores to HALIGN and VALIGN enums

The HALIGN enums for XeHP already have underscores. Make the other
HALIGN and VALIGN enums conform.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel: Update surface states for XeHP alignments
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel: Update surface states for XeHP alignments

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Use a switch for HALIGN/VALIGN encoding
Nanley Chery [Thu, 29 Jul 2021 23:25:06 +0000 (16:25 -0700)]
intel/isl: Use a switch for HALIGN/VALIGN encoding

Avoid using a sparse and relatively large array for HALIGN encoding.
Additionally, this provides validation of the input alignment values.

Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Fix halign/valign of uncompressed views
Nanley Chery [Fri, 30 Jul 2021 17:50:59 +0000 (10:50 -0700)]
intel/isl: Fix halign/valign of uncompressed views

We're going to start asserting for valid halign/valign values during
surface state emission. Pre-SKL, isl_surf_get_uncompressed_surf creates
uncompressed surfaces with invalid halign/valign values - 1x1. Fix this
by replacing the call to isl_surf_get_image_surf with isl_surf_init,
passing in the uncompressed format up-front.

As we're no longer using isl_surf_get_image_surf, we also need to get
the x and y offset of the image ourselves. Instead of getting a
sample-based offset, then converting to elements later on, we use
isl_surf_get_image_offset_B_tile_el to get the offset in elements
up-front.

With the above two changes, the generic code after the else-block is no
longer needed for the single-layer-view code path. We move it and
specialize it to the if-block (which is executed SKL+ and handles
multi-layer views).

Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/blorp: Fix Gfx7 stencil surface state valign
Nanley Chery [Fri, 30 Jul 2021 21:31:05 +0000 (14:31 -0700)]
intel/blorp: Fix Gfx7 stencil surface state valign

Stencil on Gfx7 has a vertical alignment element of 8, but the largest
its surface state can express is 4. Apply the Gfx6 solution of changing
the alignment in blorp_surf_retile_w_to_y.

Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/blorp: Fix faked RGB image alignment on XeHP
Nanley Chery [Fri, 23 Jul 2021 16:02:06 +0000 (09:02 -0700)]
intel/blorp: Fix faked RGB image alignment on XeHP

On XeHP, NPOT and POT formatted surfaces will use different image
alignment units when emitting surface states. When BLORP fakes an RGB
image as RED, update the image alignment to prevent assert failures when
emitting surface states.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel: Support Tile4/64 in surface states
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel: Support Tile4/64 in surface states

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel: Support Tile4/64 in depth/stencil state
Nanley Chery [Fri, 2 Nov 2018 21:47:37 +0000 (14:47 -0700)]
intel: Support Tile4/64 in depth/stencil state

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Update tiling filter functions for XeHP
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Update tiling filter functions for XeHP

Enable the XeHP-specific tilings and restrict them to that platform.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Use an allow-list in gfx6_filter_tiling
Nanley Chery [Fri, 30 Jul 2021 00:04:14 +0000 (17:04 -0700)]
intel/isl: Use an allow-list in gfx6_filter_tiling

Try to avoid having to update isl_gfx6_filter_tiling when new tilings
are added for new platforms. Note that the allow-list uses
ISL_TILING_ANY_Y_MASK and thus assumes that no new Y-tilings will be
added in the future.

Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Drop ISL_SURF_USAGE_DISPLAY_*_BIT
Nanley Chery [Fri, 30 Jul 2021 00:16:44 +0000 (17:16 -0700)]
intel/isl: Drop ISL_SURF_USAGE_DISPLAY_*_BIT

We haven't used these since their introduction.

Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Drop extra assert on array_pitch_el_rows
Nanley Chery [Thu, 22 Jul 2021 22:11:01 +0000 (15:11 -0700)]
intel/isl: Drop extra assert on array_pitch_el_rows

ISL already asserts that the variable is a multiple of the tile height
via isl_assert_div.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Size Tile64 surfaces with 4 dimensions
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Size Tile64 surfaces with 4 dimensions

In order to size Tile64 surfaces correctly, make sure that the total
physical extent is arrayed. The code should handle 3D surfaces as well,
but is untested for now.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Update image alignments on XeHP
Nanley Chery [Mon, 12 Nov 2018 21:59:06 +0000 (13:59 -0800)]
intel/isl: Update image alignments on XeHP

Implement the new XeHP alignment rules for surface layout.
RENDER_SURFACE_STATE objects still need updating, but that's left for a
separate commit.

Rework:
* Nanley: Include Sagar's VALIGN fix for D16_UNORM.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Define ISL_TILING_4/64 for XeHP
Nanley Chery [Fri, 2 Nov 2018 20:01:58 +0000 (13:01 -0700)]
intel/isl: Define ISL_TILING_4/64 for XeHP

XeHP defines new tiling formats, Tile4 and Tile64. They are needed in
order to support depth/stencil surfaces and multisampling. Create new
ISL enums and define some initial tiling information in order to enable
them later on.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Add msaa_layout param to isl_tiling_get_info
Nanley Chery [Tue, 23 Mar 2021 18:01:16 +0000 (11:01 -0700)]
intel/isl: Add msaa_layout param to isl_tiling_get_info

The additional parameter will be used by Tile64.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agointel/isl: Add more parameters to isl_tiling_get_info
Jason Ekstrand [Wed, 21 Feb 2018 22:57:46 +0000 (14:57 -0800)]
intel/isl: Add more parameters to isl_tiling_get_info

They are not used yet but the layout of Yf and Ys tiles are dependent on
these parameters.  While we're here, better document the function.

Rework:
* Nanley: Update crocus.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12132>

3 years agozink: only remove programs from hash tables on shader deletion if needed
Mike Blumenkrantz [Thu, 10 Jun 2021 10:34:10 +0000 (06:34 -0400)]
zink: only remove programs from hash tables on shader deletion if needed

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>

3 years agozink: set inlinable_uniforms_mask first when binding a shader
Mike Blumenkrantz [Thu, 10 Jun 2021 10:31:42 +0000 (06:31 -0400)]
zink: set inlinable_uniforms_mask first when binding a shader

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12532>