Eric Engestrom
b8e79d2769
mr-label-maker: fix yaml syntax
...
Only whitespace changes, and the parser was lenient enough to not raise
an error, but let's fix it anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29104 >
2024-05-08 12:25:29 +00:00
Samuel Pitoiset
1173058002
radv: add a new mechanism for tracking registers per cmdbuf
...
We already track a couple of registers per cmdbuf and this introduces
a generic mechanism, instead of having a bunch of last_xxx fields.
Loosely based on RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28644 >
2024-05-08 11:45:52 +00:00
Alejandro Piñeiro
39a9f68685
v3dv: enable VK_EXT_extended_dynamic_state2
...
Note that we don't support (and clarify on code why) two of the
features of this extension:
* extendedDynamicState2PatchControlPoints: as we don't support
Tessellation Shaders
* extendedDynamicState2LogicOp: as supporting it would need to allow
compile shader variants after pipeline creation, that we try to
avoid as much as possible (and it is not supported right now)
Note that those two features are not mandatory for Vulkan 1.3. From
spec:
"Promotion to Vulkan 1.3
This extension has been partially promoted. The dynamic state
enumerants VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, and
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the
corresponding entry points in this extension are included in core
Vulkan 1.3, with the EXT suffix omitted. The enumerants and entry
points for dynamic logic operation and patch control points are not
promoted, nor is the feature structure. Extension interfaces that
were promoted remain available as aliases of the core functionality."
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
8a2d7e3830
v3dv: SetRasterizerDiscardEnable is dynamic now
...
Note that when it is dynamic, it goes to the codepath of having
enabled raster_enabled at the pipeline, even if at the end it will be
disabled. The fragment shader compilation, and the stage keys, depends
on rasterization being enabled or not. As mentioned, if the state is
dynamic, it assumes that the rasterization is enabled.
That would work, as then the rasterization could be discarded at the
CFG_BITS package, by the command buffer at draw time. We just have a
(discarded) shader slightly more complex that it would have been with
rasterization enabled.
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
6b59e1d8e4
v3dv: DepthBiasEnable is dynamic now
...
Since VK_EXT_extended_dynamic_state2
We just move all related with depth bias to the command buffer. There
is not good reason to compute and save it at the pipeline.
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
8ab0c55a53
v3dv: PrimitiveRestartEnable is now dynamic.
...
Since VK_EXT_extended_dynamic_state2
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
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