mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
ac: handle undefined EQAA samples in ac_apply_fmask_to_sample
RADV might wanna use this helper too. Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
parent
a2d4c8ff6d
commit
e5e57c3a5e
1 changed files with 4 additions and 2 deletions
|
|
@ -2747,11 +2747,13 @@ void ac_apply_fmask_to_sample(struct ac_llvm_context *ac, LLVMValueRef fmask,
|
|||
final_sample = LLVMBuildMul(ac->builder, addr[sample_chan],
|
||||
LLVMConstInt(ac->i32, 4, 0), "");
|
||||
final_sample = LLVMBuildLShr(ac->builder, fmask_value, final_sample, "");
|
||||
/* Mask the sample index by 0x7, because 0x8 means an unknown value
|
||||
* with EQAA, so those will map to 0. */
|
||||
final_sample = LLVMBuildAnd(ac->builder, final_sample,
|
||||
LLVMConstInt(ac->i32, 0xF, 0), "");
|
||||
LLVMConstInt(ac->i32, 0x7, 0), "");
|
||||
|
||||
/* Don't rewrite the sample index if WORD1.DATA_FORMAT of the FMASK
|
||||
* resource descriptor is 0 (invalid),
|
||||
* resource descriptor is 0 (invalid).
|
||||
*/
|
||||
LLVMValueRef tmp;
|
||||
tmp = LLVMBuildBitCast(ac->builder, fmask, ac->v8i32, "");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue