mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
Revert "panfrost: fix hang by using MALI_PIXEL_KILL_WEAK_EARLY in color preload"
This reverts commitf93a48e4e3. Backport-to: 25.0 Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33300> (cherry picked from commit2c855c1f4c)
This commit is contained in:
parent
fbf86a1c11
commit
056775eb40
3 changed files with 15 additions and 9 deletions
|
|
@ -1184,7 +1184,7 @@
|
|||
"description": "Revert \"panfrost: fix hang by using MALI_PIXEL_KILL_WEAK_EARLY in color preload\"",
|
||||
"nominated": true,
|
||||
"nomination_type": 4,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -258,8 +258,9 @@ pan_preload_emit_rsd(const struct pan_preload_shader_data *preload_shader,
|
|||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_FORCE_LATE;
|
||||
cfg.properties.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_LATE;
|
||||
} else {
|
||||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
cfg.properties.pixel_kill_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
/* Skipping ATEST requires forcing Z/S */
|
||||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
cfg.properties.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
}
|
||||
|
||||
/* However, while shaders writing Z/S can normally be killed, on v6
|
||||
|
|
@ -586,6 +587,7 @@ pan_preload_get_shader(struct pan_fb_preload_cache *cache,
|
|||
|
||||
struct panfrost_compile_inputs inputs = {
|
||||
.gpu_id = cache->gpu_id,
|
||||
.is_blit = true,
|
||||
.no_idvs = true,
|
||||
};
|
||||
struct util_dynarray binary;
|
||||
|
|
@ -1187,8 +1189,9 @@ pan_preload_emit_dcd(struct pan_fb_preload_cache *cache, struct pan_pool *pool,
|
|||
cfg.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_LATE;
|
||||
cfg.blend_count = 0;
|
||||
} else {
|
||||
cfg.zs_update_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
cfg.pixel_kill_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
/* Skipping ATEST requires forcing Z/S */
|
||||
cfg.zs_update_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
cfg.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
|
||||
cfg.blend = blend.gpu;
|
||||
cfg.blend_count = bd_count;
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ get_preload_shader(struct panvk_device *dev,
|
|||
struct panfrost_compile_inputs inputs = {
|
||||
.gpu_id = phys_dev->kmod.props.gpu_prod_id,
|
||||
.no_ubo_to_push = true,
|
||||
.is_blit = true,
|
||||
};
|
||||
|
||||
pan_shader_preprocess(nir, inputs.gpu_id);
|
||||
|
|
@ -374,8 +375,9 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf, struct pan_fb_info *fbinfo,
|
|||
cfg.stencil_back = cfg.stencil_front;
|
||||
|
||||
if (key->aspects == VK_IMAGE_ASPECT_COLOR_BIT) {
|
||||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
cfg.properties.pixel_kill_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
/* Skipping ATEST requires forcing Z/S */
|
||||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
cfg.properties.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
} else {
|
||||
/* Writing Z/S requires late updates */
|
||||
cfg.properties.zs_update_operation = MALI_PIXEL_KILL_FORCE_LATE;
|
||||
|
|
@ -617,8 +619,9 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf, struct pan_fb_info *fbinfo,
|
|||
|
||||
pan_pack(&dcds[dcd_idx], DRAW, cfg) {
|
||||
if (key->aspects == VK_IMAGE_ASPECT_COLOR_BIT) {
|
||||
cfg.zs_update_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
cfg.pixel_kill_operation = MALI_PIXEL_KILL_WEAK_EARLY;
|
||||
/* Skipping ATEST requires forcing Z/S */
|
||||
cfg.zs_update_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
cfg.pixel_kill_operation = MALI_PIXEL_KILL_FORCE_EARLY;
|
||||
|
||||
cfg.blend = bds.gpu;
|
||||
cfg.blend_count = bd_count;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue