《基于图块的图形.pdf》由会员分享,可在线阅读,更多相关《基于图块的图形.pdf(27页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104103084 A (43)申请公布日 2014.10.15 CN 104103084 A (21)申请号 201410132510.4 (22)申请日 2014.04.02 1305921.7 2013.04.02 GB G06T 11/00(2006.01) G06T 15/00(2011.01) (71)申请人 想象技术有限公司 地址 英国赫特福德郡 (72)发明人 SJ费什维克 J豪森 (74)专利代理机构 北京市金杜律师事务所 11256 代理人 王茂华 (54) 发明名称 基于图块的图形 (57) 摘要 本发明的各实施方式总体上涉及基于图块的 图形。 。
2、具体地, 基于图块的图形系统具有被细分成 待处理的多个图块的渲染空间。 图形数据项 (诸如 参数或纹素) 被提取到缓存中以用于处理图块中 的一个图块。 确定图形数据项的指示符, 据此图形 数据项的指示符指示该图形数据项与之关联的图 块的数目。依据图形数据项的指示符从缓存逐出 图形数据项。 例如, 图形数据项的指示符可以是该 图形数据项与之关联的图块的数目的计数, 据此 具有最低计数的图形数据项从缓存被逐出。 (30)优先权数据 (51)Int.Cl. 权利要求书 3 页 说明书 17 页 附图 6 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书17页 附。
3、图6页 (10)申请公布号 CN 104103084 A CN 104103084 A 1/3 页 2 1. 一种处理基于图块的图形系统中的数据的方法, 所述基于图块的图形系统具有被细 分成图形数据项与之关联的多个图块的渲染空间, 所述方法包括 : 从图形数据存储器提取要被用于处理所述图块中的一个图块的图形数据项到缓存中 ; 以及 从所述缓存读取所述图形数据项以用于处理所述图块中的所述一个图块, 其中所述方 法还包括 : 确定所述图形数据项的指示符, 其中, 对于每个所述图形数据项, 所述图形数据项的所 述指示符指示所述图形数据项与之关联的图块的数目 ; 基于确定的所述指示符, 确定逐出所述缓。
4、存中的哪些图形数据项 ; 以及 从所述缓存逐出确定的所述图形数据项。 2. 根据权利要求 1 所述的方法, 还包括确定所述图形数据项的边界区域, 其中如果特 定图形数据项的边界区域与特定图块至少部分重叠, 则所述特定图形数据项与所述特定图 块关联, 并且其中对于每个所述图形数据项, 所述图形数据项的所述指示符指示图块的数目, 所述图块与所述图形数据项的所述边界区域至少部分重叠。 3. 根据前述任一权利要求所述的方法, 其中对于每个所述图形数据项, 所述图形数据 项与之关联的图块的数目在确定哪些图形数据项存在于每个所述图块中的步骤期间被确 定, 并且其中所述方法还包括基于所述缓存中的所述图形数据。
5、项的所述指示符并且基于确 定哪些图形数据项存在于每个所述图块中的步骤, 来确定图块要被处理的顺序。 4. 根据前述任一权利要求所述的方法, 其中所述图形数据项是定义包含在所述图块 中的几何体的参数, 其中所述图形数据集合是参数块并且所述图形数据存储器是参数缓冲 器。 5. 根据前述任一权利要求所述的方法, 其中所述图形数据项是包含在所述图块中的纹 理的纹素, 其中所述图形数据集合是纹理并且所述图形数据存储器是纹理存储器。 6. 根据前述任一权利要求所述的方法, 还包括 : 确定另外的图形数据项要被提取到所述缓存中 ; 并且 确定在不从所述缓存逐出一些图形数据项的情况下, 所述缓存中没有足够空间。
6、来存储 所述另外的图形数据项, 其中所述确定逐出所述缓存中的哪些图形数据项和所述从所述缓存逐出确定的所述 图形数据项响应于所述确定所述缓存中没有足够空间来存储所述另外的图形数据项而被 执行。 7. 一种基于图块的图形系统, 所述基于图块的图形系统具有被细分成图形数据项与之 关联的多个图块的渲染空间, 所述基于图块的图形系统包括处理单元, 所述处理单元被配 置为 : 从图形数据存储器提取要被用于处理所述图块中的一个图块的图形数据项到缓存 中 ; 从所述缓存读取所述图形数据项以用于处理所述图块中的所述一个图块 ; 确定所述图形数据项的指示符, 其中, 对于每个所述图形数据项, 所述图形数据项的所 。
7、述指示符指示所述图形数据项与之关联的图块的数目 ; 权 利 要 求 书 CN 104103084 A 2 2/3 页 3 基于确定的所述指示符, 确定逐出所述缓存中的哪些图形数据项 ; 以及 从所述缓存逐出确定的所述图形数据项。 8. 根据权利要求 7 所述的系统, 其中所述图形数据项存储在所述图形数据存储器中的 图形数据集合中, 每个所述图形数据集合包括一个或多个所述图形数据项, 并且其中如果 包括特定图形数据项的所述图形数据集合中的图形数据项要被用于处理特定图块, 则所述 特定图形数据项与所述特定图块关联, 并且其中对于每个所述图形数据项, 所述图形数据项的所述指示符指示图块的数目, 使用。
8、包括所述图形数据项的所述图形数据集合中的图形数据项处理所述图块。 9.根据权利要求7或8所述的系统, 其中如果特定图形数据项要被用于处理特定图块, 则所述特定图形数据项与所述特定图块关联, 并且其中对于每个所述图形数据项, 所述图形数据项的所述指示符指示图块的数目, 使用所述图形数据项处理所述图块。 10.根据权利要求7至9中任一项所述的系统, 其中所述处理单元被配置为确定哪些图 形数据项存在于每个所述图块中, 从而对于每个所述图形数据项, 确定所述图形数据项与 之关联的图块的数目。 11. 根据权利要求 7 至 10 中任一项所述的系统, 其中所述图形数据项是定义包含在所 述图块中的几何体的。
9、参数, 或者其中所述图形数据项是包含在所述图块中的纹理的纹素。 12.根据权利要求7至11中任一项所述的系统, 其中对于每个所述图形数据项, 所述指 示符是所述图形数据项与之关联的图块的数目的计数。 13. 根据权利要求 12 所述的系统, 其中所述处理单元还被配置为当特定图形数据项与 之关联的图块已经被处理时, 使所述特定图形数据项的计数递减。 14. 根据权利要求 12 或 13 所述的系统, 其中所述处理单元被配置为通过 (i) 确定所述 缓存中的哪个图形数据项具有最低的计数或者 (ii) 确定任何所述图形数据项是否具有等 于零的计数, 来确定逐出所述缓存中的哪些图形数据项。 15.根据。
10、权利要求12至14中任一项所述的系统, 其中所述处理单元被配置为为所述计 数设定限度, 以使得对于每个所述图形数据项, 如果所述图形数据项与之关联的图块的数 目大于预定最大值, 则所述计数被确定为等于所述预定最大值, 其中所述处理单元被配置 为仅在所述计数小于所述预定最大值的情况下使所述计数递减。 16.根据权利要求7至11中任一项所述的系统, 其中对于每个所述图形数据项, 所述图 形数据项的所述指示符指示两个条件之一, 所述两个条件是 : (i) 所述图形数据项与之关联的图块的数目等于 1, 以及 (ii) 所述图形数据项与之关联的图块的数目大于 1。 17.根据权利要求7至11中任一项所述。
11、的系统, 其中对于每个所述图形数据项, 所述图 形数据项的所述指示符指示四个条件之一, 所述四个条件是 : (i) 所述图形数据项与之关联的图块的数目等于 1, (ii) 所述图形数据项与之关联的图块的数目等于 2, (iii) 所述图形数据项与之关联的图块的数目等于 3 或 4, 以及 (iv) 所述图形数据项与之关联的图块的数目大于 4。 18. 根据权利要求 7 至 17 中任一项所述的系统, 其中所述处理单元还被配置为 : 权 利 要 求 书 CN 104103084 A 3 3/3 页 4 确定另外的图形数据项要被提取到所述缓存中 ; 并且 确定在不从所述缓存逐出一些图形数据项的情况。
12、下, 所述缓存中没有足够空间来存储 所述另外的图形数据项, 其中所述处理单元被配置为响应于确定所述缓存中没有足够空间来存储所述另外的 图形数据项, 确定逐出所述缓存中的哪些图形数据项并且从所述缓存逐出确定的所述图形 数据项。 19. 一种基于图块的图形系统的处理块, 所述基于图块的图形系统具有被细分成图形 数据项与之关联的多个图块的渲染空间, 所述处理块包括 : 提取逻辑, 被配置为从图形数据存储器提取要被用于处理所述图块中的一个图块的图 形数据项到缓存中 ; 确定逻辑, 被配置为确定所述图形数据项的指示符, 以使得对于每个所述图形数据项, 所述图形数据项的所述指示符指示所述图形数据项与之关联。
13、的图块的数目 ; 读取逻辑, 被配置为从所述缓存读取所述图形数据项以用于处理所述图块中的所述一 个图块 ; 以及 逐出逻辑, 被配置为 : 基于确定的所述指示符, 确定逐出所述缓存中的哪些图形数据项 ; 以及 从所述缓存逐出确定的所述图形数据项。 20. 一种计算机可读存储介质, 具有在其上编码的、 用于生成被配置为执行权利要求 1 至 6 中任一项所述的方法的处理单元的计算机可读程序代码。 权 利 要 求 书 CN 104103084 A 4 1/17 页 5 基于图块的图形 技术领域 背景技术 0001 基于图块 (tile-based) 的图形系统使用基于图块的渲染来渲染 2D 或 3D。
14、 计算机 图形图像。 作为基于图块的渲染技术的一部分, 渲染空间被细分成称为图块或块 (本文称为 图块) 的多个区域, 其各自包括多个像素。图块经常是矩形的, 但它们可以是诸如三角形或 六角形之类的其它形状。渲染空间可以对应于用于在屏幕上显示的图像, 但其它渲染目标 (诸如存储器中的纹理数据) 也是可能的。图块可以是各种尺寸, 例如图块可以是 1616 个 像素。在高屏幕分辨率图像的一个示例中, 存在 12801024 个像素。因此, 作为示例, 高屏 幕分辨率图像可以被细分成 5120 个图块 (每个图块包括 1616 个像素) 。 0002 基于图块的渲染器可以存储原始数据 (或 “参数”。
15、 ) , 其表示存储器块中被称为参数 块的几何对象或其它几何体。 每个参数块包含描述可以位于多个图块中的一个或多个图元 (primitive) 的参数。图元经常是多边形 (通常是三角形) , 但可以具有其它形式 (诸如点、 线 或补丁 (patch) ) 。参数块的参数表示图元的位置 (例如形成例如屏幕空间坐标系中的图元 的顶点的位置) 。 参数块的参数还可以指示对象或几何体的其它特征 (或 “属性” ) , 诸如颜色 和纹理。场景的参数块存储在存储器中的参数缓冲器中。参数被分析以确定将需要哪个参 数来处理每个图块。特别是, 针对每个图块, 导出显示列表, 其指示描述部分或全部位于图 块内的图。
16、元的参数 (如果有的话) 。这样, 图块的显示列表通过提供对存储在参数缓冲器中 的相关参数数据的参考来确认处理图块所需要的每个参数。 0003 使用其显示列表来渲染每个图块。 对象被栅格化以确定哪些对象存在于图块的每 个片段中。作为术语,“像素” 是显示在最终图像中的个别图像点, 而 “片段” 是被处理以便 生成用于在最终图像中显示的像素的个别图像点。在图块中的对象的栅格化期间, 在该图 块的显示列表中指示的参数从它们各自的来自参数缓冲器的参数块被提取到被称为参数 缓存 (cache) 的较小本地存储器 (例如其是片上存储器) 中。该参数缓存通常比存储所有参 数块的参数所需的缓存小, 需要该所。
17、有参数块的参数以便渲染场景中的所有图块。 因此, 当 图块已经被处理并且新参数被提取到参数缓存中用于处理新图块时, 存储在参数缓存中的 一些参数被逐出参数缓存。 0004 为了确定参数缓存中的哪些参数被逐出, 在一些系统中使用最近最少使用 (LRU) 逐出策略。根据 LRU 逐出策略, 最近最少使用的项 (即参数) 是第一个要从参数缓存被丢弃 的。 发明内容 0005 该 “发明内容” 部分被提供用于以简化形式介绍以下在 “具体实施方式” 部分进一 步描述的各种概念。该 “发明内容” 部分并非旨在标识所要求保护的技术方案的关键特征 或必要特征, 也并非旨在被用来限制所要求保护的技术方案的范围。。
18、 0006 基于图块的图形系统具有被细分成要被处理的多个图块的渲染空间。 图形数据项 说 明 书 CN 104103084 A 5 2/17 页 6 (诸如参数或纹素 (texel) ) 被提取到缓存中以用于处理图块中的一个图块。确定图形数据 项的指示符, 据此图形数据项的指示符指示该图形数据项与之关联的图块的数目。依据图 形数据项的指示符从缓存逐出图形数据项。例如, 图形数据项的指示符可以是该图形数据 项与之关联的图块的数目的计数, 据此具有最低计数的图形数据项从缓存被逐出。 0007 特别是, 提供了一种处理基于图块的图形系统中的数据的方法, 该基于图块的图 形系统具有被细分成图形数据项与。
19、之关联的多个图块的渲染空间, 该方法包括 : 从图形数 据存储器提取要被用于处理图块中的一个图块的图形数据项到缓存中 ; 以及从缓存读取图 形数据项以用于处理所述图块中的所述一个图块, 其中该方法还包括 : 确定图形数据项的 指示符, 其中, 对于每个图形数据项, 该图形数据项的指示符指示该图形数据项与之关联的 图块的数目 ; 基于所确定的指示符, 确定逐出缓存中的哪些图形数据项 ; 以及从缓存逐出 所确定的图形数据项。 0008 图形数据项可以存储在图形数据存储器中的图形数据集合中, 每个图形数据集合 包括一个或多个图形数据项。作为示例, 如果包括特定图形数据项的图形数据集合中的图 形数据项。
20、要被用于处理特定图块, 则特定图形数据项可以与特定图块关联, 并且对于每个 图形数据项, 该图形数据项的指示符可以指示图块的数目, 使用包括该图形数据项的图形 数据集合中的图形数据项处理该图块。作为另一示例, 如果特定图形数据项要被用于处理 特定图块, 则特定图形数据项可以与特定图块关联, 并且对于每个图形数据项, 该图形数据 项的指示符可以指示图块的数目, 使用该图形数据项处理该图块。 0009 该方法还可以包括确定图形数据项的边界区域, 其中如果该图形数据项的边界区 域与特定图块至少部分重叠, 则特定图形数据项可以与特定图块关联, 并且对于每个图形 数据项, 该图形数据项的指示符可以指示图。
21、块的数目, 该图块与该图形数据项的边界区域 至少部分重叠。对于每个图形数据项, 该图形数据项的边界区域可以包含该图形数据项的 图形数据集合中的所有图形数据项。 0010 对于每个图形数据项, 该图形数据项与之关联的图块的数目可以在确定哪些图形 数据项存在于每个图块中的步骤期间被确定。此外, 该方法还可以包括基于缓存中的图形 数据项的指示符并且基于确定哪些图形数据项存在于每个图块中的步骤, 确定图块要被处 理的顺序。 0011 图形数据项可以是定义包含在图块中的几何体的参数。例如, 图形数据集合可以 是参数块并且图形数据存储器可以是参数缓冲器。 0012 图形数据项可以是包含在图块中的纹理的纹素。
22、。例如, 图形数据集合可以是纹理 并且图形数据存储器可以是纹理存储器。 0013 对于每个图形数据项, 指示符可以是该图形数据项与之关联的图块的数目的计 数。该方法还可以包括当特定图形数据项与之关联的图块已经被处理时, 使特定图形数据 项的计数递减。 确定逐出缓存中的哪些图形数据项的步骤可以包括确定缓存中的哪个图形 数据项具有最低的计数。此外, 确定逐出缓存中的哪些图形数据项的步骤可以包括确定任 何图形数据项是否具有等于零的计数。此外, 如果当特定图形数据项与之关联的图块已经 被处理时, 特定图形数据项的计数为 1, 则该方法可以包括使对应于特定图形数据项的缓存 入口无效。 计数可以被限制, 。
23、以使得对于每个图形数据项, 如果该图形数据项与之关联的图 块的数目大于预定最大值, 则计数可以被确定为等于预定最大值。 可能是这样的情况, 即计 说 明 书 CN 104103084 A 6 3/17 页 7 数仅在其小于预定最大值的情况下递减。 0014 在示例中, 对于每个图形数据项, 该图形数据项的指示符指示两个条件之一, 该两 个条件是 :(i) 该图形数据项与之关联的图块的数目等于 1, 以及 (ii) 该图形数据项与之关 联的图块的数目大于 1。 0015 在另一示例中, 对于每个图形数据项, 该图形数据项的指示符指示四个条件之一, 该四个条件是 :(i) 该图形数据项与之关联的图。
24、块的数目等于 1,(ii) 该图形数据项与之关 联的图块的数目等于 2,(iii) 该图形数据项与之关联的图块的数目等于 3 或 4, 以及 (iv) 该图形数据项与之关联的图块的数目大于 4。 0016 该方法还可以包括确定另外的图形数据项要被提取到缓存中, 并且确定在不从缓 存逐出一些图形数据项的情况下, 缓存中没有足够空间来存储另外的图形数据项, 其中所 述确定逐出缓存中的哪些图形数据项和所述从缓存逐出所确定的图形数据项可以响应于 所述确定缓存中没有足够空间来存储另外的图形数据项而执行。 0017 如果所确定的指示符对于多个图形数据项是相同的, 则确定逐出缓存中的哪些图 形数据项的步骤还。
25、可以基于缓存中的图形数据项最后被使用的各自的时间。 0018 图形数据项的指示符可以存储在缓存中, 并且还可以存储在图形数据存储器中。 备选地, 图形数据项的指示符可以存储在图形数据存储器中, 并且可以通过存储在缓存中 的参考 (reference) 引用存储在图形数据存储器中的指示符来访问。 在简单的示例中, 参考 可以是指向参数块的指针。 缓存可以将指向参数块的指针仅存储为数据的地址 (或 “标签” ) (或者它的小函数 (trivial function) ) 。 0019 还提供了一种基于图块的图形系统, 其具有被细分成图形数据项与之关联的多个 图块的渲染空间, 该基于图块的图形系统包。
26、括被如下配置的处理单元 : 从图形数据存储器 提取要被用于处理图块中的一个图块的图形数据项到缓存中 ; 从缓存读取图形数据项以用 于处理所述图块中的所述一个图块 ; 确定图形数据项的指示符, 其中, 对于每个图形数据 项, 该图形数据项的指示符指示该图形数据项与之关联的图块的数目 ; 基于所确定的指示 符, 确定逐出缓存中的哪些图形数据项 ; 以及从缓存逐出所确定的图形数据项。 0020 如对于技术人员将是显而易见的, 以上特征可以酌情组合, 并且可以与示例的任 何方面组合。 附图说明 0021 现在将通过参考附图详细描述示例, 其中 : 0022 图 1 示出基于图块的图形系统 ; 0023。
27、 图 2 表示包括在基于图块的图形系统的渲染空间中的对象 ; 0024 图 3a 示出第一参数块 ; 0025 图 3b 示出第二参数块 ; 0026 图 4 是处理基于图块的图形系统中的数据的方法的流程图 ; 0027 图 5 示出参数缓存 ; 0028 图 6 表示包括在基于图块的图形系统的渲染空间中的另一对象 ; 以及 0029 图 7 表示包括在基于图块的图形系统的渲染空间中的另外的对象。 0030 贯穿整个附图, 共同的附图标记被用来指示相似的特征。 说 明 书 CN 104103084 A 7 4/17 页 8 具体实施方式 0031 现在将仅通过示例来描述实施例。 0032 图 。
28、1 是示出基于图块的图形系统 100 的原理图。系统 100 可以在设备 (诸如智能 电话、 平板电脑、 膝上型电脑、 个人计算机 (PC) 、 电视机或者任何其它合适的设备, 其中图形 数据要被处理) 上实现。基于图块的图形系统 100 被配置为接收例如来自应用的数据、 处理 数据并且提供经处理的数据的输出。系统 100 包括被配置为处理数据的处理单元 102。处 理单元 102 可以以硬件或软件或其组合来实现。例如, 处理单元 102 可以以固定功能的硬 件来实现, 其包括被配置为如本文所述相应地处理数据的电路。例如, 处理单元 102 可以是 图形处理单元 (GPU) 或者可以被实现为在。
29、可编程设备 (诸如 GPU 或中央处理单元 (CPU) ) 上 运行的计算机程序。 0033 处理单元102包括用于处理数据的多个功能块, 其中处理单元102的一些 (但非所 有, 为清晰起见) 功能块示于图 1 中。特别是, 处理单元 102 包括平铺单元 106、 图像合成处 理器 (ISP) 块 108 以及纹理和渐变 (shading) 处理器 (TSP) 块 110。系统 100 还包括存储 器 112, 其被布置为与处理单元 102 通信。存储器 112 包括参数缓冲器 114 和纹理存储器 116。存储器 112 还将包括其它存储器块 (为清晰起见, 其未示于图 1 中) 。处理。
30、单元 102 还 包括第一参数缓存 118、 第二参数缓存 120 和纹理缓存 122。 0034 平铺单元 106 的输入被布置为接收图形数据。平铺单元 106 的输出耦合到参数缓 冲器 114 的输入。参数缓冲器 114 的第一输出耦合到 ISP 块 108 的第一输入。ISP 块 108 的输出耦合到 TSP 块 110 的第一输入。参数缓冲器 114 的第二输出耦合到第一参数缓存 118 的输入以及第二参数缓存 120 的输入。第一参数缓存 118 的输出耦合到 ISP 块 108 的 第二输入。第二参数缓存 120 的输出耦合到 TSP 块 110 的第二输入。纹理存储器 116 的。
31、输 出耦合到纹理缓存 122 的输入。纹理缓存 122 的输出耦合到 TSP 缓存 110 的第三输入。 0035 在操作中, 处理单元 102 被布置为接收例如来自应用程序的图形数据, 该应用程 序当前正在其上实现系统 100 的设备上运行。图形数据包括定义用于显示的对象的几何数 据。平铺单元 106 包括用于实现处理单元 102 中的若干功能的逻辑。特别是, 平铺单元 106 接收几何数据并且从几何数据导出多个图元。在平铺单元 106 接收几何数据之前, 一些对 于几何数据的处理可以 (或者可以不) 由处理单元 102(在未图示在图 1 中的功能块中) 来 执行。图元表示几何对象或其它几何。
32、体。描述图元的参数存储在被称为参数块的存储器块 中的参数缓冲器 114 中。每个参数块包含描述可能位于多个图块中的多个图元的参数。图 元经常是多边形, 诸如三角形, 但可以具有其它形式 (诸如线、 点或补丁) 。参数块的参数表 示图元的位置 (例如形成例如屏幕空间坐标系中的图元的顶点的位置) 。参数块的参数还可 以指示对象或几何体的其它特征, 诸如颜色和纹理。 0036 平铺单元 106 将渲染空间分成多个图块, 每个图块包括多个片段。图块可以是矩 形的 (包括方形的) , 但它们可以是诸如三角形或六角形之类的其它形状。渲染空间可以对 应于用于在屏幕上显示的图像, 但其它渲染目标 (诸如存储器。
33、中的纹理数据) 也是可能的。 0037 对于每个图块, 平铺单元 106 确定每个图元是否至少部分位于该图块内。即, 平铺 单元 106 确定图元的至少一部分是否位于图块的可视区域内。这可以使用若干公知技术来 完成。这样, 对于每个图块, 平铺单元 106 导出显示列表, 该显示列表包括标识参数 (例如图 说 明 书 CN 104103084 A 8 5/17 页 9 元的位置、 颜色和纹理) 的标识符, 如果有的话, 该参数描述部分或整体位于图块内的图元。 即, 图块的显示列表包括对包含与图块至少部分重叠的几何体的参数块的一组参考。每个 参考可以与掩码关联, 该掩码指示来自该参数块的参数的子。
34、集, 该参数表示存在于图块中 的图元。这样, 图块的显示列表通过提供对存储在参数缓冲器 114 中的相关参数的参考来 标识处理图块所需的每个参数。 0038 从平铺单元 106 提供显示列表到参数缓冲器 114 以存储在其中。当 ISP 块 108 处 理图块时, 其从参数缓冲器 114 取回图块的显示列表并且使用显示列表确定哪些图元正与 图块至少部分重叠。当 ISP 块 108 处理图块时, 其可以例如实现隐藏面消除 (HSR) , 从而在 TSP 块 110 处理图块之前确定哪些图元隐藏在每个片段位置处并且去除将不影响经渲染的 图像的参数。为了实现图块的 HSR, ISP 块 108 处理。
35、图块的显示列表中指示的参数, 以确定 哪些图元是可见的并且哪些隐藏在图块内的每个片段位置处。为使 ISP 块 108 可以处理图 块内的参数, 包括在图块的显示列表中的参数从参数缓冲器114被提取到参数缓存118中。 ISP 块 108 然后从参数缓存 118 读取参数, 以用于处理图块, 例如用于实现 HSR。 0039 TSP 块 110 处理图块以将纹理化和渐变 (texturing and shading) 应用到存在于 图块内的对象。来自 ISP 块 108 的输出被提供到 TSP 块 110, 其指示 TSP 块 110 将需要哪些 参数以便处理图块。为使 TSP 块 110 可以。
36、处理图块内的参数, 来自 ISP 块 108 的输出中指 示的参数从参数缓冲器 114 被提取到参数缓存 120 中。TSP 块 110 所使用的用于处理图块 的一些或所有参数可以不同于 ISP 块 108 所使用的用于处理相同图块的那些参数。例如, ISP 块 108 所使用的参数可以与图元的位置有关, 而 TSP 块 110 所使用的参数可以 (附加地 或备选地) 与要被应用到图元的纹理和渐变数据有关。TSP 块 110 然后从参数缓存 120 读 取参数以用于处理图块, 例如用于实现纹理化和渐变。参数可以包括要被 TSP 块 110 应用 到对象的纹理 (或者来自纹理的具体纹素) 的指示。
37、。所指示的纹理 (或纹素) 从纹理存储器 116被提取到纹理缓存122中, 以由TSP块110用于处理图块, 例如用于实现纹理化和渐变。 0040 在从处理单元102被输出到例如显示缓冲器以显示在其上实现系统100的设备的 屏幕上之前, 来自 TSP 块 110 的输出可以被传递到处理单元 102 内另外的处理块 (图 1 中未 示出) 。 0041 在图 1 中所示的示例中, 缓存存储器 (118、 120 和 122) 是片上存储器, 其小于存储 在存储器 112(其可以例如是系统存储器) 中的对应的参数缓冲器 114 和纹理存储器 116。 在其它示例中, 缓存存储器中的至少一个缓存存储。
38、器 (118、 120和/或122) 可以不被实现为 片上存储器, 即, 可以不被实现在与处理单元 102 相同的芯片上。参数缓存 118 和 120 通常 小于存储被存储在参数缓冲器 114 中的所有参数块所需的缓存, 需要该所有参数块以便渲 染场景中的所有图块 (尽管参数缓存118和120通常大到足以存储所有参数, 需要该所有参 数以便渲染图块之一, 但是这可能取决于包括在图块中的对象的数量和复杂度) 。类似地, 纹理缓存 122 通常小于存储被存储在纹理存储器 116 中的所有纹理所需的缓存, 需要该所 有纹理以便渲染场景中的所有图块。为使 ISP 块 108 能够处理所有图块, 随着另。
39、外的参数 从参数缓冲器 114 被提取到参数缓存 118 中, 参数缓存 118 中的至少一些参数被逐出。类 似地, 随着另外的参数/纹素被提取到各自的缓存中, 参数缓存120中的至少一些参数以及 纹理缓存 122 中的至少一些纹素被逐出, 以使得 TSP 块 110 可以处理所有图块。 0042 本文描述了逐出策略, 其可以比上述 LRU 逐出策略表现得更好。逐出策略的表现 说 明 书 CN 104103084 A 9 6/17 页 10 可以由导致缓存命中的缓存读取请求的比例 (即, 缓存的命中率) 来指示。以下参考参数缓 存 118 中的参数详细描述逐出策略, 但是相同的原理可以被应用到。
40、参数缓存 120 中的参数 以及纹理缓存 122 中的纹素。此外, 本文所述的逐出策略的相同原理可以被应用到存储在 缓存中以用于处理图块的任何合适的图形数据项。 0043 图 2 是包括 20 个图块 (以 54 阵列布置) 的基于图块的图形系统的渲染空间 202 的简化表示。在渲染空间 202 内示出了两个对象 204 和 206。两个对象中的第一对象包括 被标记为 2041、 2042、 2043和 2044的四个图元。能够看出, 第一对象与渲染空间 202 的图块 中的六个图块重叠。这六个图块处于渲染空间 202 的 54 阵列的中部, 并且在图 2 中被 表示为图块 A 至 F。在没有。
41、明确表述的情况下, 本文所使用的术语 “重叠” 要被理解为意思 是 “至少部分重叠” 。从图 2 可以理解到, 图元 2041与三个图块 (图块 A、 D 和 E) 重叠, 图元 2042与四个图块 (图块 A、 B、 D 和 E) 重叠, 图元 2043与两个图块 (图块 B 和 E) 重叠, 并且图 元 2044与四个图块 (图块 B、 C、 E 和 F) 重叠。两个对象中的第二对象包括被标记为 2061和 2062的两个图元。能够看出, 第二对象仅与渲染空间 202 的图块中的一个图块重叠。特别 是, 从图 2 可以理解到, 图元 2061和 2062两者仅与一个图块 (该图块是图块 A。
42、) 重叠。场景 中通常将存在其它对象, 可能包括比图 2 中所示的对象多的图元, 但是为清晰起见, 这些在 图 2 中未示出。 0044 如上所述, 每个对象存储在参数缓冲器 114 中的一个或多个参数块中。每个参数 块包括描述至少一个对象的图元的参数。图 3a 是第一参数块 ( “参数块 1” ) 的简化图, 其包 括描述第一对象 204 的图元的参数。特别是, 在图 3a 所示的示例中, 参数块 1 存储 : 描述图 元 2041的参数 PB11; 描述图元 2042的参数 PB12; 描述图元 2043的参数 PB13; 以及描述图元 2044的参数 PB14。 0045 类似地, 图 。
43、3b 是第二参数块 ( “参数块 2” ) 的简化图, 其包括描述第二对象 206 的 图元的参数。特别是, 在图 3b 所示的示例中, 参数块 2 存储 : 描述图元 2061的参数 PB21; 以 及描述图元 2062的参数 PB22。 0046 存储在参数缓冲器 114 中的参数的精确形式可以不同并且可以比图 3a 和图 3b 所 示的形式更复杂。 例如, 参数块可以存储对象内不同顶点的顶点数据, 据此图元的参数包括 一组顶点 (例如形成三角形的三个顶点) 的数据, 从而描述图元的位置。在那样的情况下, 图 元的参数实际上是一组参数, 其可以包括与一组顶点有关的数据。参数块还可以将除图元。
44、 的位置数据之外的数据 (例如颜色或纹理数据) 存储为与位置数据分开的数据项, 以使得图 元的参数可以包括与图元的其它数据组合的位置数据的集合。因此, 应当意识到, 在图 3a 和图 3b 示出与图元有关的参数 (例如 PB11) 的情况下, 参数实际上可以包括来自参数块的 多个数据项, 其可以被组合以描述图元。此外, 如图 3a 和图 3b 所示, 每个参数块包括杂项 数据字段, 杂项数据字段包括与该参数块有关的数据。杂项数据字段中的数据可以包括用 于指示参数块中的数据应当如何解读的状态数据。 0047 图 4 示出了处理基于图块的图形系统中的数据的方法的流程图, 实现了用于从参 数缓存 1。
45、18 逐出参数的新逐出策略。 0048 在步骤 S402, 对于每个参数块, 确定与参数块的至少一个参数重叠的图块的数目 的计数。因此, 这些计数提供参数块的参数与之关联的图块的数目的指示。换言之, 参数块 的计数指示将使用来自参数块的至少一个参数处理多少图块。例如, 参数块 1 的计数将是 说 明 书 CN 104103084 A 10 7/17 页 11 6, 因为如图 2 所示, 6 个图块 (图块 A 至 F) 与由参数块 1 的参数描述的至少一个图元 (即, 图 元 2041、 2042、 2043和 2044) 重叠。类似地, 参数块 2 的计数将是 1, 因为如图 2 所示, 仅。
46、 1 个 图块 (图块 A) 与由参数块 2 的参数描述的至少一个图元 (即, 图元 2061和 2062) 重叠。 0049 在一个示例中, 正是平铺单元 106 在步骤 S402 中确定参数块的计数。这可以作 为平铺过程的一部分来执行, 其中针对图块导出显示列表。图块的显示列表指示要被用来 处理图块的参数。备选地, 在步骤 S402, 对于每个参数块, 图块的显示列表中的信息可以被 用来确定与至少一个图元重叠的图块的数目的计数, 该至少一个图元由参数块的参数来描 述。对于每个参数块, 在步骤 S402 中确定的计数存储在参数缓冲器 110 中的该参数块的杂 项数据字段中。如何可以从平铺过程。
47、确定计数的两个示例是 :(i) 每次在该图块中发现参 数块中的任何图元时设置对应于每个图块位置的标志, 并且然后在平铺过程结束时对标志 的数目求和 ; 或者 (ii) 每当参考参数块时, 解析每个图块的显示列表并且使参数块计数器 递增。 0050 在步骤S404, ISP块108从参数缓冲器114提取参数到参数缓存118中, 如上所述。 被提取到参数缓存118中的参数是在当前图块的显示列表中被指示为被需要以处理ISP块 108 正在处理的当前图块。如上所述, 显示列表提供对参数缓冲器 114 中的参数块的参考, 具有用于指示来自参数块的所需参数的子集的掩码。 0051 例如, 图 5 示出了被。
48、 ISP 块 108 提取到参数缓存 118 中以便处理图 2 中所示的图 块 A 的参数。图块 A 与图元 2041和 2042重叠, 图元 2041和 2042被存储在参数缓冲器 114 中的参数块 1 的参数 PB11和 PB12所描述。图块 A 还与图元 2061和 2062重叠, 图元 2061和 2062被存储在参数缓冲器 114 中的参数块 2 的参数 PB21和 PB22所描述。因此, 为了 ISP 块 108 处理图块 A, 在步骤 S404, 这四个参数 (PB11、 PB12、 PB21和 PB22) 从参数缓冲器 114 被提 取到参数缓存118中。 参数缓存118可以。
49、包括除图5中所示的那些参数的其它参数。 例如, 参数缓存 118 可以包括先前已经被 ISP 块 108 提取用于处理先前的图块的参数。 0052 当参数被提取到参数缓存 118 中时, 参数的参数块的计数的指示也存储在参数缓 存 118 中。这示于图 5 中, 据此存储参数缓存 118 中的参数的计数。如上所述, 来自参数块 1 的参数 PB11和 PB12的计数是 6, 并且来自参数块 2 的参数 PB21和 PB22的计数是 1。 0053 在步骤 S406 中, ISP 块 108 从参数缓存 118 读取在图块 A 的显示列表中被指示的 参数。 0054 在步骤 S408 中, ISP 块 108 使用在图块 A 的显示列表中被指示的参数处理图块 A。 因此, 在图 2 中所示的示例中, 参数 PB11、 PB12、 PB21和 PB22将被 ISP 块 108 用来处理图块 A。如上所述, ISP 块 108 可以通过确定哪些图元在每个片段位置处是可见的并且然后从图 像去除将不影响经渲染的图像的参数来实现隐藏面消除 (HSR) 。由 ISP 。