mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
radv/rt: Restore prev barycentrics when rejecting hits
Closes: #6348
cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19534>
(cherry picked from commit e5b3efe582)
This commit is contained in:
parent
7ba025d528
commit
7110d632c1
2 changed files with 6 additions and 5 deletions
|
|
@ -1012,7 +1012,7 @@
|
|||
"description": "radv/rt: Restore prev barycentrics when rejecting hits",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1165,10 +1165,10 @@ handle_candidate_triangle(nir_builder *b, struct radv_triangle_intersection *int
|
|||
nir_ssa_def *hit_kind =
|
||||
nir_bcsel(b, intersection->frontface, nir_imm_int(b, 0xFE), nir_imm_int(b, 0xFF));
|
||||
|
||||
nir_store_scratch(
|
||||
b, intersection->barycentrics,
|
||||
nir_iadd_imm(b, nir_load_var(b, data->vars->stack_ptr), RADV_HIT_ATTRIB_OFFSET),
|
||||
.align_mul = 16);
|
||||
nir_ssa_def *barycentrics_addr =
|
||||
nir_iadd_imm(b, nir_load_var(b, data->vars->stack_ptr), RADV_HIT_ATTRIB_OFFSET);
|
||||
nir_ssa_def *prev_barycentrics = nir_load_scratch(b, 2, 32, barycentrics_addr, .align_mul = 16);
|
||||
nir_store_scratch(b, intersection->barycentrics, barycentrics_addr, .align_mul = 16);
|
||||
|
||||
nir_store_var(b, data->vars->ahit_accept, nir_imm_true(b), 0x1);
|
||||
nir_store_var(b, data->vars->ahit_terminate, nir_imm_false(b), 0x1);
|
||||
|
|
@ -1191,6 +1191,7 @@ handle_candidate_triangle(nir_builder *b, struct radv_triangle_intersection *int
|
|||
|
||||
nir_push_if(b, nir_inot(b, nir_load_var(b, data->vars->ahit_accept)));
|
||||
{
|
||||
nir_store_scratch(b, prev_barycentrics, barycentrics_addr, .align_mul = 16);
|
||||
nir_jump(b, nir_jump_continue);
|
||||
}
|
||||
nir_pop_if(b, NULL);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue