mali tbr Forward Pixel Kill
https://community.arm.com/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-20-66/siggraph2015_2D00_mmg_2D00_andy_2D00_slides.pdf
Forward Pixel Kill
写完没存。。。还要再写一遍。。。
依赖于earlyz
在一个时间窗口里用earlyz做剔除 on fly
从Mali-T62X and T678 开始有这个功能
fpk和earlyz是两个独立的单元
这部分有三种剔除方式
earlyz
fpk
latez
earlyz 失效有以下几种原因
discard in ps
alpha to coverage
write fragment depth in fragment shader(在ps里改这个值gl_FragDepth)
这部分像素 走latez 这部分也不会走fpk的 因为对于earlyz失效的 对fpk也是失效的 fpk本质上是个有窗口的earlyz
只有earlyz 通过的才走fpk 也就是说这部分像素 没有严格按照从前向后的渲染次序 虽然对于他们earlyz 是生效的 但是还是通过了 ps被画出来了
所以这部分 ps load的开销肯定是有的 但是on fly上会被踢掉 所以ps计算的开销去掉了
窗口呈现的这部分 放在FIFO的buffer里