CN110415161B - 图形处理方法、装置、设备及存储介质 - Google Patents

图形处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110415161B
CN110415161B CN201910657411.0A CN201910657411A CN110415161B CN 110415161 B CN110415161 B CN 110415161B CN 201910657411 A CN201910657411 A CN 201910657411A CN 110415161 B CN110415161 B CN 110415161B
Authority
CN
China
Prior art keywords
graphic
information
command
graphics
storage area
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
CN201910657411.0A
Other languages
English (en)
Other versions
CN110415161A (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.)
Longxin Zhongke Hefei Technology Co ltd
Original Assignee
Longxin Zhongke Hefei Technology 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 Longxin Zhongke Hefei Technology Co ltd filed Critical Longxin Zhongke Hefei Technology Co ltd
Priority to CN201910657411.0A priority Critical patent/CN110415161B/zh
Publication of CN110415161A publication Critical patent/CN110415161A/zh
Application granted granted Critical
Publication of CN110415161B publication Critical patent/CN110415161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • 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

图形处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种图形处理方法、装置、设备及存储介质。
背景技术
目前,图形处理器(Graphics Processing Unit,GPU)已经广泛应用于计算机、移动设备等电子设备之中。GPU作为图形加速器,在游戏、通用计算、图像处理等领域,都起到了十分显著的作用。电子设备的中央处理器(Central Processing Unit,CPU)不再独立处理图形工作,将需要处理的图形工作转交给GPU执行,从而大幅提高系统的整体性能。GPU支持DirectX、OpenGL、OpenGL ES等应用程序接口(application programming interface,API)。CPU执行与GPU相应的驱动程序,将API信息进行处理,转换为GPU硬件可识别的状态和命令,指示GPU进行相应的图形处理。
现有技术中,如图1所示,GPU按照功能划分,可以包括命令处理器110、配置寄存器120和渲染单元130。渲染单元130包括顶点着色器131、光栅化单元132、片段着色器133、输出合并单元134四个模块。渲染单元130中的各模块分别对应一组配置寄存器。CPU通过驱动程序将图形处理的控制命令和寄存器写入命令等命令存入到显存中的命令缓冲区。GPU的命令处理器11从命令缓冲区(图中未示出)读取寄存器写入命令,将寄存器写入命令包含的控制状态信息或待处理数据的地址信息写入到该寄存器写入命令所指示的配置寄存器120,以便渲染单元130中各模块在进行图形渲染处理时从相应的配置寄存器获取控制状态信息或待处理数据的地址信息。待处理数据的地址信息用于指示渲染单元130从显卡中获取相应的待处理数据。命令处理器110从命令缓冲区读取图形处理的控制命令,并指示渲染单元130进行图形渲染处理。
然而,现有技术中,一次图形处理过程需要大量的配置寄存器写入处理,相应的需要大量的寄存器写入命令,造成大量的命令开销,占用了命令缓冲区中的命令队列资源。
发明内容
本发明实施例提供一种图形处理方法、装置、设备及存储介质,以解决目前图形处理过程需要大量的寄存器写入命令,导致大量的命令开销的问题。
第一方面,本发明实施例提供一种图形处理方法,应用于图形处理器,所述方法包括:
获取图形处理命令,其中,所述图形处理命令包含待处理图形的图形信息的存储地址;
根据所述存储地址获取所述图形信息,将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理。
在一种可能的实施方式中,所述图形处理器包括命令处理模块、调度模块、存储器和所述渲染单元;所述第一存储区为所述存储器中的存储空间。
在一种可能的实施方式中,所述获取图形处理命令,包括:
从命令缓冲区读取所述图形处理命令,其中,所述图形处理命令为图形处理命令发起者写入所述命令缓冲区的指令。
在一种可能的实施方式中,所述存储地址为所述图形信息在第二存储区的地址;
所述根据所述存储地址获取所述图形信息,包括:
根据所述存储地址从所述第二存储区获取所述图形信息,其中,所述图形信息为所述图形处理命令发起者写入所述第二存储区的。
在一种可能的实施方式中,所述命令缓冲区与所述第二存储区属于同一共享内存或者同一显存。
在一种可能的实施方式中,所述第一存储区为高速缓存区。
在一种可能的实施方式中,所述方法还包括:
若获取到同步命令,则停止对图形处理命令的获取,直至接收到所述渲染单元返回的处理结束信号。
在一种可能的实施方式中,所述图形信息包括图形数据和控制状态信息。
在一种可能的实施方式中,所述图形数据包括以下中的至少一项:
顶点位置、顶点属性、常量信息、纹理信息;
所述控制状态信息包括以下中的至少一项:
光栅化状态、视口状态、剪裁状态、透明度状态、深度状态、模板状态、混合状态、着色器状态。
第二方面,本发明实施例提供一种图形处理装置,包括:
命令处理模块,用于获取图形处理命令,其中,所述图形处理命令包含待处理图形的图形信息的存储地址;
调度模块,用于根据所述存储地址获取所述图形信息,将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理。
第三方面,本发明实施例提供一种图形处理设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的图形处理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的图形处理方法。
本实施例提供的图形处理方法、装置、设备及存储介质,通过获取图形处理命令,其中,图形处理命令包含待处理图形的图形信息的存储地址;根据存储地址获取该图形信息,将该图形信息存入第一存储区,并将该图形信息在第一存储区中的索引信息发送给图形处理器的渲染单元,以使渲染单元根据索引信息从第一存储区获取该图形信息,并根据该图形信息对待处理图形进行图形处理,能够将图形信息保存到第一存储区,并利用索引信息指示图形处理器的渲染单元从第一存储区获取图形信息,使渲染单元不需要通过配置寄存器就能获取所需的图形信息,从而避免图形处理过程中的寄存器写入命令,减少命令开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的图形处理器的架构示意图;
图2为本发明实施例提供的图形处理器的架构示意图
图3为本发明一实施例提供的图形处理方法的流程示意图;
图4为本发明又一实施例提供的图形处理方法的流程示意图;
图5为本发明一实施例提供的图形处理装置的结构示意图;
图6为本发明一实施例提供的图形处理设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为现有技术中的图形处理器的架构示意图。参照图1,现有技术中GPU的命令处理器110从显存中的命令缓冲区读取命令,在命令为寄存器写入命令时,命令处理器110将需要写的控制状态信息或者待处理数据的地址信息写入至对应的配置寄存器120中。GPU的渲染单元130中的各模块读取各自需要的配置寄存器130中的控制状态信息和/或待处理数据的地址信息,根据该待处理数据的地址信息从显存中读取待处理图形的数据,在命令为图形处理的控制命令时,命令处理器110指示渲染单元130进行图形渲染处理。
GPU中渲染单元130的处理过程为:待处理图形的顶点位置和属性信息经过顶点着色器131进行旋转平移的位置变换后,传给光栅化单元132进行图元组装和光栅化操作;光栅化之后,图元变为像素点交给片段着色器133进行纹理属性的处理,最后交给输出合并单元134进行透明度、深度、模板测试以及混合输出。
现有技术中,命令缓冲区为用于存储图形处理的控制命令和寄存器写入命令等命令的缓存区域。GPU的命令处理器从命令缓冲区中进行命令的提取,在提取到寄存器写入命令时,对该寄存器写入命令所指示的配置寄存器进行相应的写入操作;在提取到图形处理的控制命令时,指示渲染单元进行图形处理。由于图形处理过程需要执行大量寄存器的写入操作,因此需要通过寄存器写入命令在指定寄存器中写入相应信息,占用了大量的命令缓冲区资源,并且大量的寄存器写入命令也会影响GPU的命令处理器的指令调度工作,增加GPU处理图形的处理负担。
如图2所示为本发明实施例提供的图形处理器的架构示意图。GPU可以包括命令处理模块210、调度模块220、第一存储区230和渲染单元240。其中,命令处理模块210和调度模块220为按照功能划分得到的模块,二者可以划分为同一模块,也可以划分为不同模块,但并不作为限定。渲染单元240可以包括包括顶点着色器241、光栅化单元242、片段着色器243、输出合并单元244四个模块。命令处理模块210从共享内存或显存中读取图形处理命令,将图形处理命令中包含的待处理图形的图形信息的存储地址发送给调度模块220。调度模块220根据存储地址从共享内存或显卡中读取与图形处理命令相应的待处理图形的图形信息,并将读取到的图形信息存入到第一存储区230,并记录该图形信息在第一存储区230的索引信息,将索引信息发送到渲染单元240。渲染单元240根据接收到的索引信息从第一存储区230获取待处理图形的图形信息,对待处理图形进行处理。
本实施例提供的GPU的待处理图形的状态信息和数据不是通过配置寄存器进行传输,而是通过调度模块将图形信息保存到第一存储区,并利用索引信息指示GPU的渲染单元从第一存储区获取图形信息,使渲染单元不需要通过配置寄存器就能获取所需的图形信息,从而避免图形处理过程中的寄存器写入命令,减少命令开销。通过调度模块将图形处理指令指示的在外部存储空间的图形信息存入到GPU内部的第一存储区,在GPU没有配置寄存器以及相应的寄存器写入命令的开销的情况下,能够保证渲染单元快速获取到所需的图形信息,从而保证GPU图形处理的速度。下面进行详细说明。
图3为本发明一实施例提供的图形处理方法的流程示意图。该图形处理方法的执行主体为GPU,具体可以由GPU中的一个或多个模块实现,模块可以为硬件模块或软件模块,在此不作限定。如图3所示,该方法包括:
S301、获取图形处理命令,其中,所述图形处理命令包含待处理图形的图形信息的存储地址。
在本实施例,图形处理命令为指示GPU进行图形处理的命令。图形处理命令发起者可以直接将图形处理命令发送给GPU,或者图形处理命令的发起者将图形处理命令存入指定区域,GPU从该指定区域获取图形处理命令,在此不作限定。其中,图形处理命令发起者为图形处理命令的发起方,例如可以为主机CPU,或者其他与GPU建立通信连接的处理器,在此不作限定。
待处理图形为图形处理命令指示GPU进行处理的图形。待处理图形的图形信息为待处理图形的相关信息,GPU在对待处理图形进行图形处理时需要调用图形信息。可选地,图形信息包括图形数据和控制状态信息。其中,图形数据用于表征图形结构、纹理等信息,控制状态信息用于表征GPU的渲染单元在对图形处理时的状态参数。
图形处理命令包含待处理图形的图形信息的存储地址。图形处理命令发起者可以将待处理图形的图形信息存储于图形处理命令发起者与GPU的共享存储区域,该共享存储区域可以由图形处理命令发起者和GPU共同访问;或者图形处理命令发起者可以将待处理图形的图形信息存储于GPU对应的显存区域,在此不作限定。
S302、根据所述存储地址获取所述图形信息,将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理。
在本实施例中,S301和S302可以由GPU中的同一模块实现,也可以由GPU中的不同模块实现,在此不作限定,GPU除了包括以上模块外,还包括渲染单元。GPU根据存储地址对应的存储位置获取到图形信息,然后将图形信息存入到第一存储区,并记录该图形信息在第一存储区中的索引信息。其中,第一存储区可以为GPU内部的存储区域,例如,第一存储区可以为GPU中渲染单元对应的一个存储区域,或者为GPU中的高速缓存区域,在此不作限定。索引信息可以为该图形信息在第一存储区内的地址或标签等,GPU可以通过该地址或者标签,获得得到相应的图形信息,在此不作限定。
GPU可以将该图形信息在第一存储区中的索引信息发送给GPU的渲染单元。例如,可以将索引信息添加至图形处理命令中发送给渲染单元,也可以单独将索引信息发送给渲染单元,在此不作限定。渲染单元接收到指示后执行对待处理图形的渲染处理,可以根据索引信息从第一存储区获取索引信息对应的图形信息,然后根据图形信息对待处理图形进行处理。GPU的渲染单元完成对待处理图形的处理后,可以将处理结果返回给图形处理命令发起者。GPU将图形信息存入到GPU内部的第一存储区,能够使渲染单元在图形处理过程时快速的获得所需的图形信息,从而保证图形处理的速度。
本实施例中,获取图形处理命令,其中,图形处理命令包含待处理图形的图形信息的存储地址;根据存储地址获取该图形信息,将该图形信息存入第一存储区,并将该图形信息在第一存储区中的索引信息发送给图形处理器的渲染单元,以使渲染单元根据索引信息从第一存储区获取该图形信息,并根据该图形信息对待处理图形进行图形处理,能够将图形信息保存到第一存储区,并利用索引信息指示图形处理器的渲染单元从第一存储区获取图形信息,使渲染单元不需要通过配置寄存器就能获取所需的图形信息,从而避免图形处理过程中的寄存器写入命令,减少命令开销。通过调度模块将图形图形信息存入到GPU内部的第一存储区,在GPU没有配置寄存器以及相应的寄存器写入命令的开销的情况下,能够保证渲染单元快速获取到所需的图形信息,从而保证GPU图形处理的速度。
可选地,所述图形处理器包括命令处理模块、调度模块、存储器和所述渲染单元;所述第一存储区为所述存储器中的存储空间。
命令处理模块用于获取图形处理命令,并将图形处理命令中包含的待处理图形的图形信息的存储地址发送给调度模块。
调度模块用于接收命令处理模块发送的存储地址,根据该存储地址获取待处理图形的图形信息,将该图形信息存入第一存储区,并将所述图形信息在第一存储区中的索引信息发送给渲染单元。
渲染单元用于接收索引信息,根据该索引信息从第一存储区获取该图形信息,并根据该图形信息对待处理图形进行图形处理。
在本实施例中,图形处理器包括命令处理模块、调度模块、存储器和渲染单元,不包括配置寄存器。相对于现有技术中图形处理器需要通过配置寄存器,以及执行寄存器写入命令使渲染单元获取图形信息的方式,本实施例提出的图形处理器利用命令处理模块和调度模块将图形信息存入内部的存储器,使渲染单元快速获取图形信息,能够不使用配置寄存器,节省图形处理器的硬件资源,并且避免了寄存器写入命令,精简了图形处理过程中的命令,减少了命令开销,降低了GPU的指令处理负担。
图4为本发明又一实施例提供的图形处理方法的流程示意图。本实施例对获取图形处理命令的具体实现过程进行了详细说明。如图4所示,该方法包括:
S401、从命令缓冲区读取所述图形处理命令,其中,所述图形处理命令为图形处理命令发起者写入所述命令缓冲区的指令,所述图形处理命令包含待处理图形的图形信息的存储地址。
在本实施例中,命令缓冲区为GPU外部的存储区域。命令缓冲区可以为图形处理命令发起者与GPU的共享内存中的一个区域,或者为GPU对应的显存中的一个区域,在此不作限定。命令缓冲区用于保存图形处理命令发起者写入的图形处理命令。图形处理命令发起者在需要对图形进行处理时,可以生成相应的图形处理命令,写入到命令缓冲区。GPU可以从命令缓冲区中依次获取各个图形处理命令,执行相应的图形处理操作。可选地,命令缓冲区可以为环形缓冲区、间接缓冲区等,还可以为其他的缓冲区实现形式,在此不作限定。通过命令缓冲区可以对图形处理命令进行缓冲,以在图形处理命令发起者与GPU之间速度平滑作用,减少对其中慢速设备的访问以提高系统的效率。
S402、根据所述存储地址获取所述图形信息,将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理。
在本实施例中,S402与图2实施例中的S302类似,此处不再赘述。
可选地,所述存储地址为所述图形信息在第二存储区的地址。S401中的所述根据所述存储地址获取所述图形信息,可以包括:
根据所述存储地址从所述第二存储区获取所述图形信息,其中,所述图形信息为所述图形处理命令发起者写入所述第二存储区的信息。
在实施例中,待处理图形的图形信息保存于第二存储区,其地址为在第二存储区中的地址。第二存储区为GPU外部的存储区域,如第二存储区可以为图形处理命令发起者与GPU的共享内存中的一个区域,或者为GPU对应的显存中的一个区域,在此不作限定。图形处理命令发起者将待处理图形的图形信息存入第二存储区,将图形信息的存储地址通过图形处理命令发送给GPU。GPU可以从第二存储区中该存储地址对应的位置读取图形信息,将图形信息存入到内部的第一存储区。
第二存储区为图形处理命令发起者存储图形信息的区域,图形处理命令发起者可以将大量的待处理图形的图形信息都存入到第二存储区,通过图形处理命令指示GPU所要处理的图形信息的存储地址。GPU从命令缓冲区提取某图形处理命令后,将该图形处理命令中包含的存储地址对应的图形信息从第二存储区中取出,存入到GPU内部的第一存储区,以便渲染单元在进行该图形处理命令指示的图形处理时能够从GPU内部的第一存储区快速获取到所需的图形信息。
可选地,所述命令缓冲区与所述第二存储区属于同一共享内存或者同一显存。
在本实施例中,作为一种实现方式,命令缓冲区与第二存储区可以为属于同一共享内存的区域。其中,共享内存为图形处理命令发起者和GPU可以共同访问的存储空间。图形处理命令发起者可以将图形处理命令写入共享内存中的命令缓冲区,并将图形处理命令相应的待处理图形的图形信息放入到共享内存中的第二存储区。GPU可以从共享内存中的命令缓冲区读取图形处理命令,并从共享内存中的第二存储区读取相应的待处理图形的图形信息。
作为另一实现方式,命令缓冲区与第二存储区可以为属于同一显存的区域。其中,该同一显存为GPU对应的显存,为用于存放图形处理相关的命令或数据的存储空间。图形处理命令发起者可以将图形处理命令写入显存中的命令缓冲区,并将图形处理命令相应的待处理图形的图形信息放入到显存中的第二存储区。GPU可以从显存中的命令缓冲区读取图形处理命令,并从显存中的第二存储区读取相应的待处理图形的图形信息。
本实施例通过将命令缓冲区与第二存储区设置于同一共享内存或者同一显存,便于图形处理命令发起者将图形处理命令及与图形处理命令相应的图形信息一块进行写入。
可选地,所述第一存储区为高速缓存区。
本实施例中,GPU通过将图形处理命令对应的图形信息从外部的存储空间提取出来,保存到GPU内部的高速缓存区,以保证GPU的渲染单元在执行图形处理命令指示的图形处理时能够快速的从高速缓存区获取到所需的图形信息,从而减少渲染模块获取图形数据所需的时间,提高GPU的图形处理速度,支持GPU同时处理大量的图形处理命令,保证GPU图形处理的执行效率。
可选地,所述方法还包括:
若获取到同步命令,则停止对图形处理命令的获取,直至接收到所述渲染单元返回的处理结束信号。
在本实施例中,图形处理命令发起者与GPU之间的命令至少可以包括图形处理命令和同步命令,此外还可以包括其他命令,在此不作限定。其中,图形处理命令用于指示GPU对待处理图形进行处理。GPU可以同时执行多个图形处理命令,对多个待处理图形进行处理。但对于多个相关联的存在执行顺序的图形处理命令,GPU只有完成在先的图形处理命令后才能执行之后的图形处理命令。对于多个相关联的存在执行顺序的图形处理命令,图形处理命令发起者通过同步命令指示GPU按照顺序进行执行。同步命令用于指示GPU等待当期处理的图形处理完成后再从命令缓冲区获取其他图形处理命令。GPU若获取到同步命令,则停止对图形处理命令的获取,直至接收到渲染单元返回的指示当前图形处理完成的处理结束信号后,再获取其他的图形处理命令。
对于相互之间存在执行顺序的多个图形处理命令,如果GPU在没有完成顺序在先的图形处理命令时,就开始执行顺序在后的图形处理命令,会导致这些图形处理命令的图形处理出现错误。为避免这个问题,图形处理命令发起者可以在命令缓冲区中存在执行顺序的多个图形处理命令之间加入同步命令,这样GPU在从命令缓冲区中提取到同步命令后,不再从命令缓冲区提取其他图形处理命令,而是等待当前处理的图形处理命令完成,从而避免存在执行顺序的多个图形处理命令同时被GPU处理的问题,防止出现错误。
可选地,所述图形数据包括以下中的至少一项:
顶点位置、顶点属性、常量信息、纹理信息;
所述控制状态信息包括以下中的至少一项:
光栅化状态、视口状态、剪裁状态、透明度状态、深度状态、模板状态、混合状态、着色器状态。
在本实施例中,顶点位置为待处理图形的各个顶点的位置信息。顶点属性为待处理图形的各个顶点的属性信息。常量信息和纹理分别为GPU的渲染单元对待处理图形进行处理时所需的信息。除以上数据外,图形数据还可以包括其他数据,在此不作限定。
光栅化状态为GPU的渲染单元处理图元时所使用的信息,可以包含光栅化所需要的点大小、线宽、多重采样等配置信息。视口状态用于指示渲染单元处理图元的单元视口的大小的信息。剪裁状态为用于指示渲染单元对图元的裁剪的大小的信息。透明度状态、深度状态和模板状态是渲染单元处理输出数据合并使用的信息,分别用于渲染单元处理输出数据的透明度测试、深度测试和模板测试。混合状态为渲染单元处理输出数据合并时使用的状态,用于渲染单元将数据结果混合后写入帧缓冲区。着色器状态为用于指示渲染单元对片段进行着色的配置信息。除以上状态信息外,控制状态信息还可以包括其他状态,在此不作限定。
现有技术中,图形处理方法主要存在以下缺陷:1.命令缓冲区作为GPU的命令处理器的指令缓冲,由于图形处理过程需要大量寄存器的写入操作,因此需要通过大量的寄存器写入命令,占用了大量的命令队列资源,并且也会影响GPU的命令处理器的指令调度工作。2.GPU硬件升级后,GPU中寄存器的划分或者数量会发生变化,因此GPU对应的驱动程序需要进行相应的更新,由于驱动程序的信息量很大,设计上也十分复杂,GPU硬件升级后需要对驱动程序进行较大的改动,费时费力。3.由于GPU为了提高执行效率会同时执行很多个图形处理命令,每个图形处理命令对应的图形处理过程都需要对大量的配置寄存器进行配置,GPU的渲染单元中各模块对应非常多的配置寄存器,占用GPU的资源。
本实施例提供的图形处理方法,通过调度模块和第一存储区来进行图形信息调度,使得CPU向GPU发送的命令仅包含图形处理的控制命令,不再包括寄存器写入命令,从而减少命令开销,命令处理模块也不需要再执行对寄存器的写入操作,降低命令处理模块的处理压力;由于图形处理过程中不再使用配置寄存器,GPU硬件进行更新后,驱动程序不需要进行寄存器方面的改动,从而减轻了驱动程序适配的负担;通过调度模块和第一存储区能够保证渲染单元处理所需的图形信息,避免了由于配置寄存器数量导致的渲染单元的资源浪费。
图5为本发明一实施例提供的图形处理装置的结构示意图。如图5所示,该图形处理装置50包括:命令处理模块501和调度模块502。
命令处理模块501,用于获取图形处理命令,其中,所述图形处理命令包含待处理图形的图形信息的存储地址。
调度模块502,用于根据所述存储地址获取所述图形信息,将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理。
本实施例通过命令处理模块获取图形处理命令,其中,图形处理命令包含待处理图形的图形信息的存储地址;调度模块根据存储地址获取该图形信息,将该图形信息存入第一存储区,并将该图形信息在第一存储区中的索引信息发送给图形处理器的渲染单元,以使渲染单元根据索引信息从第一存储区获取该图形信息,并根据该图形信息对待处理图形进行图形处理,能够将图形信息保存到第一存储区,并利用索引信息指示图形处理器的渲染单元从第一存储区获取图形信息,使渲染单元不需要通过配置寄存器就能获取所需的图形信息,从而避免图形处理过程中的寄存器写入命令,减少命令开销。
可选地,所述命令处理模块501用于:
从命令缓冲区读取所述图形处理命令,其中,所述图形处理命令为图形处理命令发起者写入所述命令缓冲区的。可选地,所述存储地址为所述图形信息在第二存储区的地址;
所述调度模块502用于:
根据所述存储地址从所述第二存储区获取所述图形信息,其中,所述图形信息为所述图形处理命令发起者写入所述第二存储区的。
可选地,所述命令缓冲区与所述第二存储区属于同一共享内存或者同一显存。
可选地,所述第一存储区为高速缓存区。
可选地,所述命令处理模块501还用于:
若获取到同步命令,则停止对图形处理命令的获取,直至接收到所述渲染单元返回的处理结束信号。
可选地,所述图形信息包括图形数据和控制状态信息。
可选地,所述图形数据包括以下中的至少一项:
顶点位置、顶点属性、常量信息、纹理信息;
所述控制状态信息包括以下中的至少一项:
光栅化状态、视口状态、剪裁状态、透明度状态、深度状态、模板状态、混合状态、着色器状态。
本发明实施例提供的图形处理装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本发明一实施例提供的图形处理设备的硬件结构示意图。如图6所示,本实施例提供的图形处理设备60包括:至少一个处理器601和存储器602。该图形处理设备60还包括通信部件603。其中,处理器601、存储器602以及通信部件603通过总线604连接。
在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行如上的图形处理方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的图形处理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种图形处理方法,其特征在于,应用于图形处理器,所述方法包括:
从命令缓冲区读取图形处理命令,其中,所述图形处理命令为图形处理命令发起者写入所述命令缓冲区的指令,所述图形处理命令包含待处理图形的图形信息的存储地址;所述存储地址为所述图形信息在第二存储区的地址;所述第二存储区为所述图形处理器外部的存储区域;
根据所述存储地址从所述第二存储区获取所述图形信息,其中,所述图形信息为所述图形处理命令发起者写入所述第二存储区的;
将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给所述图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理;所述第一存储区为所述图形处理器的存储器中的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述图形处理器包括命令处理模块、调度模块、所述存储器和所述渲染单元。
3.根据权利要求1所述的方法,其特征在于,所述命令缓冲区与所述第二存储区属于同一共享内存或者同一显存。
4.根据权利要求1所述的方法,其特征在于,所述第一存储区为高速缓存区。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若获取到同步命令,则停止对所述图形处理命令的获取,直至接收到所述渲染单元返回的处理结束信号。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述图形信息包括图形数据和控制状态信息。
7.根据权利要求6所述的方法,其特征在于,所述图形数据包括以下中的至少一项:
顶点位置、顶点属性、常量信息、纹理信息;
所述控制状态信息包括以下中的至少一项:
光栅化状态、视口状态、剪裁状态、透明度状态、深度状态、模板状态、混合状态、着色器状态。
8.一种图形处理装置,其特征在于,包括:
命令处理模块,用于从命令缓冲区读取图形处理命令,其中,所述图形处理命令为图形处理命令发起者写入所述命令缓冲区的指令,所述图形处理命令包含待处理图形的图形信息的存储地址;所述存储地址为所述图形信息在第二存储区的地址;所述第二存储区为图形处理器外部的存储区域;
调度模块,用于根据所述存储地址从所述第二存储区获取所述图形信息,
将所述图形信息存入第一存储区,并将所述图形信息在所述第一存储区中的索引信息发送给所述图形处理器的渲染单元,以使所述渲染单元根据所述索引信息从所述第一存储区获取所述图形信息,并根据所述图形信息对所述待处理图形进行图形处理;其中,所述图形信息为所述图形处理命令发起者写入所述第二存储区的;所述第一存储区为所述图形处理器的存储器中的存储空间。
9.一种图形处理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的图形处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的图形处理方法。
CN201910657411.0A 2019-07-19 2019-07-19 图形处理方法、装置、设备及存储介质 Active CN110415161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910657411.0A CN110415161B (zh) 2019-07-19 2019-07-19 图形处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910657411.0A CN110415161B (zh) 2019-07-19 2019-07-19 图形处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110415161A CN110415161A (zh) 2019-11-05
CN110415161B true CN110415161B (zh) 2023-06-27

Family

ID=68362214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910657411.0A Active CN110415161B (zh) 2019-07-19 2019-07-19 图形处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110415161B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210757B2 (en) * 2019-12-13 2021-12-28 Advanced Micro Devices, Inc. GPU packet aggregation system
CN111080505B (zh) * 2019-12-27 2024-04-12 芯瞳半导体技术(山东)有限公司 一种提高图元装配效率的方法、装置及计算机存储介质
CN111880916B (zh) * 2020-07-27 2024-08-16 长沙景嘉微电子股份有限公司 Gpu中多绘制任务处理方法、装置、终端、介质及主机
CN117724768A (zh) * 2020-08-28 2024-03-19 格兰菲智能科技有限公司 电子装置及其命令数量减少方法
CN112328198B (zh) * 2020-11-02 2022-08-26 长沙景嘉微电子股份有限公司 图形处理器的控制、显示方法、装置、存储介质、电子装置
CN114529444B (zh) * 2022-04-22 2023-08-11 南京砺算科技有限公司 图形处理模块、图形处理器以及图形处理方法
CN117291788B (zh) * 2022-06-17 2024-10-18 象帝先计算技术(重庆)有限公司 图形处理方法、系统、装置及设备
CN117670642A (zh) * 2022-09-07 2024-03-08 象帝先计算技术(重庆)有限公司 图像渲染方法、图形处理器、图形处理系统、装置及设备
CN118035163B (zh) * 2024-04-10 2024-08-06 深圳中微电科技有限公司 一种gpu实时处理数据的方法、系统及存储介质
CN118262029B (zh) * 2024-05-30 2024-08-13 摩尔线程智能科技(北京)有限责任公司 渲染细分方法、电子设备、存储介质及计算机程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001075804A1 (en) * 2000-03-31 2001-10-11 Intel Corporation Tiled graphics architecture
CN109509139A (zh) * 2017-09-14 2019-03-22 龙芯中科技术有限公司 顶点数据处理方法、装置及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952588B2 (en) * 2006-08-03 2011-05-31 Qualcomm Incorporated Graphics processing unit with extended vertex cache
US9767595B2 (en) * 2013-05-02 2017-09-19 Arm Limited Graphics processing systems
US10552934B2 (en) * 2016-07-01 2020-02-04 Intel Corporation Reducing memory latency in graphics operations
US10013734B1 (en) * 2017-04-01 2018-07-03 Intel Corporation Programmable controller and command cache for graphics processors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001075804A1 (en) * 2000-03-31 2001-10-11 Intel Corporation Tiled graphics architecture
CN109509139A (zh) * 2017-09-14 2019-03-22 龙芯中科技术有限公司 顶点数据处理方法、装置及设备

