mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 17:40:11 +01:00
nak: Add support for centroid and sample interp modes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24998>
This commit is contained in:
parent
850668c942
commit
ab80e1189f
1 changed files with 10 additions and 3 deletions
|
|
@ -1236,9 +1236,16 @@ impl<'a> ShaderFromNir<'a> {
|
||||||
srcs[0].as_def().parent_instr().as_intrinsic().unwrap();
|
srcs[0].as_def().parent_instr().as_intrinsic().unwrap();
|
||||||
let addr = u16::try_from(intrin.base()).unwrap()
|
let addr = u16::try_from(intrin.base()).unwrap()
|
||||||
+ u16::try_from(srcs[1].as_uint().unwrap()).unwrap();
|
+ u16::try_from(srcs[1].as_uint().unwrap()).unwrap();
|
||||||
let freq = InterpFreq::Pass;
|
let (freq, loc) = match bary.intrinsic {
|
||||||
let loc = match bary.intrinsic {
|
nir_intrinsic_load_barycentric_centroid => {
|
||||||
nir_intrinsic_load_barycentric_pixel => InterpLoc::Default,
|
(InterpFreq::Pass, InterpLoc::Centroid)
|
||||||
|
}
|
||||||
|
nir_intrinsic_load_barycentric_pixel => {
|
||||||
|
(InterpFreq::Pass, InterpLoc::Default)
|
||||||
|
}
|
||||||
|
nir_intrinsic_load_barycentric_sample => {
|
||||||
|
(InterpFreq::Pass, InterpLoc::Centroid)
|
||||||
|
}
|
||||||
_ => panic!("Unsupported interp mode"),
|
_ => panic!("Unsupported interp mode"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue