Revert "panfrost: fix hang by using MALI_PIXEL_KILL_WEAK_EARLY in color preload"
This reverts commit f93a48e4e3.
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>
This commit is contained in:
committed by
Marge Bot
parent
41cb2e73c2
commit
2c855c1f4c
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user