CN109074673A - 通过图形处理单元的纹理单元的常数乘法 - Google Patents
通过图形处理单元的纹理单元的常数乘法 Download PDFInfo
- Publication number
- CN109074673A CN109074673A CN201780024921.3A CN201780024921A CN109074673A CN 109074673 A CN109074673 A CN 109074673A CN 201780024921 A CN201780024921 A CN 201780024921A CN 109074673 A CN109074673 A CN 109074673A
- Authority
- CN
- China
- Prior art keywords
- constant
- texture cell
- multiplied
- texel
- data texturing
- 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
- 238000001914 filtration Methods 0.000 claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000004040 coloring Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 238000009877 rendering Methods 0.000 description 9
- 238000002156 mixing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
图形处理单元GPU的纹理单元可以接收纹理数据。所述纹理单元可以接收来自存储器的所述纹理数据。所述纹理单元还可以通过所述纹理单元的乘法器电路用至少一个常数乘以所述纹理数据,其中所述常数并非与滤波操作相关联,并且其中所述纹理数据包括至少一个纹素。所述纹理单元还可以通过所述纹理单元输出用所述至少一个常数乘以所述纹理数据的结果。
Description
技术领域
本发明涉及使用图形处理单元的纹理单元用于乘法运算。
背景技术
可由图形处理单元(GPU)产生用于显示的视觉内容,例如,用于图形用户接口和视频游戏的内容。GPU可将二维或三维(3D)对象转换成可显示的二维(2D)像素表示。将关于3D对象的信息转换为可显示的位图被称为像素渲染,且要求相当大的存储器和处理电力。在一些实例中,GPU可以包含一或多个纹理单元和一或多个着色器处理器。纹理单元可以对寻址和滤波纹理负责。着色器处理器可以接收来自纹理单元的滤波后的纹理并且实施图形渲染管线的着色器级以执行像素渲染。
发明内容
本发明的技术包含修改或扩展图形处理单元的纹理单元(也被称作纹理管路、纹理引擎或纹理映射单元)以在滤波后的值上执行乘法运算。在一个实例中,纹理单元可以用相应的滤波权重乘以纹素的每个色彩值。纹理单元可随后将这些乘法中的每一个的结果添加在一起作为当前纹素的滤波后的值。并非将此滤波后的值传递到着色器处理器以执行乘法,纹理单元还可用常数乘以滤波后的值。通过纹理单元执行乘法可以引起电力节省,这是因为着色器处理器并不需要被激活以执行乘法。
在一个实例中,一种处理图形的方法包含:通过图形处理单元(GPU)的纹理单元接收纹理数据;通过纹理单元用至少一个常数乘以纹理数据,其中常数并非与滤波操作相关联,并且其中纹理数据包括至少一个纹素;以及通过纹理单元输出用至少一个常数乘以纹理数据的结果。
在另一实例中,一种用于处理图形的计算装置包含:存储器,其经配置以存储纹理数据;以及纹理单元,其经配置以接收来自存储器的纹理数据;通过纹理单元的乘法器电路用至少一个常数乘以纹理数据,其中常数并非与滤波操作相关联,并且其中纹理数据包括至少一个纹素;以及通过纹理单元输出用至少一个常数乘以纹理数据的结果。
在另一实例中,一种非暂时性计算机可读媒体具有存储在其上的指令,当执行所述指令时,使得一或多个处理器进行以下操作:通过图形处理单元(GPU)的纹理单元接收纹理数据;通过纹理单元用至少一个常数乘以纹理数据,其中常数并非与滤波操作相关联,并且其中纹理数据包括至少一个纹素;以及通过纹理单元输出用至少一个常数乘以纹理数据的结果。
在附图和下文的描述中阐述本发明的一或多个方面的细节。本发明的其它特征、目标和优点将从描述和图式以及所附权利要求书中显而易见。
附图说明
图1是说明可经配置以实施本发明的一或多个方面的实例计算装置的框图。
图2是说明根据本发明的各方面的实例纹理单元的概念图。
图3A和3B是说明GPU的实例操作的流程图。
图4是说明根据本发明的各方面的纹理单元执行乘法运算的过程的流程图。
具体实施方式
GPU可将一或多个纹理应用和渲染到场景的每个多边形。作为渲染场景的部分,GPU可经配置以在将场景的三维表示转换成像素的二维栅格(被称作光栅化的过程)之前对纹理进行滤波。
纹理滤波或纹理平滑化可用于使用附近纹素的色彩确定用于纹理映射的像素的纹理色彩。一般来说,纹素(也被称作纹理元素)可以是纹理空间的基础单元。纹理可以由纹素的阵列表示,其含有用于特定色彩空间中的特定纹理的色彩和/或(例如,透明度值或不透明度值)。在数学上,纹理滤波可被认为是抗锯齿的类型。然而,纹理滤波可以涉及从纹理填充中滤出高频率,然而其它抗锯齿技术可以大体上聚焦于视觉边缘。一般来说,纹理滤波允许纹理应用在许多不同形状、大小和角度同时最小化模糊、闪烁和阻断。实例纹理滤波技术包含双线性滤波和三线性滤波。
滤波可以通过纹理单元执行,其可以被包含为像素处理管线的部分。纹理单元可以包含被设计成将纹理(纹素)应用到像素的可编程和固定函数硬件两者。纹理单元可以包含用于执行纹理滤波的专用硬件,由此用一或多个滤波器系数值乘以一或多个纹素值。纹理单元可以在累加器中存储滤波结果,并且添加滤波结果以产生最终滤波后的纹素。
在一些例子中,在滤波之后可以用常数值乘以滤波后的纹素。举例来说,与色彩或照明增益相关联的常数可以应用到滤波后的纹素。为了应用常数,纹理单元可以将滤波后的纹素传递到着色器处理器(也被称作着色器管路),其使用算术逻辑单元(ALU)以用常数值乘以接收到的纹素。然而,着色器处理器可以消耗相对大量的电力并且可以包含执行乘法运算不必要的多个组件。相应地,为整个着色器处理器供电以用常数乘以纹理数据可以是相对低效的。
本发明的技术包含修改和/或扩展纹理单元(或纹理引擎)以在滤波后的纹素值上执行乘法运算。在一个实例中,纹理单元可以用相应的滤波权重乘以纹素的每个色彩值。纹理单元可随后将这些乘法中的每一个的结果添加在一起作为当前纹素的滤波后的值。并非将此滤波后的值传递到着色器处理器以应用常数,纹理单元还可用常数乘以滤波后的值。通过纹理单元执行乘法可以节省电力,这是因为着色器处理器并不需要被激活以执行乘法。也就是说,纹理单元可以绕过着色器处理器,这允许着色器处理器在纹理滤波操作期间保持断电(或执行另一任务)。
在一些实例中,纹理单元可以经扩展以包含单独的乘法器逻辑。在其它实例中,纹理单元的乘法器电路可经配置以执行滤波函数和常数乘法函数两者。在此类实例中,多路复用器可用于选择适当的函数。举例来说,多路复用器可用于确定是否使用相同的乘法器单元将三线性权重应用到纹素或者将常数应用到纹素。
常数缓冲器可以存储由纹理单元应用的常数。纹理单元可以并入以常数被应用到纹理值的方式提供灵活性的逻辑。举例来说,纹理单元可以并入允许不同常数值被应用到特定纹素的相应的纹理值的逻辑。
图1是说明可经配置以实施本发明的一或多个方面的实例计算装置10的框图。计算装置10可为包含但不限于以下各项的计算装置:视频装置、媒体播放器、机顶盒、无线手持机(例如,移动电话和所谓的智能电话)、个人数字助理(PDA)、桌上型计算机、膝上型计算机、游戏控制台、视频会议单元、平板计算装置及类似者。
在图1的实例中,计算装置10包含中央处理单元(CPU)12、GPU 14和系统存储器16。计算装置10还包含收发器模块19、用户接口20和显示器21。然而,应理解计算装置10的其它实例可以包含比示出的那些更多、更少的组件或组件的替代的布置。
举例来说,计算装置10可在其中计算装置10为移动无线电话的实例中包含扬声器和麦克风(两者均未在图1中示出)以实现电话通信,或在计算装置10为媒体播放器的情况下包含扬声器。计算装置10还可包含摄像机。在另一实例中,例如与显示器21相关联的收发器模块19或显示处理器的某些单元可以是与CPU 12和/或GPU 14相同的集成电路(IC)的部分,可以都是包含CPU 12和/或GPU 14的IC外部的,或者可以形成于包含CPU 12和/或GPU14的IC外部的IC中。
CPU 12可以包括控制计算装置10的操作的通用或专用处理器。举例来说,CPU 12可以包含一或多个处理器,例如,一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离散逻辑电路。如下文更详细地描述,CPU 12可以发布一或多个图形渲染命令到GPU 14以使得GPU 14渲染图形数据。
GPU 14可以包含具有提供复杂图形相关操作的有效处理的高度并行结构的处理组件的可编程管线。GPU 14可以包含一或多个处理器,例如,一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离散逻辑电路。GPU 14还可包含一或多个处理器核心,使得GPU 14可被称作多核处理器。在一些例子中,GPU 14可以被集成到计算装置10的主板中。在其它例子中,GPU 14可存在于安装在计算装置10的主板中的端口中的图形卡上,或可以其它方式并入经配置以与计算装置10交互操作的外围装置内。
GPU 14可以将经过渲染的数据输出到系统存储器16,例如,系统存储器16的帧缓冲器18。系统存储器16可以存储控制计算装置10的组件的操作的操作系统(未示出)。系统存储器16还可由通过计算装置10执行的软件或应用程序(如下文所述)使用以在程序执行期间存储信息。系统存储器16可以包含计算机可读存储媒体或计算机可读存储装置。在一些实例中,系统存储器16可以包含短期存储器或长期存储器中的一或多个。系统存储器16可包含(例如)随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、磁性硬盘、光盘、快闪存储器或各形式的电可编程存储器(EPROM)或电可擦除且可编程存储器(EEPROM)。
帧缓冲器18存储用于GPU 14的目的地像素。每个目的地像素可以与唯一屏幕像素位置相关联。在一些实例中,帧缓冲器18可以存储每个目的地像素的色彩分量和目的地阿尔法值。举例来说,帧缓冲器18可以存储每个像素的红色、绿色、蓝色、阿尔法(RGBA)分量,其中“RGB”分量对应于色彩值并且“A”分量对应于目的地阿尔法值(例如,可用于合成中的透明度值,其也可被称作不透明度)。虽然将帧缓冲器18和系统存储器16说明为单独的存储器单元,但在其它实例中,帧缓冲器18可以是系统存储器16的部分。
收发器模块19可以包含电路以允许计算装置10与另一装置或网络之间的无线或有线通信。收发器模块19可以包含调制器、解调器、放大器以及用于有线或无线通信的其它此类电路。
用户接口20可允许用户提供输入到计算装置10。用户接口20的实例包含(但不限于)轨迹球、鼠标、键盘和其它类型的输入装置。用户接口20还可为触摸屏,且可作为显示器21的部分并入。
显示器21可显示由GPU 14产生的图像内容,例如,来自帧缓冲器18的经渲染的图形数据。显示器21可以是液晶显示器(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子体显示器或另一类型的显示装置。显示器21可以包含显示处理器,所述显示处理器检索来自系统存储器16的图像并且输出引起显示器21的像素照亮以显示图像的值。
在操作中,CPU 12可以执行一或多个软件应用程序24。软件应用程序24可以包含利用GPU 14的功能性的任何应用程序。举例来说,软件应用程序24可以包含图形用户接口(GUI)应用程序、操作系统、便携式映射应用程序、针对工程或艺术应用的计算机辅助设计程序、视频游戏应用程序或使用2D或3D图形的另一类型的软件应用程序。
软件应用程序24可以包含指示GPU 14渲染图形用户接口(GUI)和/或图形场景的一或多个绘图指令。举例来说,绘图指令可以包含定义待通过GPU 14渲染的一或多个图形基元的集合的指令。在一些实例中,绘图指令可以共同地定义用于GUI中的多个开窗表面的全部或部分。在额外实例中,绘图指令可共同地定义图形场景的全部或部分,所述图形场景包含在由应用程序定义的模型空间或世界空间内的一或多个图形对象。
软件应用程序24可以使用图形应用程序编程接口(API)26以调用GPU驱动程序28。实例图形API包含开放图形库API、开放图形库嵌入系统(OpenGL ES)API、Direct3D API、X3D API、RenderMan API、WebGL API、开放计算语言(OpenCLTM)、RenderScript或任何其它异构计算API,或任何其它公开或专有标准图形或计算API。
GPU驱动程序28可以发布一或多个命令到GPU 14以用于将一或多个图形基元渲染成可显示的图形图像。举例来说,软件应用程序24可经由图形API 26调用GPU驱动程序28以将基元定义提供给GPU 14。在一些例子中,GPU驱动程序28可以将呈绘图基元的列表的形式(例如,三角形、矩形、三角扇、三角带等)的基元定义提供给GPU 14。基元定义可以包含规定与待渲染的基元相关的一或多个顶点的顶点规格。顶点规格可以包含用于每个顶点的位置坐标,并且在一些例子中,包含与顶点相关联的其它属性,例如,色彩坐标、法向量和纹理坐标。基元定义还可包含基元类型信息(例如,三角形、矩形、三角扇、三角带等)、缩放信息、旋转信息及类似者。因此,基于由软件应用程序24发布到GPU驱动程序28的指令,GPU驱动程序28可调配规定供GPU 14执行的一或多个操作以便渲染基元的一或多个命令。
在一些实例中,GPU驱动程序28可以包含编译器,所述编译器经配置以将命令编译为一或多个着色器程序,并且将经编译的着色器程序下载到GPU 14。经编译的着色器程序可以包含控制GPU 14内的着色器单元32的操作的一或多个指令。可以高级着色语言来编写着色器程序,例如,OpenGL着色语言(GLSL)、高级着色语言(HLSL)、用于图形的C(Cg)着色语言、OpenCL C核等。
GPU 14包含用于执行着色器程序的着色器单元32。在一些实例中,着色器单元32可以被称作“统一着色器”并且可以执行用于渲染图形的多种着色操作。举例来说,着色器单元32可以执行着色器程序以实施图形处理管线的多种着色器级(其可以共同地被称作着色器管路)。着色器程序可以包含:顶点着色器程序,其可由着色器单元32执行以执行顶点着色器级的功能;外壳着色器程序,其可由着色器单元32执行以执行外壳着色器级的功能;域着色器程序,其可由着色器单元32执行以执行域着色器级的功能;几何着色器程序,其可由着色器单元32执行以执行几何着色器级的功能;和/或像素着色器程序,其可由着色器单元32执行以执行像素着色器的功能。
在图1的实例中,着色器单元32各自具有着色器处理器34和具有常数单元38的纹理单元36。着色器处理器34可以包含多个处理元件以用于以并行方式在多个顶点或像素上操作。举例来说,着色器处理器34可以各自包含用于提取和解码操作的一或多个组件、用于执行算术计算的一或多个ALU、一或多个存储器、高速缓冲存储器和寄存器。
纹理单元36可以包含与着色器处理器34分开的一或多个硬件单元,所述一或多个硬件单元经配置以在一或多个纹理数据上操作,例如,存储到图形存储器42的纹理数据40A到40N(“纹理数据40”)中的一或多个。纹理单元36可以包含被设计成将纹理(纹素)应用到像素的可编程和固定函数硬件两者。在一些实例中,纹理单元36可以是硬件单元的专用集合,其专用于在纹理数据40上操作,例如,专用于在纹理数据40上执行纹理滤波,或经配置以计算纹理数据40的点积及类似者。如下文相对于图2所述,纹理单元36可以包含纹理数据高速缓冲存储器和逻辑(例如,加法器、乘法器和/或其它数字电路)以用于在纹理数据40上执行运算。虽然纹理单元36在图1的实例中示出为包含于着色器单元32中,但是应理解,在其它实例中,纹理单元36也可以安置在着色器单元32外部。
纹理数据40A到40N中的每一个可以包括纹理元素,也被称作纹素,它们是纹理空间的基础单元。纹理数据40A到40N中的每一个可以是但不一定限于一维、二维或三维纹理,或一维、二维或三维纹理阵列。纹理数据40可以包含多个纹理(例如,纹理40A、40B等)。在一个实例中,纹理数据40的纹理数据(例如,纹理数据40A)可包含纹理元素(也被称作纹素)的阵列,所述纹理元素含有所述纹理数据的色彩和阿尔法值。
在一些实例中,纹理数据40A到40N的每个纹理数据可以是GPU 14映射到三维图形的二维图像。举例来说,纹理数据(例如,纹理数据40A)中的像素,也被称作纹素,可通过(u,v)坐标来识别,且纹理数据(例如,纹理数据40A)可由纹素的阵列组成。在一些实例中,GPU14可以将纹理数据(例如,纹理数据40A)的纹素的阵列的(u,v)坐标映射到(x,y,z,w)坐标。GPU 14还可在纹理数据(例如,纹理数据40A)的纹素上执行额外图形处理(例如,在纹素的红色-绿色-蓝色(RGB)值上的额外图形处理)。在一些实例中,块可包含一或多个纹素,使得纹理可包含各自包含一或多个纹素的多个块。在一些实例中,块可包含方形,其可以是四个纹素的块。
图形存储器42可以是物理地集成到GPU 14的集成电路中以用于存储纹理数据40和/或像素数据的芯片上存储装置或存储器。因为图形存储器42是芯片上存储器,所以与通过系统总线从系统存储器16读取值或将值写入到所述系统存储器相比,GPU 14可能够更快速地从图形存储器42读取值或将值写入到所述图形存储器。
在操作中,纹理单元36可以在纹理数据40上执行纹理滤波(也被称作纹理平滑化)以使用附近纹素的色彩确定用于纹理映射的像素的纹理色彩。纹理单元36可以输出在一或多个纹理数据40上操作的结果。在一些例子中,着色器处理器34可以指示纹理单元36在纹理数据40上执行操作,并且纹理单元36可以将在纹理数据40上操作的结果发送到着色器处理器34以用于进一步处理,例如,用于着色操作。
如上文所提及,纹理单元36可以通常受限于执行操作的特定集合,例如,与纹理管路相关联以用于对纹理数据40进行滤波。举例来说,纹理单元36可以包含专用硬件以用于执行纹理滤波,由此用一或多个滤波器系数值乘以(例如,纹理数据40的)一或多个纹素值。纹理单元36可以在累加器中存储滤波结果,并且添加滤波结果以产生最终滤波后的纹素。纹理单元36可以将输出存储到图形存储器42或者将输出传递到着色器处理器34以用于进一步运算。
在一些例子中,纹理单元36可以将输出发送到着色器处理器34以执行乘法运算。举例来说,着色器处理器34可以用与色彩或照明增益(或出于任何其它原因)相关联的常数乘以来自纹理单元36的输出。在此实例中,GPU 14可以利用用于提取和解码操作的一或多个组件、用于执行算术计算的一或多个ALU、一或多个存储器、高速缓冲存储器和寄存器以应用在一些例子中可以相对低效的常数。
根据本发明的各方面,纹理单元36可经配置以用一或多个常数乘以纹理数据40(例如,包含一或多个纹素)。如本文所描述,常数可以是不与滤波操作相关联的任何实数或实数的集合。纹理单元36可以使用常数单元38以用一或多个常数乘以纹理数据40。
常数单元38可以包含可编程或固定功能硬件以用于执行乘法。在一些实例中,常数单元38可以并入用于执行滤波操作的纹理单元36的电路中的至少一些。也就是说,如上文所提及,纹理单元36可以包含可编程或固定功能逻辑以用于对纹理数据40进行滤波,并且常数单元38可以重新使用此类硬件中的至少一些。在一个实例中,如下文相对于图2更详细地描述,常数单元38可以包含用于纹理数据40的三线性滤波的乘法器逻辑以同样用一或多个常数乘以纹理数据40。
常数单元38可以应用一或多个常数,如由软件应用程序24所规定的。举例来说,软件应用程序24可以包含指示GPU 14渲染或操控图形场景的一或多个绘图指令(例如,应用增益到图形场景)。根据本发明的各方面,图形API 26可以用指令调用GPU驱动程序28以用一或多个常数乘以纹理数据40。在一些实例中,图形API 26可以指派常数单元38以执行乘法(并非例如着色器处理器34)。
GPU驱动程序28可以发布一或多个命令到GPU 14以用于用一或多个常数乘以纹理数据40。根据从GPU驱动程序28接收到的命令常数单元38可以用从常数缓冲器44提取到的一或多个常数乘以纹理数据40。常数缓冲器44可以包含用于存储常数的一或多个寄存器。存储到常数缓冲器44的常数可以各自包含索引。
在一些实例中,常数单元38可以从常数缓冲器44提取一或多个常数。在其它实例中,与着色器处理器34相关联的处理单元可以对从常数缓冲器44提取一或多个常数负责。举例来说,对提取用于着色器处理器34的常数负责的常数提取单元也可以对提取用于常数单元38的常数负责。此常数提取单元可以是与纹理单元36分开的处理单元。在另外其它实例中,GPU驱动程序28可以将来自常数缓冲器44的常数加载到纹理单元36。
在一些实例中,常数单元38可以用单个常数乘以纹理数据40。在其它实例中,常数单元38可以用超过一个常数乘以纹理数据40。举例来说,常数单元38可以用相应的常数乘以纹理数据40的阵列的每个元素(例如,阿尔法元素、红色元素、绿色元素和蓝色元素),所述相应的常数可以通过组件改变。在一些实例中,常数单元38可以用一或多个常数乘以纹理数据40的少于全部元素。
在一些实例中,常数单元38可以包含掺和逻辑以增大灵活性。举例来说,掺和逻辑可允许常数单元38乘以纹理数据40的任何分量与常数的集合的任何常数。在出于说明的目的的实例中,纹理数据40A可以包含阿尔法分量、红色分量、绿色分量和蓝色分量。常数单元38可以最初经配置以将第一常数应用到阿尔法分量、将第二常数应用到红色分量、将第三常数应用到绿色分量,并且将第四常数应用到蓝色分量。常数单元38可以使用掺和逻辑以作为一个实例实际上将第三常数应用到阿尔法分量,或其任何其它变体。
通过这种方式,根据本发明的各方面,硬件能力被并入到纹理单元36以允许纹理单元36在纹理输出上执行常数乘法。在一些实例中,纹理单元36可以通过专用硬件操作以执行纹理数据40(其也可以包含于常数单元38中)的起始纹理提取。在此类实例中,GPU 14可以执行着色器程序以用于用常数乘以纹理数据40而不使用任何着色器处理器34,这可以引起电力节省(相对于为着色器处理器34供电以执行乘法)。也就是说,GPU14可以绕过着色器处理器34,由此留下着色器处理器34闲置和/或允许着色器处理器34与乘法同时执行其它着色操作。
图2是更详细地说明图1的纹理单元36的概念图。在图2的实例中,纹理单元36包含纹理数据高速缓冲存储器60、包含乘法器(MUL)64A-64D(统称为乘法器64)和累加器(ADD)66的双线性滤波逻辑62、包含乘法器70和累加器72的三线性滤波逻辑68,以及纹理单元输出74。纹理单元36还包含接收三线性权重78和一或多个常数80作为输入的多路复用器76。应理解,图2的实例中所示的组件是出于说明的目的提供的,并且具有更多、更少组件或组件的替代的布置的其它纹理单元可用于执行本文中所描述的技术以用于用一或多个常数乘以纹理数据。
纹理数据高速缓冲存储器60可经配置以存储纹理数据40。在一些实例中,纹理数据高速缓冲存储器60可以是一级(L1)高速缓冲存储器,其可以存储从图形存储器42中检索的纹理数据40。
双线性滤波逻辑62可用于将双线性滤波应用到纹理数据40的纹素。举例来说,纹素坐标可以通常以某一精确度(例如,8:8固定点)存储。在一些例子中,纹理单元36在纹素提取期间可以仅使用整数部分来对纹素进行索引。通过双线性内插,纹理单元36可以提取四个纹素并且使用纹素坐标的分数部分来确定用于四个纹素中的每一个的权重因数,使得纹素的最终值是四个提取到的纹素的混合。
在图2的实例中,乘法器64可以从纹理数据高速缓冲存储器60接收(例如,纹理数据40的)四个纹素,以及对应的双线性权重65(也被称作滤波器系数值)。乘法器64可以用适当的双线性权重65乘以纹素并且将结果发送到累加器66。累加器66可以添加结果以产生最终双线性地滤波的纹素。
在一些实例中,双线性滤波逻辑62可以将滤波后的纹素发送到三线性滤波逻辑68,其可经配置以将三线性滤波应用到纹理数据40的纹素。也就是说,三线性滤波逻辑68可以使用乘法器70和三线性权重78内插双线性滤波的结果。累加器72可以添加结果以产生最终三线性地滤波的纹素。
使用双线性滤波逻辑62和三线性滤波逻辑68滤波的结果(在其中执行三线性滤波的例子中)可以输出到纹理单元输出74。在一些实例中,如上文所提及,纹理单元输出74可以将滤波后的纹理数据传递到着色器处理器34以用于进一步处理。
根据本发明的各方面,纹理单元36还包含常数单元38,其可用于用一或多个常数80乘以纹理数据40。在图2的实例中,常数单元38包含乘法器70和多路复用器76。多路复用器76可以对三线性权重78和常数80进行多路复用。举例来说,取决于三线性滤波或常数乘法是否是针对特定处理循环执行的,多路复用器76将三线性权重78或常数80提供到乘法器70。在此实例中,常数单元38可以充分利用来自三线性滤波逻辑68的乘法器70以通过常数80应用纹素。在一些实例中,常数单元38还可包含用于从常数缓冲器44提取常数80的一或多个组件。
纹理单元36可以使用常数单元38以用一或多个常数80乘以未滤波的纹理数据、双线性滤波的纹理数据或三线性滤波的纹理数据。举例来说,纹理单元36可以将来自纹理数据高速缓冲存储器60的未滤波的纹理数据40传递到乘法器70而不应用双线性权重65。在此实例中,多路复用器76可以将常数80提供到乘法器70,并且乘法器70可以用常数80乘以未滤波的纹理数据40。
在其中纹理单元36执行双线性滤波的例子中,乘法器64可以用适当的双线性权重65乘以来自纹理数据高速缓冲存储器60的纹素并且将结果发送到累加器66。累加器66可以添加结果以产生双线性地滤波的纹理数据。多路复用器76可以将常数80提供到乘法器70,并且乘法器70可以用从多路复用器76接收到的常数80乘以来自双线性滤波逻辑62的结果。通过这种方式,常数单元38可以用一或多个常数乘以双线性滤波的纹理数据。
在其中纹理单元36执行三线性滤波的例子中,多路复用器76可以将三线性权重78提供到乘法器70。乘法器70可以将三线性权重78应用到来自双线性滤波逻辑62的结果。累加器72可以添加结果以产生三线性地滤波的纹理数据。多路复用器76还可以将常数80提供到乘法器70,并且乘法器70可以用从多路复用器76接收到的常数80乘以来自三线性滤波逻辑68的结果。通过这种方式,常数单元38可以用一或多个常数乘以三线性滤波的纹理数据。
在一些例子中,纹理单元36可以使用两个处理循环执行三线性滤波以便混合两个不同的贴图(例如,在不同分辨率下的纹理的顺序)。举例来说,纹理单元36可以执行两个处理循环以执行以下公式:
Tri-weight_for_Map_n*Bilinear_filtered_texel_for_Map_n+
Tri-weight_for_Map_n-1*Bilinear_filtered_texel_for_Map_n-1
当相加在一起时,三线性权重78(即,Tri-weight_for_Map_n和Tri-weight_for_Map_n-1)可以通常等于1.0。
纹理单元36可以在第一处理循环中执行上述公式的第一半并且在第二处理循环中执行上述公式的第二半。举例来说,在第一处理循环中,多路复用器76可以将第一三线性权重78(例如,Tri-weight_for_Map_n)提供到乘法器70并且乘法器70可以将第一三线性权重78应用到第一贴图的双线性地滤波的纹素(例如,Bilinear_filtered_texel_for_Map_n)。在第一处理循环中不执行加法。在第二处理循环中,多路复用器76可以将第二三线性权重78(例如,Tri-weight_for_Map_n-1)提供到乘法器70并且乘法器70可以将第二三线性权重78应用到第二贴图的双线性地滤波的纹素(例如,Bilinear_filtered_texel_for_Map_n-1)。另外,累加器72可以添加加权的双线性地滤波的纹素。
根据本发明的各方面,纹理单元36可以执行额外的处理循环以用一或多个常数80乘以三线性地滤波的数据。举例来说,在第三处理循环中,多路复用器76可以将常数80提供到乘法器70。乘法器70可以用例如来自最初两个处理循环的三线性地滤波的纹理数据乘以常数80。
图3A和3B是说明用常数乘以纹理数据的实例的流程图。在图3A的实例中,起始内插器100可以执行纹理数据的起始纹理提取。根据本发明的各方面,起始内插器100可以包括用于执行纹理提取的专用硬件,使得GPU的着色器处理器(例如,GPU 14的着色器处理器34)并不需要被供电以提取纹理数据。纹理数据可以包含规定纹理表面内的位置的i和j坐标,以及规定来自纹理的集合的特定纹理的纹理标识符t#和s#。
在一些实例中,纹理管路102可以对应于GPU 14的纹理单元36(图2)。纹理管路102可经配置以映射纹理数据(例如,纹理数据40)并且将一或多个滤波器应用到纹理数据。举例来说,纹理管路102可以执行双线性滤波、三线性滤波和/或其它滤波操作。
在图3A的实例中,着色器管路104可以接收来自纹理管路102的纹理数据。着色器管路104可以用一或多个常数乘以纹理数据。举例来说,着色器管路104的ALU可以执行MUL运算以用一或多个常数乘以纹理数据。着色器管路104随后可将像素着色的像素传递到渲染输出管线106。渲染输出管线106可以执行抗混叠或其它操作以在写入到帧缓冲器(例如,帧缓冲器18(图1))之前合并样本值。
根据本发明的各方面,如图3B的实例中所示,纹理管路102可以经修改以通过一或多个常数执行乘法。举例来说,如上文相对于图2所描述,纹理管路102可经配置以重新使用来自纹理滤波单元的某些硬件以执行常数乘法。在此实例中,起始内插器100可以对提取纹理数据负责并且纹理管路102可以对用一或多个常数乘以纹理数据负责。相应地,GPU可以绕过着色器管路104并且将像素着色的像素直接地所述到渲染输出管线106。在此实例中,着色器管路104可以与通过纹理管路102执行的乘法同时执行着色操作。
图4是说明根据本发明的各方面的纹理单元执行乘法运算的过程的流程图。虽然相对于GPU 14和纹理单元36(图1)描述过程,但是应理解过程可以类似地通过多种其它处理器和/或电路执行。
在图4的实例中,纹理单元36可以接收纹理数据40(120)。在一些实例中,纹理单元36可以配置有硬件以从图形存储器42提取纹理数据40。纹理数据40可以包含多种色彩空间的纹素的阵列。在一些例子中,纹理单元36还可以执行滤波操作(122)。举例来说,纹理单元36可以执行双线性滤波、三线性滤波或任何其它滤波操作以对纹理数据40进行滤波。
根据本发明的各方面,纹理单元36的常数单元38可以从常数缓冲器提取一或多个常数(124)。另外,常数单元38可以用一或多个常数乘以纹理数据(126)。举例来说,常数单元38可以充分利用纹理单元36的滤波逻辑以执行乘法。纹理单元36可随后输出乘法的结果(128)。举例来说,纹理单元36可以将结果输出到光栅操作管线并且绕过经配置以接收来自纹理单元36的纹理数据的着色器管路。
应理解,图4中所示的技术仅是出于说明的目的提供的。在其它实例中,过程可以包含比示出的那些更多、更少的步骤或步骤的替代的布置。举例来说,如上文所描述,可能并不针对全部纹理数据执行滤波操作。
在一或多个实例中,所描述的功能可在硬件、软件、固件或其任何组合中实施。如果在软件中实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体发射。计算机可读媒体可以包含计算机数据存储媒体或通信媒体,所述通信媒体包含促进计算机程序从一处传递到另一处的任何媒体。数据存储媒体可以是可由一或多个计算机或者一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可供使用的媒体。借助于实例而非限制,此类计算机可读媒体可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携带或存储呈指令或数据结构的形式的所期望的程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射软件,那么所述同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。如本文中所使用的磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。
代码可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。相应地,如本文中所使用的术语“处理器”和“处理单元”可指代前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一个。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可以实施于多种多样的装置或设备中,包含,无线手持机、集成电路(IC)或IC的集合(即,芯片集合)。本发明中描述各种组件、模块或单元以强调经配置以执行所公开的技术的装置的功能性方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已经描述了本发明的各个方面。这些和其它实施例在所附权利要求书的范围内。
Claims (30)
1.一种处理图形数据的方法,所述方法包括:
通过图形处理单元GPU的纹理单元接收纹理数据;
通过所述纹理单元用至少一个常数乘以所述纹理数据,其中所述常数并非与滤波操作相关联,并且其中所述纹理数据包括至少一个纹素;以及
通过所述纹理单元输出用所述至少一个常数乘以所述纹理数据的结果。
2.根据权利要求1所述的方法,其进一步包括通过所述纹理单元在所述至少一个纹素上执行至少一个滤波操作以产生至少一个滤波后的纹素,并且其中用所述至少一个常数乘以所述纹理数据包括用所述至少一个常数乘以所述至少一个滤波后的纹素。
3.根据权利要求2所述的方法,其中执行所述至少一个滤波操作包括应用双线性滤波操作或三线性滤波操作中的至少一个。
4.根据权利要求1所述的方法,其进一步包括在一或多个第一处理循环中使用乘法器电路执行三线性滤波操作,并且其中用所述至少一个常数乘以所述纹理数据包括在与所述一或多个第一处理循环分开的第二处理循环中使用所述乘法器电路用所述至少一个常数乘以所述纹理数据。
5.根据权利要求1所述的方法,其进一步包括接收来自对所述至少一个常数和三线性权重进行多路复用以用于三线性滤波操作的多路复用器电路的所述至少一个常数。
6.根据权利要求1所述的方法,其中输出所述结果包括将所述结果发射到光栅操作管线并且绕过经配置以接收来自所述纹理单元的数据的着色器管路。
7.根据权利要求1所述的方法,其进一步包括通过所述纹理单元从常数缓冲器提取所述至少一个常数。
8.根据权利要求1所述的方法,其进一步包括通过与所述纹理单元分开的处理单元从常数缓冲器提取所述至少一个常数。
9.根据权利要求1所述的方法,其中所述至少一个纹素包括多个纹素并且所述至少一个常数包括多个常数,并且其中乘以所述纹理数据包括用所述多个常数的相应的常数乘以所述多个纹素的每个纹素。
10.根据权利要求1所述的方法,其进一步包括与所述相乘同时通过经配置以接收来自所述纹理单元的输出的着色器管路执行着色操作。
11.一种用于处理图形的计算装置,所述计算装置包括:
存储器,其经配置以存储纹理数据;
纹理单元,其经配置以进行以下操作:
接收来自所述存储器的所述纹理数据;
通过所述纹理单元的乘法器电路用至少一个常数乘以所述纹理数据,其中所述常数并非与滤波操作相关联,并且其中所述纹理数据包括至少一个纹素;以及
通过所述纹理单元输出用所述至少一个常数乘以所述纹理数据的结果。
12.根据权利要求11所述的计算装置,其中所述纹理单元进一步经配置以在所述至少一个纹素上执行至少一个滤波操作以产生至少一个滤波后的纹素,并且其中为了用所述至少一个常数乘以所述纹理数据,所述纹理单元经配置以用所述至少一个常数乘以所述至少一个滤波后的纹素。
13.根据权利要求12所述的计算装置,其中为了执行所述至少一个滤波操作,所述纹理单元经配置以应用双线性滤波操作或三线性滤波操作中的至少一个。
14.根据权利要求11所述的计算装置,其中所述纹理单元进一步经配置以在一或多个第一处理循环中使用乘法器电路执行三线性滤波操作,并且其中为了用所述至少一个常数乘以所述纹理数据,所述纹理单元经配置以在与所述一或多个第一处理循环分开的第二处理循环中使用所述乘法器电路用所述至少一个常数乘以所述纹理数据。
15.根据权利要求11所述的计算装置,其中所述纹理单元进一步包括经配置以对所述至少一个常数和三线性权重进行多路复用以用于所述三线性滤波操作并且将所述至少一个常数发射到所述乘法器电路的多路复用器电路。
16.根据权利要求11所述的计算装置,其中为了输出所述结果,所述纹理单元经配置以将所述结果发射到光栅操作管线并且绕过经配置以接收来自所述纹理单元的数据的着色器管路。
17.根据权利要求11所述的计算装置,其中所述纹理单元进一步经配置以从常数缓冲器提取所述至少一个常数。
18.根据权利要求11所述的计算装置,其进一步包括与所述纹理单元分开的常数提取单元,其中所述常数提取单元经配置以从常数缓冲器提取所述至少一个常数。
19.根据权利要求11所述的计算装置,其中所述至少一个纹素包括多个纹素并且所述至少一个常数包括多个常数,并且其中为了乘以所述纹理数据,所述纹理单元经配置以用所述多个常数的相应的常数乘以所述多个纹素的每个纹素。
20.根据权利要求11所述的计算装置,其进一步包括经配置以接收来自所述纹理单元的输出并且与所述相乘同时执行着色操作。
21.一种上面存储有指令的非暂时性计算机可读媒体,所述指令在执行时使得一或多个处理器进行以下操作:
通过图形处理单元GPU的纹理单元接收纹理数据;
通过所述纹理单元用至少一个常数乘以所述纹理数据,其中所述常数并非与滤波操作相关联,并且其中所述纹理数据包括至少一个纹素;以及
通过所述纹理单元输出用所述至少一个常数乘以所述纹理数据的结果。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得所述纹理单元在所述至少一个纹素上执行至少一个滤波操作以产生至少一个滤波后的纹素,并且其中为了用所述至少一个常数乘以所述纹理数据,所述指令使得所述纹理单元用所述至少一个常数乘以所述至少一个滤波后的纹素。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中为了执行所述至少一个滤波操作,所述指令使得所述纹理单元应用双线性滤波操作或三线性滤波操作中的至少一个。
24.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得所述纹理单元在第一处理循环中使用所述乘法器电路执行三线性滤波操作,并且其中为了用所述至少一个常数乘以所述纹理数据,所述指令使得所述纹理单元在第二处理循环中使用所述乘法器电路用所述至少一个常数乘以所述纹理数据。
25.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得多路复用器对所述至少一个常数和三线性权重进行多路复用以用于所述三线性滤波操作并且将所述至少一个常数发射到所述乘法器电路。
26.根据权利要求21所述的非暂时性计算机可读媒体,其中为了输出所述结果,所述指令使得所述纹理单元将所述结果发射到光栅操作管线并且绕过经配置以接收来自所述纹理单元的数据的着色器管路。
27.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得所述纹理单元从常数缓冲器提取所述至少一个常数。
28.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得与所述纹理单元分开的常数提取单元从常数缓冲器提取所述至少一个常数。
29.根据权利要求21所述的非暂时性计算机可读媒体,其中所述至少一个纹素包括多个纹素并且所述至少一个常数包括多个常数,并且其中为了乘以所述纹理数据,所述指令使得所述纹理单元用所述多个常数的相应的常数乘以所述多个纹素的每个纹素。
30.根据权利要求21所述的非暂时性计算机可读媒体,其中所述指令进一步使得着色器管路接收来自所述纹理单元的输出并且与所述相乘同时执行着色操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/141,519 | 2016-04-28 | ||
US15/141,519 US10089708B2 (en) | 2016-04-28 | 2016-04-28 | Constant multiplication with texture unit of graphics processing unit |
PCT/US2017/021628 WO2017189105A1 (en) | 2016-04-28 | 2017-03-09 | Constant multiplication with texture unit of graphics processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109074673A true CN109074673A (zh) | 2018-12-21 |
Family
ID=58361185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780024921.3A Pending CN109074673A (zh) | 2016-04-28 | 2017-03-09 | 通过图形处理单元的纹理单元的常数乘法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10089708B2 (zh) |
EP (1) | EP3449467A1 (zh) |
CN (1) | CN109074673A (zh) |
WO (1) | WO2017189105A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019075702A1 (en) * | 2017-10-19 | 2019-04-25 | Tencent Technology (Shenzhen) Company Limited | METHODS AND SYSTEMS FOR PROCESSING GRAPHICS |
US20230269388A1 (en) * | 2022-02-18 | 2023-08-24 | Qualcomm Incorporated | Adaptive block-based frame similarity encoding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996041314A1 (en) * | 1995-06-07 | 1996-12-19 | Seiko Epson Corporation | Method and apparatus for texture mapping |
CN1858802A (zh) * | 2005-05-05 | 2006-11-08 | 威盛电子股份有限公司 | 平滑化处理计算机图形纹理数据的方法、处理装置及系统 |
CN102047315A (zh) * | 2008-05-30 | 2011-05-04 | 先进微装置公司 | 可扩展及整合的计算系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5886701A (en) * | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US6366290B1 (en) | 1997-03-31 | 2002-04-02 | Cirrus Logic, Inc. | Dynamically selectable texture filter for a software graphics engine |
US6236413B1 (en) * | 1998-08-14 | 2001-05-22 | Silicon Graphics, Inc. | Method and system for a RISC graphics pipeline optimized for high clock speeds by using recirculation |
US7274373B1 (en) | 1999-12-06 | 2007-09-25 | Nvidia Corporation | System, method and computer program product for providing arbitrary texture filtering |
US7034828B1 (en) * | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
JP4158413B2 (ja) * | 2002-05-22 | 2008-10-01 | ソニー株式会社 | 画像処理装置 |
JP2005332195A (ja) * | 2004-05-19 | 2005-12-02 | Sony Computer Entertainment Inc | テクスチャユニット、画像描画装置、テクセル転送方法 |
US7355603B2 (en) * | 2004-08-04 | 2008-04-08 | Nvidia Corporation | Filtering unit for floating-point texture data |
US7486290B1 (en) * | 2005-06-10 | 2009-02-03 | Nvidia Corporation | Graphical shader by using delay |
JP4843377B2 (ja) * | 2006-05-18 | 2011-12-21 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
US8174534B2 (en) * | 2007-12-06 | 2012-05-08 | Via Technologies, Inc. | Shader processing systems and methods |
US8120608B2 (en) * | 2008-04-04 | 2012-02-21 | Via Technologies, Inc. | Constant buffering for a computational core of a programmable graphics processing unit |
US20110025700A1 (en) | 2009-07-30 | 2011-02-03 | Lee Victor W | Using a Texture Unit for General Purpose Computing |
US8570336B2 (en) | 2009-12-08 | 2013-10-29 | Intel Corporation | Texture unit for general purpose computing |
US9202308B2 (en) * | 2011-12-28 | 2015-12-01 | Think Silicon Sa | Methods of and apparatus for assigning vertex and fragment shading operations to a multi-threaded multi-format blending device |
US9286647B2 (en) * | 2013-03-12 | 2016-03-15 | Nvidia Corporation | Pixel shader bypass for low power graphics rendering |
US9595075B2 (en) | 2013-09-26 | 2017-03-14 | Nvidia Corporation | Load/store operations in texture hardware |
-
2016
- 2016-04-28 US US15/141,519 patent/US10089708B2/en active Active
-
2017
- 2017-03-09 CN CN201780024921.3A patent/CN109074673A/zh active Pending
- 2017-03-09 EP EP17712384.1A patent/EP3449467A1/en not_active Withdrawn
- 2017-03-09 WO PCT/US2017/021628 patent/WO2017189105A1/en active Search and Examination
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996041314A1 (en) * | 1995-06-07 | 1996-12-19 | Seiko Epson Corporation | Method and apparatus for texture mapping |
CN1858802A (zh) * | 2005-05-05 | 2006-11-08 | 威盛电子股份有限公司 | 平滑化处理计算机图形纹理数据的方法、处理装置及系统 |
CN102047315A (zh) * | 2008-05-30 | 2011-05-04 | 先进微装置公司 | 可扩展及整合的计算系统 |
Also Published As
Publication number | Publication date |
---|---|
US10089708B2 (en) | 2018-10-02 |
US20170316540A1 (en) | 2017-11-02 |
WO2017189105A1 (en) | 2017-11-02 |
EP3449467A1 (en) | 2019-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177351B2 (en) | Multi-primitive graphics rendering pipeline | |
CN106471545B (zh) | 作为图像处理引擎的纹理单元 | |
US10354432B2 (en) | Texture space shading and reconstruction for ray tracing | |
US9177413B2 (en) | Unique primitive identifier generation | |
CN103810669B (zh) | 在统一l2高速缓存中高速缓存经适应性定制大小的高速缓存像素块 | |
TWI632524B (zh) | 以邊緣爲基礎之覆蓋遮罩壓縮技術 | |
US9501860B2 (en) | Sparse rasterization | |
KR102071766B1 (ko) | 효율적 텍스처 압축을 위한 방법 및 장치 | |
CN105122310B (zh) | 用于基于瓦片的渲染的帧内时戳 | |
KR102006584B1 (ko) | 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭 | |
EP3183714A2 (en) | Shader program execution techniques for use in graphics processing | |
CN106575442A (zh) | 使用通过自适应着色的纹理查找的带宽缩减 | |
US9852536B2 (en) | High order filtering in a graphics processing unit | |
US10762700B2 (en) | Generating random sampling distributions using stochastic rasterization | |
CN105144244B (zh) | 用于基于瓦片的渲染器的查询处理的方法、设备和计算机可读存储媒体 | |
EP3427229B1 (en) | Visibility information modification | |
US9646359B2 (en) | Indefinite texture filter size for graphics processing | |
TW201638883A (zh) | 用於細分表面的直接和互動式射線追蹤之方法及設備 | |
US10089964B2 (en) | Graphics processor logic for encoding increasing or decreasing values | |
CN108604386A (zh) | 用纹理单元中的反馈来进行多步纹理处理 | |
US9454841B2 (en) | High order filtering in a graphics processing unit | |
CN109074673A (zh) | 通过图形处理单元的纹理单元的常数乘法 | |
EP4150582A1 (en) | Method and apparatus of data compression | |
GB2625797A (en) | Retrieving a block of data items in a processor |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181221 |