mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 04:00:23 +01:00
pvr: Fix missing sample mask test instructions
The sample mask test instructions were only being added if the sample mask was an input or no other discard test was being done. In the failing test cases, instructions to handle alpha to one and/or alpha to coverage were being added and the program marked as having a discard test. This would lead to the instructions for the sample mask test to not be added. The fix is to specifically check for whether the instructions for sample mask have been added instead of check for any discard test. Fix deqp: dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.after_pipelines.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.large_static_rasterization_samples_off dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_draw.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.before_good_static.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.between_pipelines.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.between_pipelines.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.cmd_buffer_start.large_static_rasterization_samples_off dEQP-VK.pipeline.monolithic.extended_dynamic_state.cmd_buffer_start.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.cmd_buffer_start.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.three_draws_dynamic.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.three_draws_dynamic.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_dynamic.single_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.multi_sample_sample_mask_disable dEQP-VK.pipeline.monolithic.extended_dynamic_state.two_draws_static.single_sample_sample_mask_disable Signed-off-by: Nick Hamilton <nick.hamilton@imgtec.com> Tested-by: Icenowy Zheng <uwu@icenowy.me> Acked-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39040>
This commit is contained in:
parent
c294b061ad
commit
eccdfb397e
1 changed files with 2 additions and 1 deletions
|
|
@ -560,7 +560,7 @@ static bool lower_isp_fb(nir_builder *b, struct pfo_state *state)
|
|||
has_depth_feedback = true;
|
||||
}
|
||||
|
||||
if (!state->has_discards) {
|
||||
if (!state->has_sample_check) {
|
||||
b->cursor = nir_after_instr(&state->last_discard_store->instr);
|
||||
|
||||
nir_def *smp_msk = nir_ishl(b, nir_imm_int(b, 1), nir_load_sample_id(b));
|
||||
|
|
@ -572,6 +572,7 @@ static bool lower_isp_fb(nir_builder *b, struct pfo_state *state)
|
|||
state->last_discard_store =
|
||||
nir_build_store_reg(b, val, state->discard_cond_reg);
|
||||
|
||||
state->has_sample_check = true;
|
||||
state->has_discards = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue