CN117237182A - 一种基于批量片段处理的rop单元组处理方法 - Google Patents
一种基于批量片段处理的rop单元组处理方法 Download PDFInfo
- Publication number
- CN117237182A CN117237182A CN202311525833.5A CN202311525833A CN117237182A CN 117237182 A CN117237182 A CN 117237182A CN 202311525833 A CN202311525833 A CN 202311525833A CN 117237182 A CN117237182 A CN 117237182A
- Authority
- CN
- China
- Prior art keywords
- rop
- data
- command
- buffer
- fragment
- 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.)
- Granted
Links
- 239000012634 fragment Substances 0.000 title claims abstract description 120
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title description 3
- 206010038933 Retinopathy of prematurity Diseases 0.000 claims abstract description 143
- 239000000872 buffer Substances 0.000 claims abstract description 111
- 230000001133 acceleration Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012360 testing method Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 19
- 238000002156 mixing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 8
- 238000003491 array Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明适用于GPU技术领域,提供一种基于批量片段处理的ROP并行处理实现方法,包括:构建ROPs顶层结构;SMPU将着色后的片段数据或者当前的配置命令通过ROP调度机发送至相应的ROP加速单元;每个ROP加速单元对接收到的片段数据或者配置命令进行相应操作,其中对于片段数据,以Pipeline的方式批量操作,操作完成后将颜色信息写入像素缓冲区中,模板深度信息写入到模板深度缓冲区中。本发明设计了全新的ROPs顶层结构,易实现,易扩展,同时,通过本发明方法,实现大块数据持续处理,能够使得Pipeline在大多情况下处于灌满状态,Pipeline一旦灌满数据吞吐量也将达到最大值,像素填充率也大大提升,从而提高了图形处理器整体处理性能。
Description
技术领域
本发明属于GPU技术领域,尤其涉及一种基于批量片段处理的ROP设计处理方法。
背景技术
在基于OpenGL ES渲染管线中,片段着色完成之后到像素信息写入帧缓存区中之前需经过片段操作阶段。在片段操作过程中,通常是对每一个片段执行测试(裁剪测试、模板测试及深度测试等),当前片段通过测试后就可以将该片段颜色与帧缓冲区中对应位置的片段颜色按照最新配置指定的方式进行混合,混合完成后将像素信息写入到指定的帧缓冲区中;如片段未通过测试将直接被丢弃。片段操作阶段即为ROP(Render Output Unit渲染输出单元)阶段,它决定着每一个片段是否可见以及最终渲染的结果。
ROP阶段每一个片段都需要经过测试、混合等操作,可能会频繁访问帧缓冲区,即模板深度缓冲区与颜色缓冲区,因此设计ROP流水线、并行调度多个ROP单元、提升ROP处理片段的能力以及优化访问缓冲区开销等方面成为了关键技术,需要深入探索与研究。
由于片段与片段间确实存在相互依赖、前后关联的情况,后一个片段需要在前一个片段的基础上完成操作,所以一般都是按照逐片段操作的方式将前一个片段处理完成后再接收处理新的片段。然而逐片段处理每次操作整个管线Pipeline中只能处理一个片段,这样会造成长时间的电路空闲,流水线始终无法灌满,数据吞吐率很难提升的问题。特别是,目前很多图形处理器GPU在处理大量顶点数据以及片段数据时都会选择多核计算阵列来完成,常见的有面向SIMT(Single Instruction Multiple Threads单指令多线程)及SIMD(Single Instruction Multiple Data单指令多数据)的计算阵列。多核计算阵列目的是为了使数据或任务并行,从而加速处理能力,提升图形渲染性能。多核计算阵列并行处理后的大量片段需要被ROP单元快速处理并写回到缓冲区内。按照逐像素操作的方式很难完成大量片段的快速处理。
因此需要需设计一种高效的可支持批量片段操作的ROP加速单元,通过批量片段操作能够使得管线灌满后,一拍输出一个像素信息,以大大地提升片段的处理能力和数据的吞吐率。
目前,GPU(Graphics Processing Unit图形处理器)相关的技术研究大多集中在体系结构及着色器的设计与实现上,与ROP操作相关的设计方法、结构说明及实现方式较少。虽然有多个ROP并行调度及ROP的流水设计,该设计方案主要从如何调度多个ROP单元完成并行操作以及每个ROP单元如何流水处理两方面来考虑,其最大的优势在于一旦某一测试失败会自动跳出流水线接收新的片段从而减少了不必要的开销,但实现方式仍是按照逐片段的方式操作,一个片段处理完成后再接收处理新的片段,这种方式还是很难完成大量片段的快速处理。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于批量片段处理的ROP并行处理实现方法,旨在解决大量的片段数据难易快速高效处理的技术问题。
本发明采用如下技术方案:
基于批量片段处理的ROP并行处理实现方法,包括下述步骤:
步骤S1、构建ROPs顶层结构;
所述ROPs顶层结构包括ROPs单元组和多个SMPU,其中所述ROPs单元组包括ROP调度机和多个ROP加速单元,所有SMPU和ROP加速单元均连接至所述ROP调度机,每个ROP加速单元还连接有ROP缓冲区,所述ROP缓冲区包括像素缓冲区和模板深度缓冲区;
步骤S2、所述SMPU将着色后的片段数据或者当前的配置命令通过ROP调度机发送至相应的ROP加速单元:
步骤S3、每个ROP加速单元对接收到的片段数据或者配置命令进行相应操作,其中对于片段数据,以Pipeline的方式批量操作,操作完成后将颜色信息写入像素缓冲区中,模板深度信息写入到模板深度缓冲区中。
进一步的,所述步骤S2具体过程如下:
S21、SMPU将着色后的片段数据或者当前的配置命令发送至ROP调度机,其中配置命令只能通过固定的SMPU下发,着色后的片段数据可通过任何一个SMPU下发;
S22、当ROP调度机接收到配置命令时,将配置命令广播至所有ROP加速单元;
S23、当ROP调度机接收到片段数据时,根据片段数据当前的y坐标信息选择分配给相应的ROP加速单元。
进一步的,步骤S23中,当ROP调度机接收到片段数据时,首先还需判断所述片段数据前后间是否存在相关性,若不存在相关性,则按照设置将逐批下发片段数据,若存在相关性,不论片段数据是否满一批,均将片段数据进行按批拆分,保证下发的每一批片段数据间不存在任何数据相关。
进一步的,步骤S3中,每个ROP调度机发送的片段数据或者配置命令保存至ROP加速单元的命令数据缓存中,所述步骤S3的具体过程如下:
S31、ROP加速单元读取命令数据缓存并对读取内容进行解析;
S32、如果是配置命令,继续解析配置命令,如果是非执行类命令,则设置对应的配置寄存器,如果是执行类命令,则发送命令并执行相应的批量处理操作;
S33、如果是片段数据,首先对片段数据进行裁剪测试,然后根据配置寄存器的配置情况判断是否需要访问缓冲区,如果需要访问缓冲区,则连续发起访问缓冲区请求,读取对应缓冲区读回目标信息并将信息缓存,然后开启Pipeline操作,如果不需要访问缓冲区,则直接将片段数据依次写入到Pipeline中;Pipeline操作完成后用输出的像素信息覆盖原缓冲区对应的信息。
进一步的,步骤S32中,所述执行类命令有清屏命令及清空ROP缓冲区命令;对于清屏命令,ROP加速单元将清屏所需的信息提取并发送给对应的ROP缓冲区,并以burst的方式完成整个屏幕的清除操作,清屏完成后返回结束标记;对于清空ROP缓冲区命令,ROP加速单元将存在于ROP缓冲区内部的数据全部写回到帧缓存中,写回后返回结束标记,当前帧渲染结束。
进一步的,步骤S33中,Pipeline操作包括模板测试、深度测试和混合,根据寄存器配置情况开启对应功能;
其中模板测试是将模板参考值与模板深度缓冲区中的模板值进行比较,满足条件即通过;深度测试是将源片段数据的深度值与模板深度缓冲区对应的深度值进行比较,满足条件即通过;混合是当所有测试完成后,将源片段颜色值与目标片段颜色值进行混合计算,所述混合计算是计算混合颜色分量,再根据混合设置函数进行最终混合颜色信息计算,将计算完成的像素数据发送给ROP缓冲区,通过ROP缓冲区写回到最终的帧缓存中。
进一步的,Pipeline操作中,若某项测试未通过则会进行标记,标记为未通过测试的像素不会写入到指定缓冲区中。
本发明的有益效果是:首先,本发明设计了全新的ROPs顶层结构,结构简单,易实现,易扩展,适用于嵌入式图形处理器应用;同时,通过本发明方法,大块数据持续输入、处理、写回能够使得Pipeline在大多情况下处于灌满状态,Pipeline一旦灌满数据吞吐量也将达到最大值,像素填充率也大大提升,从而提高了图形处理器整体处理性能。
附图说明
图1是本发明实施例提供的基于批量片段处理的ROP并行处理实现方法流程图;
图2是本发明实施例提供的ROPs顶层结构的结构图;
图3是步骤S3的过程示意图;
图4是Pipeline的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明可实现高效的数据交互与批量的片段处理,其中高效是指数据可连续访问、快速响应以及减少不必要的缓冲区访问;批量是指Pipeline在同一时刻可处理多个片段。片段能够批量处理需满足ROP能够接收批量片段数据,批量数据可持续灌入Pipeline中,处理完成后的片段能够批量缓存并下发给下级。
本发明主要从如何进行批量片段处理、Pipeline如何优化、大块数据如何访问缓冲区等方面展开研究。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
如图1所示,本实施例提供的基于批量片段处理的ROP并行处理实现方法,包括下述步骤:
步骤S1、构建ROPs顶层结构;
如图2所示,所述ROPs顶层结构包括ROPs单元组和多个SMPU,其中所述ROPs单元组包括ROP调度机和多个ROP加速单元,所有SMPU和ROP加速单元均连接至所述ROP调度机,每个ROP加速单元还连接有ROP缓冲区,所述ROP缓冲区包括像素缓冲区和模板深度缓冲区。
由于片段着色是由多个功能独立的多核计算阵列并行处理的,图示中,片段着色由4个SMPU(Stream Multiple Processing Unit流多处理器)来完成,整个ROPs单元组是由4个独立ROP加速单元组成的并行加速单元,能够与多核计算阵列计算能力匹配,从而使整个GPU各部分单元处理速度均衡。
步骤S2、所述SMPU将着色后的片段数据或者当前的配置命令通过ROP调度机发送至相应的ROP加速单元。
本步骤实现的是片段和命令的下发。具体过程为:
S21、SMPU将着色后的片段数据或者当前的配置命令发送至ROP调度机,其中配置命令只能通过固定的SMPU下发,着色后的片段数据可通过任何一个SMPU下发;
S22、当ROP调度机接收到配置命令时,将配置命令广播至所有ROP加速单元;
S23、当ROP调度机接收到片段数据时,根据片段数据当前的y坐标信息选择分配给相应的ROP加速单元。
本步骤中,SMPU将着色后的片段数据与当前DrawCall的配置命令发送给ROPs单元组,配置命令只能通过固定SMPU下发,如图示SMPU0下发,着色后的片段数据可通过任何一个SMPU下发。当接收到配置命令时。ROP调度机(ROP_Scheduler)广播给所有ROP加速单元。当接收到片段数据时,ROP_Scheduler根据当前y坐标信息选择分配给对应ROP加速单元。由于像素在屏幕中有xy坐标,通过y坐标可将不同行的像素分配给对应的ROP加速单元。
此外ROP_Scheduler还需判断前后数据间是否存在相关性。上述步骤S23中,当ROP调度机接收到片段数据时,首先还需判断所述片段数据前后间是否存在相关性,若不存在相关性,则按照设置将逐批下发片段数据,若存在相关性,不论片段数据是否满一批,均将片段数据进行按批拆分,保证下发的每一批片段数据间不存在任何数据相关。这样后续所有ROP加速单元均使用同样的配置对当前DrawCall内的片段进行处理且每个ROP加速单元以Pipeline(即流水线)的方式对批量没有任何相关的片段进行测试、混合等操作。
由于每个ROP加速单元只处理分配给该单元的片段,ROP内不再存在数据相关性,因此可做到4个ROP单元完全并行处理4批片段。其次,每个SMPU有32个计算单元,可同时对32个片段进行着色,基于此每个ROP单元一批片段的数量也为32,这样在理想状态下SMPU输出速率与ROP输出速率相匹配。
步骤S3、每个ROP加速单元对接收到的片段数据或者配置命令进行相应操作,其中对于片段数据,以Pipeline的方式批量操作,操作完成后将颜色信息写入像素缓冲区中,模板深度信息写入到模板深度缓冲区中。
每个ROP调度机发送的片段数据或者配置命令保存至ROP加速单元的命令数据缓存中,结合图3所示,本步骤具体过程如下:
S31、ROP加速单元读取命令数据缓存并对读取内容进行解析。
S32、如果是配置命令,继续解析配置命令,如果是非执行类命令,则设置对应的配置寄存器,如果是执行类命令,则发送命令并执行相应的批量处理操作。
对于解析处理,如果解析是配置命令,则设置对应的配置寄存器或者发起相应的命令执行操作。具体的,对于非执行类命令,则配置寄存器。对于执行类命令,如清屏命令及清空ROP缓冲区命令。
对于清屏命令,需要将整个缓冲区按照命令指定方式进行清除,即将清屏数据逐个写到对应的缓冲区中。为了提升处理性能,尤其是大块数据操作缓冲区时,数据逐个写入将花费大量时钟周期。因此本实施例将清屏所需的信息提取并发送给对应的ROP缓冲区,并以burst的方式完成整个屏幕的清除操作,清屏完成后返回结束标记,继续接收处理新的,命令或数据。其中清屏所需的信息包括清除哪个缓冲区、清除数据、块大小、基地址等。
对于清空ROP缓冲区命令,ROP加速单元将存在于ROP缓冲区内部的数据全部写回到帧缓存中,写回后返回结束标记,当前帧渲染结束。
S33、如果是片段数据,首先对片段数据进行裁剪测试,然后根据配置寄存器的配置情况判断是否需要访问缓冲区,如果需要访问缓冲区,则连续发起访问缓冲区请求,读取对应缓冲区读回目标信息并将信息缓存,然后开启Pipeline操作,如果不需要访问缓冲区,则直接将片段数据依次写入到Pipeline中;Pipeline操作完成后用输出的像素信息覆盖原缓冲区对应的信息。
如果解析得到的是片段数据,根据当前寄存器配置的情况对数据进行操作,比如判断是否开启了裁剪测试、模板测试和深度测试以及是否开启混合操作。
ROP加速单元读取到片段数据后先进行裁剪测试,裁剪测试用来判断该片段是否在指定的裁剪区域内,在区域内就通过否则就不通过。如果若未开启裁剪测试,也默认裁剪测试通过。裁剪测试完成后根据寄存器的配置情况决定是否需要访问缓冲区。当需访问缓冲区时,连续发起访问缓冲区请求,ROP缓冲区中当前若命中可连续返回读数据,当发起的操作响应完成后启动流水线开始工作,即开启Pipeline操作。如果不需要访问缓冲区,则直接将该批片段数据依次写入到Pipeline中。
本发明中,裁剪测试完成后根据寄存器的配置情况决定是否需要访问缓冲区,若开启模板、深度测试或者混合操作就需要访问对应的缓冲区,一批片段只在裁剪测试完成后读取对应缓冲区读回目标信息并将该信息缓存,这样也避免了多次读取缓冲区的操作,减少带宽。
结合图4所示,步骤S33中,当目标信息均读取后开启流水线后续操作,Pipeline操作包括模板测试、深度测试和混合,根据寄存器配置情况开启对应功能。
其中模板测试是将模板参考值与模板深度缓冲区(模板深度缓冲区时模板缓冲区与深度缓冲区的共有区)中的模板值进行比较,满足条件即通过。
模板测试后进行深度测试,深度测试若启动,将源片段数据的深度值与模板深度缓冲区对应的深度值进行比较,满足条件即通过。若某项测试未通过则会进行标记,标记为未通过测试的像素不会写入到指定缓冲区中。
混合是当所有测试完成后,将源片段颜色值与目标片段颜色值进行混合计算。由于混合时需要大量计算,放在一拍内操作比较好,因此先计算混合颜色分量,再根据混合设置函数进行最终混合颜色信息计算,将计算完成的像素数据发送给ROP缓冲区,通过ROP缓冲区写回到最终的帧缓存中。
综上,本发明涉及了一种高效的可批量处理片段的ROP加速单元,该加速单元既可以处理无数据相关、前后关联的片段处理,同时也可以处理存在数据相关,前后片段间有关联的情况。当数据间无相关性时,如不需要任何读取缓冲区的操作,直接将片段信息写入Pipeline中,当流水线灌满后每个时钟周期输出一个片段。裁剪测试也不需要读取任何缓冲区,所以当仅开启裁剪测试时处理方式与前述相同。但当开启深度测试、模板测试或者混合时,就需要从对应的帧缓冲区中读取到最新写入到帧缓存区的数据进行处理,这种情况下可连续访问对应ROP缓冲区(ROP-Cache),通过ROP-Cache读取目标值;当需要读取的数据全部读完成后启动流水线以一拍一个片段的方式持续输入,数据将按照当前DrawCall API指定的方式一拍输出一个像素。
此外特别需要说明的是,并不是命令解析后有访问缓冲区的操作时就立即读取对应的缓冲区,而是在裁剪测试完成之后才连续发出读取缓冲区的操作请求,这样做的目的是该片段一旦裁剪测试未通过将不会读取对应的缓冲区,从而减少了不必要的访问缓冲区操作,因为访问缓冲区可能会花费大量时钟周期。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于批量片段处理的ROP并行处理实现方法,其特征在于,所述实现方法包括下述步骤:
步骤S1、构建ROPs顶层结构;
所述ROPs顶层结构包括ROPs单元组和多个SMPU,其中所述ROPs单元组包括ROP调度机和多个ROP加速单元,所有SMPU和ROP加速单元均连接至所述ROP调度机,每个ROP加速单元还连接有ROP缓冲区,所述ROP缓冲区包括像素缓冲区和模板深度缓冲区;
步骤S2、所述SMPU将着色后的片段数据或者当前的配置命令通过ROP调度机发送至相应的ROP加速单元;
步骤S3、每个ROP加速单元对接收到的片段数据或者配置命令进行相应操作,其中对于片段数据,以Pipeline的方式批量操作,操作完成后将颜色信息写入像素缓冲区中,模板深度信息写入到模板深度缓冲区中。
2.如权利要求1所述基于批量片段处理的ROP并行处理实现方法,其特征在于,所述步骤S2具体过程如下:
S21、SMPU将着色后的片段数据或者当前的配置命令发送至ROP调度机,其中配置命令只能通过固定的SMPU下发,着色后的片段数据可通过任何一个SMPU下发;
S22、当ROP调度机接收到配置命令时,将配置命令广播至所有ROP加速单元;
S23、当ROP调度机接收到片段数据时,根据片段数据当前的y坐标信息选择分配给相应的ROP加速单元。
3.如权利要求2所述基于批量片段处理的ROP并行处理实现方法,其特征在于,步骤S23中,当ROP调度机接收到片段数据时,首先还需判断所述片段数据前后间是否存在相关性,若不存在相关性,则按照设置将逐批下发片段数据,若存在相关性,不论片段数据是否满一批,均将片段数据进行按批拆分,保证下发的每一批片段数据间不存在任何数据相关。
4.如权利要求3所述基于批量片段处理的ROP并行处理实现方法,其特征在于,步骤S3中,每个ROP调度机发送的片段数据或者配置命令保存至ROP加速单元的命令数据缓存中,所述步骤S3的具体过程如下:
S31、ROP加速单元读取命令数据缓存并对读取内容进行解析;
S32、如果是配置命令,继续解析配置命令,如果是非执行类命令,则设置对应的配置寄存器,如果是执行类命令,则发送命令并执行相应的批量处理操作;
S33、如果是片段数据,首先对片段数据进行裁剪测试,然后根据配置寄存器的配置情况判断是否需要访问缓冲区,如果需要访问缓冲区,则连续发起访问缓冲区请求,读取对应缓冲区读回目标信息并将信息缓存,然后开启Pipeline操作,如果不需要访问缓冲区,则直接将片段数据依次写入到Pipeline中;Pipeline操作完成后用输出的像素信息覆盖原缓冲区对应的信息。
5.如权利要求4所述基于批量片段处理的ROP并行处理实现方法,其特征在于,步骤S32中,所述执行类命令有清屏命令及清空ROP缓冲区命令;对于清屏命令,ROP加速单元将清屏所需的信息提取并发送给对应的ROP缓冲区,并以burst的方式完成整个屏幕的清除操作,清屏完成后返回结束标记;对于清空ROP缓冲区命令,ROP加速单元将存在于ROP缓冲区内部的数据全部写回到帧缓存中,写回后返回结束标记,当前帧渲染结束。
6.如权利要求4所述基于批量片段处理的ROP并行处理实现方法,其特征在于,步骤S33中,Pipeline操作包括模板测试、深度测试和混合,根据寄存器配置情况开启对应功能;
其中模板测试是将模板参考值与模板深度缓冲区中的模板值进行比较,满足条件即通过;深度测试是将源片段数据的深度值与模板深度缓冲区对应的深度值进行比较,满足条件即通过;混合是当所有测试完成后,将源片段颜色值与目标片段颜色值进行混合计算,所述混合计算是计算混合颜色分量,再根据混合设置函数进行最终混合颜色信息计算,将计算完成的像素数据发送给ROP缓冲区,通过ROP缓冲区写回到最终的帧缓存中。
7.如权利要求6所述基于批量片段处理的ROP并行处理实现方法,其特征在于,Pipeline操作中,若某项测试未通过则会进行标记,标记为未通过测试的像素不会写入到指定缓冲区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311525833.5A CN117237182B (zh) | 2023-11-16 | 2023-11-16 | 一种基于批量片段处理的rop单元组处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311525833.5A CN117237182B (zh) | 2023-11-16 | 2023-11-16 | 一种基于批量片段处理的rop单元组处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117237182A true CN117237182A (zh) | 2023-12-15 |
CN117237182B CN117237182B (zh) | 2024-02-13 |
Family
ID=89084829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311525833.5A Active CN117237182B (zh) | 2023-11-16 | 2023-11-16 | 一种基于批量片段处理的rop单元组处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117237182B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170323469A1 (en) * | 2016-05-05 | 2017-11-09 | Nvidia Corporation | Stereo multi-projection implemented using a graphics processing pipeline |
CN109191362A (zh) * | 2018-07-30 | 2019-01-11 | 芯视图(常州)微电子有限公司 | 多个rop的并行调度以及rop的流水设计 |
CN112955887A (zh) * | 2018-11-07 | 2021-06-11 | C2A安全有限公司 | 面向返回的编程防护 |
CN113989099A (zh) * | 2019-03-15 | 2022-01-28 | 英特尔公司 | SoC架构的分解 |
-
2023
- 2023-11-16 CN CN202311525833.5A patent/CN117237182B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170323469A1 (en) * | 2016-05-05 | 2017-11-09 | Nvidia Corporation | Stereo multi-projection implemented using a graphics processing pipeline |
CN109191362A (zh) * | 2018-07-30 | 2019-01-11 | 芯视图(常州)微电子有限公司 | 多个rop的并行调度以及rop的流水设计 |
CN112955887A (zh) * | 2018-11-07 | 2021-06-11 | C2A安全有限公司 | 面向返回的编程防护 |
CN113989099A (zh) * | 2019-03-15 | 2022-01-28 | 英特尔公司 | SoC架构的分解 |
Also Published As
Publication number | Publication date |
---|---|
CN117237182B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628911B2 (en) | Computer system, graphics processing unit, and graphics processing method thereof that are capable of switching different rendering modes | |
US20090051687A1 (en) | Image processing device | |
KR102360519B1 (ko) | 그래픽 처리 | |
US9286647B2 (en) | Pixel shader bypass for low power graphics rendering | |
US9612839B2 (en) | Higher accuracy Z-culling in a tile-based architecture | |
US9589310B2 (en) | Methods to facilitate primitive batching | |
KR100617998B1 (ko) | 시간 할당기를 갖는 그래픽 렌더링 엔진을 포함하는 장치,방법 및 시스템 | |
US10915982B2 (en) | Computer system, graphics processing unit, and graphics processing method thereof that are capable of switching different rendering modes | |
US8760455B2 (en) | Restart index that sets a topology | |
US8619087B2 (en) | Inter-shader attribute buffer optimization | |
US20120206455A1 (en) | Tile-based graphics system and method of operation of such a system | |
US8542247B1 (en) | Cull before vertex attribute fetch and vertex lighting | |
US10332310B2 (en) | Distributed index fetch, primitive assembly, and primitive batching | |
US9720842B2 (en) | Adaptive multilevel binning to improve hierarchical caching | |
GB2463763A (en) | One pass tessellation process | |
US8786618B2 (en) | Shader program headers | |
CN106340055A (zh) | 一种基于多线程的OpenGL快速绘制方法 | |
US9734545B2 (en) | Software methods in a GPU | |
US8427493B2 (en) | Draw commands with built-in begin/end | |
CN109191362B (zh) | 多个rop的并行调度方法 | |
CN117237182B (zh) | 一种基于批量片段处理的rop单元组处理方法 | |
US20070070077A1 (en) | Instruction removing mechanism and method using the same | |
CN102982503B (zh) | 绘图处理单元 | |
CN108510430B (zh) | 基于分块渲染的gpu中一种资源共享的实现方法 | |
US9401004B2 (en) | State shadowing to support a multi-threaded driver environment |
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 |