platform/upstream/mesa.git
9 months agoutil: Add size to ralloc_header in debug mode
Caio Oliveira [Mon, 18 Sep 2023 21:24:00 +0000 (14:24 -0700)]
util: Add size to ralloc_header in debug mode

For 64-bit environments this just fills a padding.  Will enable
dumping more information when debugging ralloc trees.

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

9 months agorusticl: Add Rust bindings for inline glsl_types functions
Caio Oliveira [Sat, 16 Sep 2023 17:19:22 +0000 (10:19 -0700)]
rusticl: Add Rust bindings for inline glsl_types functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Flip wrapping of basic "get type" functions
Caio Oliveira [Fri, 29 Sep 2023 07:36:13 +0000 (00:36 -0700)]
compiler/types: Flip wrapping of basic "get type" functions

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Flip wrapping of convenience accessors for vector types
Caio Oliveira [Thu, 7 Sep 2023 23:49:47 +0000 (16:49 -0700)]
compiler/types: Flip wrapping of convenience accessors for vector types

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Flip wrapping of various type identification checks
Caio Oliveira [Sat, 2 Sep 2023 06:49:26 +0000 (23:49 -0700)]
compiler/types: Flip wrapping of various type identification checks

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Flip wrapping of base_type checks
Caio Oliveira [Sat, 2 Sep 2023 05:35:26 +0000 (22:35 -0700)]
compiler/types: Flip wrapping of base_type checks

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Move C declarations into glsl_types.h
Caio Oliveira [Fri, 29 Sep 2023 18:09:55 +0000 (11:09 -0700)]
compiler/types: Move C declarations into glsl_types.h

This ensures they'll be visible for the C++ inline implementations.
Reordered the functions to better organize them: queries, getters,
transformers, layout functions.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agocompiler/types: Move the C++ inline functions in glsl_type out of the struct body
Caio Oliveira [Fri, 1 Sep 2023 23:26:02 +0000 (16:26 -0700)]
compiler/types: Move the C++ inline functions in glsl_type out of the struct body

Just move code, will make easier to flip these to be wrappers to the C code.  Keep
those in a separate header file to reduce cluttering glsl_types.h.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470>

9 months agovenus: fix re-export of imported classic 3d resources
Yiwei Zhang [Fri, 6 Oct 2023 06:41:54 +0000 (23:41 -0700)]
venus: fix re-export of imported classic 3d resources

When the guest driver is Virgl while Xwayland is on Zink, Virgl can
request virtgpu classic 3d resource allocations for swapchain images.
Zink will import when the image is shared with xserver and will export
for fd info of all 2d images later to be forwarded.

Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25579>

9 months agoradv: fix re-emitting streamout descriptors for NGG streamout
Samuel Pitoiset [Tue, 19 Sep 2023 13:47:34 +0000 (15:47 +0200)]
radv: fix re-emitting streamout descriptors for NGG streamout

In a scenario like:
CmdBindTransformFeedbackBuffers()
BeginTransformFeedback()
CmdDraw() --> streamout descriptors emitted
EndTransformFeedback() --> streamout descriptors emitted as 0 (disabled)
CmdDraw()
BeginTransformFeedback()
CmdDraw() --> streamout descriptor not re-emitted
EndTransformFeedback()

Fix this by re-emitting streamout descriptors when streamout is
enabled/disabled because a buffer size of 0 acts like a disable bit.

This fixes dEQP-VK.transform_feedback.simple.backward_dependency_indirect*
on NAVI31.

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

9 months agozink: store bindless var when creating it to avoid creating it again
antonino [Fri, 6 Oct 2023 10:42:20 +0000 (12:42 +0200)]
zink: store bindless var when creating it to avoid creating it again

When bindless variables are created they get used directly and never
stored anywhere so if another bindless instruction is encountered
duplicate variables are created.

Fixes: fe2ba184d8c ("zink: use descriptor indices in compiler")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25591>

9 months agotu/kgsl: Fix field order in kgsl_command_object init
Danylo Piliaiev [Fri, 6 Oct 2023 08:26:26 +0000 (10:26 +0200)]
tu/kgsl: Fix field order in kgsl_command_object init

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

Fixes: ec268fa5b666a49adafc431dbc05b73bfd74526e
("tu/kgsl: Support u_trace and perfetto")

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

9 months agoegl/wayland: Don't segfault if `create_wl_buffer` returns `NULL`
Ian Douglas Scott [Mon, 28 Aug 2023 23:18:01 +0000 (16:18 -0700)]
egl/wayland: Don't segfault if `create_wl_buffer` returns `NULL`

Normally, this shouldn't fail, but it has various cases where it returns
`NULL`. Without this change, it would result in a segfault when
`wl_buffer_add_listener` is called.

This instead makes `EGLSwapBuffers` return a `EGL_BAD_ALLOC` error.

The other place `create_wl_buffer` is called already checks the return
value, and the Vulkan WSI code doesn't seem to have an issue like this.

Signed-off-by: Ian Douglas Scott <ian@iandouglasscott.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24915>

9 months agoci: skip dEQP-VK.api.driver_properties.conformance_version for everyone
Eric Engestrom [Tue, 3 Oct 2023 09:17:08 +0000 (10:17 +0100)]
ci: skip dEQP-VK.api.driver_properties.conformance_version for everyone

This test checks the driver's reported conformance version against the
version of the CTS we're running. This check fails every few months
and everyone has to go and bump the number in every driver.

Running this check only makes sense while preparing a conformance
submission, so skip it in the regular CI.

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

9 months agodocs/ci: rewrite the "farm maintenance ^ other change" rule to mean what we actually...
Eric Engestrom [Thu, 5 Oct 2023 11:52:40 +0000 (12:52 +0100)]
docs/ci: rewrite the "farm maintenance ^ other change" rule to mean what we actually meant

Sometimes updates to the farm config are needed before re-enabling it,
or updating test expectations with new failures that happened while the
farm was down, etc.

These need to be allowed, as the alternative is to update the
config/expectations/etc. blindly in one MR, merge it, and then merge
another MR with the farm re-enablement.

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

9 months agofix: clover: LLVM 18: s/CodeGenOpt::/CodeGenOptLevel::/
Kai Wasserbäch [Fri, 6 Oct 2023 09:48:30 +0000 (11:48 +0200)]
fix: clover: LLVM 18: s/CodeGenOpt::/CodeGenOptLevel::/

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9833
Reference: https://github.com/llvm/llvm-project/commit/0a1aa6cda2758b0926a95f87d39ffefb1cb90200
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25586>

9 months agofix: clover: LLVM 18 renamed/moved CGFT_*, update compat layer
Kai Wasserbäch [Fri, 6 Oct 2023 09:32:59 +0000 (11:32 +0200)]
fix: clover: LLVM 18 renamed/moved CGFT_*, update compat layer

LLVm renamed and moved the CGFT_* stuff, we need to update the clover
compat header to follow suit.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9833
Reference: https://github.com/llvm/llvm-project/commit/0a1aa6cda2758b0926a95f87d39ffefb1cb90200
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25586>

9 months agoradv: fix gang submissions with chaining
Samuel Pitoiset [Thu, 31 Aug 2023 08:35:38 +0000 (10:35 +0200)]
radv: fix gang submissions with chaining

Gang submissions are mostly only be used for task shaders to both
submit GFX and ACE command buffers in the same submission. Though,
the gang leader (the last submitted CS) IP type should match the
queue IP type to determine which fence to signal.

But if chaining is enabled, it's possible that all GFX cmdbufs are
chained to the first GFX cmdbuf, which means the last CS is ACE and
not GFX.

Fix this by resetting chaining for GFX when a cmdbuffer has GFX+ACE.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9724
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24966>

9 months agoradv: fill the scratch BO in radv_fill_shader_rings()
Samuel Pitoiset [Thu, 5 Oct 2023 10:23:58 +0000 (12:23 +0200)]
radv: fill the scratch BO in radv_fill_shader_rings()

Cleanup.

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

9 months agoradv: always write the sample positions when a new descriptor BO is created
Samuel Pitoiset [Thu, 5 Oct 2023 10:21:49 +0000 (12:21 +0200)]
radv: always write the sample positions when a new descriptor BO is created

This was completely broken, for example in the following scenario:
- submits something which needs sample positions (this creates a new
descriptor BO with sample positions)
- submits something which needs the tess rings (this creates a new
descriptor BO with tess rings but without sample positions, ie.
add_sample_positions would be FALSE)
- submits something which needs sample positions again (this won't
create a new descriptor BO because it incorrectly remembered that
sample positions were set)

Fix this by always writing the sample positions.

This should fix the following flakes:
- dEQP-VK.fragment_shading_barycentric.*.weights.pipeline_topology_dynamic.msaa_interpolate_at_sample.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolate_at_distinct_values.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolation_consistency.*
- dEQP-VK.draw.renderpass.linear_interpolation.*
- dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.*

These flakes were extremely hard to reproduce!

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

9 months agointel/ds: track acceleration RT commands
Lionel Landwerlin [Wed, 10 Aug 2022 11:10:10 +0000 (11:10 +0000)]
intel/ds: track acceleration RT commands

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25570>

9 months agoanv: use buffer pools for BVH build buffers
Lionel Landwerlin [Thu, 5 Oct 2023 14:54:35 +0000 (17:54 +0300)]
anv: use buffer pools for BVH build buffers

Private memory for BVH builds doesn't need to be mapped on the host,
it's purely for use by the GPU. So it can be put into a different
buffer pool that can put into VRAM only buffers.

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

9 months agoanv: move bo_pool allocation flags to init caller
Lionel Landwerlin [Thu, 5 Oct 2023 15:03:41 +0000 (18:03 +0300)]
anv: move bo_pool allocation flags to init caller

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

9 months agoanv: reduce working temporary memory for BVH builds
Lionel Landwerlin [Thu, 5 Oct 2023 14:09:54 +0000 (17:09 +0300)]
anv: reduce working temporary memory for BVH builds

Part of the memory allocated (private) is a temporary working buffer
for the GRL kernels. Once the build operation is done, the buffer
becomes unused.

Rather than allocate a new buffer each time, reuse the current last
allocated one if its size fits the next build operation.

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

9 months agoci: drop unused ephemeral packages in alpine image
Eric Engestrom [Wed, 4 Oct 2023 12:15:07 +0000 (13:15 +0100)]
ci: drop unused ephemeral packages in alpine image

There's nothing between installing these packages and removing them that
uses them, so let's just drop them.

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

9 months agointel/fs: Tweak default case of fs_inst::size_read()
Caio Oliveira [Tue, 3 Oct 2023 18:12:47 +0000 (11:12 -0700)]
intel/fs: Tweak default case of fs_inst::size_read()

In the default case, there's a special case with a few conditions.
Prefer the cheapest conditions first, so we can take advantage of
short-circuiting.

Effect is a small but still significant reduce in shader compilation
times, as can be seen by:

- Fossil replay for Rise of the Tomb Raider

```
Difference at 95.0% confidence
-0.433333 +/- 0.028609
-1.42556% +/- 0.0941163%
(Student's t, pooled s = 0.0337886)
```

- Fossil replay for Batman Arkham City

```
Difference at 95.0% confidence
-8.84 +/- 0.146083
-1.65932% +/- 0.0274207%
(Student's t, pooled s = 0.125423)
```

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25549>

9 months agozink: don't check submit count for unflushed usage
Mike Blumenkrantz [Thu, 5 Oct 2023 16:56:10 +0000 (12:56 -0400)]
zink: don't check submit count for unflushed usage

unflushed usage is unflushed regardless of the submit count and is
critical for detecting multi-context synchronization

fixes Wolfenstein: The New Order load screen deadlock

Fixes: db12b881c7f ("zink: track/check submit info on resource batch usage")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25572>

9 months agoegl/wayland: return sooner from swrast_update_buffers() if zink
Mike Blumenkrantz [Wed, 13 Sep 2023 13:22:55 +0000 (09:22 -0400)]
egl/wayland: return sooner from swrast_update_buffers() if zink

Fixes: 0f50cc03ef0 ("egl/wayland: don't block in swrast when updating buffers for zink")

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

9 months agoegl/wayland: don't block in swrast when updating buffers for zink
Mike Blumenkrantz [Tue, 15 Aug 2023 16:21:24 +0000 (12:21 -0400)]
egl/wayland: don't block in swrast when updating buffers for zink

this is broken, let vulkan wsi handle buffer management

Fixes: 74451ed3f08 ("egl/wayland: wait for compositor to release shm buffers")

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

9 months agoRevert "egl/wayland: Add image loader extension for swrast"
Mike Blumenkrantz [Tue, 15 Aug 2023 16:07:36 +0000 (12:07 -0400)]
Revert "egl/wayland: Add image loader extension for swrast"

This reverts commit 45b9b0ba32c6a6eed388ff080f7eaf5a765fe970.

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

9 months agoci/hasvk: Add a bunch of new CTS border color fails.
Emma Anholt [Thu, 5 Oct 2023 20:15:30 +0000 (13:15 -0700)]
ci/hasvk: Add a bunch of new CTS border color fails.

pretty sure this is from new coverage since the CTS uprev..

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

9 months agoci/crocus: Add known piglit flakes
Emma Anholt [Thu, 5 Oct 2023 20:13:09 +0000 (13:13 -0700)]
ci/crocus: Add known piglit flakes

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

9 months agoci/etnaviv: return gl-1.4-tex1d-2dborder as a known flake
Emma Anholt [Thu, 5 Oct 2023 20:10:41 +0000 (13:10 -0700)]
ci/etnaviv: return gl-1.4-tex1d-2dborder as a known flake

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

9 months agonouveau/winsys: use mmap instead of mmap64 in nouveau_bo
Simon Zeni [Thu, 5 Oct 2023 14:09:55 +0000 (10:09 -0400)]
nouveau/winsys: use mmap instead of mmap64 in nouveau_bo

The function `mmap64` is part of the large file extension and should not be
called directly. Instead `mmap` should be use and let the system use the
correct interface.

Signed-off-by: Simon Zeni <simon.zeni@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25569>

9 months agoradv: hard code format features for emulated formats
Chia-I Wu [Wed, 13 Sep 2023 23:21:27 +0000 (16:21 -0700)]
radv: hard code format features for emulated formats

The format features are known.  No need to rely on
radv_is_sampler_format_supported which will not work for ASTC.

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

9 months agoradv: simplify view format override for emulated formats
Chia-I Wu [Wed, 13 Sep 2023 23:23:45 +0000 (16:23 -0700)]
radv: simplify view format override for emulated formats

Override the view format to the format of plane 1 when the view format
is also emulated.  There is no functional change.

v2: check iview->vk.format directly (@yogeshmohan)

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

9 months agoradv: add radv_is_format_emulated
Chia-I Wu [Wed, 13 Sep 2023 22:54:00 +0000 (15:54 -0700)]
radv: add radv_is_format_emulated

This is a cleanup with no functional change.

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

9 months agovulkan/runtime, radv: remove 1D support from ETC2 emulation
Chia-I Wu [Tue, 26 Sep 2023 23:48:00 +0000 (16:48 -0700)]
vulkan/runtime, radv: remove 1D support from ETC2 emulation

The nir code deos not support 1D.  There is also no point in supporting
1D ETC2 images.

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

9 months agovulkan/runtime: fix a harmless typo for ETC2 emulation
Chia-I Wu [Tue, 26 Sep 2023 23:45:56 +0000 (16:45 -0700)]
vulkan/runtime: fix a harmless typo for ETC2 emulation

Init input_img_3d correctly.

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

9 months agovulkan/runtime: fix image type check for ETC2 emulation
Chia-I Wu [Tue, 5 Sep 2023 22:20:31 +0000 (15:20 -0700)]
vulkan/runtime: fix image type check for ETC2 emulation

There was a typo causing the wrong push constant to be loaded.

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

9 months agoradv: use vk_tecompress_etc2 from the runtime
Chia-I Wu [Tue, 5 Sep 2023 21:08:32 +0000 (14:08 -0700)]
radv: use vk_tecompress_etc2 from the runtime

There are some minor differences

 - fix incorrectly use of device->meta_state.resolve_compute.p_layout
 - when on_demand is true, the creation of ds and pipeline layouts are
   also deferred
 - unlike radv_meta_get_view_type, vk_texcompress_etc2_image_view_type
   returns 1d/2d array image views

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

9 months agovulkan/runtime: add a helper for ETC2 emulation
Chia-I Wu [Thu, 31 Aug 2023 23:33:37 +0000 (16:33 -0700)]
vulkan/runtime: add a helper for ETC2 emulation

This is based on radv's ETC2 emulation.  There is no real change to the
generated NIR shader.

v2: rename vk_texcompress_etc2_image_format to vk_texcompress_etc2_emulation_format
    update the comments

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

9 months agotu: Fix VK_FORMAT_A8_UNORM_KHR using UBWC when !has_8bpp_ubwc
Danylo Piliaiev [Thu, 5 Oct 2023 13:11:35 +0000 (15:11 +0200)]
tu: Fix VK_FORMAT_A8_UNORM_KHR using UBWC when !has_8bpp_ubwc

Fixes hangs in Anno 1800 with DXVK 2.3

Fixes: 302907e347612c3d748c88aed90fd6ab60a638f5
("tu: Expose VK_KHR_maintenance5")

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

9 months agomesa: Fix glBegin/End when LINE_LOOP is not supported
Konstantin Seurer [Fri, 22 Sep 2023 11:21:30 +0000 (13:21 +0200)]
mesa: Fix glBegin/End when LINE_LOOP is not supported

Emits the first vertex inside glEnd.

cc: mesa-stable

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

9 months agoaco/gfx11: support vinterp as fma_mix
Georg Lehmann [Thu, 14 Sep 2023 11:25:07 +0000 (13:25 +0200)]
aco/gfx11: support vinterp as fma_mix

Totals from 718 (0.94% of 76572) affected shaders:
Instrs: 657897 -> 654219 (-0.56%)
CodeSize: 3471668 -> 3457352 (-0.41%); split: -0.41%, +0.00%
VGPRs: 34200 -> 34164 (-0.11%)
Latency: 11687698 -> 11677030 (-0.09%); split: -0.10%, +0.00%
InvThroughput: 1455371 -> 1451537 (-0.26%); split: -0.26%, +0.00%
VClause: 7598 -> 7600 (+0.03%)
SClause: 18293 -> 18241 (-0.28%); split: -0.44%, +0.15%
Copies: 34641 -> 34644 (+0.01%); split: -0.05%, +0.06%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>

9 months agoaco: support v_fma_f32_dpp as fma_mix
Georg Lehmann [Thu, 14 Sep 2023 11:15:39 +0000 (13:15 +0200)]
aco: support v_fma_f32_dpp as fma_mix

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>

9 months agoaco/gfx11: apply clamp/omod to vinterp
Georg Lehmann [Thu, 14 Sep 2023 11:01:09 +0000 (13:01 +0200)]
aco/gfx11: apply clamp/omod to vinterp

Totals from 2504 (3.27% of 76572) affected shaders:
MaxWaves: 74098 -> 74106 (+0.01%)
Instrs: 1829278 -> 1823427 (-0.32%); split: -0.32%, +0.00%
CodeSize: 9775908 -> 9759308 (-0.17%); split: -0.18%, +0.01%
Latency: 13494107 -> 13485390 (-0.06%); split: -0.10%, +0.04%
InvThroughput: 2052428 -> 2048724 (-0.18%); split: -0.18%, +0.00%
VClause: 26637 -> 26640 (+0.01%); split: -0.04%, +0.05%
SClause: 62027 -> 61988 (-0.06%); split: -0.14%, +0.08%
Copies: 73776 -> 73815 (+0.05%); split: -0.07%, +0.12%
PreVGPRs: 84403 -> 84397 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25220>

9 months agoRevert "ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments"
Marek Olšák [Thu, 5 Oct 2023 08:52:29 +0000 (04:52 -0400)]
Revert "ac/gpu_info: replace ib_alignment with per-IP IB base and size alignments"

This reverts commit b6f435888b718506e8b806eae2a17d6ecf027dfc.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoRevert "ac/gpu_info: pad IBs according to ib_size_alignment"
Marek Olšák [Thu, 5 Oct 2023 08:52:24 +0000 (04:52 -0400)]
Revert "ac/gpu_info: pad IBs according to ib_size_alignment"

This reverts commit 4f660f99378382871f0c29e0d4b4d6a044dfe715.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoRevert "winsys/amdgpu: pad gfx and compute IBs with a single NOP packet"
Marek Olšák [Thu, 5 Oct 2023 08:52:16 +0000 (04:52 -0400)]
Revert "winsys/amdgpu: pad gfx and compute IBs with a single NOP packet"

This reverts commit 43e72850697e42cdf6d794407a5523a5e481bd41.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoRevert "radv: fix alignment of DGC command buffers"
Marek Olšák [Thu, 5 Oct 2023 08:54:06 +0000 (04:54 -0400)]
Revert "radv: fix alignment of DGC command buffers"

This reverts commit b01e87423433f6b39d244daee4b59f53baa4a02e.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoRevert "radv/amdgpu: fix alignment of command buffers"
Marek Olšák [Thu, 5 Oct 2023 08:53:28 +0000 (04:53 -0400)]
Revert "radv/amdgpu: fix alignment of command buffers"

This reverts commit 4bc58c9f11f0f701be5446ee5e7e8ef9494e3c1e.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoRevert "ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG"
Marek Olšák [Thu, 5 Oct 2023 08:49:34 +0000 (04:49 -0400)]
Revert "ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG"

This reverts commit 867a995ce759a725b58d3fa23e5e319035b7e3f9.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25558>

9 months agoci/bare-metal: drop unused imports, sort, use SPDX license
David Heidelberg [Fri, 22 Sep 2023 03:56:17 +0000 (09:26 +0530)]
ci/bare-metal: drop unused imports, sort, use SPDX license

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

9 months agoci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data
David Heidelberg [Tue, 19 Sep 2023 06:16:36 +0000 (11:46 +0530)]
ci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data

1. Move block used for detecting R8152 problems to the bootloader
phase where it belongs. Also remove requirement to 100 failures and just
retry immediatelly.

2. Consider job failed after 10 errors, not 100. From the logs on
   cheza-14, ~ 30 errors is enough to fail.

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

9 months agodocs/panfrost: use math-role to denote powers of two
Erik Faye-Lund [Mon, 21 Aug 2023 10:04:01 +0000 (12:04 +0200)]
docs/panfrost: use math-role to denote powers of two

We do this elsewhere in the article, so let's be consistent here.

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

9 months agodocs/panfrost: use code-blocks with wrapping for long blocks
Erik Faye-Lund [Mon, 21 Aug 2023 09:39:31 +0000 (11:39 +0200)]
docs/panfrost: use code-blocks with wrapping for long blocks

This makes it a lot easier to read the code-blocks, because we don't
*always* need to scroll.

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

9 months agodocs/panfrost: link to lima
Erik Faye-Lund [Mon, 21 Aug 2023 08:50:32 +0000 (10:50 +0200)]
docs/panfrost: link to lima

In the age of the internet, we can use hyperlinking to content instead
of just telling users about something! Let's do that here as well!

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

9 months agoradv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10
Samuel Pitoiset [Thu, 5 Oct 2023 08:40:34 +0000 (10:40 +0200)]
radv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10

These are flakes, not failures. Remove them from the list of expected
failures to avoid confusion.

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

9 months agoradv/ci: remove no longer existing test for VANGOGH
Samuel Pitoiset [Thu, 5 Oct 2023 08:38:07 +0000 (10:38 +0200)]
radv/ci: remove no longer existing test for VANGOGH

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

9 months agoradv: fix synchronization with emulated GS primitives/invocations queries
Samuel Pitoiset [Thu, 5 Oct 2023 06:53:04 +0000 (08:53 +0200)]
radv: fix synchronization with emulated GS primitives/invocations queries

Move emitting the EOP even which writes the availability bit after the
GDS copy to ensure it's available.

This should fix all GS primitives/invocations flakes in CI.

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

9 months agoradv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs
Samuel Pitoiset [Thu, 5 Oct 2023 07:41:16 +0000 (09:41 +0200)]
radv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs

These tests usually take more than 20s to finish which is slow.

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

9 months agoradv/ci: remove duplicate skipped tests for RAVEN/STONEY
Samuel Pitoiset [Thu, 5 Oct 2023 07:39:16 +0000 (09:39 +0200)]
radv/ci: remove duplicate skipped tests for RAVEN/STONEY

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

9 months agoaco/gfx11: optimize dual source export
Georg Lehmann [Wed, 4 Oct 2023 09:51:21 +0000 (11:51 +0200)]
aco/gfx11: optimize dual source export

We can combine dpp with the v_cndmask_b32.

Foz-DB Navi31:
Totals from 222 (0.28% of 79330) affected shaders:
Instrs: 564392 -> 563373 (-0.18%); split: -0.19%, +0.01%
CodeSize: 2867040 -> 2864728 (-0.08%); split: -0.09%, +0.01%
Latency: 4278957 -> 4275199 (-0.09%); split: -0.09%, +0.00%
InvThroughput: 586636 -> 585824 (-0.14%); split: -0.14%, +0.00%
SClause: 20210 -> 20211 (+0.00%); split: -0.02%, +0.02%
Copies: 39763 -> 39778 (+0.04%); split: -0.13%, +0.17%
PreVGPRs: 13924 -> 13922 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25541>

9 months agoradeonsi: "clear_12bytes_buffer" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 09:55:37 +0000 (04:55 -0500)]
radeonsi: "clear_12bytes_buffer" shader in nir

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

9 months agoradeonsi: "clear_render_target_1d_array" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 12:33:35 +0000 (07:33 -0500)]
radeonsi: "clear_render_target_1d_array" shader in nir

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

9 months agoradeonsi: "clear_render_target" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 07:02:52 +0000 (02:02 -0500)]
radeonsi: "clear_render_target" shader in nir

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

9 months agoac/surface: don't require exact pitch for gfx6-8 tiled imports
Marek Olšák [Wed, 4 Oct 2023 09:17:11 +0000 (05:17 -0400)]
ac/surface: don't require exact pitch for gfx6-8 tiled imports

It was reported that it broke Stoney. Something probably uses a suboptimal
pitch, like minigbm.

Fixes: 7d066330e0c3d47a0ad - ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25540>

9 months agoradeonsi: upload shaders via a staging buffer so as not to map VRAM directly
Marek Olšák [Sat, 21 Jan 2023 02:54:57 +0000 (21:54 -0500)]
radeonsi: upload shaders via a staging buffer so as not to map VRAM directly

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

9 months agoradeonsi: add another aux context for uploading shaders
Marek Olšák [Sun, 1 Oct 2023 00:08:23 +0000 (20:08 -0400)]
radeonsi: add another aux context for uploading shaders

When the first auxiliary context is locked and wants to compile and upload
a shader asynchronously, we need to use another auxiliary context
in the compiler thread because the first one is locked at that point.

This adds an array of auxiliary contexts into si_screen and changes how aux
contexts are accessed.

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

9 months agointel/eu/validate: Validate "packed word exception" stricter
Sviatoslav Peleshko [Thu, 28 Sep 2023 17:26:06 +0000 (20:26 +0300)]
intel/eu/validate: Validate "packed word exception" stricter

Fixes: 75b7f5a2 ("i965: Validate "Region Alignment Rules"")
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25378>

9 months agointel/fs: Fix "packed word exception" condition for register regioning
Sviatoslav Peleshko [Mon, 25 Sep 2023 16:16:50 +0000 (19:16 +0300)]
intel/fs: Fix "packed word exception" condition for register regioning

Fixes: a6bf5f88 ("i965/fs: Enforce common regioning restrictions by SIMD splitting.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9432
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25378>

9 months agonvk: Use align() and align64() instead of ALIGN_POT
Faith Ekstrand [Wed, 4 Oct 2023 20:25:38 +0000 (15:25 -0500)]
nvk: Use align() and align64() instead of ALIGN_POT

For one thing, they actually assert that the alignment factor is a power
of two.  More importantly, though, because they're real functions and
not macros, they up-cast the alignment to a full uint32_t or uint64_t
before doing the alignment calculation.  If you do ALIGN_POT() on a
64-bit value with a 32-bit alignment, it truncates to 32 bits because
the NOT is done before the up-cast due to C implicit cast rules.

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

9 months agonvk: Handle zero-sized sparse buffers
Faith Ekstrand [Wed, 4 Oct 2023 20:02:20 +0000 (15:02 -0500)]
nvk: Handle zero-sized sparse buffers

In the zero case, we don't want to allocate any VMA.

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

9 months agozink: Enable edge flags with points
Konstantin Seurer [Thu, 21 Sep 2023 17:25:31 +0000 (19:25 +0200)]
zink: Enable edge flags with points

Fixes: 90a8525 ("zink: handle edgeflags")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

9 months agonir/passthrough_gs: Support edge flags with points
Konstantin Seurer [Thu, 21 Sep 2023 17:24:49 +0000 (19:24 +0200)]
nir/passthrough_gs: Support edge flags with points

Fixes: 24535ff ("nir: handle edge flags in nir_create_passthrough_gs")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

9 months agozink: Initialize primitive types to an invalid value
Konstantin Seurer [Thu, 21 Sep 2023 17:14:20 +0000 (19:14 +0200)]
zink: Initialize primitive types to an invalid value

The memory is zero initialized which corresponds to MESA_PRIM_POINTS.

Fixes: 659c39f ("zink: rework primitive rasterization type logic")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

9 months agoac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG
Leo Liu [Tue, 3 Oct 2023 02:32:26 +0000 (22:32 -0400)]
ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG

With the commit 4f660f99 ("ac/gpu_info: pad IBs according to ib_size_alignment"),
we found kernel isn't reporting ib_base/size_alignment correctly, thus causing
VCN_DEC and JPEG functions broken. We will fix the kernel and bump the kernel
version, and now for the older kernel, we need this override.

closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9916

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25511>

9 months agozink: fix for startup crash of weston running on top of zink + venus
Igor Torrente [Thu, 28 Sep 2023 16:26:25 +0000 (12:26 -0400)]
zink: fix for startup crash of weston running on top of zink + venus

Venus asserts if we are transitioning to/from
`VK_IMAGE_LAYOUT_PRESENT_SRC_KHR` if we are not dealing with a wsi
image.

Now we detects this case and avoid transition the layout in this case.

Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25423>

9 months agogallium/util: add more tests for compute-only contexts
Marek Olšák [Mon, 25 Sep 2023 20:57:39 +0000 (16:57 -0400)]
gallium/util: add more tests for compute-only contexts

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

9 months agogallium/util: fix GALLIUM_TESTS=1 by using cso_set_vertex_buffers_and_elements
Marek Olšák [Mon, 25 Sep 2023 20:17:08 +0000 (16:17 -0400)]
gallium/util: fix GALLIUM_TESTS=1 by using cso_set_vertex_buffers_and_elements

util_draw_user_vertex_buffer no longer works with u_vbuf.
Add util_draw_user_vertices that does the right thing and use it.

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

9 months agonvk: Take GETPARAM_EXEC_PUSH_MAX into account
Faith Ekstrand [Wed, 27 Sep 2023 21:23:07 +0000 (16:23 -0500)]
nvk: Take GETPARAM_EXEC_PUSH_MAX into account

Reviewed-by: Danilo Krummrich <dakr@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25444>

9 months agodrm-uapi: Sync nouveau_drm.h
Faith Ekstrand [Wed, 27 Sep 2023 21:16:34 +0000 (16:16 -0500)]
drm-uapi: Sync nouveau_drm.h

From https://cgit.freedesktop.org/drm-misc/

    commit d59e75eef52d89201aaf5342a3ac23ddf3e9b112
    Author: Danilo Krummrich <dakr@redhat.com>
    Date:   Mon Oct 2 15:46:48 2023 +0200

        drm/nouveau: exec: report max pushs through getparam

Reviewed-by: Danilo Krummrich <dakr@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25444>

9 months agomesa: check numlevels and numlayers when creating a texture view
Gert Wollny [Tue, 3 Oct 2023 17:48:29 +0000 (19:48 +0200)]
mesa: check numlevels and numlayers when creating a texture view

v2: Compare against zero only, because the values are unsigned and
    can't be negative (Tapani Pälli)

CC: mesa-stable
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net> (v1)
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25532>

9 months agodocs: update calendar for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 14:10:00 +0000 (15:10 +0100)]
docs: update calendar for 23.1.9

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

9 months agodocs: add sha256sum for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 13:59:30 +0000 (14:59 +0100)]
docs: add sha256sum for 23.1.9

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

9 months agodocs: add release notes for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 13:52:56 +0000 (14:52 +0100)]
docs: add release notes for 23.1.9

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

9 months agoaco: disable FI for quad/masked swizzle
Rhys Perry [Mon, 2 Oct 2023 15:14:19 +0000 (16:14 +0100)]
aco: disable FI for quad/masked swizzle

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8330
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525>

9 months agonir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd
Rhys Perry [Mon, 2 Oct 2023 15:13:35 +0000 (16:13 +0100)]
nir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525>

9 months agoaco: add fetch_inactive field to DPP instructions
Rhys Perry [Mon, 2 Oct 2023 14:47:11 +0000 (15:47 +0100)]
aco: add fetch_inactive field to DPP instructions

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525>

9 months agoaco: shrink DPP8_instruction
Rhys Perry [Mon, 2 Oct 2023 14:44:49 +0000 (15:44 +0100)]
aco: shrink DPP8_instruction

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525>

9 months agoegl: move is_render_node flag to platform_wayland
Leandro Ribeiro [Mon, 4 Sep 2023 16:32:57 +0000 (13:32 -0300)]
egl: move is_render_node flag to platform_wayland

This flag is being used only by platform_wayland. So move it to be
included by the #ifdef HAVE_WAYLAND_PLATFORM in struct dri2_egl_display.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

9 months agoegl: make explicit that we don't support render nodes for software EGLDevice
Leandro Ribeiro [Thu, 10 Aug 2023 12:54:56 +0000 (09:54 -0300)]
egl: make explicit that we don't support render nodes for software EGLDevice

Currently we verify that by checking if the EGLDevice has a NULL
drmDevicePtr.

We have a proper way of checking that with _eglDeviceSupports(dev,
_EGL_DEVICE_SOFTWARE), so use that to make things more explicit.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

9 months agoegl: simplify _eglAddDRMDevice()
Leandro Ribeiro [Thu, 10 Aug 2023 12:52:53 +0000 (09:52 -0300)]
egl: simplify _eglAddDRMDevice()

We only create EGLDevice's for render-capable devices, so it's better
to document that in the code and simplify this function.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

9 months agoegl: remove unused parameter from _eglAddDRMDevice()
Leandro Ribeiro [Tue, 8 Aug 2023 02:06:50 +0000 (23:06 -0300)]
egl: remove unused parameter from _eglAddDRMDevice()

No callers are using the _EGLDevice **out_dev parameter which is being
set by this function. So just drop it.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

9 months agoegl: rewrite outdated comment in _eglFindDevice()
Leandro Ribeiro [Tue, 8 Aug 2023 02:07:57 +0000 (23:07 -0300)]
egl: rewrite outdated comment in _eglFindDevice()

_eglAddDevice() has been renamed to _eglFindDevice(). But the comment
describing what this function does is outdated. Rewrite this comment.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

9 months agopanfrost: Add GPU variant of G57 to the set of known ids
Carsten Haitzler [Mon, 4 Sep 2023 09:05:03 +0000 (10:05 +0100)]
panfrost: Add GPU variant of G57 to the set of known ids

There already is a G57 ID, but this is for a MTK variant that is not
actually the original design. The original design is 0x9091 not
0x9093.

Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25026>

9 months agotu: Add push_consts_per_stage debug option
Danylo Piliaiev [Tue, 5 Sep 2023 17:32:43 +0000 (19:32 +0200)]
tu: Add push_consts_per_stage debug option

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

9 months agoturnip,ir3: Implement A7XX push consts load via preamble
Danylo Piliaiev [Tue, 5 Sep 2023 16:24:03 +0000 (18:24 +0200)]
turnip,ir3: Implement A7XX push consts load via preamble

New push consts loading consist of:
- Push consts are set for the entire pipeline via HLSQ_SHARED_CONSTS_IMM
  array which could fit up to 256b of push consts.
- For each shader stage that uses push consts READ_IMM_SHARED_CONSTS
  should be set in HLSQ_*_CNTL, otherwise push consts may get overwritten
  by new push consts that are set after the draw.
- Push consts are loaded into consts reg file in a shader preamble via
  stsc at the very start of the preamble.

OPC_PUSH_CONSTS_LOAD_MACRO is used instead of directly translating NIR
intrinsic into stsc because: we don't want to teach legalize pass how
to set (ss) between stores and loads of consts reg file, don't want for
stsc to be reordered, etc.

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

9 months agofreedreno: Make possible to specify A7XX feature flags
Danylo Piliaiev [Tue, 5 Sep 2023 13:44:49 +0000 (15:44 +0200)]
freedreno: Make possible to specify A7XX feature flags

Previously the idea was for each generation to have unique list
of feature flags, now it makes more sense for new generation
to have only new flags defined and "inherit" older gen flags.

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