Also Published As

Publication number Publication date
CN110415161A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110415161B (zh) 图形处理方法、装置、设备及存储介质
CN109564695B (zh) 用于高效3d图形流水线的装置和方法
CN105321199B (zh) 图形处理流水线及其操作方法与介质
US9767595B2 (en) Graphics processing systems
US8698828B2 (en) Graphics processing systems
US7876328B2 (en) Managing multiple contexts in a decentralized graphics processing unit
CN105427236A (zh) 一种图像渲染方法及装置
US20130127858A1 (en) Interception of Graphics API Calls for Optimization of Rendering
US10127626B1 (en) Method and apparatus improving the execution of instructions by execution threads in data processing systems
TW201305829A (zh) 最大化圖形處理器中之平行處理之技術
US20140327684A1 (en) Graphics processing systems
CN111080761B (zh) 一种渲染任务的调度方法、装置及计算机存储介质
US6985151B1 (en) Shader pixel storage in a graphics memory
US10803547B2 (en) Graphics processing systems using a subset of pipeline stages
US20190108610A1 (en) Loading data into a tile buffer in graphics processing systems
US8736624B1 (en) Conditional execution flag in graphics applications
US8243096B2 (en) Method and apparatus for generating a plurality of stencil reference values for a corresponding plurality of pixels or pixel samples
CN113838180A (zh) 一种渲染指令处理方法及其相关设备
US11734869B2 (en) Graphics processing
CN104933752B (zh) 一种计算机系统、图形处理单元及其图形处理方法
WO2021248706A1 (zh) 深度抗锯齿数据读取方法、装置、计算机程序和可读介质
CN115408305B (zh) 一种基于dma重定向的图形渲染方式检测方法
US8237725B1 (en) Vertex cache map mode for per-vertex state changes
US7508397B1 (en) Rendering of disjoint and overlapping blits
CN115311120A (zh) 图形处理系统

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220822

Address after: 230088 204-b6, building 1, No. 5089, Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Applicant after: Longxin Zhongke (Hefei) Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: Loongson Zhongke Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant