CN104715443A - 图形处理单元、系统芯片和数据处理系统 - Google Patents
图形处理单元、系统芯片和数据处理系统 Download PDFInfo
- Publication number
- CN104715443A CN104715443A CN201410771945.3A CN201410771945A CN104715443A CN 104715443 A CN104715443 A CN 104715443A CN 201410771945 A CN201410771945 A CN 201410771945A CN 104715443 A CN104715443 A CN 104715443A
- Authority
- CN
- China
- Prior art keywords
- pel
- observability
- positional information
- coordinate
- impact damper
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种图形处理单元、系统芯片和数据处理系统。所述图形处理单元包括:图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;以及可见性测试机,其被配置为基于第二图元的位置信息和第一图元的三角形关联信息来执行可见性测试,并且在操作光栅化器之前,基于可见性测试的结果去除第二图元。
Description
相关申请的交叉引用
本申请要求于2013年12月13日向韩国知识产权局提交的韩国专利申请No.10-2013-0155734的优先权,该申请的内容以引用方式全文并入本文中。
技术领域
本发明构思的示例实施例涉及图形处理单元(GPU)、包括该GPU的系统芯片(SoC)和包括该图形处理单元的数据处理系统。更具体地说,本发明构思的示例实施例涉及能够减小计算量和功耗的GPU及其操作方法。
背景技术
GPU被配置为在显示器上呈现待显示对象的图像。近来,GPU已发展为执行曲面细分(tessellation)操作和几何着色,以在呈现对象的图像的处理期间在显示器上更精细地表达将待显示对象的图像。
GPU可通过执行曲面细分操作和几何着色来针对待显示对象的图像产生多个图元,并且对所述多个图元执行额外操作。然而,GPU执行该额外操作所需的计算量相当高,因此极大地增加了功耗。
发明内容
本发明构思的示例实施例提供了一种图形处理单元(GPU)、包括该GPU的系统芯片(SoC)和包括该GPU的数据处理系统,该GPU能够通过基于与图元相关的一些信息预先去除不可见图元来减少计算量和功耗。
根据本发明构思的一个方面,一种GPU包括:图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;以及可见性测试机,其被配置为基于第一图元的三角形关联信息和第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于可见性测试的结果去除第二图元。
在一些实施例中,第一图元的位置信息可包括第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且第二图元的位置信息可包括第二图元的各个顶点的X坐标、Y坐标和Z坐标。
在一些实施例中,可见性测试机可基于第二图元的位置信息以及第一图元的位置信息和三角形关联信息来确定第二图元是否被包括在第一图元中,并且当确定第二图元被包括在第一图元中时,将第一图元的各顶点的Z坐标与第二图元的各顶点的Z坐标进行比较。
在一些实施例中,所述GPU还可包括:更新确定单元,其被配置为基于可见性测试的结果来确定是否将第二图元的位置信息存储在可见性缓冲器中;以及更新单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中。
在一些实施例中,所述GPU还可包括三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息并将三角形关联信息发送至可见性缓冲器或更新单元。
在一些实施例中,所述GPU还可包括初始三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息。
在一些实施例中,所述GPU还可包括三角形设置单元,其被配置为接收第二图元的三角形关联信息并产生第二图元的三角形设置信息。
在一些实施例中,更新确定单元可将第二图元的面积与阈值面积进行比较、将第二图元的X轴长度与阈值X轴长度进行比较并且将第二图元的Y轴长度与阈值Y轴长度进行比较。
在一些实施例中,为了基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中,更新单元可基于下列中的至少一项将与第二图元有关的信息存储在可见性缓冲器中:屏幕空间是否被划分为多个区、第二图元与屏幕空间的多个区之间的包含关系以及屏幕空间的多个区之间的层次关系。
根据本发明构思的另一方面,一种GPU包括:图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;可见性测试机,其被配置为基于存储在可见性缓冲器中的第一图元的三角形关联信息和第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于可见性测试的结果去除第二图元;更新确定单元,其被配置为基于可见性测试的结果来确定是否将第二图元的位置信息存储在可见性缓冲器中;以及更新单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中。
在一些实施例中,第一图元的位置信息可包括第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且第二图元的位置信息可包括第二图元的各个顶点的X坐标、Y坐标和Z坐标。
在一些实施例中,可见性测试机可基于第二图元的位置信息以及第一图元的位置信息和三角形关联信息来确定第二图元是否被包括在第一图元中,并且当确定第二图元被包括在第一图元中时,将第一图元的各顶点的Z坐标与第二图元的各顶点的Z坐标进行比较。
在一些实施例中,所述GPU还可包括三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息并将三角形关联信息发送至可见性缓冲器或更新单元。
在一些实施例中,所述GPU还可包括初始三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息。
在一些实施例中,所述GPU还可包括三角形设置单元,其被配置为接收第二图元的三角形关联信息并产生第二图元的三角形设置信息。
在一些实施例中,更新确定单元可将第二图元的面积与阈值面积进行比较、将第二图元的X轴长度与阈值X轴长度进行比较并且将第二图元的Y轴长度与阈值Y轴长度进行比较。
在一些实施例中,为了基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中,更新单元可基于下列中的至少一项将与第二图元有关的信息存储在可见性缓冲器中:屏幕空间是否被划分为多个区、第二图元与屏幕空间的多个区之间的包含关系以及屏幕空间的多个区之间的层次关系。
根据本发明构思的另一方面,一种系统芯片(SoC)包括:存储器接口,其被配置为与包括可见性缓冲器的存储器交换数据,所述可见性缓冲器被配置为存储被确定为可见图元的各个第一图元中的每一个的位置信息和三角形关联信息;GPU,其被配置为处理从存储器接口接收的数据,并输出经处理的数据;以及显示器控制器,其被配置为将经处理的数据发送至显示器。GPU包括:图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;以及可见性测试机,其被配置为基于第一图元的三角形关联信息和第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于可见性测试的结果去除第二图元。
在一些实施例中,第一图元的位置信息可包括第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且第二图元的位置信息可包括第二图元的各个顶点的X坐标、Y坐标和Z坐标。
在一些实施例中,可见性测试机可基于第二图元的位置信息以及第一图元的位置信息和三角形关联信息来确定第二图元是否被包括在第一图元中,并且当确定第二图元被包括在第一图元中时,将第一图元的各顶点的Z坐标与第二图元的各顶点的Z坐标进行比较。
在一些实施例中,所述SoC还可包括:更新确定单元,其被配置为基于可见性测试的结果来确定是否将第二图元的位置信息存储在可见性缓冲器中;以及更新单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中。
在一些实施例中,所述SoC还可包括三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息并将三角形关联信息发送至可见性缓冲器或更新单元。
在一些实施例中,所述SoC还可包括初始三角形设置单元,其被配置为基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息。
在一些实施例中,所述SoC还可包括三角形设置单元,其被配置为接收第二图元的三角形关联信息并产生第二图元的三角形设置信息。
根据本发明构思的另一方面,一种数据处理系统包括:存储器,其包括可见性缓冲器,所述可见性缓冲器被配置为存储被确定为可见图元的各个第一图元中的每一个的位置信息和三角形关联信息;数据处理装置,其被配置为处理从存储器接收的数据,并输出经处理的数据;以及显示器控制器,其被配置为接收经处理的数据并显示与经处理的数据相对应的图像。所述数据处理装置包括图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;以及可见性测试机,其被配置为基于第一图元的三角形关联信息和第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于操作光栅化器之前的可见性测试的结果去除第二图元。
根据本发明构思的另一方面,一种数据处理系统包括:存储器,其包括可见性缓冲器,所述可见性缓冲器存储被确定为可见图元的各个第一图元中的每一个的位置信息和三角形关联信息;图形处理单元,其处理从存储器接收的数据,并输出经处理的数据;图元装配器,其产生第一图元的位置信息和第二图元的位置信息;光栅化器,其将多个图元转变为多个像素;以及可见性测试机,其基于第一图元的三角形关联信息和第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于可见性测试的结果去除第二图元。
在一些实施例中,第一图元的位置信息可包括第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且第二图元的位置信息可包括第二图元的各个顶点的X坐标、Y坐标和Z坐标。
在一些实施例中,可见性测试机可基于第二图元的位置信息以及第一图元的位置信息和三角形关联信息来确定第二图元是否被包括在第一图元中,并且当确定第二图元被包括在第一图元中时,将第一图元的各顶点的Z坐标与第二图元的各顶点的Z坐标进行比较。
在一些实施例中,所述数据处理系统还可包括:更新确定单元,其基于可见性测试的结果来确定是否将第二图元的位置信息存储在可见性缓冲器中;以及更新单元,其基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果来将与第二图元有关的信息存储在可见性缓冲器中。
在一些实施例中,所述数据处理系统还可包括三角形设置单元,其基于确定是否将第二图元的位置信息存储在可见性缓冲器中的结果,从第二图元的位置信息产生第二图元的三角形关联信息并将三角形关联信息发送至可见性缓冲器或更新单元。
附图说明
通过如附图中所示的本发明构思的实施例的更加具体的描述,本发明构思的以上和其它特征和优点将变得清楚,图中相同的附图标记在不同的附图中始终指代相同的部分。附图不一定按照比例绘制,而是重点在于示出本发明构思的原理。
图1是包括根据本发明构思的示例实施例的图形处理单元(GPU)的数据处理系统的框图。
图2是根据本发明构思的示例实施例的图1的存储器的示意性框图。
图3是根据本发明构思的示例实施例的图1的GPU的示意性框图。
图4是根据本发明构思的示例实施例的图3的图元剔除单元的框图。
图5是根据本发明构思的示例实施例的图3的图元剔除单元的框图。
图6是示出根据本发明构思的示例实施例的图4和图5中所示的可见性测试机的操作的示图。
图7是示出根据本发明构思的示例实施例的图4和图5的更新确定单元的操作的示图。
图8是示出根据本发明构思的示例实施例的图4和图5的更新单元的操作的示图。
图9是示出根据本发明构思的示例实施例的图4和图5的更新单元的操作的示图。
图10是根据本发明构思的示例实施例的操作GPU的方法的流程图。
图11是根据本发明构思的示例实施例的操作GPU的方法的流程图。
图12是根据本发明构思的示例实施例的操作GPU的方法的流程图。
图13是根据本发明构思的示例实施例的执行图10至图12的可见性测试的操作的详细流程图。
图14是根据本发明构思的示例实施例的确定是否将第二图元的位置信息存储在图11和图12的可见性缓冲器中的操作的详细流程图。
具体实施方式
下文中,将参照其中示出了本发明构思的一些示例实施例的附图更加完全地描述各个示例实施例。然而,本发明构思可按照许多不同的形式实现,而不应理解为限于本文阐述的示例实施例。
应该理解,当一个元件被称作“在”另一元件或层“上”、“连接至”或“耦接至”另一元件或层时,所述一个元件可直接在所述另一元件或层上、连接至或耦接至所述另一元件或层,或者可存在中间元件或层。相反,当一个元件被称作“直接在”另一元件或层“上”、“直接连接至”或“直接结合至”另一元件或层时,则不存在中间元件或层。相同的附图标记始终指代相同元件。如本文所用的那样,术语“和/或”包括相关所列项之一或多个的任何和所有组合。
应该理解,虽然本文中可使用术语第一、第二、第三等来描述各个元件、组件、区、层和/或部分,但是这些元件、组件、区、层和/或部分不应被这些术语限制。这些术语仅用于将一个元件、组件、区、层和/或部分与另一个元件、组件、区、层和/或部分区分开。这样,下面讨论的第一元件、第一组件、第一区、第一层或第一部分可被称作第二元件、第二组件、第二区、第二层或第二部分,而不脱离本发明构思的教导。
本文所用的术语仅是为了描述特定示例实施例,而不旨在限制本发明构思。如本文所用的那样,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文清楚地指明了不是这样。还应该理解,当术语“包含”和/或“包含……的”或“包括”和/或“包括……的”用于本说明书中时,指明了存在所列特征、区、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、区、整体、步骤、操作、元件、组件和/或它们的组。
为了方便描述,本文中可使用诸如“在……下方”、“在……之下”、“下”、“在……之上”、“上”等的空间相对术语,以描述附图中所示的一个元件或特征与另一元件或特征的关系。应该理解,所述空间相对术语旨在涵盖使用或操作中的装置的除图中所示的取向之外的不同取向。例如,如果图中的装置颠倒,则被描述为“在其它元件或特征之下”或“在其它元件或特征下方”的元件将因此被取向为“在其它元件或特征之上”。这样,示例性术语“在……之下”可涵盖在……之上和在……之下这两个取向。装置可按照其它方式取向(旋转90度或位于其它取向),并且本文所用的空间相对描述语将相应地解释。
本文参照作为理想示例性实施例(和中间结构)的示意图的剖视图来描述示例实施例。这样,作为例如制造技术和/或公差的结果,可以预见附图中的形状的变化。因此,示例实施例不应被理解为限于本文示出的区的具体形状,而是包括例如由制造工艺导致的形状的偏差。例如,示为矩形的注入区将通常具有圆形或弯曲特征,和/或在其边缘具有注入浓度的梯度而非从注入区至非注入区的二元变化。同样地,通过注入形成的掩埋区可在掩埋区与通过其进行注入的表面之间的区中导致一些注入。因此,图中示出的区实际上是示意性的,并且它们的形状不旨在示出装置的区的实际形状,并且不旨在限制本发明构思的范围。
图1是包括根据本发明构思的示例实施例的图形处理单元(GPU)100的数据处理系统10的框图。
参照图1,数据处理系统10可包括数据处理装置50、显示器200和存储器300。
数据处理系统10可包括个人计算机(PC)、便携式电子装置(或移动装置)、电子装置等,其包括能够显示图像数据的显示器200。
便携式电子装置(即,数据处理系统10)可包括笔记本计算机、移动电话、智能电话、平板个人计算机(PC)、移动互联网装置(MID)、个人数字助理(PDA)、企业数字助理(EDA)、数字照相机、数字摄相机、便携式多媒体播放器(PMP)、个人/便携式导航装置(PND)、手持游戏机、电子书等。
数据处理装置50可控制显示器200和/或存储器300。也就是说,数据处理装置50可控制数据处理系统10的整体操作。
数据处理装置50可包括诸如主板之类的印刷电路板(PCB)、集成电路(IC)、系统芯片(SoC)等。例如,数据处理装置50可为应用处理器。
数据处理装置50可包括中央处理单元(CPU)60、只读存储器(ROM)70、随机存取存储器(RAM)80、显示器控制器90、存储器接口95、GPU 100和总线55。
CPU 60可控制数据处理装置50的整体操作。例如,CPU 60可控制各种元件(即,ROM 70、RAM 80、显示器控制器90、存储器接口95和GPU 100)的操作。也就是说,CPU 60可通过总线55与各种元件(即,ROM 70、RAM 80、显示器控制器90、存储器接口95和GPU100)通信。
CPU 60能够读和执行程序指令。
例如,可在CPU 60的控制下将存储在存储器(即,ROM 70、RAM80或存储器300)中的程序和/或数据加载到包括在CPU 60中的存储器(例如,高速缓冲存储器(未示出))中。
在一些实施例中,CPU 60可包括多核。所述多核是包括两个或更多个独立的核的单个运算部件。
ROM 70可永久地存储程序和/或数据。
在一些实施例中,ROM 70可包括可擦除可编程只读存储器(EPROM)或电可擦除可编程ROM(EEPROM)。
RAM 80可暂时存储程序、数据和/或指令。例如,可在CPU 60或GPU 100的控制下或者在ROM 70中存储的启动码的控制下,将存储在ROM 70中的程序和/或数据暂时存储在RAM 80中。
在一些实施例中,RAM 80可实现为动态RAM(DRAM)或静态RAM(SRAM)。
GPU 100可执行关于图形处理的操作,以减小CPU 60上的负载。
显示器控制器90可控制显示器200的操作。
例如,显示器控制器90可将从存储器300输出的图像数据(例如,静止图像数据、运动图像数据、三维(3D)图像数据或立体3D图像数据)发送至显示器200。
存储器接口95可通过访问存储器300来用作存储器控制器。例如,数据处理装置50和存储器300可经存储器接口95彼此通信。也就是说,数据处理装置50和存储器300可利用存储器接口95彼此交换数据。
显示器200可显示与从显示器控制器90输出的图像数据相对应的图像。
例如,显示器200可包括触摸屏、液晶显示器(LCD)、薄膜晶体管液晶显示器(TFT-LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、有源矩阵OLED(AMOLED)显示器、柔性显示器等。
存储器300可存储将被CPU 60和/或GPU 100处理的程序和/或数据(或图像数据)。
存储器300可包括易失性存储器装置或非易失性存储器装置。
如果存储器300包括易失性存储器装置,则该易失性存储器装置可包括DRAM、SRAM、晶闸管RAM(T-RAM)、零电容RAM(Z-RAM)、双晶体管RAM(TTRAM)等。
如果存储器300包括非易失性存储器装置,则该非易失性存储器装置可包括EEPROM、闪速存储器、磁性RAM(MRAM)、自旋转矩(STT)-MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(RRAM)、纳米管RRAM、聚合物RAM(PoRAM)、纳米浮置栅极存储器(nFGm)、全息存储器、分子电子存储器装置、绝缘体电阻变化存储器等。
另外,如果存储器300是非易失性存储器装置,则该非易失性存储器装置可包括基于闪存的存储器装置,例如,安全数字(SD)卡、多媒体卡(MMC)、嵌入式MMC(eMMC)、通用串行总线(USB)闪速驱动器、通用闪存(UFS)等。
另外,如果存储器300是非易失性存储器装置,则该非易失性存储器装置可包括硬盘驱动器(HDD)或固态驱动器(SSD)。
图2是根据本发明构思的示例实施例的图1的存储器300的示意性框图。
参照图1和图2,存储器300可包括索引缓冲器310、顶点缓冲器320、统一缓冲器330、列表缓冲器340、纹理缓冲器360、深度/模板缓冲器370、颜色缓冲器380、帧缓冲器390和可见性缓冲器395。
索引缓冲器310可存储在各个缓冲器(即,顶点缓冲器320、统一缓冲器330、列表缓冲器340、纹理缓冲器360、深度/模板缓冲器370、颜色缓冲器380、帧缓冲器390和可见性缓冲器395)中存储的数据的索引。例如,索引可包括数据的属性信息(例如,名称、大小等)、数据存储的位置的信息(例如,顶点缓冲器320、统一缓冲器330、列表缓冲器340、纹理缓冲器360、深度/模板缓冲器370、颜色缓冲器380、帧缓冲器390和可见性缓冲器395的位置信息)等。
顶点缓冲器320可存储与顶点的属性(例如,位置、颜色、法向矢量和纹理坐标)相关的顶点数据。
顶点缓冲器320可存储与通过由GPU 100执行曲面细分操作而产生的曲面细分顶点的属性(例如,位置、颜色、法向矢量和纹理坐标)相关的顶点数据。
顶点缓冲器320还可存储与用于通过GPU 100执行曲面细分操作的小片中所包括的每一个控制点的属性(例如,位置、法向矢量等)相关的小片数据或控制点数据。
在一些实施例中,顶点数据可包含与图元的每一个顶点的属性(例如,位置、颜色、法向矢量和纹理坐标)相关的数据。例如,可将图元理解为顶点、线和多边形。
在一些实施例中,顶点数据可包含与小片中所包括的每一个控制点的属性(例如,位置、法向矢量等)相关的小片数据或控制点数据。例如,可利用控制点及其参数方程来定义小片。
统一缓冲器330可存储包括在定义了小片(例如,曲面或表面)的参数方程中的常量和/或用于着色程序的常量。
列表缓冲器340可存储列表,在所述列表中,对通过GPU 100执行分块(tiling)操作而获得的各个图块(tile)与包括在每一个图块中的数据(例如,顶点数据、小片数据或经曲面细分的顶点数据)的索引进行匹配。
纹理缓冲器360可以图块的形式存储多个纹理元素。
深度/模板缓冲器370可存储与通过GPU 100处理的图像(例如,通过GPU 100呈现的图像)中所包括的像素深度相关的深度数据和与像素的模板相关的模板数据。
颜色缓冲器380可存储例如与颜色相关的颜色数据,用于将通过GPU 100执行的混合操作。
帧缓冲器390可存储与通过GPU 100最终处理的像素相关的像素数据或图像数据。
可见性缓冲器395可存储被确定为可见图元(即,遮挡物)的每一个图元的位置信息和三角形关联信息。
位置信息可为每一个图元的各个顶点的3D空间坐标(X坐标、Y坐标和Z坐标)。三角形关联信息可为通过各顶点形成的三角形的各条边的矢量。
三角形关联信息不受特定数学公式所限制,而是用于定义除位置信息以外的各图元之间的关联的各种信息的通用术语。
图3是根据本发明构思的示例实施例的图1的GPU 100的示意性框图。
参照图1至图3,GPU 100接收利用CPU 60和/或存储器接口95从存储器300输出的数据,或将通过GPU 100处理的数据发送至存储器300,但是为了方便解释,在此省略对CPU 60和存储器接口95的描述。
GPU 100可包括顶点着色器120、外壳着色器130、曲面细分器140、域着色器145、几何着色器150、图元装配器155、图元剔除单元160、图块划分(binning)单元170、三角形设置单元175、光栅化器180、像素着色器190和输出合并器195。
根据本发明构思的示例实施例,不包括图元剔除单元160的各个元件(即,GPU 100的顶点着色器120、外壳着色器130、曲面细分器140、域着色器145、几何着色器150、图元装配器155、图块划分单元170、三角形设置单元175、光栅化器180、像素着色器190和输出合并器195)的功能和操作可与包括在微软的Direct3DTM 11的图形流水线(graphics pipeline)中并具有与这些元素的名称相同名称的各个阶段的功能和操作基本相同。
顶点着色器120可接收和处理从顶点缓冲器320输出的顶点数据。例如,顶点着色器120可例如通过变换、渐变、蒙皮(skinning)、照明等来处理顶点数据。
外壳着色器130可接收从顶点着色器120输出的经处理的顶点数据,并确定用于与接收到的经处理的顶点数据相对应的小片的曲面细分因数。
例如,通过外壳着色器130确定的曲面细分因数理可以解为与接收到的经处理的顶点数据相对应的小片被精细表达的详细程度。
外壳着色器130可将参数方程、曲面细分因数以及包括在接收到的经处理的顶点数据中的顶点或控制点输出至曲面细分器140。
曲面细分器140可从外壳着色器130接收参数方程、曲面细分因数以及包括在接收到的经处理的顶点数据中的顶点或控制点,并基于通过外壳着色器130确定的曲面细分因数来对曲面细分域坐标进行曲面细分。例如,曲面细分域坐标可由坐标(u,v)或(u,v,w)定义。
曲面细分器140可将经曲面细分的域坐标输出至域着色器145。
域着色器145可从曲面细分器140接收经曲面细分的域坐标,并通过基于曲面细分因数和参数方程计算与经曲面细分的域坐标相对应的小片的空间坐标来产生经曲面细分的顶点。例如,可通过坐标(x,y,z)定义空间坐标。另外,与经曲面细分的顶点相关的顶点数据可为经曲面细分的顶点数据,并且可被存储在顶点缓冲器320中,并输出至几何着色器150。
几何着色器150可通过将邻近的顶点加至从域着色器145输出的经曲面细分的顶点或者从域着色器145输出的经曲面细分的顶点中去除邻近的顶点来产生新的经曲面细分的顶点。
图元装配器155可基于从几何着色器150输出的新的经曲面细分的顶点来产生图元,即,点、线和三角形。与通过图元装配器155产生的图元相关的信息可包括位置信息,例如,作为与图元的位置属性相关的信息的3D空间坐标。例如,可通过坐标(x,y,z)定义空间坐标。
图元装配器155可将包括每一个图元的位置信息的图元数据输出至图元剔除单元160。
图元剔除单元160可接收从图元装配器155输出的图元数据,并基于每一个图元的位置信息以及存储在可见性缓冲器395中的遮挡物的位置信息和三角形关联信息来去除不可见图元。另外,图元剔除单元160可基于每一个图元的位置信息以及遮挡物的位置信息和三角形关联信息来确定在可见性缓冲器395中是否要更新被确定为可见图元的图元。将参照图4至图9来详细描述图元剔除单元160的操作。
图元剔除单元160可将与图元有关的图元数据输出至图块划分单元170,而不输出针对不可见图元的图元数据。
图3所示的图元剔除单元160的位置仅是一个示例,而不限于此。
图块划分单元170可将从图元剔除单元160输出的图元数据分块,并将分块的图元数据输出至三角形设置单元175。
例如,图块划分单元170可将与各图元数据片相对应的图元投影到与显示器200相对应的虚拟空间(即,屏幕空间)上,基于被分配至每一个图元的边界框将屏幕空间划分为图块,并形成列表,在该列表中对每一个图块与每一个图块中所包括的图元的索引进行匹配。图块划分单元170可将列表存储在列表缓冲器340中。
在一些实施例中,可省略图块划分单元170。
三角形设置单元175可基于分块的图元数据来计算诸如三角形关联信息和/或增量之类的信息,即,三角形设置信息。需要计算出的信息来操作光栅化器180或像素着色器190。三角形设置单元175可将包括上述各种信息的经处理的图元数据输出至光栅化器180。
在一些实施例中,如图4所示,当图元剔除单元160不包括如图5所示的初始三角形设置单元163时,三角形设置单元175可产生各个遮挡物的三角形设置信息,并将包括在三角形设置信息中的三角形关联信息存储在可见性缓冲器395中。三角形设置单元175在图4的更新单元165的控制下进行操作。在一些实施例中,三角形设置单元175可将每一个遮挡物的三角形设置信息发送至图4的更新单元165。在一些实施例中,如图5所示,当图元剔除单元160包括初始三角形设置单元163时,三角形设置单元175可避开计算每一个遮挡物的三角形关联信息,而是通过初始三角形设置单元163来产生这些信息。然而,虽然三角形设置单元175不计算每一个遮挡物的三角形关联信息,但是三角形设置单元175可通过产生诸如增量之类的信息来产生每一个遮挡物的三角形关联信息。
光栅化器180可基于从三角形设置单元175输出的经处理的图元数据将多个图元转变为多个像素。
像素着色器190可接收来自光栅化器180的输出并处理从光栅化器180输出的多个像素的效果。例如,所述多个像素的效果可为所述多个像素的颜色或所述多个像素之间的对比度。
在一些实施例中,像素着色器190可执行计算操作以处理所述效果。计算操作可包括纹理映射、颜色格式转换等。
通过像素着色器190执行的纹理映射可为对从纹理缓冲器360输出的多个纹理元素进行映射的操作,以便为从光栅化器180输出的多个像素增加细节。
通过像素着色器190执行的颜色格式转换可为将从光栅化器180输出的多个像素的格式转换为RGB格式、YUV格式、YCoCg格式等的操作。
输出合并器195可确定在利用与先前像素相关的信息处理的多个像素当中将在图1的显示器200上显示的最终像素,并产生确定的最终像素的颜色。例如,与先前像素相关的信息可为深度信息、模板信息、颜色信息等。
例如,在一些实施例中,输出合并器195可基于从深度/模板缓冲器370输出的深度数据对经处理的多个像素执行深度测试,并基于执行深度测试的结果来确定最终像素。
在一些实施例中,输出合并器195可基于从深度/模板缓冲器370输出的模板数据对经处理的多个像素执行模板测试,并基于执行模板测试的结果来确定最终像素。
在一些实施例中,输出合并器195可基于从颜色缓冲器380输出的颜色数据对确定的最终像素进行混合。
输出合并器195可将与确定的最终像素相关的像素数据或图像数据输出至帧缓冲器390。
由输出合并器195输出的像素数据可被存储在帧缓冲器390中,并利用显示器控制器90显示在显示器200上。
图4是根据本发明构思的示例实施例的作为图3的图元剔除单元160的示例实施例的图元剔除单元160-1的框图。图5是根据本发明构思的示例实施例的作为图3的图元剔除单元160的示例实施例的图元剔除单元160-2的框图。图6是示出根据本发明构思的示例实施例的图4和图5所示的可见性测试机161的操作的示图。图7是示出根据本发明构思的示例实施例的图4和图5的更新确定单元162的操作的示图。图8是示出根据本发明构思的示例实施例的图4和图5的更新单元165的操作的示图。图9是示出根据本发明构思的示例实施例的图4和图5的更新单元165的操作的示图。
参照图1至图9,图4的图元剔除单元160-1可包括可见性测试机161、更新确定单元162、高速缓冲存储器164和更新单元165。
可见性测试机161可从图元装配器155接收图元数据。可见性测试机161可基于与图元数据相对应的图元的位置信息以及上传至高速缓冲存储器164的遮挡物的位置信息和三角形关联信息来执行可见性测试。
为了方便解释,将与当前输入至可见性测试机161的图元数据相对应的图元定义为第二图元,并且将用于对第二图元执行可见性测试的遮挡物定义为第一图元。
通过可见性测试机161执行的可见性测试可主要分为搜索处理、包含确定处理和深度比较处理。
在可见性测试的搜索处理中,可见性测试机161可在存储器300的可见性缓冲器395中搜索在位置方面与第二图元相关的第一图元,并将第一图元的位置信息和三角形关联信息上传至高速缓冲存储器164。例如,由于第二图元的位置信息包括第二图元的各个顶点的X坐标和Y坐标,因此可将其二维(2D)位置会与第二图元的2D位置重叠的各个第一图元的位置信息和三角形关联信息上传至高速缓冲存储器164。可利用将在下文中描述的更新可见性缓冲器395的方法来更有效地执行搜索处理。
在可见性测试的包含确定处理中,可见性测试机161可基于第二图元的位置信息以及第一图元的位置信息和三角形关联信息来确定第二图元是否包括在第一图元中。
在图6中,第一图元O包括三个顶点OA、OB和OC,第二图元P包括三个顶点VA、VB和VC。‘(第一顶点-第二顶点)’可定义为连接在第二顶点与第一顶点之间的矢量,(第一矢量×第二矢量)可定义为第一矢量和第二矢量的外积,并且(第一矢量·第二矢量)可定义为第一矢量和第二矢量的内积。另外,‘n’可定义为法向矢量。
当第一图元O的三个顶点OA、OB和OC以及第二图元P的三个顶点VA、VB和VC满足下面的公式1至公式3时,可见性测试机161可确定第二图元P被包括在第一图元O中。当第一图元O的三个顶点OA、OB和OC以及第二图元P的三个顶点VA、VB和VC不满足下面的公式1至公式3中的任一个时,可见性测试机161可确定第二图元P没有被包括在第一图元O中。
[公式1]
(OB-OA)×(VA-OA)·n≥0
[公式2]
(OC-OB)×(VB-OB)·n≥0
[公式3]
(OA-OC)×(VC-OC)·n≥0
公式1中的‘(OB-OA)’、公式2中的‘(OC-OB)’和公式3中的‘(OA-OC)’可对应于第一图元O的三角形关联信息。可从第一图元O的位置信息和第二图元P的位置信息来计算公式1中的‘(VA-OA)’、公式2中的‘(VB-OB)’和公式3中的‘(VC-OC)’。
在可见性测试的深度比较处理中,当第二图元P被包括在第一图元O中时,可见性测试机161可将第一图元O的各个顶点的Z坐标与第二图元P的各个顶点的Z坐标进行比较。
例如,参照图6,当第二图元P被包括在第一图元O中时,可见性测试机161可将第一图元O的各自三个顶点OA、OB和OC的Z坐标与第二图元P的各自三个顶点VA、VB和VC的Z坐标进行比较,以确定第二图元P是否被第一图元O遮挡。如果假设Z坐标的值越小与用户相距的距离就越短的话,则当第二图元P的三个顶点VA、VB和VC的Z坐标中的最小的一个大于第一图元O的三个顶点OA、OB和OC的Z坐标中的最大的一个时,可确定第二图元P被第一图元O遮挡。也就是说,如果第二图元P的三个顶点VA、VB和VC的Z坐标中的最小的一个大于第一图元O的三个顶点OA、OB和OC的Z坐标中的最大的一个,则第一图元O与用户相距的距离更短并遮挡第二图元P。
可按顺序执行搜索处理、包含确定处理和深度比较处理。然而,在一些实施例中,搜索处理、包含确定处理和深度比较处理可并行地执行。
当确定第二图元P被第一图元O遮挡时,也就是说,当第二图元P是不可见图元时,可见性测试机161可将第二图元P从图3所示的一系列图形流水线中去除。当确定第二图元P未被第一图元O遮挡时,也就是说,当第二图元P是可见图元时,可见性测试机161可将与第二图元P相关的信息输出至更新确定单元162。
更新确定单元162可基于执行可见性测试的结果来确定是否将第二图元P的位置信息存储在可见性缓冲器395中。也就是说,更新确定单元162基于执行可见性测试的结果来确定是否将第二图元P用作遮挡物。当第二图元P存储在可见性缓冲器395中时,存储的第二图元P可用作在后续处理中输入的另一第二图元的第一图元(遮挡物)。
在图7中,更新确定单元162可基于第二图元P的三个顶点VA、VB和VC的每一个的X坐标、Y坐标和Z坐标来计算第二图元P的面积Area、X轴长度Length1和Y轴长度Length2。
第二图元P的面积Area可为第二图元P的内面积。第二图元P的X轴长度Length1可为第二图元P的顶点VA、VB和VC的X坐标中的最大X坐标与最小X坐标之间的差。第二图元P的Y轴长度Length2可为第二图元P的顶点VA、VB和VC的Y坐标中的最大Y坐标与最小Y坐标之间的差。
另外,更新确定单元162可将计算出的第二图元P的面积Area与阈值面积进行比较,将计算出的第二图元P的X轴长度Length1与阈值X轴长度进行比较,并且将计算出的第二图元P的Y轴长度Length2与阈值Y轴长度进行比较。
如果第二图元P的面积Area、X轴长度Length1和Y轴长度Length2分别大于阈值面积、阈值X轴长度和阈值Y轴长度,则更新确定单元162可将第二图元P的位置信息存储在可见性缓冲器395中,并确定第二图元P将被用作遮挡物。也就是说,考虑到可见性缓冲器395的容量和通过可见性测试机161执行的计算量,仅使用其尺寸等于或大于预定尺寸的第二图元P作为遮挡物更加有效。
当确定将第二图元P用作遮挡物时,更新确定单元162可将与第二图元P有关的信息输出至更新单元165。当确定不将第二图元P用作遮挡物时,更新确定单元162可将与第二图元P有关的信息输出至图块划分单元170。
当确定接收到的与第二图元P有关的信息将被存储在可见性缓冲器395中时,更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395中。更新单元165基于下列中的至少一项将与第二图元P有关的信息存储在可见性缓冲器395中:屏幕空间是否被划分为多个区、第二图元P与屏幕空间的多个区之间的包含关系以及屏幕空间的多个区之间的层次关系。
当如图4所示图元剔除单元160不包括图5的初始三角形设置单元163时,与第二图元P有关的信息是第二图元P的位置信息。因此,更新单元165可将第二图元P的位置信息存储在可见性缓冲器395中,并控制如图3所示的三角形设置单元175将通过三角形设置单元175产生的第二图元P的三角形关联信息存储在可见性缓冲器395中。如上所述,在利用更新单元165控制三角形设置单元175的方法中,指示第二图元P是遮挡物的信息可被包括在被确定为遮挡物的第二图元P中。然而,本发明构思的示例实施例不限于此。在一些实施例中,更新单元165可沿着图4中的箭头指示的路径从三角形设置单元175接收通过三角形设置单元175产生的第二图元P的三角形关联信息,并将三角形关联信息与第二图元P的位置信息一起存储在可见性缓冲器395中。
当图元剔除单元160包括如图5所示的初始三角形设置单元163时,与第二图元P有关的信息是第二图元P的位置信息和三角形关联信息。更新单元165可将第二图元P的位置信息和三角形关联信息存储在可见性缓冲器395中。
当与第二图元P有关的信息被存储在可见性缓冲器395中时,更新单元165可将可见性缓冲器395看作一个区并将与第二图元P有关的信息存储在可见性缓冲器395中,而不将屏幕空间划分为多个区。
参照图8,为了将与第二图元P有关的信息存储在可见性缓冲器395中,更新单元165可将屏幕空间划分为多个区(例如,区R1至区R16),将可见性缓冲器395划分为多个区(例如,与屏幕空间的区R1至区R16相对应的各区),并将与第二图元P有关的信息存储在可见性缓冲器395的所述多个区中。
例如,当第二图元P按照如图8所示的方式布置在屏幕空间上时,更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的与屏幕空间的区R4、区R6至区R8、区R10至区R12和区R14至区R16相对应的各区中。
另外,更新单元165可根据第二图元P与屏幕空间的多个区R1至R16之间的包含关系来存储与第二图元P有关的信息。
例如,更新单元165可将与第二图元P有关的信息仅存储在可见性缓冲器395的与第二图元P的区完全重叠的屏幕空间的区R11所对应的区中,并且可不将与第二图元P有关的信息存储在可见性缓冲器395的屏幕空间的多个区R1至R16中的与第二图元P部分重叠的屏幕空间的区R4、区R6至区R8、区R10、区R12和区R14至区R16所对应的各区中。因此,可提高可见性缓冲器395关于其容量的效率。
在一些实施例中,更新单元165可基于可见性缓冲器395的屏幕空间的多个区R1至R16中的与第二图元P部分重叠的区所对应的区的面积来确定是否将与第二图元P有关的信息存储在可见性缓冲器395的该区中。
如图9所示,更新单元165可将屏幕空间划分为第一层次H1和第二层次H2,其中,第一层次H1被划分为m个区(例如,十六个区R1至R16),第二层次H2被划分为n个区(例如,四个区R21至R24)。更新单元165还可将可见性缓冲器395划分为与屏幕空间的各个第一层次H1和第二层次H2的区(例如,第一层次H1的区R1或第二层次H2的区R21)相对应的多个区,并且将与第二图元P有关的信息存储在可见性缓冲器395的区中。这里,‘m’和‘n’各自表示等于或大于‘1’的整数,并且m>n。在一些实施例中,可将屏幕空间划分为多于两个层次,并且示例实施例的区的数量‘m’和‘n’不限于此。
更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的第二图元P所在的屏幕空间的第一层次H1的m个区所对应的区中,或者存储在可见性缓冲器395的第二图元P所在的屏幕空间的第二层次H2的n个区所对应的区中。
例如,如果第二图元P位于如图9所示的屏幕空间中,则更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的与屏幕空间的第一层次H1的四个区R1、R2、R5和R6相对应的区中,或者可将与第二图元P有关的信息仅存储在可见性缓冲器395的与屏幕空间的第二层次H2的区R21相对应的区中。
因此,由于更新单元165根据第二图元P在屏幕空间上的尺寸和位置将与第二图元P有关的信息存储在可见性缓冲器395的按照层次布置的区中,因此可提高在可见性测试机161中使用的遮挡物的搜索速度以及可见性缓冲器395关于其容量的效率。
与图4的图元剔除单元160-1不同,图5的图元剔除单元160-2还可包括初始三角形设置单元163。
初始三角形设置单元163可从通过更新确定单元162确定为将被用作遮挡物的第二图元P的位置信息中产生第二图元P的三角形关联信息。可通过更新单元165将通过初始三角形设置单元163产生的第二图元P的三角形关联信息存储在可见性缓冲器395的对应的区中。当将第二图元P的三角形关联信息发送至三角形设置单元175或存储在可见性缓冲器395中时,三角形设置单元175可跳过对已被确定为将用作遮挡物的第二图元P的三角形关联信息执行操作。
因此,在确定图元的位置之后,根据本发明构思的示例实施例的GPU能够基于预先存储的遮挡物的三角形关联信息来选择性地去除图元。因此,可减少不期望的工作负担和/或不期望的数据。因此,GPU 100的整体性能可提高,并且GPU 100的功耗可减小。
图10是根据本发明构思的示例实施例的操作GPU的方法的流程图。图11是根据本发明构思的示例实施例的操作GPU的方法的流程图。图12是根据本发明构思的示例实施例的操作GPU的方法的流程图。图13是执行可见性测试的操作(例如,图10和图11的操作S110以及图12的操作S210)的详细流程图。图14是确定是否将第二图元的位置信息存储在可见性缓冲器中的操作(例如,图11的操作S130以及图12的操作S230)的详细流程图。
参照图1至图14,图3的三角形设置单元175可从作为遮挡物的第一图元O的位置信息产生第一图元O的三角形关联信息,并且将三角形关联信息存储在可见性缓冲器395中(操作S100)。可替换地,图5的初始三角形设置单元163可从作为遮挡物的第一图元O的位置信息产生第一图元O的三角形关联信息(操作S100)。
可见性测试机161可基于当前输入的第二图元P的位置信息和通过图3的三角形设置单元175或图5的初始三角形设置单元163产生的第一图元O的三角形关联信息来执行可见性测试(操作S110)。
当根据执行可见性测试的结果确定第二图元P为不可见图元时,可见性测试机161可从结合图3描述的一系列图形流水线中去除第二图元P(操作S120)。
根据本发明构思的示例实施例的图11所示的操作GPU的方法还可包括在执行图10的方法的操作S100至操作S120之后执行的操作S130和S140。
当根据执行可见性测试的结果确定第二图元P为可见图元时,更新确定单元162可确定是否将第二图元P的位置信息存储在可见性缓冲器395中(操作S130)。
参照图14,操作S130可包括通过更新确定单元162执行的将第二图元P的面积与阈值面积进行比较(操作S32),将第二图元P的X轴长度与阈值X轴长度进行比较(操作S34)和将第二图元P的Y轴长度与阈值Y轴长度进行比较(操作S36)。
如果第二图元P的面积大于阈值面积(即,操作S32中的‘是’分支)、第二图元P的X轴长度比阈值X轴长度更长(即,操作S34中的‘是’分支)并且第二图元P的Y轴长度比阈值Y轴长度更长(即,操作S36中的‘是’分支),则可执行图11的操作S140或图12的操作S240。
如果第二图元P的面积小于阈值面积(即,操作S32中的‘否’分支)、第二图元P的X轴长度比阈值X轴长度更短(即,操作S34中的‘否’分支)或者第二图元P的Y轴长度比阈值Y轴长度更短(即,操作S36中的‘否’分支),则可跳过图11的操作S140或者图12的操作S240和S250。
当如图14所示在操作S130中确定将第二图元P的位置信息存储在可见性缓冲器395中时,更新单元165可将与被确定为遮挡物的第二图元P相关的信息存储在可见性缓冲器395中(操作S140)。也就是说,更新单元165可基于下列中的至少一项将与第二图元P有关的信息存储在可见性缓冲器395中(操作S140):屏幕空间是否被划分为多个区、第二图元P与屏幕空间的多个区之间的包含关系以及屏幕空间的多个区之间的层次关系。
在根据本发明构思的示例实施例的图12所示的操作GPU的方法中包括的操作S200至操作S220与图10和图11的操作S100至操作S120基本相同。在根据本发明构思的示例实施例的图12所示的操作GPU的方法中包括的操作S230和操作S250与图11的操作S130和操作S140基本相同,因此这里将不重复描述。
初始三角形设置单元163可从作为执行操作S230的结果而被确定为遮挡物的第二图元P的位置信息产生第二图元P的三角形关联信息(操作S240)。因此,在操作S250中存储的与第二图元P有关的信息还可包括其三角形关联信息。
参照图13,如在图10、图11和图12的步骤S110和步骤S210中,可见性测试机161可基于第二图元P的位置信息以及第一图元O的位置信息和三角形关联信息来确定第二图元P是否被包括在第一图元O中(操作S122)。
当在操作S122中确定第二图元P被包括在第一图元O中时,可见性测试机161可将第一图元的各个顶点的Z坐标与第二图元的各个顶点的Z坐标进行比较(操作S124)。
根据本发明构思的一个或多个示例实施例,GPU、包括GPU的SoC和包括GPU的数据处理系统能够在确定图元的位置之后基于预先存储的遮挡物的三角形关联信息来选择性地去除图元,因此减少了不期望的操作量和功耗。
虽然已经参照本发明构思的示例实施例具体示出和描述了本发明构思,但是应该理解,在不脱离所附权利要求的精神和范围的情况下,可作出各种形式和细节上的改变。
Claims (20)
1.一种图形处理单元,包括:
图元装配器,其被配置为产生第一图元的位置信息和第二图元的位置信息;以及
可见性测试机,其被配置为基于所述第一图元的三角形关联信息和所述第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于所述可见性测试的结果去除所述第二图元。
2.根据权利要求1所述的图形处理单元,其中,所述第一图元的位置信息包括所述第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且
所述第二图元的位置信息包括所述第二图元的各个顶点的X坐标、Y坐标和Z坐标。
3.根据权利要求2所述的图形处理单元,其中,所述可见性测试机基于所述第二图元的位置信息以及所述第一图元的位置信息和三角形关联信息来确定所述第二图元是否被包括在所述第一图元中,并且当确定所述第二图元被包括在所述第一图元中时,将所述第一图元的各顶点的Z坐标与所述第二图元的各顶点的Z坐标进行比较。
4.根据权利要求1所述的图形处理单元,还包括:
更新确定单元,其被配置为基于所述可见性测试的结果来确定是否将所述第二图元的位置信息存储在可见性缓冲器中;以及
更新单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果来将与所述第二图元有关的信息存储在所述可见性缓冲器中。
5.根据权利要求4所述的图形处理单元,还包括:
三角形设置单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果,从所述第二图元的位置信息产生所述第二图元的三角形关联信息并将所述三角形关联信息发送至所述可见性缓冲器或所述更新单元。
6.根据权利要求4所述的图形处理单元,还包括:
初始三角形设置单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果,从所述第二图元的位置信息产生所述第二图元的三角形关联信息。
7.根据权利要求6所述的图形处理单元,还包括:
三角形设置单元,其被配置为接收所述第二图元的三角形关联信息并产生所述第二图元的三角形设置信息。
8.根据权利要求4所述的图形处理单元,其中,所述更新确定单元将所述第二图元的面积与阈值面积进行比较、将所述第二图元的X轴长度与阈值X轴长度进行比较并且将所述第二图元的Y轴长度与阈值Y轴长度进行比较。
9.根据权利要求4所述的图形处理单元,其中,为了基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果来将与所述第二图元有关的信息存储在所述可见性缓冲器中,所述更新单元基于下列中的至少一项将与所述第二图元有关的信息存储在所述可见性缓冲器中:屏幕空间是否被划分为多个区、所述第二图元与所述屏幕空间的多个区之间的包含关系以及所述屏幕空间的多个区之间的层次关系。
10.一种系统芯片,包括:
存储器接口,其被配置为与包括可见性缓冲器的存储器交换数据,所述可见性缓冲器被配置为存储被确定为可见图元的各个第一图元中的每一个的位置信息和三角形关联信息;
图形处理单元,其被配置为处理从所述存储器接口接收的数据,并输出经处理的数据;以及
显示器控制器,其被配置为将经处理的数据发送至显示器,
其中,所述图形处理单元包括:
图元装配器,其被配置为产生所述第一图元的位置信息和第二图元的位置信息;以及
可见性测试机,其被配置为基于所述第一图元的三角形关联信息和所述第二图元的位置信息来执行可见性测试,并且在操作光栅化器之前,基于所述可见性测试的结果去除所述第二图元。
11.根据权利要求10所述的系统芯片,其中,所述第一图元的位置信息包括所述第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且
所述第二图元的位置信息包括所述第二图元的各个顶点的X坐标、Y坐标和Z坐标。
12.根据权利要求11所述的系统芯片,其中,所述可见性测试机基于所述第二图元的位置信息以及所述第一图元的位置信息和三角形关联信息来确定所述第二图元是否被包括在所述第一图元中,并且当确定所述第二图元被包括在所述第一图元中时,将所述第一图元的各顶点的Z坐标与所述第二图元的各顶点的Z坐标进行比较。
13.根据权利要求10所述的系统芯片,还包括:
更新确定单元,其被配置为基于所述可见性测试的结果来确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中;以及
更新单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果来将与所述第二图元有关的信息存储在所述可见性缓冲器中。
14.根据权利要求13所述的系统芯片,还包括:
三角形设置单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果,从所述第二图元的位置信息产生所述第二图元的三角形关联信息并将所述三角形关联信息发送至所述可见性缓冲器或所述更新单元。
15.根据权利要求13所述的系统芯片,还包括:
初始三角形设置单元,其被配置为基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果,从所述第二图元的位置信息产生所述第二图元的三角形关联信息。
16.根据权利要求15所述的系统芯片,还包括:
三角形设置单元,其被配置为接收所述第二图元的三角形关联信息并产生所述第二图元的三角形设置信息。
17.一种数据处理系统,包括:
存储器,其包括可见性缓冲器,所述可见性缓冲器存储被确定为可见图元的各个第一图元中的每一个的位置信息和三角形关联信息;
图形处理单元,其处理从所述存储器接收的数据,并输出经处理的数据;
图元装配器,其产生所述第一图元的位置信息和第二图元的位置信息;
光栅化器,其将多个图元转变为多个像素;以及
可见性测试机,其基于所述第一图元的三角形关联信息和所述第二图元的位置信息来执行可见性测试,并且在操作所述光栅化器之前,基于所述可见性测试的结果去除所述第二图元。
18.根据权利要求17所述的数据处理系统,其中,所述第一图元的位置信息包括所述第一图元的各个顶点的X坐标、Y坐标和Z坐标,并且
所述第二图元的位置信息包括所述第二图元的各个顶点的X坐标、Y坐标和Z坐标。
19.根据权利要求18所述的数据处理系统,其中,所述可见性测试机基于所述第二图元的位置信息以及所述第一图元的位置信息和三角形关联信息来确定所述第二图元是否被包括在所述第一图元中,并且当确定所述第二图元被包括在所述第一图元中时,将所述第一图元的各顶点的Z坐标与所述第二图元的各顶点的Z坐标进行比较。
20.根据权利要求17所述的数据处理系统,还包括:
更新确定单元,其基于所述可见性测试的结果来确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中;以及
更新单元,其基于确定是否将所述第二图元的位置信息存储在所述可见性缓冲器中的结果来将与所述第二图元有关的信息存储在所述可见性缓冲器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2013-0155734 | 2013-12-13 | ||
KR1020130155734A KR20150069617A (ko) | 2013-12-13 | 2013-12-13 | 그래픽 프로세싱 유닛, 이를 포함하는 soc, 및 이를 포함하는 그래픽 프로세싱 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104715443A true CN104715443A (zh) | 2015-06-17 |
Family
ID=53192758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410771945.3A Pending CN104715443A (zh) | 2013-12-13 | 2014-12-12 | 图形处理单元、系统芯片和数据处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150170406A1 (zh) |
KR (1) | KR20150069617A (zh) |
CN (1) | CN104715443A (zh) |
DE (1) | DE102014117055A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN109035378A (zh) * | 2018-07-30 | 2018-12-18 | 芯视图(常州)微电子有限公司 | 3d图形处理的图元装配硬件加速器 |
CN116385253A (zh) * | 2023-01-06 | 2023-07-04 | 格兰菲智能科技有限公司 | 图元绘制方法、装置、计算机设备和存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2509369B (en) | 2012-11-02 | 2017-05-10 | Imagination Tech Ltd | On demand geometry processing for 3-d rendering |
US20160322031A1 (en) * | 2015-04-28 | 2016-11-03 | Mediatek Singapore Pte. Ltd. | Cost-Effective In-Bin Primitive Pre-Ordering In GPU |
GB2542131B (en) * | 2015-09-08 | 2019-09-11 | Imagination Tech Ltd | Graphics processing method and system for processing sub-primitives |
CN105511995B (zh) * | 2015-12-11 | 2018-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器验证方法 |
US9959590B2 (en) | 2016-03-30 | 2018-05-01 | Intel Corporation | System and method of caching for pixel synchronization-based graphics techniques |
WO2021030454A1 (en) * | 2019-08-12 | 2021-02-18 | Photon-X, Inc. | Data management system for spatial phase imaging |
CN112069278A (zh) * | 2020-09-04 | 2020-12-11 | 北京工商大学 | 地理数据表达图元重叠问题的快速缓解方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6246415B1 (en) * | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US7468726B1 (en) * | 2005-12-01 | 2008-12-23 | Nvidia Corporation | Culling in a vertex processing unit |
US20090153570A1 (en) * | 2007-12-12 | 2009-06-18 | Via Technologies, Inc. | Triangle Setup and Attribute Setup Integration with Programmable Execution Unit |
US20100302246A1 (en) * | 2009-05-29 | 2010-12-02 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
CN103140878A (zh) * | 2010-09-28 | 2013-06-05 | 英特尔公司 | 用于运动模糊和景深的背面剔除 |
CN103250179A (zh) * | 2010-09-06 | 2013-08-14 | 安特利昂成像有限责任公司 | 用于标记图元的方法和用于检测图元中的所述标记的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7268779B2 (en) * | 2002-12-24 | 2007-09-11 | Intel Corporation | Z-buffering techniques for graphics rendering |
-
2013
- 2013-12-13 KR KR1020130155734A patent/KR20150069617A/ko not_active Application Discontinuation
-
2014
- 2014-11-21 US US14/550,099 patent/US20150170406A1/en not_active Abandoned
- 2014-11-21 DE DE102014117055.5A patent/DE102014117055A1/de not_active Withdrawn
- 2014-12-12 CN CN201410771945.3A patent/CN104715443A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6246415B1 (en) * | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US7468726B1 (en) * | 2005-12-01 | 2008-12-23 | Nvidia Corporation | Culling in a vertex processing unit |
US20090153570A1 (en) * | 2007-12-12 | 2009-06-18 | Via Technologies, Inc. | Triangle Setup and Attribute Setup Integration with Programmable Execution Unit |
US20100302246A1 (en) * | 2009-05-29 | 2010-12-02 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
CN103250179A (zh) * | 2010-09-06 | 2013-08-14 | 安特利昂成像有限责任公司 | 用于标记图元的方法和用于检测图元中的所述标记的方法 |
CN103140878A (zh) * | 2010-09-28 | 2013-06-05 | 英特尔公司 | 用于运动模糊和景深的背面剔除 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513003A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN105513003B (zh) * | 2015-12-11 | 2018-10-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器统一染色器阵列体系结构 |
CN109035378A (zh) * | 2018-07-30 | 2018-12-18 | 芯视图(常州)微电子有限公司 | 3d图形处理的图元装配硬件加速器 |
CN116385253A (zh) * | 2023-01-06 | 2023-07-04 | 格兰菲智能科技有限公司 | 图元绘制方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150170406A1 (en) | 2015-06-18 |
KR20150069617A (ko) | 2015-06-24 |
DE102014117055A1 (de) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104715443A (zh) | 图形处理单元、系统芯片和数据处理系统 | |
KR102066659B1 (ko) | 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템 및 이의 동작 방법 | |
US9665980B2 (en) | Graphics processing unit, method of operating the same, and devices including the same | |
JP5866457B2 (ja) | オーバドロー・トラッカを用いたグラフィック処理におけるダイレクト・レンダリングとビニングとの切替 | |
US10019802B2 (en) | Graphics processing unit | |
US8931108B2 (en) | Hardware enforced content protection for graphics processing units | |
US10140677B2 (en) | Graphics processing unit and device employing tessellation decision | |
KR20180098690A (ko) | 그래픽 프로세싱에서 셰도우 레이들에 대한 트리 횡단을 위한 시작 노드 결정 | |
JP2008102904A (ja) | 加速された開始タイル探索 | |
KR102554419B1 (ko) | 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치 | |
US10043489B2 (en) | Virtual surface blending and BLT operations | |
US9905036B2 (en) | Graphics processing unit for adjusting level-of-detail, method of operating the same, and devices including the same | |
JP2017527898A (ja) | 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減 | |
EP3420537B1 (en) | Single pass bounding volume hierarchy rasterization | |
US9552618B2 (en) | Method for domain shading, and devices operating the same | |
US9324127B2 (en) | Techniques for conservative rasterization | |
CN111091620B (zh) | 基于图形学的地图动态路网处理方法及系统、计算机设备 | |
US20160071317A1 (en) | Graphics processing unit (gpu) including subdivider and device including the gpu | |
KR102053351B1 (ko) | 테셀레이션 데이터 생성 방법과 상기 방법을 수행할 수 있는 장치들 | |
US9582935B2 (en) | Tessellation device including cache, method thereof, and system including the tessellation device | |
KR20150057232A (ko) | 컨텐츠를 렌더링 하는 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150617 |
|
WD01 | Invention patent application deemed withdrawn after publication |