mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
broadcom/compiler: always enable per-quad on spill operations
This ensures that any channels used for helper invocations are also spilled/filled correctly. Alternatively, we could recursively track all temps that get involved in computing values that are then used in explicit (dfdx,dfdy) or implicit (texture coordinates for mipmap or anisotropic filtering, etc) derivatives, and only enable per-quad on these (or disable spilling of any of these values). Fixes: dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15705>
This commit is contained in:
parent
e6d7a6a3b7
commit
597560e27c
2 changed files with 7 additions and 5 deletions
|
|
@ -418,7 +418,5 @@ dEQP-VK.api.external.semaphore.sync_fd.info_timeline,Fail
|
|||
|
||||
dEQP-VK.draw.renderpass.inverted_depth_ranges.nodepthclamp_deltazero,Fail
|
||||
|
||||
dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops,Fail
|
||||
|
||||
# Works if using V3D_DEBUG=noloopunroll
|
||||
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones,Crash
|
||||
|
|
|
|||
|
|
@ -343,10 +343,14 @@ v3d_emit_spill_tmua(struct v3d_compile *c,
|
|||
struct qreg offset = vir_uniform_ui(c, spill_offset);
|
||||
add_node(c, offset.index, CLASS_BITS_ANY);
|
||||
|
||||
struct qinst *inst =
|
||||
vir_ADD_dest(c, vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_TMUA),
|
||||
c->spill_base, offset);
|
||||
/* We always enable per-quad on spills/fills to ensure we spill
|
||||
* any channels involved with helper invocations.
|
||||
*/
|
||||
struct qreg tmua = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_TMUAU);
|
||||
struct qinst *inst = vir_ADD_dest(c, tmua, c->spill_base, offset);
|
||||
inst->qpu.flags.ac = cond;
|
||||
inst->uniform = vir_get_uniform_index(c, QUNIFORM_CONSTANT,
|
||||
0xffffff7f); /* per-quad */
|
||||
|
||||
vir_emit_thrsw(c);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue