CN113012025B - 图形处理器及其操作方法 - Google Patents

图形处理器及其操作方法 Download PDF

Info

Publication number
CN113012025B
CN113012025B CN202110308021.XA CN202110308021A CN113012025B CN 113012025 B CN113012025 B CN 113012025B CN 202110308021 A CN202110308021 A CN 202110308021A CN 113012025 B CN113012025 B CN 113012025B
Authority
CN
China
Prior art keywords
data
cache
sample
pixel
pixel data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110308021.XA
Other languages
English (en)
Other versions
CN113012025A (zh
Inventor
郝雯琳
武凤霞
王渊峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Glenfly Tech Co Ltd
Original Assignee
Glenfly Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Glenfly Tech Co Ltd filed Critical Glenfly Tech Co Ltd
Priority to CN202110308021.XA priority Critical patent/CN113012025B/zh
Publication of CN113012025A publication Critical patent/CN113012025A/zh
Priority to US17/467,280 priority patent/US11645732B2/en
Application granted granted Critical
Publication of CN113012025B publication Critical patent/CN113012025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种图形处理器及其操作方法。图形处理器包括像素着色器、输出混合器、高速缓存以及内存。所述像素着色器用以输出像素数据。所述输出混合器耦接所述像素着色器,并且用以接收所述像素数据。所述输出混合器输出所述像素数据以及对应于所述像素数据的样本掩码。所述高速缓存耦接所述输出混合器,并且用以接收所述像素数据以及所述样本掩码。所述高速缓存依据所述像素数据以及所述样本掩码产生样本数据。所述内存耦接所述高速缓存。所述高速缓存将所述样本数据写入所述内存,其中所述样本数据的数据大小为所述像素数据的数据大小的倍数。本发明的图形处理器及其操作方法可以降低输出混合器以及高速缓存之间的数据总线的数据传输量。

Description

图形处理器及其操作方法
技术领域
本发明涉及一种处理器,特别有关于一种图形处理器及其操作方法。
背景技术
在图像显示领域,为了消除图像中几何物体的边缘锯齿形状(即,图形几何走样(Geometry aliasing)),对于一般的图形处理器来说,常采用多重采样抗锯齿(Multisampling Anti-Aliasing,MSAA)及超采样抗锯齿(Super-Sampling Anti-Aliasing,SSAA)等技术。举例来说,当需要执行多重采样抗锯齿操作时,图形处理器会对每个像素的多个子采样点进行采样,并对每个子采样点进行着色计算并合成最终图像,以起到消除边缘锯齿形状的效果。
但是,在执行多重采样抗锯齿操作时,图形处理器需要对每个像素的多个子采样点进行采样(即,上采样(up sample)),并对多个子采样点进行着色计算。这将会导致采样数据成倍的增加,加重图形处理器与高速缓存(或“内存”)之间的数据传输带宽;并且需要对每个子采样点都进行着色计算,浪费图形处理器的着色资源。
有鉴于此,如何有效降低多重采样/超采样时,高速缓存的数据总线的数据传输量,节约带宽,及/或节省图形处理器的运算资源,是本领域亟待解决的课题。
发明内容
本发明是针对一种图形处理器及其操作方法,通过在高速缓存中依据像素数据以及样本掩码产生样本数据,而有效地降低图形处理器与高速缓存之间的数据总线的数据传输量,节约带宽。
根据本发明的实施例,本发明的图形处理器包括像素着色器、输出混合器、高速缓存以及内存。所述像素着色器用以输出像素数据。所述输出混合器耦接所述像素着色器,并且用以接收所述像素数据。所述输出混合器输出所述像素数据以及对应于所述像素数据的样本掩码。所述高速缓存耦接所述输出混合器,并且用以接收所述像素数据以及所述样本掩码。所述高速缓存依据所述像素数据以及所述样本掩码产生样本数据。所述内存耦接所述高速缓存。所述高速缓存将所述样本数据写入所述内存。所述样本数据的数据大小为所述像素数据的数据大小的倍数。
根据本发明的实施例,本发明的图形处理器的操作方法包括以下步骤:通过像素着色器输出像素数据;通过输出混合器接收所述像素数据;通过所述输出混合器输出所述像素数据以及对应于所述像素数据的样本掩码;通过高速缓存接收所述像素数据以及所述样本掩码,并且通过所述高速缓存依据所述像素数据以及所述样本掩码产生样本数据;以及通过所述高速缓存将所述样本数据写入内存,其中所述样本数据的数据大小为所述像素数据的数据大小的倍数。
基于上述,本发明的图形处理器及其操作方法可通过输出混合器直接输出像素数据以及样本掩码至高速缓存的方式,而可有效地降低输出混合器以及高速缓存之间的数据总线的数据传输量。
通过参考以下的详细描述并同时结合附图可以理解本发明,须注意的是,为了使读者能容易了解及为了图式的简洁,本发明中的多张图式只绘出显示设备的一部分,且图式中的特定组件并非依照实际比例绘图。此外,图中各组件的数量及尺寸仅作为示意,并非用来限制本发明的范围。
附图说明
图1是本发明一实施例的图形处理器的示意图;
图2是本发明另一实施例的图形处理器的示意图;
图3是本发明的一实施例的上采样模块的示意图;
图4是本发明的一实施例的快取行的数据写入示意图;
图5是本发明的一实施例的图形处理器的操作方法的流程图;
图6是本发明的另一实施例的图形处理器的示意图;
图7是本发明的另一实施例的图形处理器的操作方法的流程图;
图8是本发明的一实施例的图形处理器的融合优化控制方法的流程图。
符号说明
100、200、600:图形处理器;
101、103-1~103-4、201、607:像素数据;
102、202、602:覆盖范围信息;
110、210、610:像素着色器;
120、220、620:输出混合器;
121、221:色彩数据缓冲器;
122、222、622:输出混合器;
123、223:写回单元;
130、230、630:高速缓存;
140、240:内存;
203:样本掩码
204、608:样本数据;
205:渲染目标格式;
231:上采样模块;
231-1:数据复制逻辑;
231-2:写入控制逻辑;
232、231-1~231-M、632:快取行;
432-1~432-4:样本;
605:像素频率源数据;
606:更新信息;
624:融合模块;
624-1:融合优化控制模块;
S510~S550、S710~S750、S810~S860:步骤。
具体实施方式
为让本发明的目的、特征和优点更能明显易懂,下文特举出本发明的具体实施例,并配合所附图式,作详细说明如下。
在说明书及权利要求书当中使用了相同的名称来表示同一组件。其次,在说明书及权利要求书当中使用了某些词汇来指称特定的组件。本领域技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。再次,在通篇说明书及权利要求书当中所提及的“耦接”一词在本说明书中包含任何直接及间接的连接手段。最后,在通篇说明书及权利要求书当中所提及的“包括”一词为开放式的用语,应解释成“包含但不仅限定于”。
图1是本发明一实施例的图形处理器的示意图。如图1所示,图形处理器100包括像素着色器(Pixel Shader)110、输出混合器(Output merger)120、高速缓存(Cache)130及内存(Memory)140。输出混合器120耦接至像素着色器110及高速缓存130。输出混合器120可接收来自像素着色器110传送的像素数据(Pixel data)101(即,进行光栅化处理后的像素数据101),并依据覆盖范围信息(Sample coverage information)102(覆盖测试、深度及透明度测试的结果)将像素数据101写成为对应于子采样点的像素数据103-1~103-4。输出混合器120可传送子采样点的像素数据103-1~103-4至高速缓存130。高速缓存130耦接至内存140。高速缓存130接收来自输出混合器120传送的子采样点的像素数据103-1~103-4,并存储至内存140。在本说明书及其实施例中,高速缓存130为第一级高速缓存(L1 cache),但本发明并不限于此。
具体的,上述输出混合器120还包括色彩数据缓冲器(Color data buffer)121、测试单元122及写回单元(Write back unit)123。色彩数据缓冲器121接收来自像素着色器110输出的像素着色结果的像素数据101,并传送像素数据101至写回单元123。以4倍(4X)的多重采样抗锯齿(Multisampling Anti-Aliasing,MSAA)的图形处理为例(即,每个像素对应四个子采样点),测试单元122还取得上述多个子采样点的覆盖范围信息102(覆盖测试、深度及透明度测试的结果)并产生样本掩码(sample mask)(图1未绘示)。写回单元123耦接至色彩数据缓冲器121及测试单元122。写回单元123接收来自色彩数据缓冲器121传送的像素数据101及来自测试单元122传送的覆盖范围信息102,并根据覆盖范围信息102将像素数据101写成为对应于子采样点的像素数据103-1~103-4。
需说明的是,写回单元123还会依据所述样本掩码产生对应的字节掩码(bytemask)(图1未绘示),以当高速缓存130在写数据的过程中将依据所述字节掩码写入样本数据至内存140。关于样本掩码的更加详细的描述及说明,请参考图2、表5及表6部分所述,在此不再累述。
还需说明的是,为了图示绘示方便,图1所示的像素数据103-1~103-4绘示在输出混合器120与高速缓存130之间,但本领域技术人员应可理解的是,上述的像素数据103-1~103-4为图形处理器100执行多重采样抗锯齿的上采样操作后,经输出混合器120与高速缓存130之间需要传输的数据量。换句话说,当图形处理器执行多重采样抗锯齿操作时,相应的需要传输的数据量也将会成倍的增加,极大的消耗数据总线的传输带宽。
最后说明的是,当图形处理器100判断需要针对上述像素数据103-1~103-4做影像融合(blending)操作时,输出混合器120需进一步通过高速缓存130从内存140读出像素数据103-1~103-4,来进行融合操作。换言之,上述的4倍(4X)多重采样抗锯齿的上采样的像素数据103-1~103-4在写入/读出内存140时,都会造成极大的数据总线带宽浪费,影响传输效率。
图2是本发明另一实施例的图形处理器的示意图。请参考图2所示,图形处理器200包括像素着色器210、输出混合器220、高速缓存230以及内存240。输出混合器220耦接像素着色器210。高速缓存230耦接输出混合器220。内存240耦接高速缓存230。输出混合器220包括色彩数据缓冲器221、测试单元222以及写回单元223。高速缓存230包括上采样模块(Upsample unit)231以及快取行(Cache line)232。在本实施例中,图形处理器200可包括多个控制器电路、多个寄存器电路以及多个逻辑运算电路等,以组成本发明各实施例所提到的各个单元、各个模块以及相关功能组件等。
在本实施例中,图形处理器200适于进行多重采样抗锯齿模式的图形处理操作。色彩数据缓冲器221从像素着色器210接收像素数据201,并且将像素数据201提供至写回单元223。测试单元222输出覆盖范围信息202至写回单元223,输出混合器220的写回单元223依据覆盖范围信息202取得样本掩码203,并将像素数据201以及样本掩码203输出至高速缓存230的上采样模块231。在本实施例中,测试单元222可为深度及透明度测试单元,但本发明并不限于此。
在本实施例中,像素数据201为渲染目标(Render Target,RT)数据,并且像素数据201的数据大小依据渲染目标格式来决定。像素着色器210每一次输出的像素数据201的数据大小可如以下表1所示。换言之,本实施例所述的一个像素数据可为8×2n位(bits),其中n为大于或等于0的整数。
表1
在本实施例中,写回单元223不对像素数据201进行复制,而是将像素数据201以及覆盖范围信息202的样本掩码203直接输出至高速缓存230的上采样模块231。本实施例的高速缓存230的上采样模块231可依据像素数据201、样本掩码203以及渲染目标格式来产生样本数据204,其中样本数据204可包括由像素数据201复制的多笔数据。高速缓存230的上采样模块231将样本数据204输入至高速缓存230的快取行232来等待写入至内存240。
在本实施例中,样本数据204的数据大小依据多重采样抗锯齿模式以及渲染目标格式来决定。对此,样本数据204的数据大小为像素数据201的数据大小的倍数,其中所述倍数等于多重采样抗锯齿模式的放大倍数。参考以下表2,举例而言,若像素数据201的渲染目标格式为表1所示的“R8G8B8A8-UNORM”,并且多重采样抗锯齿模式为4倍多重采样,则样本数据的数据大小为128位(即,32bits乘以4)。相较于图1,本实施例的写回单元223是将分别为32位的像素数据201以及4位的样本掩码203输出至高速缓存230的上采样模块231,而非输出128位(或16字节(bytes))的样本数据和16位的字节掩码至高速缓存230。因此,本实施例的图形处理器200可有效地降低在进行图形的上采样(Upsample)处理的过程中的输出混合器220以及高速缓存230之间的数据总线的数据传输量。
表2
图3是本发明一实施例的上采样模块的示意图。图4是本发明一实施例的快取行的数据写入示意图。参考图2至图4,在本实施例中,高速缓存230的上采样模块231包括数据复制逻辑231-1以及写入控制逻辑231-2。数据复制逻辑231-1可接收像素数据201,并且写入控制逻辑231-2可接收样本掩码203以及渲染目标格式205。渲染目标格式205可由输出混合器220提供或由图形处理器200的渲染寄存器(图示未绘示)提供。在本实施例中,写入控制逻辑231-2可依据样本掩码203以及渲染目标格式205来控制所述数据复制逻辑231-1复制像素数据201,并且依序输入高速缓存230的快取行232-1~232-M,其中M为正整数。
举例而言,以4倍的多重采样抗锯齿的图形处理为例,假设像素数据201的数据内容为“0x3f05221e”,样本掩码203的数据内容为“b’1101”,并且渲染目标格式205为“R8G8B8A8-UNORM”(32bits),因此如图4所示,在快取行232-1的16字节中,每4字节对应于样本432-1~432-4的其中之一,并且样本432-1、432-3、432-4的对应于样本掩码203的数据为“1”的部分的每一个的4字节被写入像素数据201的32位的数据。样本432-2的对应于样本掩码203的数据为“0”的部分的4字节未写入数据,并且将维持为原始的数据(图示以符号“?”表示维持为原始的数据)。因此,样本432-1~432-4的数据内容即为样本数据204在存储在快取行232-1中的结果。换言之,相较于图1,本实施例的高速缓存230的上采样模块231只须从输出混合器220取得32位的像素数据201,因此相较于图1的高速缓存130须从输出混合器120取得16字节(或128位)的样本数据,本实施例的图形处理器200可有效地降低输出混合器220以及高速缓存230之间的数据总线的数据传输量。
图5是本发明的一实施例的图形处理器的操作方法的流程图。参考图2以及图5,本实施例的操作方法可至少适用于图2的图形处理器200。在步骤S510,像素着色器210输出像素数据201。在步骤S520,输出混合器220接收像素数据201。在步骤S530,输出混合器220输出像素数据201以及对应于像素数据201的样本掩码203。在步骤S540,高速缓存230接收像素数据201以及样本掩码203,并且高速缓存230依据像素数据201以及样本掩码203产生样本数据204。在步骤S550,高速缓存230将样本数据204写入内存240。因此,本实施例的操作方法可有效地降低输出混合器220以及高速缓存230之间的数据总线的数据传输量。然而,关于图形处理器200的其他组件特征、技术细节以及实施方式可参考上述图2至图4实施例的说明而可获致足够的教示、建议以及实施说明,因此不再赘述。
图6是本发明的另一实施例的图形处理器的示意图。参考图6,图形处理器600包括像素着色器610、输出混合器620以及高速缓存630。在本实施例中,图形处理器600适于进行多重采样抗锯齿模式的图形处理操作。在本实施例中,高速缓存630为第一级高速缓存,但本发明并不限于此。须先说明的是,在一实施例中,图形处理器600还可包括如上述图2实施例的内存240,输出混合器620还可包括如上述图2实施例的色彩数据缓冲器221以及写回单元223,并且高速缓存630还可包括如上述图2实施例的上采样模块231。对此,本实施例的图形处理器600除了可独立实现以下的相关数据读取操作,还可搭配合并实施上述图2至图5的相关数据写入操作。换言之,在一实施例中,图形处理器600可先依上述图2至图5实施例的方式来产生样本数据并存储至内存,再接着依据以下图6至图8实施例的方式来读出样本数据。
在本实施例中,像素着色器610输出像素频率源数据(Pixel frequency sourcedata)605至输出混合器620。输出混合器620耦接像素着色器610。输出混合器620接收像素频率源数据605。高速缓存630耦接输出混合器620。高速缓存630预先记录对应于当前渲染目标的快取行632的像素级别状态(Pixel plane status)。在本实施例中,输出混合器620包括测试单元622以及融合模块(Blending unit)624。融合模块624包括融合优化控制模块624-1。测试单元622可输出覆盖范围信息602(可如同上述的覆盖范围信息202)。融合模块624耦接测试单元622。融合优化控制模块624-1可接收覆盖范围信息602以及像素频率源数据605。在本实施例中,融合优化控制模块624-1可依据覆盖范围信息602以及像素频率源数据605来决定混合器状态数据以及覆盖程度数据,并且融合优化控制模块624-1可依据混合器状态数据以及覆盖程度数据来决定是否输出更新信息606至高速缓存630,以更新像素级别状态。
需先说明的是,在本实施例中,像素着色器610操作在像素频率(Pixelfrequency),因此混合器状态数据可先设定为1比特的数据。对此,当混合器状态数据为第一数据类型(例如为“1”)时,表示输出混合器620操作在像素频率。当混合器状态数据为第二数据类型(例如为“0”)时,表示输出混合器620操作在样本频率(Sample frequency)。在本实施例中,覆盖程度数据可为1比特的数据。当覆盖范围信息602中的多个样本的每一个被定义为相同覆盖设定时,覆盖程度数据可为第一数据类型(例如为“1”)来表示。当覆盖范围信息602中的多个样本具有不同覆盖设定时,覆盖程度数据可为第二数据类型(例如为“0”)来表示。在本实施例中,像素级别状态可为1比特的数据。当储存在高速缓存630的快取行632的每一个像素的多个样本分别具有相同的像素数据时,像素级别状态可为第一数据类型(例如为“1”)来表示,当储存在高速缓存630的快取行632的每一个像素的所述多个样本具有不同的像素数据时,像素级别状态可为第二数据类型(例如为“0”)来表示。值得注意的是,像素级别状态可储存在输出混合器620以及高速缓存630的至少其中之一,并且对应于当前储存在高速缓存630的快取行632的数据内容来决定。覆盖程度数据由当前覆盖范围信息602直接决定。混合器状态数据可由覆盖程度数据与像素级别状态来共同控制决定。混合器状态数据用于决定当前输出混合器620操作在像素频率还是样本频率,并用于更新像素级别状态。
举例而言,参考以下表3,表3为例如对应于一个快取行当中所存储的两个像素(像素1、像素0)的数据内容。在表3中,像素0的样本0~样本3具有相同的像素数据“0x7e38”,并且像素1的样本0~样本3具有相同的像素数据“0x850c”。因此,当高速缓存630的快取行632存储有如下表3的数据(Pixel plane)时,快取行632记录的当前像素级别状态可例如为数据值“1”。相对的,参考以下表4,表4为例如对应于一个快取行632当中所存储的另两个像素(像素1’、像素0’)的数据内容。在表4中,像素0’的样本0~样本3具有相同的像素数据“0x7e38”,然而像素1’的样本1的像素数据“0x00fb”与其他样本具有不同的像素数据“0x850c”。因此,当高速缓存630的快取行632存储有如下表4的数据时,快取行632记录的当前像素级别状态可例如为数据值“0”。
表3
表4
再举例而言,参考以下表5,表5为融合优化控制模块624-1从测试单元622提供的覆盖范围信息602所取得的两个样本掩码,其中所述两个样本掩码可例如对应于一个快取行632当中所存储的两个像素(像素1、像素0)。在表5中,像素0的样本掩码对应于像素0的样本0~样本3具有相同的数据值“0”(表示像素0的样本0~样本3皆不进行数据覆盖),并且像素1的样本掩码对应于像素1的样本0~样本3具有相同的像素数据“1”(表示像素1的样本0~样本3皆进行数据覆盖)。因此,当融合优化控制模块624-1取得有如下表5的覆盖范围信息时,融合优化控制模块624-1记录的覆盖程度数据可例如为数据值“1”。相对的,参考以下表6,表6为融合优化控制模块624-1从测试单元622提供的覆盖范围信息602所取得的另两个样本掩码,其中所述两个样本掩码可例如对应于一个快取行632当中所存储的两个像素(像素1’、像素0’)。在表6中,虽然像素1的样本掩码对应于像素1’的样本0~样本3具有相同的像素数据“1”(表示像素1的样本0~样本3皆进行数据覆盖),但是像素0’的样本掩码中的对应于样本2的数据值“1”具有与对应于其他样本不相同的数据值“0”(表示像素0的样本0、样本1以及样本3皆不进行数据覆盖,但样本2进行数据覆盖)。因此,当融合优化控制模块624-1取得有如下表6的覆盖范围信息时,融合优化控制模块624-1记录的覆盖程度数据可例如为数据值“0”。
表5
表6
在本实施例中,像素着色器610操作在像素频率,而输出混合器620与高速缓存630可依据像素级别状态来对应调整输出混合器620操作在像素频率或样本频率。具体而言,在一实施情境中,若像素级别状态以及覆盖程度数据为所述第一数据类型(例如为“1”),则混合器状态数据为第一数据类型(例如为“1”)。高速缓存630回传像素数据为第一数据类型的像素级别状态到输出混合器620。此时,输出混合器620操作在像素频率,并且对像素数据进行像素混合。接着,输出混合器620输出混合结果为像素级别的数据至高速缓存630,并且将像素级别状态维持为第一数据类型(例如为“1”)。
在另一实施情境中,若像素级别状态为所述第一数据类型,并且覆盖程度数据为第二数据类型,则混合器状态数据为第一数据类型。高速缓存630回传像素数据为第一数据类型(例如为“1”)的像素级别状态到输出混合器620。此时,输出混合器620操作在像素频率,并且对像素数据进行像素混合。接着,输出混合器620输出混合结果为像素级别的数据至高速缓存630,并且所述将像素级别状态更新为第二数据类型(例如为“0”)。
在又一实施情境中,若像素级别状态为第二数据类型(例如为“0”),则混合器状态数据为第二数据类型(例如为“0”)。高速缓存630回传为第二数据类型(例如为“0”)的像素级别状态到输出混合器620。此时,输出混合器620操作在样本频率,并且对样本数据进行像素混合。输出混合器620输出混合结果为样本级别的数据至高速缓存630,并且将像素级别状态维持为第二数据类型(例如为“0”)。
图7是本发明的另一实施例的图形处理器的操作方法的流程图。参考图6以及图7,图形处理器600可进行如图7实施例的流程来优化融合操作。在步骤S710,高速缓存630可预先记录对应于当前渲染目标的快取行632的像素级别状态。在步骤S720,像素着色器610可输出像素频率源数据605。在步骤S730,输出混合器620可接收像素频率源数据605。在步骤S740,高速缓存630可依据像素级别状态来决定输出像素数据607或样本数据608至输出混合器620,其中样本数据608为像素数据607的倍数。在步骤S750,输出混合器620可更新或维持高速缓存630所记录的像素级别状态。换言之,在某些情况下,若高速缓存630决定输出像素数据607至输出混合器620,则相较于图1的高速缓存130必然是只提供样本数据的数据读出形式,本实施例的图形处理器600可优化融合操作,以降低输出混合器620与高速缓存630之间可能同样因传输多笔相同数据而浪费了数据传输带宽以及算术逻辑单元的运算资源。
图8是本发明的一实施例的图形处理器的融合优化控制方法的流程图。图8的步骤S810~S860为上述图7的步骤S750、S760的进一步操作手段以及说明。参考图6至图8,在步骤S810,融合优化控制模块624-1可判断像素着色器610是否操作在像素频率。若否(表示操作在样本频率),则融合优化控制模块624-1执行步骤S840,以维持输出混合器620操作在样本频率。若是,融合优化控制模块624-1执行步骤S820。在步骤S820,融合优化控制模块624-1可判断储存在高速缓存630的快取行632的每一个像素的多个样本是否分别具有相同的所述像素数据,其中融合优化控制模块624-1可例如判断像素级别状态的数据值是否为“1”。若否,则融合优化控制模块624-1执行步骤S840,以维持输出混合器620操作在样本频率。若是,融合优化控制模块624-1执行步骤S830。在步骤S830,融合优化控制模块624-1判断覆盖范围信息中的多个样本的每一个是否被定义为相同覆盖设定,其中融合优化控制模块624-1可例如判断覆盖程度数据的数据值是否为“1”。若是,则融合优化控制模块624-1执行步骤S850。在步骤S850,融合优化控制模块624-1可操作输出混合器620操作在像素频率,并且维持像素级别为“1”(第一数据类型)。若否,则融合优化控制模块624-1执行步骤S860。在步骤S860,融合优化控制模块624-1可操作输出混合器620操作在像素频率,并且更新(通过更新信息606)像素级别为“0”(第二数据类型)。因此,本实施例的图形处理器600以及操作方法可有效地优化输出混合器620进行像素数据融合运算时,输出混合器620与高速缓存630之间所占用的数据传输带宽以及算术逻辑单元的运算资源。
综上所述,本发明的图形控制器可通过在高速缓存当中设置有上采样模块,及/或在输出混合器的融合模块中设置有融合优化控制模块,并且搭配本发明的各实施例的操作方法,而可有效地降低输出混合器以及高速缓存之间的数据总线的数据传输量,及/或节省图形控制器中的算术逻辑单元的运算资源。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (20)

1.一种图形处理器,其特征在于,包括:
像素着色器,用以输出像素数据;
输出混合器,耦接所述像素着色器,并且用以接收所述像素数据,其中所述输出混合器输出所述像素数据以及对应于所述像素数据的样本掩码;
高速缓存,耦接所述输出混合器,并且用以接收所述像素数据以及所述样本掩码,其中所述高速缓存依据所述像素数据以及所述样本掩码产生样本数据;以及
内存,耦接所述高速缓存,其中所述高速缓存将所述样本数据写入所述内存,其中所述样本数据的数据大小为所述像素数据的数据大小的倍数。
2.根据权利要求1所述的图形处理器,其特征在于,所述输出混合器包括:
色彩数据缓冲器,用以接收所述像素数据;
测试单元,用以输出覆盖范围信息;以及
写回单元,耦接所述色彩数据缓冲器以及所述测试单元,
其中,所述覆盖范围信息包括所述样本掩码,并且所述输出混合器通过所述写回单元将所述像素数据以及所述样本掩码输出至所述高速缓存。
3.根据权利要求2所述的图形处理器,其特征在于,所述测试单元为深度及透明度测试单元。
4.根据权利要求1所述的图形处理器,其特征在于,所述高速缓存包括:
上采样模块,用以接收所述像素数据以及所述样本掩码,并且依据所述像素数据、所述样本掩码以及渲染目标格式来产生所述样本数据;以及
快取行,耦接所述上采样模块以及所述内存,并且用以接收所述样本数据。
5.根据权利要求4所述的图形处理器,其特征在于,所述上采样模块包括:
数据复制逻辑,接收所述像素数据;以及
写入控制逻辑,接收所述样本掩码,
其中,所述写入控制逻辑依据所述样本掩码以及所述渲染目标格式来控制所述数据复制逻辑复制所述像素数据,以产生所述样本数据,并且输出至所述快取行来等待写入所述高速缓存。
6.根据权利要求4所述的图形处理器,其特征在于,所述渲染目标格式由所述输出混合器提供或由渲染寄存器提供。
7.根据权利要求1所述的图形处理器,其特征在于,所述像素数据为渲染目标数据,并且一个像素数据为8×2n位,其中n为大于或等于0的整数。
8.根据权利要求1所述的图形处理器,其特征在于,所述样本数据的数据大小依据多重采样抗锯齿模式以及渲染目标格式来决定。
9.根据权利要求1所述的图形处理器,其特征在于,所述倍数等于多重采样抗锯齿模式的放大倍数。
10.根据权利要求1所述的图形处理器,其特征在于,所述高速缓存为第一级高速缓存。
11.一种图形处理器的操作方法,其特征在于,包括:
通过像素着色器输出像素数据;
通过输出混合器接收所述像素数据;
通过所述输出混合器输出所述像素数据以及对应于所述像素数据的样本掩码;
通过高速缓存接收所述像素数据以及所述样本掩码,并且通过所述高速缓存依据所述像素数据以及所述样本掩码产生样本数据;以及
通过所述高速缓存将所述样本数据写入内存,其中所述样本数据的数据大小为所述像素数据的数据大小的倍数。
12.根据权利要求11所述的操作方法,其特征在于,通过所述输出混合器输出所述像素数据以及对应于所述像素数据的所述样本掩码的步骤包括:
通过所述输出混合器的色彩数据缓冲器接收所述像素数据;
通过所述输出混合器的测试单元输出覆盖范围信息,其中所述覆盖范围信息包括所述样本掩码;以及
通过所述输出混合器的写回单元将所述像素数据以及所述样本掩码输出至所述高速缓存。
13.根据权利要求12所述的操作方法,其特征在于,所述测试单元为深度及透明度测试单元。
14.根据权利要求11所述的操作方法,其特征在于,通过所述高速缓存接收所述像素数据以及所述样本掩码,并且通过所述高速缓存依据所述像素数据以及所述样本掩码产生所述样本数据的步骤包括:
通过所述高速缓存的上采样模块接收所述像素数据以及所述样本掩码,并且依据所述像素数据、所述样本掩码以及渲染目标格式来产生所述样本数据;以及
通过所述高速缓存的快取行储存所述样本数据。
15.根据权利要求14所述的操作方法,其特征在于,通过所述高速缓存的所述上采样模块接收所述像素数据以及所述样本掩码,并且依据所述像素数据、所述样本掩码以及所述渲染目标格式来产生所述样本数据的步骤包括:
通过所述高速缓存的数据复制逻辑接收所述像素数据;
通过所述高速缓存的写入控制逻辑接收所述样本掩码;以及
通过所述高速缓存的所述写入控制逻辑依据所述样本掩码以及所述渲染目标格式来控制所述数据复制逻辑复制所述像素数据,以产生所述样本数据,并且输出至所述快取行来等待写入所述高速缓存。
16.根据权利要求14所述的操作方法,其特征在于,所述渲染目标格式由所述输出混合器提供或由渲染寄存器提供。
17.根据权利要求11所述的操作方法,其特征在于,所述像素数据为渲染目标数据,并且一个像素数据为8×2n位,其中n为大于或等于0的整数。
18.根据权利要求11所述的操作方法,其特征在于,所述样本数据的数据大小依据多重采样抗锯齿模式以及渲染目标格式来决定。
19.根据权利要求11所述的操作方法,其特征在于,所述倍数等于多重采样抗锯齿模式的放大倍数。
20.根据权利要求11所述的操作方法,其特征在于,所述高速缓存为第一级高速缓存。
CN202110308021.XA 2021-03-23 2021-03-23 图形处理器及其操作方法 Active CN113012025B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110308021.XA CN113012025B (zh) 2021-03-23 2021-03-23 图形处理器及其操作方法
US17/467,280 US11645732B2 (en) 2021-03-23 2021-09-06 Graphics processing unit having pixel shader, output merger, cache, memory and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110308021.XA CN113012025B (zh) 2021-03-23 2021-03-23 图形处理器及其操作方法

Publications (2)

Publication Number Publication Date
CN113012025A CN113012025A (zh) 2021-06-22
CN113012025B true CN113012025B (zh) 2023-09-05

Family

ID=76405324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110308021.XA Active CN113012025B (zh) 2021-03-23 2021-03-23 图形处理器及其操作方法

Country Status (1)

Country Link
CN (1) CN113012025B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136774A (zh) * 2011-12-05 2013-06-05 Arm有限公司 用于处理计算机图形的方法和装置
CN111798372A (zh) * 2020-06-10 2020-10-20 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备和可读介质
US11049216B1 (en) * 2020-01-21 2021-06-29 Arm Limited Graphics processing systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325899B (zh) * 2018-09-07 2023-04-04 格兰菲智能科技有限公司 计算机系统、图形处理单元及其图形处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136774A (zh) * 2011-12-05 2013-06-05 Arm有限公司 用于处理计算机图形的方法和装置
US11049216B1 (en) * 2020-01-21 2021-06-29 Arm Limited Graphics processing systems
CN111798372A (zh) * 2020-06-10 2020-10-20 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备和可读介质

Also Published As

Publication number Publication date
CN113012025A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
US10885607B2 (en) Storage for foveated rendering
EP3559914B1 (en) Foveated rendering in tiled architectures
US11113788B2 (en) Multi-space rendering with configurable transformation parameters
KR100509517B1 (ko) 영상을 180도 회전시킬 수 있는 디스플레이 장치 및 방법
JP5823515B2 (ja) 圧縮されたスーパータイル画像をディスプレイすること
US7932914B1 (en) Storing high dynamic range data in a low dynamic range format
KR19980703654A (ko) 종방향 배향의 디스플레이를 위하여 화상을 회전시키는 하드 웨어
US20060098021A1 (en) Graphics system and memory device for three-dimensional graphics acceleration and method for three dimensional graphics processing
US20160171644A1 (en) Processing unaligned block transfer operations
CN107886466B (zh) 一种图形处理器图像处理单元系统
EP0438038B1 (en) Graphics processor
US7629982B1 (en) Optimized alpha blend for anti-aliased render
WO2014081473A1 (en) Depth buffering
US11740470B2 (en) Low latency distortion unit for head mounted displays
CN113012025B (zh) 图形处理器及其操作方法
CN113012026B (zh) 图形处理器及其操作方法
CN111080761A (zh) 一种渲染任务的调度方法、装置及计算机存储介质
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
US7492373B2 (en) Reducing memory bandwidth to texture samplers via re-interpolation of texture coordinates
CN115955589A (zh) 基于mipi的优化视频拼接方法、系统和存储介质
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
CN108460729A (zh) 一种计算机可读存储介质和应用该介质的图像翻转装置
CN111192351B (zh) 边缘抗锯齿的图形处理方法、系统、存储介质及装置
US7158132B1 (en) Method and apparatus for processing primitive data for potential display on a display device
US11645732B2 (en) Graphics processing unit having pixel shader, output merger, cache, memory and operation method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant