mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-21 14:38:36 +02:00
amd/vpelib: revert predication fix
[WHY] The previous predication fix assumed bufs->cmd_buf.cpu_va and bufs->cmd_buf.size referred to the same underlying allocation/layout. In practice they can differ, which leads to incorrect predication parameters and breaks command submission. [HOW] Revert that change and restore the previous predication handling. A follow-up will reintroduce a correct fix with proper address/size pairing. Acked-by: Peyton Lee <peytolee@amd.com> Signed-off-by: Jiali Zhao <Jiali.Zhao@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42033>
This commit is contained in:
parent
12e5605e1d
commit
13a188a4ef
1 changed files with 10 additions and 10 deletions
|
|
@ -1036,6 +1036,16 @@ enum vpe_status vpe_build_commands(
|
|||
}
|
||||
}
|
||||
|
||||
if (status == VPE_STATUS_OK) {
|
||||
bufs->cmd_buf.size = cmd_buf_size - curr_bufs.cmd_buf.size; // used cmd buffer size
|
||||
bufs->cmd_buf.gpu_va = cmd_buf_gpu_a;
|
||||
bufs->cmd_buf.cpu_va = cmd_buf_cpu_a;
|
||||
|
||||
bufs->emb_buf.size = emb_buf_size - curr_bufs.emb_buf.size; // used emb buffer size
|
||||
bufs->emb_buf.gpu_va = emb_buf_gpu_a;
|
||||
bufs->emb_buf.cpu_va = emb_buf_cpu_a;
|
||||
}
|
||||
|
||||
if (status == VPE_STATUS_OK && param->predication_info.enable == true) {
|
||||
status = vpe_build_set_predication(bufs->cmd_buf.cpu_va, param->predication_info.polarity,
|
||||
param->predication_info.gpu_va,
|
||||
|
|
@ -1047,16 +1057,6 @@ enum vpe_status vpe_build_commands(
|
|||
}
|
||||
}
|
||||
|
||||
if (status == VPE_STATUS_OK) {
|
||||
bufs->cmd_buf.size = cmd_buf_size - curr_bufs.cmd_buf.size; // used cmd buffer size
|
||||
bufs->cmd_buf.gpu_va = cmd_buf_gpu_a;
|
||||
bufs->cmd_buf.cpu_va = cmd_buf_cpu_a;
|
||||
|
||||
bufs->emb_buf.size = emb_buf_size - curr_bufs.emb_buf.size; // used emb buffer size
|
||||
bufs->emb_buf.gpu_va = emb_buf_gpu_a;
|
||||
bufs->emb_buf.cpu_va = emb_buf_cpu_a;
|
||||
}
|
||||
|
||||
vpe_priv->ops_support = false;
|
||||
|
||||
if (vpe_priv->init.debug.assert_when_not_support && status != VPE_STATUS_OK) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue