图形处理器、系统、装置、设备及方法与流程

未命名 10-18 阅读:80 评论:0


1.本公开涉及gpu(graphics processing unit,图形处理器)技术领域,尤其涉及一种图形处理器、图形处理系统、电子装置、电子设备及图形处理方法。


背景技术:

2.基于图块的图形渲染过程可以减少内存带宽需求。相关的渲染架构包括tbr(tile based render,基于图块的渲染)架构和tbdr(tile-based deferred rendering,基于图块的延迟渲染)架构。
3.对于tbr架构及tbdr架构等基于图块的图像渲染架构而言,光栅化和像素处理会逐个图块(tile)进行处理,通过片上缓冲区(on-chip buffers)来储存一个图块里像素的深度缓冲(depth buffer)、颜色缓冲(color buffer)等信息。由于一个图块的所有像素处理过程都是在片上缓冲器里进行的,不需要与系统内存(memory)进行交互,可以减少渲染时对系统内存带宽的需求。其中,片上缓冲区的尺寸决定了图块的大小,例如,划分16
×
16大小的图块,那么片上缓冲区就需要提供16
×
16个像素(pixel)的信息存储能力。
4.由于图块是基于屏幕坐标划分的,因此硬件对一帧图像进行图块划分处理发生在几何(geometry)处理之后,即图元(primitive)的坐标已经转换到屏幕坐标。在进行图块处理时,将该图块所包含的图元的图元变量(又称属性)信息从系统内存中读取到片上缓冲区。以tbr架构为例,一个图块处理完,该图块所包含的图元变量信息会被释放到系统内存中,片上缓冲区被用来存储下一个图块所涉及到的图元变量信息。但是一个图元通常会覆盖多个图块,如果同一个图元覆盖了多个图块,那么该图元的图元变量信息需要反复从系统内存读取到片上缓冲区中,增加了内存带宽需求及图块处理延时。


技术实现要素:

