选择性合并部分覆盖图块以执行分层z剔除的制作方法_6

文档序号:9893645阅读:来源:国知局
的高速缓 存行。
[0191] 所述高速缓存行中的每个可存储高速缓存标记、所累积的覆盖掩模和用于相应合 并源图块的所累积的保守最大Z值。因为基元1是待擅染的第一基元,所W用于所述高速缓 存行中的每个的所累积覆盖掩模被设定成等于所述对应源图块的所述覆盖掩模,W及用于 所述高速缓存行中的每个的所累积保守最大Z值被设定成等于所述对应源图块的所述保守 最大Z值。例如,用于高速缓存行B的所累积源掩模被设定成等于用于源图块B的在擅染基元 1时所生成的所述覆盖掩模(即,表示源图块B中的哪些样本被基元1覆盖的覆盖掩模)。类似 地,用于高速缓存行B的所述保守最大Z值被设定成等于用于源图块B的在擅染基元1时所生 成的所述保守最大Z值(即,大于或等于用于包含在被基元1覆盖的源图块B中的样本的所述 保守最大Z值的值)。
[0192] 在基元1完成擅染之后,基元2被擅染。基元2部分覆盖源图块B、C和D。部分覆盖源 图块B、C和D中的每个与存储在所述合并高速缓存中的对应合并源图块合并。例如,用于基 元2的部分覆盖源图块C与存储在所述合并高速缓存的高速缓存行C中的所述合并源图块合 并。所得所累积覆盖掩模表示图块C中的哪些样本被基元1和/或基元2覆盖。用于合并源图 块C的所得所累积保守最大Z值表示包含于被基元1和/或基元2覆盖的合并源图块C中的所 述样本的所述保守最大Z值。
[0193] 在擅染基元2之后,合并源图块B变成完全覆盖的图块。因此,高速缓存行B是无效 的,运有效地从所述合并高速缓存去除合并源图块B。用于合并源图块B的所述保守最大Z值 可用于更新用于图块位置B的所述剔除z值(即,用于目的地图块B的所述保守最大z值)。
[0194]在擅染基元2之后,合并源图块C和合并源图块D保持部分覆盖。因此,高速缓存行C 和D保持在所述合并高速缓存中。
[01%]在擅染基元3之后,合并源图块C变成完全覆盖的合并源图块W及合并源图块D保 持为部分覆盖的图块。因此,高速缓存行C是无效的,W及高速缓存行D保持在所述合并高速 缓存中。因为合并源图块C现在是完全被覆盖,因此用于合并源图块C的所述保守最大Z值可 用于更新用于图块位置C的所述剔除Z值(即,用于目的地图块C的所述保守最大Z值)。
[0196] 在一些示例中,在执行分层Z测试时,本发明的技术可使用用于合并部分覆盖图块 的高速缓存。在图形硬件中,分层Z操作(或者,低分辨率Z操作)可被执行W减小样本Z操作 工作负荷。在图块具有多个样本时,每图块的Z值(即,MerZ)可存储于分层Z缓冲器中的存 储器中。在处理新图块时,可从存储器读取一个目标Z值(即,MerZ) W执行所述分层Z测试。 如果所述分层Z测试是"合格"或"不合格",则每样本Z值可不一定需要从存储器读取W用于 每样本Z测试。此解决方案可降低内存占用率并提高性能。例如,在处理新图块时,先前已处 理的所有样本的最大Z值可用作该图块的分层Z值。如果所述新图块的所述最小Z值大于所 述分层Z值,则所述新图块可在所述旧图块后面。在此情况下,所有样本的所述Z测试将不合 格并且每样本Z测试并不需要被执行。然而,在一些示例中,仅在所述图块被基元完全覆盖 时,一些系统可更新分层Z值,因为所述分层Z值记录在该图块中的所有样本的所述最大Z 值。运可能降低分层Z测试的效率,因为在对象由许多较小Ξ角形组成时,大多数图块不被 完全覆盖。
[0197] -种解决方案是在存储器中的分层Z缓冲器中存储多个Z值和每样本掩模,而不是 作为所述分层Z值的单一最大Z值。此解决方案可能能够更新用于部分覆盖图块的分层Z值 W提高分层Z测试效率。然而,此解决方案可能消耗大量的存储器带宽。
[0198] 在一些示例中,本发明的技术使用忍片上高速缓存来合并部分覆盖的图块。在此 些示例中,每图块的一个分层Z值可储存在存储器中。如果图块被完全覆盖并且图块的新最 大Z值(即,tileZ)小于所述分层Z值(即,MerZ),则所述分层Z值可被更新W等于用于所述 输入图块的最大Z值(即,tileZ)。如果图块被部分覆盖,则用于所述输入图块的每样本掩模 tileZ和图块座标可W被发送给高速缓存。所述图块的所述屏座标可用作高速缓存标记,W 及所述每图块分层Z值(即,hierZ)和样本掩模可W被存储在所述高速缓存行中。
[0199] 在发生高速缓存命中时,所述旧样本掩模可与所述新样本掩模合并,W及用于所 述图块的所述分层Z值可设定成等于所述当前分层Z值和用于所述输入图块的所述最大Z值 中的最大值(即,hierZ=max化ierZ,tileZ))。在合并之后,如果所述图块被完全覆盖,则在 存储器中的所述分层Z值(即,MerZ)可被更新,W及所述高速缓存行可被复位W使所述状 态无效。在发生高速缓存未命中时,一个高速缓存行可被分派用于所述新tileZ和样本掩 模。运种方案可在分层Z缓冲器中存储多个Z值和样本掩模时实现类似的分层Z拒绝率,但是 它可使用更小的存储器带宽。
[0200] 在一些示例中,低分辨率Z缓冲器(即,LRZ缓冲器)存储每图块LRZ值。在此些示例 中,所述每图块LRZ值可为16位。在此些示例中,对于完全覆盖图块而言,如果用于所述输入 源图块的所述最远Z值(即,srcZFar)小于用于所述目的地图块的所述最远Z值(即, dstZFar)(即,srcZFaKdstZFar),则所述LRZ缓冲器可被直接更新。对于部分覆盖图块而 言,高速缓存单元可用于合并覆盖掩模。
[0201] 在其它示例中,如果使用基于图块的擅染,则所述合并操作可在LRZ构造级期间出 现在分格传递中。在此些示例中,在所述擅染传递迭代期间,可能不一定需要出现所述合并 操作。
[0202] 本发明中所描述的技术可至少部分在硬件、软件、固件或它们的任何组合中实施。 例如,所描述技术的各种方面可在一或多个处理器内实施,包含一或多个微处理器、数字信 号处理器(DSP)、专用集成电路(ASIC)、现场可编程口阵列(FPGA),或任何其它等效集成或 分立逻辑电路,W及此些组件的任何组合。术语"处理器"或"处理电路"可大体上指前述逻 辑电路中的任一者(单独或组合其它逻辑电路)或诸如执行处理的分立硬件的任何其它等 效电路。
[0203] 此些硬件、软件和固件可在相同装置内或单独装置内实施W支持本发明中所描述 的各种操作和功能。另外,所描述单元、模块或组件中的任一者可一起实施或单独作为分立 但可互操作逻辑装置而实施。将不同特征描述为模块或单元意在强调不同功能方面并且未 必暗示此些模块或单元必须由单独硬件或软件组件实现。实际上,与一或多个模块或单元 相关联的功能性可由单独硬件、固件和/或软件组件执行,或集成到共同或单独硬件或软件 组件内。
[0204] 本发明中所描述的技术也可存储、实施或编码于计算机可读媒体(诸如,存储指令 的计算机可读存储媒体)中。嵌入或编码于计算机可读媒体中的指令可致使一或多个处理 器执行本文中所描述的技术(例如,当由一或多个处理器执行指令时)。在一些示例中,计算 机可读媒体可为非暂时性计算机可读存储媒体。计算机可读存储媒体可包含随机存取存储 器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器巧PROM)、 电子可擦除可编程只读存储器巧EPROM)、快闪存储器、硬盘、CD-ROM、软盘、卡盒、磁性媒体、 光学媒体或其它有形计算机可读存储媒体。
[0205] 计算机可读媒体可包含计算机可读存储媒体,其对应于例如上文所列的那些的有 形存储媒体。计算机可读媒体还可包括通信媒体,其包含促进计算机程序从一个地点到另 一地点的传送(例如,根据通信协议)的任何媒体。W此方式,短语"计算机可读媒体"大体上 可对应于(1)非暂时性有形计算机可读存储媒体,和(2)诸如暂时性信号或载波的非有形计 算机可读通信媒体。
[0206] 已描述各种方面和示例。然而,可在不脱离所附权利要求书的范围的情况下对本 发明的结构或技术作出修改。
【主权项】
1. 一种方法,包括: 基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并 基于所述源图块的保守最远Z值是否比与所述图块位置相关联的剔除Z值更接近,利用图形 处理单元GPU来选择性合并所述源图块和用于所述图块位置的合并源图块,以生成所述合 并源图块的经更新版本,所述剔除z值指示用于与所述图块位置对应的目标图块的所有样 本的保守最远z值。2. 根据权利要求1所述的方法,其中,选择性合并所述源图块包括: 响应于确定所述源图块未被对应于所述源图块的所述基元完全覆盖和所述源图块的 所述保守最远z值比与所述图块位置相关联的所述剔除z值更接近,合并所述源图块和用于 所述图块位置的所述合并源图块;并且 响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖或所述源图块的所 述保守最远z值不比与所述图块位置相关联的所述剔除z值更接近,不合并所述源图块和用 于所述图块位置的所述合并源图块。3. 根据权利要求2所述的方法,其中,合并所述源图块和用于所述图块位置的所述合并 源图块包括: 基于用于所述源图块的所述保守最远z值和用于所述合并源图块的保守最远z值,生成 用于所述合并源图块的所述经更新版本的保守最远z值。4. 根据权利要求3所述的方法,其中,合并所述源图块和用于所述图块位置的所述合并 源图块进一步包括: 基于用于所述源图块的覆盖掩模和用于所述合并源图块的覆盖掩模,生成用于所述合 并源图块的所述经更新版本的覆盖掩模。5. 根据权利要求1所述的方法,其中,所述方法进一步包括: 在存储器中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据,并且 其中,所述存储器具有小于存储N个合并源图块数据记录所需的数据量的数据容量,其 中,N是在所述渲染目标中的图块位置的总数。6. 根据权利要求5所述的方法,其中,与用于所述多个图块位置中的相应一个的所述合 并源图块相关联的所述数据包括用于与所述相应图块位置相关联的所述合并源图块的保 守最远z值。7. 根据权利要求6所述的方法,其中,与用于所述多个图块位置中的相应一个的所述合 并源图块相关联的所述数据进一步包括用于与所述相应图块位置相关联的所述合并源图 块的覆盖掩模。8. 根据权利要求5所述的方法,其中,所述存储器包括不与底层存储器相关联的高速缓 存单元。9. 根据权利要求1所述的方法,进一步包括: 在高速缓存单元中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据, 其中,所述高速缓存单元不与底层存储器相关联, 其中,所述高速缓存单元包括多个高速缓存行, 其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应一 个,并且 其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块位置 的总数。10. 根据权利要求1所述的方法,其进一步包括: 在高速缓存单元中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据, 其中,所述高速缓存单元包括多个高速缓存行, 其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应一 个, 其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块位置 的总数, 其中,所述高速缓存单元经配置以向所述高速缓存单元中的高速缓存行写入与第一图 块位置相关联的第一合并源图块数据记录而无需向底层存储器写入所述第一数据记录,并 且 其中,所述高速缓存单元经进一步配置以利用与第二图块位置相关联的第二合并源图 块数据记录覆写所述第一合并源图块数据记录而无需向底层存储器写入所述第一合并源 图块数据记录。11. 根据权利要求1所述的方法,进一步包括: 响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖,使高速缓存单元中 的存储用于所述合并源图块的数据记录的高速缓存行无效。12. 根据权利要求1所述的方法,进一步包括: 基于所述源图块的保守最接近z值是否比与所述图块位置相关联的所述剔除z值更远, 从图形管线选择性丢弃与所述图块位置相关联的所述源图块;并且 基于所述合并源图块的所述经更新版本是否被对应于所述合并源图块的所述经更新 版本的一组基元完全覆盖,选择性设定所述剔除z值等于用于所述合并源图块的所述经更 新版本的保守最远Z值。13. 根据权利要求12所述的方法, 其中,从所述图形管线选择性丢弃所述源图块包括: 响应于确定所述源图块的所述保守最接近z值比与所述图块位置相关联的所述剔除z 值更远,丢弃所述源图块;并且 响应于确定所述源图块的所述保守最接近z值不比与所述图块位置相关联的所述剔除 z值更远,不丢弃所述源图块,并且 其中,选择性设定所述剔除z值等于用于所述合并源图块的所述经更新版本的所述保 守最远Z值包括: 响应于确定所述合并源图块的所述经更新版本被所述组基元完全覆盖,设定所述剔除 Z值等于用于所述合并源图块的所述经更新版本的所述保守最远Z值;并且 响应于确定所述合并源图块的所述经更新版本未被所述组基元完全覆盖,不设定所述 剔除Z值等于用于所述合并源图块的所述经更新版本的所述保守最远Z值。14. 一种装置,包括: 图形处理单元GPU,其经配置基于与图块位置相关联的样本的源图块是否被对应于所 述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与所述图块位置相关联 的剔除z值更接近,来选择性合并所述源图块和用于所述图块位置的合并源图块,以生成所 述合并源图块的经更新版本,所述剔除z值指示用于与所述图块位置对应的目标图块的所 有样本的保守最远z值。15. 根据权利要求14所述的装置,其中,所述GRJ经进一步配置以: 响应于确定所述源图块未被对应于所述源图块的所述基元完全覆盖和所述源图块的 所述保守最远z值比与所述图块位置相关联的所述剔除z值更接近,合并所述源图块和用于 所述图块位置的所述合并源图块;并且 响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖或所述源图块的所 述保守最远z值不比与所述图块位置相关联的所述剔除z值更接近,不合并所述源图块和用 于所述图块位置的所述合并源图块。16. 根据权利要求15所述的装置,其中,所述GRJ经进一步配置以: 基于用于所述源图块的所述保守最远z值和用于所述合并源图块的保守最远z值生成 用于所述合并源图块的所述经更新版本的保守最远z值。17. 根据权利要求16所述的装置,其中,所述GRJ经进一步配置以: 基于用于所述源图块的覆盖掩模和用于所述合并源图块的覆盖掩模生成用于所述合 并源图块的所述经更新版本的覆盖掩模。18. 根据权利要求14所述的装置,其中,所述GRJ经进一步配置以: 在存储器中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据,并且 其中,所述存储器具有小于存储N个合并源图块数据记录所需的数据量的数据容量,其 中,N是在所述渲染目标中的图块位置的总数。19. 根据权利要求18所述的装置,其中,与用于所述多个图块位置中的相应一个的所述 合并源图块相关联的所述数据包括用于与所述相应图块位置相关联的所述合并源图块的 保守最远z值。20. 根据权利要求19所述的装置,其中,与用于所述多个图块位置中的相应一个的所述 合并源图块相关联的所述数据进一步包括用于与所述相应图块位置相关联的所述合并源 图块的覆盖掩模。21. 根据权利要求18所述的装置,其中,所述存储器包括不与底层存储器相关联的高速 缓存单元。22. 根据权利要求14所述的装置, 其中,所述GHJ经进一步配置以在高速缓存单元中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据, 其中,所述高速缓存单元不与底层存储器相关联, 其中,所述高速缓存单元包括多个高速缓存行, 其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应一 个,并且 其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块位置 的总数。23. 根据权利要求14所述的装置, 其中,所述GHJ经进一步配置以在高速缓存单元中存储多个合并源图块数据记录, 其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中的相 应一个的合并源图块相关联的数据, 其中,所述高速缓存单元包括多个高速缓存行, 其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应一 个, 其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块位置 的总数, 其中,所述高速缓存单元经配置以向所述高速缓存单元中的高速缓存行写入与第一图 块位置相关联的第一合并源图块数据记录而无需向底层存储器写入所述第一数据记录,并 且 其中,所述高速缓存单元经进一步配置以利用与第二图块位置相关联的第二合并源图 块数据记录覆写所述第一合并源图块数据记录而无需向底层存储器写入所述第一合并源 图块数据记录。24. 根据权利要求14所述的装置,其中,所述GRJ经进一步配置以: 响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖,使高速缓存单元中 的存储用于所述合并源图块的数据记录的高速缓存行无效。25. 根据权利要求14所述的装置,其中,所述GRJ经进一步配置以: 基于所述源图块的保守最接近z值是否比与所述图块位置相关联的所述剔除z值更远, 从图形管线选择性丢弃与所述图块位置相关联的所述源图块;并且 基于所述合并源图块的所述经更新版本是否被对应于所述合并源图块的所述经更新 版本的一组基元完全覆盖,选择性设定所述剔除z值等于用于所述合并源图块的所述经更 新版本的保守最远z值。26. 根据权利要求25所述的装置,其中,所述GRJ经进一步配置以: 响应于确定所述源图块的所述保守最接近z值比与所述图块位置相关联的所述剔除z 值更远,丢弃所述源图块; 响应于确定所述源图块的所述保守最接近z值不比与所述图块位置相关联的所述剔除 z值更远,不丢弃所述源图块; 响应于确定所述合并源图块的所述经更新版本被所述组基元完全覆盖,设定所述剔除 z值等于用于所述合并源图块的所述经更新版本的所述保守最远z值;并且 响应于确定所述合并源图块的所述经更新版本未被所述组基元完全覆盖,不设定所述 剔除Z值等于用于所述合并源图块的所述经更新版本的所述保守最远Z值。27. 根据权利要求14所述的装置,其中,所述装置包括无线通信装置。28. 根据权利要求14所述的装置,其中,所述装置包括移动电话手持机。29. -种设备,包括: 用于确定与图块位置相关联的样本的源图块的保守最远z值是否比与所述图块位置相 关联的剔除z值更接近的装置,所述剔除z值指示用于与所述图块位置对应的目标图块的所 有样本的保守最远z值;以及 用于基于所述源图块是否被对应于所述源图块的基元完全覆盖并且基于所述源图块 的所述保守最远Z值是否比与所述图块位置相关联的所述剔除Z值更接近,选择性合并所述 源图块和用于所述图块位置的合并源图块以生成所述合并源图块的经更新版本的装置。30. -种包括指令的非暂时性计算机可读存储媒体,所述指令在由一或多个处理器执 行时致使所述一或多个处理器: 基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并 基于所述源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接近,选择性合 并所述源图块和用于所述图块位置的合并源图块,以生成所述合并源图块的经更新版本, 所述剔除z值指示用于与所述图块位置对应的目标图块的所有样本的保守最远z值。
【专利摘要】本发明描述用于在图形处理系统中执行分层z剔除的技术。在一些示例中,所述技术可包括基于用于图块位置的部分覆盖源图块的保守最远z值是否比用于所述图块位置的剔除z值更接近,将所述部分覆盖源图块选择性合并为完全覆盖合并源图块,并且使用与所述完全覆盖合并源图块相关联的保守最远z值来更新用于所述图块位置的所述剔除z值。在其它示例中,所述技术可使用不与底层存储器相关联的高速缓存单元来存储用于合并源图块的保守最远z值和覆盖掩模。所述高速缓存单元的容量可比存储渲染目标中的所有所述图块位置的合并源图块数据所需的高速缓存的大小更小。
【IPC分类】G06T15/00, G06T15/40
【公开号】CN105659291
【申请号】
【发明人】汪涛, 安德鲁·埃文·格鲁贝尔, 沙姆巴富·坎德瓦勒
【申请人】高通股份有限公司
【公开日】2016年6月8日
【申请日】2014年10月8日
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1