Commit graph

188864 commits

Author SHA1 Message Date
Alejandro Piñeiro
ebbb824240 v3dv: fixes StencilTestEnable handling
While working on VK_EXT_extended_dynamic_state2 we found two issues
the stencil emission code, after the update for StencilTestEnable
being dynamic.

Specifically:

  * pack_stencil_cfg: if we don't have a ds_info, we need to return,
    as pack_single_stencil_cfg uses it to fill it up. Also the check
    for MESA_VK_DYNAMIC_DS_STENCIL_TEST_ENABLE was not needed. That
    state doesn't affect the content of the STENCIL_CFG
    packet. Stencil is enabled/disabled at the CFG_BITS packet.

  * cmd_buffer_emit_stencil: we can't use pipeline->emit_stencil_cfg
    to filter if it is needed to emit that as since
    stencil_test_enable and stencil_op become dynamic.

    We also update which states we check that are dynamic. As
    mentioned STENCIL_TEST_ENABLE doesn't affect here.

Fixes: 60e9237e81 ("v3dv: StencilOp and StencilTestEnable are now dynamic")

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
2024-05-08 11:18:28 +00:00
Alejandro Piñeiro
ef5697a884 v3dv/cmd_buffer: missing updates due PrimitiveTopology being dynamic now
There were some pending places to update after PrimitiveTopology
become dynamic. FWIW, this was not catched by any CTS test.

As we are here we add a comment to explain why we still use the
topology on the pipeline.

Fixes: 2526f74ade ("v3dv: PrimitiveTopology is now dynamic")

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
2024-05-08 11:18:28 +00:00
Karol Herbst
6bcc300e00 rusticl: add RUSTICL_MAX_WORK_GROUPS
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
2024-05-08 09:00:18 +00:00
Karol Herbst
91552bb4ec rusticl: lower huge grids
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
2024-05-08 09:00:18 +00:00
Karol Herbst
204c287327 rusticl/kernel: properly handle grid and offsets being usize
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
2024-05-08 09:00:18 +00:00
Karol Herbst
8da8c6c2d8 rusticl: use stream uploader for cb0 if prefered
Using the same buffer without a barrier actually can lead to data races as
drivers might not properly synchronize the content. Using the stream
uploader is a neat fix which prevents us from having to use a barrier but
still keep high throughput when launching kernels back-to-back.

Fixes: 5ff33f9905 ("rusticl: use real buffer for cb0 for drivers prefering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
2024-05-08 09:00:18 +00:00
Maíra Canal
56f7b0297e v3dv: Use errno when logging an error to stderr
When logging a failed IOCTL, an errno is more useful than the output of
`drmIoctl()`. When the IOCTL fails, the return is usually -1 and this
value isn't very useful. On the other hand, the errno can help us to
debug the reason why the IOCTL failed.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29067>
2024-05-08 05:42:21 +00:00
Mike Blumenkrantz
e2b9c5a9e3 zink: move blocking gfx program init functions to thread
this should unblock the main thread

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
66dc759d0f zink: precompile_job() -> gfx_program_precompile_job()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
54db502053 zink: split gfx program creation into 2-stage functions
the wrapper function should ensure that this commit has no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
da04a316f7 zink: reorder fencing in zink_create_gfx_program()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
7d849da0fd zink: reorder some code in zink_create_gfx_program()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
921fbac6a3 zink: move gfx shader init to thread
zink_shader_init is a long function, and making it async unblocks
the main app thread to improve startup/load times

this also eliminates a deserialize from separate shader compile by
linking up the lifetime of the nir_shader with the shader compilation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
450447257b zink: split generated tcs creation into 2-stage functions
same as gfx

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
68eaba7e87 zink: reorder precompile_separate_shader_job() in file
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:27 +00:00
Mike Blumenkrantz
ca51c5a9da zink: split shader create into 2-stage functions
this allows for a 2-stage creation of shaders with a quick create()
and a longer init()

no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
8b54012941 zink: use zink_shader type directly in zink_create_gfx_shader_state()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
b6b91a3ed9 zink: more effectively synchronize separate shader program precompiles
this avoids a race condition that could occur if a shader used by a
precompile was destroyed between creating the full_prog and the full_prog's
shader generation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
27fe924cf0 zink: always block the precompile threads when pruning shaders
this will avoid desync with separate shader program compiles

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
ac1d003d37 zink: break out shadow sampler scanning
this is now a pre/post pass which is split between scanning and rewrites

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
de6139027c zink: rename zink_shader variable in create functions
this matches the canonical variable name everywhere else

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
3849f367cc zink: simplify flagging legacy shadow samplers
the binding is generated from the driver_location anyway

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
95e4a2b37e zink: simplify confusing return in rewrite_tex_dest
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
21a61d75b7 zink: use info.fs.uses_sample_qualifier instead of manual scan
this should be a superset of the previous case, so at least it won't
be wrong

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
7bdaf6e95f zink: use zink_shader_key_optimal unions for pipeline state asserts
no functional changes, just easier to debug fails

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
8432876614 zink: delete GS conditional in update_so_info
I'm not exactly sure when, but at some point this became no longer necessary

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
2024-05-08 01:14:26 +00:00
Mike Blumenkrantz
d77a1762bd zink: clamp buffer_indices_hashlist resets to used region
memsetting 65k of memory after every batch submit is costly, but the
memset region can be greatly reduced by tracking a min/max hash used
and memsetting that region

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29041>
2024-05-07 23:09:03 +00:00
Sergi Blanch Torne
72b3c2e4ba ci: identify and label S3 buckets
As for the S3 bucket where the kernel image is stored has been identified and
labeled, the other buckets in use can also be identified and labeled.

cc: mesa-stable

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Co-developed-by: Guilherme Gallo <guilherme.gallo@collabora.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28979>
2024-05-07 22:08:07 +00:00
Sergi Blanch Torne
cc6bd04dd7 ci: kernel stored in a different s3 bucket
Due to the expiration time in `mesa-lava` (1m), the kernel used in mesa is now
using `mesa-rootfs` (1y). Due to this change, a fresh kernel image has been
prepared and mesa has also a few changes to adapt to this redirection.

cc: mesa-stable

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Co-developed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28979>
2024-05-07 22:08:07 +00:00
José Roberto de Souza
73188a4590 intel/perf: Add function to open perf stream
This will make easy to add Xe KMD support and reduce code duplication.
No changes in behavior are expected here.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
d27dcb815e intel/perf: Add and use a function to return platform OA format
The platform version check to return the OA format was duplicated
in a few places, so adding a function and dropping this duplication.

While at it, already making it future proof for Xe KMD support and
split i915 specific code to its own file.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
b98538d54c crocus: Free intel_perf_config and intel_perf_context
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
eb97d813c2 iris: Free intel_perf_config and intel_perf_context
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
137021fbe0 hasvk: Free intel_perf_config when destroying physical device
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
a941ce746a anv: Free intel_perf_config when destroying physical device
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
4b179e7bea intel/ds: Nuke ralloc_ctx and ralloc_cfg
Now that perf config and context are freed we don't need this rallocs
contexts.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
6c3ebff569 intel/ds: Free perf config and context
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
2cecf3e8a8 intel/perf: Add intel_perf_free_context()
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
ebe8d2f9ea intel/perf: Add intel_perf_free()
There was no function to free resources allocated in intel_perf_config
or it self.
Other callers will be added in separated patches.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
José Roberto de Souza
a9a53c914d intel/perf: Store pointer intel_device_info to in intel_perf_config
This will reduce host memory usage a bit.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29077>
2024-05-07 21:44:34 +00:00
chiachih
da45594c5e amd/vpelib: Bypass de/regam on HLG
- Bypass de/regam on HLG

Reviewed-by: Jesse Agate <jesse.agate@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
88b43f7174 amd/vpelib: Fix blndgam bypass flag assignment
- Fix blndgam bypass flag assignment

Reviewed-by: Tiberiu Visan <Tiberiu.Visan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
921f0afe42 amd/vpelib: Fix Color Adjustment Failing Test Cases
[Why]
test cases are failing

[How]
Fixed hue range calclation error and add brightness limit like in shader

---------

Co-authored-by: Tiberiu Visan <tiberiu.visan@amd.com>
Reviewed-by: Tiberiu Visan <Tiberiu.Visan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Ali <nawwar.ali@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
5027ba64a1 amd/vpelib: Remove checks for pitch alignment
[Why]
Pitch alignment checks are inaccurate, alignment is based on elements
instead of bytes, and byte alignment is assured by addrlib. Results in
failed checks that should pass.

[How]
Remove checks.

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Brendan Leder <breleder@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
0df1054d06 amd/vpelib: adding blend gamma bypass
- added bypass blend
- bypass blnd

Reviewed-by: Jesse Agate <jesse.agate@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Tiberiu Visan <tvisan@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
0e6df4d458 amd/vpelib: Remove support for non-linear FP16
- Remove support for non-linear FP16

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
acad1328a1 amd/vpelib: Remove gamma cached table
- Remove degam/regam cached tables
- Calculate degam/regam parameters on the fly
- Remove force_tf_calculation debug flag

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
7a41fb59d3 amd/vpelib: Remove linear_0_125 TF
- Remove TRANSFER_FUNC_LINEAR_0_125 transfer function
- Rename TRANSFER_FUNC_LINEAR_0_1 to TRANSFER_FUNC_LINEAR

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
chiachih
39b08da80a amd/vpelib: Resolve mismatch with shader
Shader in SDR mode with NV12 input bypasses both primary and gamma
conversions. Since in this case for RGB output p601 primary can be
set for the output primary, vpe should be able to set that primary for
output as well.

Reviewed-by: Roy Chan <Roy.Chan@amd.com>
Acked-by: Jack Chih <chiachih@amd.com>
Signed-off-by: Navid Assadian <navid.assadian@amd.com>
---

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
2024-05-07 20:43:02 +00:00
Mike Blumenkrantz
383c3a417f lavapipe: VK_EXT_legacy_vertex_attributes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29068>
2024-05-07 19:46:21 +00:00