5.本公开的目的是提供一种图形处理器、图形处理系统、电子装置、电子设备及图形处理方法,以提升缓存中的图元变量信息命中率,降低内存带宽需求及图块处理延时。
6.根据本公开的一个方面,提供一种图形处理器,该图形处理器包括:
7.缓存模块,被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除被替换的图元变量信息,第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
8.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的图块数量,宏图块是按照图块的处理顺序划分的。
9.相应的,图形处理器还可以包括图块划分模块和图块处理模块;图块划分模块被配置为:确定图元覆盖的图块以及图元覆盖的图块对应的第一图元覆盖信息,图块对应的第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;图块处理模块被配
置为:逐个图块读取并处理图块对应的图元变量信息。
10.相应的,缓存模块还可以被配置为:响应于图块处理模块的读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第一图元覆盖信息,将读取到的图元变量信息发送给图块处理模块,并将读取到的图元变量信息和第一图元覆盖信息缓存至缓存空间。
11.进一步的,缓存模块可以包括缓存空间、计数器标记子模块和缓存替换子模块。
12.其中,缓存空间中缓存有图元变量信息;计数器标记子模块被配置为:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,目标第一图元覆盖信息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将当前宏图块对应图元的覆盖计数器的计数值清零;缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。
13.进一步的,第一图元覆盖信息可以保存在图元信息中的第一位置,图块处理模块还被配置为:向计数器标记子模块发送第一位置;计数器标记子模块还被配置为:根据接收到的第一位置从图元信息中获取第一图元覆盖信息。
14.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的未处理图块数量。
15.相应的,图形处理器还可以包括图块划分模块和图块处理模块。
16.其中,图块划分模块被配置为:确定图元覆盖的图块以及图元覆盖的图块对应的初始第一图元覆盖信息,图块对应的初始第一图元覆盖信息用于指示图元在该图块所在宏图块内覆盖的图块数量;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中。
17.图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息。
18.相应的,缓存模块还可以被配置为:响应于图块处理模块的读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息发送给图块处理模块,并将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
19.进一步的,缓存模块可以包括缓存空间、计数器标记子模块和缓存替换子模块。其中,缓存空间中缓存有图元变量信息;计数器标记子模块被配置为:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存空间中的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。
20.在此基础上,初始第一图元覆盖信息保存在图元信息中的第一位置,图块处理模块还可以被配置为:向计数器标记子模块发送第一位置。
21.相应的,计数器标记子模块还可以被配置为:根据第一位置从图元信息中获取初
始第一图元覆盖信息。
22.在一些实施例中,第一图元覆盖信息用于指示图元覆盖的未处理图块数量。
23.相应的,图形处理器还可以包括图块划分模块和图块处理模块。
24.其中,图块划分模块被配置为:确定图元覆盖的图块以及图元的初始第一图元覆盖信息;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
25.图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息。
26.相应的,缓存模块还可以被配置为:响应于图块处理模块的读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息发送给图块处理模块,并将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
27.在此基础上,缓存模块可以包括缓存空间、计数器标记子模块和缓存替换子模块。
28.其中,缓存空间中缓存有图元变量信息;计数器标记子模块被配置为:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。
29.根据本公开的另一方面,本公开提供一种图形处理器,该图形处理器包括缓存模块,该缓存模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据第二图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除被替换的图元变量信息,第二图元覆盖信息用于指示图元覆盖的图块数量;覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
30.进一步的,图形处理器还可以包括图块划分模块和图块处理模块。
31.其中,图块划分模块被配置为:确定图元覆盖的图块以及图元的第二图元覆盖信息;将第二图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
32.图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息。
33.相应的,缓存模块还可以被配置为:响应于图块处理模块的读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第二图元覆盖信息,将读取到的图元变量信息发送给图块处理模块,并将读取到的图元变量信息和第二图元覆盖信息缓存至上述缓存空间。
34.进一步的,缓存模块可以包括缓存空间、计数器标记子模块和缓存替换子模块。
35.其中,缓存空间中缓存有图元变量信息;计数器标记子模块被配置为:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为第二图元覆盖信息指示的图块数量;缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。
36.根据本公开的另一方面,提供一种图形处理系统,包括上述任一实施例所述的图
形处理器。
37.根据本公开的另一方面,提供一种电子装置,包括上述任一实施例所述的图形处理系统。
38.根据本公开的另一方面,提供一种电子设备,包括上述任一实施例所述的电子装置。
39.根据本公开的另一方面,提供一种图形处理方法,该方法包括如下缓存信息处理过程:
40.在需要替换缓存空间的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;
41.从缓存空间中删除被替换的图元变量信息。
42.其中,第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
43.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的图块数量,其中,宏图块是按照图块的处理顺序划分的。
44.进一步的,上述方法还可以包括图块划分过程和图块处理过程。
45.其中,图块划分过程包括以下步骤:确定图元覆盖的图块以及图元覆盖的图块对应的第一图元覆盖信息,图块对应的第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
46.图块处理过程包括以下步骤:逐个图块读取并处理图块对应的图元变量信息。
47.相应的,缓存信息处理过程还可以包括以下操作:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第一图元覆盖信息,将读取到的图元变量信息和第一图元覆盖信息缓存至缓存空间。
48.进一步的,缓存信息处理过程还可以包括:
49.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,目标第一图元覆盖信息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将当前宏图块对应图元的覆盖计数器的计数值清零。
50.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,可以包括:根据覆盖计数器的计数值选择被替换的图元变量信息。
51.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的未处理图块数量。
52.相应的,上述方法还可以包括图块划分过程和图块处理过程。
53.其中,图块划分过程可以包括如下步骤:确定图元覆盖的图块以及图元覆盖的图块对应的初始第一图元覆盖信息,图块对应的初始第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
54.图块处理过程包括:逐个图块读取并处理图块对应的图元变量信息。
55.相应的,缓存信息处理过程还可以包括:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
56.进一步的,缓存信息处理过程还可以包括:
57.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
58.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,可以包括:根据覆盖计数器的计数值选择被替换的图元变量信息。
59.在一些实施例中,第一图元覆盖信息用于指示图元覆盖的未处理图块数量。
60.相应的,上述方法还可以包括图块划分过程和图块处理过程。
61.其中,图块划分过程可以包括如下步骤:确定图元覆盖的图块以及图元的初始第一图元覆盖信息;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
62.图块处理过程可以包括如下步骤:逐个图块读取并处理图块对应的图元变量信息。
63.相应的,缓存信息处理过程还可以包括如下步骤:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
64.进一步的,缓存信息处理过程还可以包括:
65.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
66.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,包括:根据覆盖计数器的计数值选择被替换的图元变量信息。
附图说明
67.图1为本公开一个实施例提供的gpu的结构示意图;
68.图2为本公开一个实施例提供的宏图块划分方式示意图;
69.图3为本公开一个实施例提供的图形处理系统结构示意图;
70.图4为本公开一个实施例提供的图形处理方法流程示意图。
具体实施方式
71.在介绍本公开实施例之前,应当说明的是:
72.本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
73.本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
74.本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
75.应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
76.为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
77.本公开的目的是提供一种gpu片上缓冲区中的图元变量信息替换方案,旨在根据图元对图块的覆盖特点制定图元变量信息的缓存替换策略。具体的,通过图元覆盖的图块数量反应图元的图元变量信息在后续处理的图块中出现的概率。图元覆盖的图块数量越少,其在后续处理的图块中出现的概率越小,优先替换其图元变量信息;反之,图元覆盖的图块越多,其在后续处理的图块中出现的概率越大,其图元变量信息尽量不被替换。通过这种替换策略,可以提高存储图元变量信息的片上缓冲区的利用率,且减少了图块切换时从内存中读取图元变量信息的次数,进而减少内存带宽需求,降低图块处理的延时。
78.本公开的一个实施例提供一种图形处理器,如图1所示,该图形处理器100至少包括图块划分模块101、图块处理模块102和缓存模块103。
79.其中,图块划分模块101被配置为:确定图元覆盖的图块,并将图块的图块信息与覆盖该图块的图元的图元变量信息关联保存在内存200中。
80.本公开不对图元变量信息的具体数据结构、数据内容等进行限定。作为举例而非限定,图元的图元变量信息保存在图元信息的固定位置。
81.本公开不对图块信息与图元变量信息的关联方式进行限定,可采用现有的关联方式实现。作为举例而非限定,图块信息可以但不仅限于包括覆盖该图块的图元的图元变量信息的索引(或者图元变量信息所在图元信息的索引),通过索引的形式即可实现图元的图元变量信息与图块的图块信息的关联。
82.其中,图块处理模块102被配置为:逐个图块读取并处理图块对应的图元变量信息。
83.应当指出的是,图块处理模块102可以是图形渲染过程中任何需要读取并处理图元变量信息的模块。例如,图块处理模块102可以是光栅化模块。
84.图块处理模块102会向缓存模块103发送读取请求,以读取覆盖当前图块的图元的图元变量信息。具体的,可以采用现有技术实现该读取请求。
85.其中,缓存模块103被配置为:接收到图块处理模块102发送的上述读取请求后,从缓存空间(即片上缓冲区)中查找当前图块对应的图元变量信息(即覆盖当前图块的图元的图元变量信息);若查找到,意味着缓存命中,图块处理模块102从缓存空间中读取所需的图元变量信息;若未查找到,意味着缓存未命中,缓存模块103从内存200中读取当前图块对应
的图元变量信息并发送给图块处理模块102,且将从内存中读取的图元变量信息缓存到缓存空间中。
86.当有新的图元变量信息需要缓存时,若缓存空间不足,则需要替换缓存空间中的图元变量信息,这种情况下,缓存模块103还被配置为:根据图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除上述选择的被替换的图元变量信息。
87.在一些实施例中,图元覆盖信息包括第一图元覆盖信息,第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
88.例如,选择在指定范围内覆盖的图块数量最少的图元的图元变量信息作为被替换的图元变量信息。若在指定范围内覆盖的图块数量最少的图元不止一个,那么,可以继续采用其他替换策略从中选择被替换的图元变量信息。作为举例而非限定,可以采用lru(least recently used,最近最少使用)策略从指定范围内覆盖的图块数量最少的多个图元的图元变量信息中选择需要被替换图元变量信息。
89.在另一些实施例中,图元覆盖信息包括第二图元覆盖信息,第二图元覆盖信息用于指示图元覆盖的图块数量;覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
90.例如,选择覆盖的图块数量最少的图元的图元变量信息作为被替换的图元变量信息。若覆盖的图块数量最少的图元不止一个,那么,可以继续采用其他替换策略从中选择被替换的图元变量信息。作为举例而非限定,可以采用lru策略从覆盖的图块数量最少的多个图元的图元变量信息中选择需要被替换图元变量信息。
91.本公开中,图元覆盖图块,既可以是指图块完全落入图元范围,也可以是图块部分落入图元范围。
92.其中,图形处理器是指通过硬件实现、具有计算功能的处理器,其包括计算单元、片上缓冲区等等组成部件,可以是gpgpu(general-purpose graphics processing unit,通用图形处理器),也可以是gpu。
93.其中,缓存模块、图块划分模块、图块处理模块的功能既可以通过硬件电路实现,也可以通过软件实现,还可以通过软硬结合的方式实现,本公开对此不做限定。
94.本公开实施例中,缓存模块还可以被配置为:维护缓存空间中缓存的图元变量信息对应图元的覆盖计数器,覆盖计数器的计数值为图元覆盖信息指示的图块数量。相应的,缓存模块具体可以根据覆盖计数器的计数值选择被替换的图元变量信息。
95.基于图块的渲染过程中,按照预定的顺序逐个图块进行处理。图块的处理顺序可以有多种,作为举例而非限定,一种可能的图块处理顺序如图2所示。图2示出了图像帧中的部分图元(221和222)以及这些图元覆盖的图块(201至208),在该实施例中,如图2中的折线所示,图块的处理顺序为:201-202-203-204-205-206-207-208。
96.从图2中可以看出,图元222虽然覆盖了202、204、205、207这4个图块,但因为处理顺序的原因,这4个图块的处理间隔相对较长。假设在处理图块202时,需要进行缓存替换,若根据图元实际覆盖的图块数选择替换对象,那么图元221的图元变量信息优先于图元222的图元变量信息被替换。这显然是不太合理的,根据图2所示的处理顺序可知,在接下来需要处理的图块203和图块204中,都需要用到图元221的图元变量信息,若将图元221的图元
变量信息替换掉,则需要频繁从内存中读取该图元变量信息。
97.因此,在一些实施例中,可以按照图块处理顺序划分宏图块(macrotile),相应的,第一图元覆盖信息具体用于指示图元在单个宏图块内覆盖的图块数量。其中,一个宏图块内覆盖多个图块,且各个宏图块之间不重叠,也就是说,图块按照处理顺序分组,每组构成一个宏图块。如图2所示,按照图块处理顺序,划分宏图块211和宏图块212。相应的,图元221的第一图元覆盖信息指示了图元221在宏图块211内覆盖的图块数量为3。图元222则有两个第一图元覆盖信息,其中一个第一图元覆盖信息指示了图元222在宏图块211内覆盖的图块数量为2,另一个第一图元覆盖信息指示了图元222在宏图块212内覆盖的图块数量为2。
98.在此基础上,图块划分模块还被配置为:确定图元覆盖的图块对应的第一图元覆盖信息,其中,图块对应的第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中。
99.仍以图2为例,图块划分模块逐个确定每个图块被哪些图元覆盖,以及这些图元在当前图块所在宏图块对应的第一图元覆盖信息。以图块201为例,图块划分模块确定图块201被图元221覆盖,并确定图元221的第一图元覆盖信息对应的覆盖图块数量为3,在内存中将图元221的第一图元覆盖信息与图块201的信息以及图元221的图元变量信息关联保存。以图块222为例,图块划分模块确定图块202被图元222覆盖,并确定图元222的第一图元覆盖信息对应的覆盖图块数量为2,在内存中将图元222的第一图元覆盖信息与图块202的信息以及图元222的图元变量信息关联保存。以图块205为例,图块划分模块确定图块205被图元222覆盖,并确定图元222的第一图元覆盖信息对应的覆盖图块数量为2,在内存中将图元222的第一图元覆盖信息与图块205的信息以及图元222的图元变量信息关联保存。
100.实际应用中,第一图元覆盖信息与图元变量信息可以保存在一个数据结构中,也可以保存在不同的数据结构中。目前,图元变量信息保存在图元信息的数据结构中,那么,第一图元覆盖信息也可以保存在图元信息的数据结构中,具体的,可以将该数据结构中的固定位置(以下称为第一位置)分配给第一图元覆盖信息,相应的,在确定了图元的第一图元覆盖信息后,将该第一图元覆盖信息写入图元信息的第一位置中。以图元222为例,由于图元222跨越两个宏图块,因此有两个第一图元覆盖信息,那么,可以在数据结构中预留多个固定位置,分别保存不同的第一图元覆盖信息。例如,预留n个比特位,顺序保存每个宏图块对应的第一图元覆盖信息,若图元只有一个第一图元覆盖信息,那么,剩余的比特位取值为默认值。
101.在基于宏图块划分的任一实施例的基础上,缓存模块维护覆盖计数器的具体实现方式可以包括:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,目标第一图元覆盖信息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将当前宏图块对应图元的覆盖计数器的计数值清零。
102.参考图2,假设图块处理模块当前处理的图块为图块202,覆盖图块202的图元222的图元变量信息在缓存空间中未命中,则需要从内存中读取图元变量信息,并将图元变量信息缓存到缓存空间,那么,将图元222对应的覆盖计数器的计数值设置为宏图块211对应的第一图元覆盖信息指示的图块数量(即为2)。
103.继续参考图2,假设图块处理模块当前处理的图块为图块204,覆盖图块204的图元222的图元变量信息在缓存空间中命中,在该实施例中,不需要修改图元222的覆盖计数器的计数值。当图块204处理完成,缓存模块将图元222的覆盖计数器的计数值清零。
104.应当指出的是,实际应用中,在缓存命中的情况下,即响应于从缓存空间中读取图元变量信息,也可以参照上述实现方式为对应覆盖计数器赋值。
105.在一些实施例中,缓存模块从内存中读取图元信息,该图元信息的第一位置保存有第一图元覆盖信息,该图元信息的第二位置保存有图元变量信息。缓存模块从图元信息的第一位置读取第一图元覆盖信息,从而为相应的覆盖计数器赋值。若一个图元对应有多个第一图元覆盖信息,且图元信息中有多个第一位置,分别保存不同的第一图元覆盖信息,那么,缓存模块从当前宏图块对应的第一位置读取第一图元覆盖信息。实际应用中,可采用现有技术手段实现缓存模块识别宏图块对应的第一位置。
106.实际应用中,缓存模块可以根据预先约定的第一位置进行寻址,从而读取第一图元覆盖信息。另一种实现方式中,由图块处理模块向缓存模块发送第一位置,缓存模块根据接收到的第一位置从图元信息中寻址从而获取第一图元覆盖信息。
107.在一些实施例中,缓存模块从内存中分别读取图元变量信息及对应的第一图元覆盖信息。缓存模块根据读取第一图元覆盖信息为相应的覆盖计数器赋值。更进一步的,缓存模块可以将读取到的图元变量信息及对应的第一图元覆盖信息存储在同一数据结构中的不同位置。
108.本公开实施例不对缓存模块如何获知宏图块内的图块是否全部处理完成的具体实现方式进行限定。其中一种实现方式中,由图形处理器的图块处理模块告知,相应的,该图块处理模块还可以被配置为:当宏图块内的最后一个图块处理完成,向缓存模块发送指令;缓存模块响应于该指令,至少将该宏图块内的图块对应的覆盖计数器的计数值清零。另一种实现方式中,缓存模块维护图块处理计数器,每当在缓存空间中进行一次图元变量信息的查找,图块处理计数器的计数值加1,当图块处理计数器的计数值达到指定数值(该指定数值比宏图块包括的图块数值大1),表示宏图块内的图块全部处理完成,那么,将图块处理计数器清零,以便重新计数。
109.在一些实施例中,也可以不维护覆盖计数器,相应的,缓存模块直接根据缓存空间中缓存的第一图元覆盖信息进行被替换图元变量信息的选择。
110.继续参考图1,在一些实施例中,上述缓存模块103可以包括缓存空间1031、计数器标记子模块1032和缓存替换子模块1033。其中,缓存空间1031中缓存有图元变量信息;计数器标记子模块1032被配置为:维护缓存空间1031中缓存的图元变量信息对应图元的覆盖计数器;缓存替换子模块1033被配置为:在需要替换缓存空间1031中的图元变量信息的情况下,根据计数器标记子模块1032维护的覆盖计数器的计数值选择被替换的图元变量信息。
111.继续参考图1,在一些实施例中,上述图块处理模块102可以包括图块追踪子模块1021和图元地址标记子模块1022。其中,图块追踪子模块1021被配置为识别宏图块的最后一个图块处理完成。图元地址标记子模块1022被配置为标记图元信息在内存中的起始地址,以便缓存模块根据该起始地址进行寻址。
112.在一些实施例中,第一图元覆盖信息具体用于指示图元在单个宏图块内覆盖的未被处理的图块数量。
113.在此基础上,图块划分模块还被配置为:确定图元覆盖的图块对应的初始第一图元覆盖信息,其中,图块对应的初始第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中。
114.其具体实现方式可以参照上述实施例的描述,此处不再赘述。
115.相应的,缓存模块维护覆盖计数器的具体实现方式可以包括:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存空间中的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
116.参考图2,假设图块处理模块当前处理的图块为图块204,覆盖图块204的图元222的图元变量信息在缓存空间中命中,则将图元222对应的覆盖计数器的计数值减1。
117.在一些实施例中,第一图元覆盖信息具体用于指示图元覆盖的未被处理的图块数量。
118.在此基础上,图块划分模块还被配置为:确定图元的初始第一图元覆盖信息;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中。
119.其具体实现方式可以参照上述实施例的描述,此处不再赘述。
120.相应的,缓存模块维护覆盖计数器的具体实现方式可以包括:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
121.在一些实施例中,图块划分模块可以被配置为:确定图元的第二图元覆盖信息;将第二图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中。相应的,缓存模块还可以被配置为:响应于图块处理模块的读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第二图元覆盖信息,将读取到的图元变量信息发送给图块处理模块,并将读取到的图元变量信息和第二图元覆盖信息缓存至缓存空间。
122.进一步的,缓存模块可以包括缓存空间、计数器标记子模块和缓存替换子模块。其中,缓存空间中缓存有图元变量信息;计数器标记子模块被配置为:响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为第二图元覆盖信息指示的图块数量;缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。
123.基于同样的发明构思,本公开实施例还提供一种图形处理系统,该图形处理系统可以是一个die(管芯),也可以是多die互联的一个soc(system on chip,片上系统),或者其他的组织形式。
124.下面以一个die为例,对本公开提供的图形处理系统的架构及工作原理进行说明。
125.在图3所示的一个实施例中,单die的图形处理系统包括多个gpu核(即上述任一实施例所述的图形处理器)。
126.每个gpu核用来处理画图的命令,根据画图命令,执行图像渲染的pipeline,还可以用来执行其他运算命令;多个gpu核作为一个整体完成执行画图或其他计算任务。每个gpu核中进一步包括:计算单元,用于执行着色器编译后的指令,属于可编程模块,由大量的alu组成;缓存(cache),用于gpu核数据的缓存,以减少对内存的访问;光栅化模块,3d渲染管线的一个固定的阶段;划片(tilling)模块,tbr和tbdr gpu架构中对一帧进行划片处理;裁剪模块,3d渲染管线的一个固定的阶段,裁剪掉观察范围外,或者背面不显示的图元;后处理模块,用于对画完的图进行缩放,裁剪,旋转等操作;微核(micro core),用于gpu核上各个管线硬件模块之间的调度,或者用于多gpu核的任务调度。
127.如图3所示,图形处理系统还可以包括:
128.片上网络用于图形处理系统上各个ip核之间的数据交换;
129.通用dma(direct memory access,直接存储器访问),用于执行主机内存到图形处理系统内存(例如显卡内存)之间的数据搬移,例如,通过dma将3d画图的顶点(vertex)数据从主机内存搬到图形处理系统内存;
130.pcie控制器,用于和主机通信的接口,实现pcie协议,使图形处理系统通过pcie接口连接到主机上,主机上运行了图形api以及显卡的驱动等程序;
131.应用处理器,用于图形处理系统上各个模块任务的调度,例如gpu渲染完一帧图后通知应用处理器,应用处理器再启动显示控制器将gpu画完的图显示到屏幕上;
132.内存控制器,用于连接系统内存,用于保存soc上的数据;
133.显示控制器,控制将系统内存里的frame buffer以显示接口(hdmi,dp等)输出到显示器上;
134.视频解码,可以将主机硬盘上的编码的视频解码成能显示的画面;
135.视频编码,可以将主机硬盘上原始的视频码流编码成指定的格式返回给主机。
136.基于图3所示的图形处理系统,在一个实施例中,有多个gpu核中的主gpu核中的划片模块确定图元覆盖的图块以及图块覆盖的图块对应的第一图元覆盖信息。在该实施例中,图块对应的第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量。进一步的,划片模块在系统内存中保存每个图块对应的图元列表(primitive list),该图元列表指示了图块被哪些图元所覆盖。通过图元列表实现了将图块的图块信息、第一图元覆盖信息以及图元变量信息在系统内存中关联保存。仍以图2所示为例,在系统内存中,针对图元222保存有两条图元信息,图块202的图元列表中指示的图元信息中携带有宏图块211对应的第一图元覆盖信息,图块205的图元列表中指示的图元信息中携带有宏图块212对应的第一图元覆盖信息。
137.在光栅化阶段,执行光栅化处理的某个gpu核中的光栅化模块逐个图块进行光栅化处理。以图2中的图块202为例,光栅化模块向本gpu核内的缓存模块发送读取请求,以读取覆盖图块202的图元的图元变量信息。缓存模块根据图块202对应的图元列表确定需要图元222的图元变量信息,缓存模块首先从缓存空间中查找这个图元的图元变量信息。在本实施例中,图元222的图元变量信息未缓存命中,因此,缓存模块通过内存控制器从系统内存中查找图块202的图元列表指示的图元222的图元信息,将查找到的图元222的图元信息发送给光栅化模块,并缓存图元222的图元信息。
138.在该实施例中,缓存空间不足,无法缓存图元222的图元信息,缓存模块查找各个
覆盖计数器的计数值,删除最小计数值对应的图元变量信息,以缓存图元222的图元信息。
139.其中,缓存模块缓存图元222的图元信息,从图元222的图元信息的第一位置读取第一图元覆盖信息,将图元222对应的覆盖计数器的计数值设置为该第一图元覆盖信息指示的图块数量。
140.光栅化模块处理完图块202后,依次处理图块203和图块204。在处理完图块204后,光栅化模块向缓存模块发送指令,告知宏图块211处理完成,缓存模块响应于该指令,将图元221和图元222对应的覆盖计数器的计数值清零。
141.应当指出的是,以上仅以图3所示的具体结构为例,对本公开实施例提供的图形处理系统的实现方式做示例性说明。实际应用中,图形处理系统可以包括的图形处理器的具体实现方式可参照上述任一实施例,此处不再赘述。
142.基于相同的发明构思,本公开实施例还提供一种电子装置,该电子装置包括上述任一实施例中所述的图形处理系统。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为cpu主板。
143.基于相同的发明构思,本公开实施例还提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、vr设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等。
144.基于相同的发明构思,本公开实施例还提供一种图形处理方法,该图形处理方法可以包括如图4所示的缓存信息处理过程。该缓存信息处理过程包括如下步骤:
145.步骤401、在需要替换缓存空间的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;
146.步骤402、从缓存空间中删除被替换的图元变量信息。
147.其中,第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。
148.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的图块数量,其中,宏图块是按照图块的处理顺序划分的。
149.进一步的,上述方法还可以包括图块划分过程和图块处理过程。
150.其中,图块划分过程包括以下步骤:确定图元覆盖的图块以及图元覆盖的图块对应的第一图元覆盖信息,图块对应的第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
151.图块处理过程包括以下步骤:逐个图块读取并处理图块对应的图元变量信息。
152.相应的,缓存信息处理过程还可以包括以下操作:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第一图元覆盖信息,将读取到的图元变量信息和第一图元覆盖信息缓存至缓存空间。
153.进一步的,缓存信息处理过程还可以包括:
154.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,目标第一图元覆盖信
息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将当前宏图块对应图元的覆盖计数器的计数值清零。
155.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,可以包括:根据覆盖计数器的计数值选择被替换的图元变量信息。
156.在一些实施例中,第一图元覆盖信息用于指示图元在单个宏图块内覆盖的未处理图块数量。
157.相应的,上述方法还可以包括图块划分过程和图块处理过程。
158.其中,图块划分过程可以包括如下步骤:确定图元覆盖的图块以及图元覆盖的图块对应的初始第一图元覆盖信息,图块对应的初始第一图元覆盖信息用于指示图元在图块所在宏图块内覆盖的图块数量;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
159.图块划分过程包括:逐个图块读取并处理图块对应的图元变量信息。
160.相应的,缓存信息处理过程还可以包括:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
161.进一步的,缓存信息处理过程还可以包括:
162.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
163.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,可以包括:根据覆盖计数器的计数值选择被替换的图元变量信息。
164.在一些实施例中,第一图元覆盖信息用于指示图元覆盖的未处理图块数量。
165.相应的,上述方法还可以包括图块划分过程和图块处理过程。
166.其中,图块划分过程可以包括如下步骤:确定图元覆盖的图块以及图元的初始第一图元覆盖信息;将初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
167.图块处理过程可以包括如下步骤:逐个图块读取并处理图块对应的图元变量信息。
168.相应的,缓存信息处理过程还可以包括如下步骤:响应于读取请求,从缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至缓存空间。
169.进一步的,缓存信息处理过程还可以包括:
170.响应于有图元变量信息被缓存至缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1。
171.相应的,根据第一图元覆盖信息选择被替换的图元变量信息,包括:根据覆盖计数
器的计数值选择被替换的图元变量信息。
172.尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
173.显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

技术特征:
1.一种图形处理器,包括:缓存模块,所述缓存模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;从所述缓存空间中删除所述被替换的图元变量信息,所述第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。2.根据权利要求1所述的图形处理器,所述第一图元覆盖信息用于指示图元在单个宏图块内覆盖的图块数量,所述宏图块是按照图块的处理顺序划分的。3.根据权利要求2所述的图形处理器,所述图形处理器还包括图块划分模块和图块处理模块;所述图块划分模块被配置为:确定图元覆盖的图块以及图元覆盖的图块对应的第一图元覆盖信息,所述图块对应的第一图元覆盖信息用于指示图元在所述图块所在宏图块内覆盖的图块数量;将所述第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;所述图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息;所述缓存模块还被配置为:响应于所述图块处理模块的读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第一图元覆盖信息,将读取到的图元变量信息发送给所述图块处理模块,并将读取到的图元变量信息和第一图元覆盖信息缓存至所述缓存空间。4.根据权利要求3所述的图形处理器,所述缓存模块包括缓存空间、计数器标记子模块和缓存替换子模块;所述缓存空间中缓存有图元变量信息;所述计数器标记子模块被配置为:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,所述目标第一图元覆盖信息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将所述当前宏图块对应图元的覆盖计数器的计数值清零;所述缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据所述计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。5.根据权利要求4所述的图形处理器,所述第一图元覆盖信息保存在图元信息中的第一位置,所述图块处理模块还被配置为:向所述计数器标记子模块发送所述第一位置;所述计数器标记子模块还被配置为:根据所述第一位置从所述图元信息中获取第一图元覆盖信息。6.根据权利要求1所述的图形处理器,所述第一图元覆盖信息用于指示图元在单个宏图块内覆盖的未处理图块数量,所述宏图块是按照图块的处理顺序划分的。7.根据权利要求6所述的图形处理器,所述图形处理器还包括图块划分模块和图块处理模块;所述图块划分模块被配置为:确定图元覆盖的图块以及图元覆盖的图块对应的初始第一图元覆盖信息,所述图块对应的初始第一图元覆盖信息用于指示图元在所述图块所在宏图块内覆盖的图块数量;将所述初始第一图元覆盖信息与对应图块的图块信息以及图元的
图元变量信息关联保存在内存中;所述图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息;所述缓存模块还被配置为:响应于所述图块处理模块的读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息发送给所述图块处理模块,并将读取到的图元变量信息和初始第一图元覆盖信息缓存至所述缓存空间。8.根据权利要求7所述的图形处理器,所述缓存模块包括缓存空间、计数器标记子模块和缓存替换子模块;所述缓存空间中缓存有图元变量信息;所述计数器标记子模块被配置为:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,所述目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存空间中的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;所述缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据所述计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。9.根据权利要求8所述的图形处理器,所述初始第一图元覆盖信息保存在图元信息中的第一位置,所述图块处理模块还被配置为:向所述计数器标记子模块发送所述第一位置;所述计数器标记子模块还被配置为:根据所述第一位置从所述图元信息中获取初始第一图元覆盖信息。10.根据权利要求1所述的图形处理器,所述第一图元覆盖信息用于指示图元覆盖的未处理图块数量。11.根据权利要求10所述的图形处理器,所述图形处理器还包括图块划分模块和图块处理模块;所述图块划分模块被配置为:确定图元覆盖的图块以及图元的初始第一图元覆盖信息;将所述初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;所述图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息;所述缓存模块还被配置为:响应于所述图块处理模块的读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息发送给所述图块处理模块,并将读取到的图元变量信息和初始第一图元覆盖信息缓存至所述缓存空间。12.根据权利要求11所述的图形处理器,所述缓存模块包括缓存空间、计数器标记子模块和缓存替换子模块;所述缓存空间中缓存有图元变量信息;所述计数器标记子模块被配置为:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;
所述缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据所述计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。13.一种图形处理器,包括:缓存模块,所述缓存模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据第二图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除所述被替换的图元变量信息,所述第二图元覆盖信息用于指示图元覆盖的图块数量;覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。14.根据权利要求13所述的图形处理器,所述图形处理器还包括图块划分模块和图块处理模块;所述图块划分模块被配置为:确定图元覆盖的图块以及图元的第二图元覆盖信息;将所述第二图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;所述图块处理模块被配置为:逐个图块读取并处理图块对应的图元变量信息;所述缓存模块还被配置为:响应于所述图块处理模块的读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第二图元覆盖信息,将读取到的图元变量信息发送给所述图块处理模块,并将读取到的图元变量信息和第二图元覆盖信息缓存至所述缓存空间。15.根据权利要求14所述的图形处理器,所述缓存模块包括缓存空间、计数器标记子模块和缓存替换子模块;所述缓存空间中缓存有图元变量信息;所述计数器标记子模块被配置为:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为第二图元覆盖信息指示的图块数量;所述缓存替换子模块被配置为:在需要替换缓存空间中的图元变量信息的情况下,根据所述计数器标记子模块维护的覆盖计数器的计数值选择被替换的图元变量信息。16.一种图形处理系统,包括权利要求1-15任一项所述的图形处理器。17.一种电子装置,包括权利要求16所述的图形处理系统。18.一种电子设备,包括权利要求17所述的电子装置。19.一种图形处理方法,包括缓存信息处理过程:在需要替换缓存空间的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除所述被替换的图元变量信息,所述第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。20.根据权利要求19所述的方法,所述第一图元覆盖信息用于指示图元在单个宏图块内覆盖的图块数量,所述宏图块是按照图块的处理顺序划分的。21.根据权利要求20所述的方法,所述方法还包括图块划分过程和图块处理过程;所述图块划分过程包括:确定图元覆盖的图块以及图元覆盖的图块对应的第一图元覆盖信息,所述图块对应的第一图元覆盖信息用于指示图元在所述图块所在宏图块内覆盖的
图块数量;将所述第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;所述图块处理过程包括:逐个图块读取并处理图块对应的图元变量信息;所述缓存信息处理过程还包括:响应于读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和第一图元覆盖信息,将读取到的图元变量信息和第一图元覆盖信息缓存至所述缓存空间。22.根据权利要求21所述的方法,所述缓存信息处理过程还包括:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标第一图元覆盖信息指示的图块数量,所述目标第一图元覆盖信息为当前宏图块对应的第一图元覆盖信息;响应于当前宏图块内的图块全部处理完成,至少将所述当前宏图块对应图元的覆盖计数器的计数值清零;所述根据第一图元覆盖信息选择被替换的图元变量信息,包括:根据覆盖计数器的计数值选择被替换的图元变量信息。23.根据权利要求19所述的方法,所述第一图元覆盖信息用于指示图元在单个宏图块内覆盖的未处理图块数量,所述宏图块是按照图块的处理顺序划分的。24.根据权利要求23所述的方法,所述方法还包括图块划分过程和图块处理过程;所述图块划分过程包括:确定图元覆盖的图块以及图元覆盖的图块对应的初始第一图元覆盖信息,所述图块对应的初始第一图元覆盖信息用于指示图元在所述图块所在宏图块内覆盖的图块数量;将所述初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;所述图块处理过程包括:逐个图块读取并处理图块对应的图元变量信息;所述缓存信息处理过程还包括:响应于读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至所述缓存空间。25.根据权利要求24所述的方法,所述缓存信息处理过程还包括:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为目标初始第一图元覆盖信息指示的图块数量减1,所述目标初始第一图元覆盖信息为当前宏图块对应的初始第一图元覆盖信息;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;所述根据第一图元覆盖信息选择被替换的图元变量信息,包括:根据覆盖计数器的计数值选择被替换的图元变量信息。26.根据权利要求25所述的方法,所述第一图元覆盖信息用于指示图元覆盖的未处理图块数量。27.根据权利要求26所述的方法,所述方法还包括图块划分过程和图块处理过程;所述图块划分过程包括:确定图元覆盖的图块以及图元的初始第一图元覆盖信息;将所述初始第一图元覆盖信息与对应图块的图块信息以及图元的图元变量信息关联保存在内存中;
所述图块处理过程包括:逐个图块读取并处理图块对应的图元变量信息;所述缓存信息处理过程还包括:响应于读取请求,从所述缓存空间中查找当前图块对应的图元变量信息,若未查找到,从内存中读取当前图块的图块信息关联的图元变量信息和初始第一图元覆盖信息,将读取到的图元变量信息和初始第一图元覆盖信息缓存至所述缓存空间。28.根据权利要求27所述的方法,所述缓存信息处理过程还包括:响应于有图元变量信息被缓存至所述缓存空间,将被缓存的图元变量信息对应图元的覆盖计数器的计数值设置为初始第一图元覆盖信息指示的图块数量减1;响应于有缓存的图元变量信息被读取,将被读取的图元变量信息对应图元的覆盖计数器的计数值减1;所述根据第一图元覆盖信息选择被替换的图元变量信息,包括:根据覆盖计数器的计数值选择被替换的图元变量信息。

技术总结
本公开提供一种图形处理器、系统、装置、设备及方法。其图形处理器包括:缓存模块,所述缓存模块被配置为:在需要替换缓存的图元变量信息的情况下,根据第一图元覆盖信息选择被替换的图元变量信息;从缓存空间中删除所述被替换的图元变量信息,所述第一图元覆盖信息用于指示图元在指定范围内覆盖的图块数量;在指定范围内覆盖的图块数量越少,图元的图元变量信息被替换的优先级越高。被替换的优先级越高。被替换的优先级越高。


技术研发人员:唐志敏 姜莹
受保护的技术使用者:象帝先计算技术(重庆)有限公司
技术研发日:2022.03.28
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