CN105118089B - 三维图形管道中的可程序化像素设定方法及使用其的装置 - Google Patents

三维图形管道中的可程序化像素设定方法及使用其的装置 Download PDF

Info

Publication number
CN105118089B
CN105118089B CN201510511346.2A CN201510511346A CN105118089B CN 105118089 B CN105118089 B CN 105118089B CN 201510511346 A CN201510511346 A CN 201510511346A CN 105118089 B CN105118089 B CN 105118089B
Authority
CN
China
Prior art keywords
pixel
mentioned
execution thread
tinter
information
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
CN201510511346.2A
Other languages
English (en)
Other versions
CN105118089A (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.)
Granfei Intelligent Technology Co ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit 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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201510511346.2A priority Critical patent/CN105118089B/zh
Priority to US14/919,799 priority patent/US9892541B2/en
Priority to TW104134626A priority patent/TWI602151B/zh
Priority to EP15192150.9A priority patent/EP3133556A3/en
Publication of CN105118089A publication Critical patent/CN105118089A/zh
Application granted granted Critical
Publication of CN105118089B publication Critical patent/CN105118089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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

Landscapes

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

Abstract

本发明的实施例提出一种三维图形管道中的可程序化像素设定方法。从缓存器读取多个第一像素的信息,以及将全部或一部分第一像素的信息打包至设定着色器执行线程,使得设定着色器执行线程执行时将第一像素的信息输出至流处理器进行建构图元拓朴的并行计算。将需要裁切的第二像素的信息打包至可视范围裁切着色器执行线程,使得可视范围裁切着色器执行线程执行时将第二像素的信息输出至流处理器进行像素裁切。从缓存器读取多个第三像素的信息,以及将全部或一部分第三像素的信息打包至属性着色器执行线程,使得属性着色器执行线程执行时将第三像素的信息输出至流处理器进行像素属性的并行计算。

Description

三维图形管道中的可程序化像素设定方法及使用其的装置
技术领域
本发明涉及一种三维图形技术,特别是一种三维图形管道中的可程序化像素设定方法以及使用该方法的装置。
背景技术
三维图形管道中,像素(primitives)需要设定它们的拓朴(topology)以及属性函数(attribute functions),例如三角形、线段以及点。接着,根据拓朴函数将像素光栅(raster)至片元(tiles),最后使用像素着色器(pixel shader)根据属性函数计算最终的色彩。一般而言,像素设定阶段使用固定函数模块的硬件实施。然而,传统固定函数模块需耗费大量的闸数成本(gate-count cost)来实现像素设定工作。甚至,当芯片下线(tape-out)之后,不容易修正新发现的错误,而且,一旦芯片准备好,工程师也不能更新固定函数模块中的功能。因此,本发明提出一种三维图形管道中的可程序化像素设定方法以及使用该方法的装置,用以克服以上所述的缺点。
发明内容
本发明的实施例提出一种三维图形管道中的可程序化像素设定方法。从缓存器读取多个第一像素的信息,以及将全部或一部分第一像素的信息打包至设定着色器执行线程,使得设定着色器执行线程执行时将第一像素的信息输出至流处理器进行建构图元拓朴的并行计算。将需要裁切的第二像素的信息打包至可视范围裁切着色器执行线程,使得可视范围裁切着色器执行线程执行时将第二像素的信息输出至流处理器进行像素裁切。从缓存器读取多个第三像素的信息,以及将全部或一部分第三像素的信息打包至属性着色器执行线程,使得属性着色器执行线程执行时将第三像素的信息输出至流处理器进行像素属性的并行计算。
本发明的实施例另提出一种三维图形管道中的可程序化像素设定装置,包含缓存器、流处理器、设定着色器执行线程建构单元、可视范围裁切着色器执行线程建构单元以及属性着色器执行线程建构单元。设定着色器执行线程建构单元从缓存器读取多个第一像素的信息,将全部或一部分第一像素的信息打包至设定着色器执行线程,使得设定着色器执行线程执行时将第一像素的信息输出至流处理器进行建构图元拓朴的并行计算。可视范围裁切着色器执行线程建构单元将需要裁切的第二像素的信息打包至可视范围裁切着色器执行线程,使得可视范围裁切着色器执行线程执行时将第二像素的信息输出至流处理器进行裁切。属性着色器执行线程建构单元从缓存器读取多个第三像素的信息,将全部或一部分第三像素的信息打包至属性着色器执行线程,使得属性着色器执行线程执行时将第三像素的信息输出至流处理器进行像素属性的并行计算。
附图说明
图1是依据本发明实施例的三维图形处理装置的硬件架构图。
图2是依据本发明实施例的三维图形管道中的像素设定示意图。
图3是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。
图4是依据本发明实施例的产生设定着色器执行线程的方法流程图。
图5是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。
图6是依据本发明实施例的产生可视范围裁切着色器执行线程的方法流程图。
图7是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。
图8是依据本发明实施例的产生属性着色器执行线程的方法流程图。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
在权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
图1是依据本发明实施例的三维图形处理装置的硬件架构图。设定着色器执行线程建构单元(SSTC,Setup Shader Thread Constructor)140用以从像素缓存器(primitivebuffer)110或可视范围像素缓存器(Guard-Band-clipping primitive buffer)170读取多个像素的信息,将像素信息打包至设定着色器执行线程(SST,Setup Shader Thread),使得设定着色器执行线程执行时将像素信息输出至流处理器120进行提供建构图元拓朴(primitive topology)的并行计算。设定着色器执行线程建构单元140为每一个像素向共享内存130请求配置空间,使得流处理器120可将计算结果输出至共享内存130。当设定着色器执行线程执行时发现任一像素需要进行可视范围裁切时,可视范围裁切着色器执行线程建构单元(GBTC,Guard-Band-clipping shader Thread Constructor)150将需要裁切的像素打包至可视范围裁切着色器执行线程(GBS Thread),使得可视范围裁切着色器执行线程执行时将像素信息输出至流处理器120进行裁切,并且把裁切结果储存至可视范围像素缓存器170。属性着色器执行线程建构单元(ASTC,Attribute Shader Thread Constructor)160用以从像素缓存器110或可视范围像素缓存器170读取多个像素的信息,将像素信息打包至属性着色器执行线程(AST,Attribute Shader Thread),使得属性着色器执行线程执行时将像素信息输出至流处理器120进行像素属性的并行计算。属性着色器执行线程建构单元160为每一个像素向共享内存130请求配置空间,使得流处理器120可将计算结果输出至共享内存130。属性着色器执行线程另可将计算结果储存至属性缓存器(AttributeBuffer)180。
图2是依据本发明实施例的三维图形管道中的像素设定示意图。输入组装阶段(IA-Input Assembler Stage)210可从缓存器中读取数据并将数据组合成将被管道中其它阶段使用的像素(primitives)。详细来说,输入组装阶段210可将顶点组合成不同的像素类型,例如,点、线以及/或三角形。前置阶段(FS,Front Stage)220可包含公知的顶点着色器(VS,Vertex Shader)、外壳着色器(HS,Hull Shader)、区域着色器(DS,Domain Shader)、几何着色器(GS,Geometry Shader)、或以上的任意组合。在像素设定阶段中,本实施例提出执行于平行流处理器120的着色器:设定着色器(SS,Setup Shader)及可视范围裁切着色器(GBS,Guard-Band clipping Shader)230;以及属性着色器(AS,Attribute Shader)240,用以取代固定函数模块的硬件。流处理器120可为单指令多数据(SIMD,Single InstructionMultiple Data)处理单元。设定着色器230提供建构图元拓朴的功能。可视范围裁切着色器230用以进行像素的裁切。属性着色器240提供处理像素属性的功能。在像素设定阶段中,使用着色器实施可节省闸数成本,并且当芯片下线(tape-out)之后,可修正新发现的错误以及更新着色器中的功能。驱动程序可检查从前置阶段220产生的像素类型,并且通知编译器产生适当的着色器程序代码,用以处理点、线以及/或三角形。此外,着色器还可利用并行计算能力来一次处理多个像素,使得像素设定的效能可随着串流处理单元的数目增加而提升。可于一个硬件执行线程中处理的像素数目,视串流处理单元的能力而定,例如一次可计算16、32或64笔数据。设定着色器(SS,Setup Shader)及可视范围裁切着色器(GBS,Guard-Band clipping Shader)230的运算结果输出至片元产生阶段(TG-Tile GenerationStage)260。属性着色器240的运算结果输出至后置阶段(BS,Back Stage)270,后置阶段270可包含公知的像素着色器(PS,Pixel Shader)。
图3是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。前置阶段220的结果可输出并储存至像素缓存器110。编译器为处理像素缓存器110中指定数目的相同类型像素,例如16、32或64个三角形,通知设定着色器执行线程建构单元140,用以产生设定着色器执行线程(步骤S311)。设定着色器执行线程建构单元140可使用特定电路实施,较固定函数模块花费较少的闸数成本。设定着色器执行线程建构单元140或可使用硬件或软件实施,以及当流处理器120加载并执行所需的程序代码时产生设定着色器执行线程。设定着色器执行线程于执行时,实现像素拓朴功能,包含如下所述的步骤。为每一个像素,设定着色器执行线程判断是否需要进行琐碎拒绝(trivial rejection)(步骤S313)。像素可以从像素缓存器110或可视范围像素缓存器170取得。在步骤S313,详细来说,流处理器120中的单指令多数据处理单元加载多个相同类型像素,而每一单指令多数据处理单元判断加载的像素是否整个超出显示画面。针对每一个像素,若是,则代表此像素不需要绘制并更新琐碎拒绝掩码(trivial rejection mask)中的相应位(步骤S315);否则,进行此像素的视端口转换(viewport transform)(步骤S319)。琐碎拒绝掩码可实施于寄存器(register)310中。在步骤S315,举例来说,琐碎拒绝掩码可包含指定数目的位,并初始设定为逻辑“0”。当第0个像素需要进行琐碎拒绝时,则将琐碎拒绝掩码中的第0个位设定为逻辑“1”。于步骤S319,视端口转换依据必要信息(例如,三维空间坐标等)将此像素转换至显示画面的二维坐标。为余下的像素,设定着色器执行线程更判断是否需进行可视范围裁切(GBC,Guard-Band Clipping)(步骤S331)。在步骤S331,详细来说,流处理器120中的单指令多数据处理单元加载需要处理的像素,而每一单指令多数据处理单元判断加载的像素是否需要进行可视范围裁切。针对任一个像素,若是,则代表所有像素都需要让可视范围裁切着色器230作进一步处理,因而结束设定着色器执行线程(步骤S333)。为余下的每一像素,设定着色器执行线程进行特征计算(DET,DETerminant calculation)(步骤S335)。举例来说,步骤S335可计算三角形面积、像素位于显示画面的正面或反面等特征。为余下的每一像素,设定着色器执行线程判断是否需剔除(cull)(步骤S337)。在步骤S337,详细来说,流处理器120中的单指令多数据处理单元加载需要处理的像素,而每一单指令多数据处理单元判断加载的像素是否位于显示画面的反面。若是,则代表此像素不需要绘制并更新琐碎拒绝掩码中的相应位(步骤S315);否则,产生属性着色器240所需的参数(attributes)(步骤S339)。举例来说,当第10个像素需要剔除时,则将琐碎拒绝掩码中的第10个位设定为逻辑“1”。为余下的每一像素,设定着色器执行线程执行拓朴函数(TF,Topology funciton)并输出至片元产生阶段260(步骤S351)。
设定着色器执行线程更周期性从寄存器310读取琐碎拒绝掩码中的值(步骤S371),判断是否所有像素都被拒绝(步骤S373),若是,则结束设定着色器执行线程(步骤S353)。在步骤S371及步骤S373,举例来说,设定着色器执行线程判断琐碎拒绝掩码中的所有位是否皆为逻辑“1”,若是则代表所有像素都被拒绝而不需要描绘。
参考图3中的步骤S311。图4是依据本发明实施例的产生设定着色器执行线程的方法流程图。设定着色器执行线程建构单元140周期性地执行一个循环,用以从像素缓存器110或可视范围像素缓存器170取得一个像素的信息(步骤S411),并判断是否为完整的像素(步骤S413)。若是则请求共享内存130配置空间(步骤S415);否则忽略此像素信息(步骤S417)。共享内存130中的内存控制器接收到请求后(步骤S415),判断是否有足够空间(步骤S471)。若是则回复成功信息,其中包含配置空间的地址(步骤S473);否则回复失败信息(步骤S475)。当设定着色器执行线程建构单元140从内存控制器接收到信息后,判断是否空间配置成功(步骤S431)。当空间配置成功(步骤S431中“是”的路径)则将此像素信息打包至设定着色器执行线程(步骤S433),否则(步骤S431中“否”的路径)判断是否请求逾时(步骤S435)。当请求逾时(步骤S435中“是”的路径)则执行设定着色器执行线程,否则(步骤S435中“否”的路径)继续请求共享内存130配置空间(步骤S415)。接着,当不存在更多的像素信息(步骤S451中“是”的路径)或取得的像素信息已经达到特定数目时(步骤S453中“是”的路径),则结束设定着色器执行线程建构单元140(步骤S455)以及执行设定着色器执行线程。当存在更多的像素信息(步骤S451中“否”的路径)以及取得的像素信息尚未达到特定数目时(步骤S453中“否”的路径),从像素缓存器110取得下一个像素的信息(步骤S411)。设定着色器执行线程执行时,可将特定数目的像素信息输出至流处理器120进行并行计算,并且将相应于每个像素信息的运算结果储存至配置的共享内存130。
图5是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。接续图3,结束设定着色器执行线程后(步骤S333),编译器通知可视范围裁切着色器执行线程建构单元150,用以产生可视范围裁切着色器执行线程(步骤S511)。可视范围裁切着色器执行线程建构单元150可使用特定电路实施,较固定函数模块花费较少的闸数成本。设定着色器执行线程建构单元150或可使用软件实施,以及当流处理器120加载并执行所需的程序代码时产生设定着色器执行线程。可视范围裁切着色器执行线程于执行时,实现像素裁切功能,包含如下所述的步骤。为每一个需要裁切的像素,分割成一或多个落入显示画面的像素,例如将一个三角形分割成落入显示画面的多个小三角形,并储存至可视范围像素缓存器170(步骤S513)。接着,结束可视范围裁切着色器执行线程(步骤S515)。
参考图5中的步骤S511。图6是依据本发明实施例的产生可视范围裁切着色器执行线程的方法流程图。可视范围裁切着色器执行线程建构单元150周期性地执行一个循环,用以从像素缓存器110取得一个像素的信息(步骤S611),读取琐碎拒绝掩码的内容(步骤S613),并根据琐碎拒绝掩码中相应的位值判断此像素是否需要进行琐碎拒绝(步骤S631)。若是,则根据像素信息判断此像素是否需要进行可视范围裁切(步骤S633);否则,产生可视范围裁切执行线程(步骤S651),以及执行可视范围裁切执行线程(步骤S653)。当可视范围裁切执行线程执行时,将此像素分割成一或多个落入显示画面的小像素,并且储存至可视范围像素缓存器170。当以上二个判断中之任一者为否时(步骤S631中“否”的路径或步骤S633中“否”的路径),判断取得的像素信息是否已经达到特定数目(步骤S655)。若是,则从像素缓存器110取得下一个像素的信息(步骤S611)。
图7是依据本发明实施例的三维图形管道中的可程序化像素设定方法流程图。接续图3,产生参数后(步骤S339),编译器通知属性着色器执行线程建构单元(ASTC,Attribute Shader Thread Constructor)150,用以产生属性着色器执行线程(AttributeShader Thread)(步骤S711),并且将变量“attr”设为0(步骤S713)。接着,反复执行一个循环(步骤S731至S735),直到变数“attr”大于或等于属性总数(步骤S731中“是”的路径)。于每一回合中,为一个属性(例如,颜色、坐标等)执行相应的属性函数并将执行结果储存于属性缓存器180(步骤S733),以及将变量“attr”加一,即“attr=attr+1”(步骤S735)。
参考图7中的步骤S711。图8是依据本发明实施例的产生属性着色器执行线程的方法流程图。属性着色器执行线程建构单元160周期性地执行一个循环,用以从像素缓存器110或可视范围像素缓存器170取得一个像素的信息(步骤S811),并判断是否需要进行琐碎拒绝(步骤S813)。若是则请求共享内存130配置空间(步骤S815);否则取得下一个像素的信息(步骤S811)。共享内存130中的内存控制器接收到请求后(步骤S815),判断是否有足够空间(步骤S871)。若是则回复成功信息,其中包含配置空间的地址(步骤S873);否则回复失败信息(步骤S875)。当属性着色器执行线程建构单元160从内存控制器接收到信息后,判断是否空间配置成功(步骤S831)。当空间配置成功(步骤S831中“是”的路径)则将此像素信息打包至属性着色器执行线程(步骤S833),否则(步骤S831中“否”的路径)判断是否请求逾时(步骤S835)。当请求逾时(步骤S835中“是”的路径)则执行属性着色器执行线程,否则(步骤S835中“否”的路径)继续请求共享内存130配置空间(步骤S815)。接着,当不存在更多的像素信息(步骤S851中“是”的路径)或取得的像素信息已经达到特定数目时(步骤S853中“是”的路径),则结束属性着色器执行线程建构单元160(步骤S855)以及执行属性着色器执行线程。当存在更多的像素信息(步骤S851中“否”的路径)以及取得的像素信息尚未达到特定数目时(步骤S853中“否”的路径),从像素缓存器110取得下一个像素的信息(步骤S811)。属性着色器执行线程执行时,可将特定数目的像素信息输出至流处理器120进行并行计算,并且将相应于每个像素信息的运算结果储存至配置的共享内存130。
虽然图1中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其它的附加组件,已达成更佳的技术效果。此外,虽然图3至图8的处理步骤采用特定的顺序来执行,但是在不违法发明精神的情况下,熟习此技术人士可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技术人士显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
【符号说明】
110像素缓存器; 120流处理器;
130共享内存;
140设定着色器执行线程建构单元;
150可视范围裁切着色器执行线程建构单元;
160属性着色器执行线程建构单元;
170可视范围像素缓存器;
180属性缓存器; 210输入组装阶段;
220前置阶段;
230设定着色器及可视范围裁切着色器;
240属性着色器; 250缓存器;
260片元产生阶段; 270后置阶段;
310寄存器; S311~S373方法步骤;
S411~S473方法步骤; S511~S515方法步骤;
S611~S655方法步骤; S711~S735方法步骤;
S811~S873方法步骤。

Claims (10)

1.一种三维图形管道中的可程序化像素设定方法,用于取代由固定函数模块进行的像素设定,该方法包含:
从一缓存器读取多个第一像素的信息;
将全部或一部分上述第一像素的信息打包至一设定着色器执行线程,使得上述设定着色器执行线程执行时将上述第一像素的信息输出至一流处理器进行建构图元拓朴的并行计算;
将需要裁切的第二像素的信息打包至一可视范围裁切着色器执行线程,使得上述可视范围裁切着色器执行线程执行时将上述第二像素的信息输出至上述流处理器进行裁切;
从上述缓存器读取多个第三像素的信息;以及
将全部或一部分上述第三像素的信息打包至一属性着色器执行线程,使得上述属性着色器执行线程执行时将上述第三像素的信息输出至上述流处理器进行像素属性的并行计算。
2.如权利要求1所述的三维图形管道中的可程序化像素设定方法,其中,上述流处理器为一单指令多数据处理单元。
3.如权利要求1所述的三维图形管道中的可程序化像素设定方法,更包含:
为每一上述第一像素以及每一上述第三像素向一共享内存请求配置空间,使得上述流处理器将计算结果输出至上述共享内存。
4.如权利要求3所述的三维图形管道中的可程序化像素设定方法,其中上述请求配置空间步骤使用一设定着色器执行线程建构单元或一属性着色器执行线程建构单元执行。
5.如权利要求4所述的三维图形管道中的可程序化像素设定方法,包含:
当上述共享内存请求失败且逾时,结束上述设定着色器执行线程建构单元或上述属性着色器执行线程建构单元。
6.如权利要求1所述的三维图形管道中的可程序化像素设定方法,包含:
当上述设定着色器执行线程执行时,取得上述第一像素的信息;
判断每一上述第一像素是否整个超出一显示画面或判断上述第一像素是否为位于上述显示画面的反面,若是,则更新一琐碎拒绝掩码中的一相应位,用以指示上述第一像素不需要绘制;
判断每一上述第一像素是否需进行可视范围裁切,若是,则设定着色器执行线程结束;
若上述第一像素整个不超出上述显示画面及位于上述显示画面的正面以及不需进行可视范围裁切时,产生一属性着色器所需的一参数以及执行一拓朴函数。
7.如权利要求6所述的三维图形管道中的可程序化像素设定方法,更包含:
当可视范围裁切着色器执行线程执行时,将上述第二像素裁切成一或多个落入上述显示画面的像素。
8.如权利要求7所述的三维图形管道中的可程序化像素设定方法,更包含:
当上述属性着色器执行线程执行时,为每一上述第三像素执行一或多个属性函数。
9.如权利要求1所述的三维图形管道中的可程序化像素设定方法,更包含:
将像素属性的运算结果输出至一像素着色器。
10.一种三维图形管道中的可程序化像素设定装置,用于取代由固定函数模块进行的像素设定,该装置包含:
一缓存器;
一流处理器;
一设定着色器执行线程建构单元,从上述缓存器读取多个第一像素的信息,将全部或一部分上述第一像素的信息打包至一设定着色器执行线程,使得上述设定着色器执行线程执行时将上述第一像素的信息输出至上述流处理器进行建构图元拓朴的并行计算;
一可视范围裁切着色器执行线程建构单元,将需要裁切的第二像素的信息打包至一可视范围裁切着色器执行线程,使得上述可视范围裁切着色器执行线程执行时将上述第二像素的信息输出至上述流处理器进行裁切;以及
一属性着色器执行线程建构单元,从上述缓存器读取多个第三像素的信息,将全部或一部分上述第三像素的信息打包至一属性着色器执行线程,使得上述属性着色器执行线程执行时将上述第三像素的信息输出至上述流处理器进行像素属性的并行计算。
CN201510511346.2A 2015-08-19 2015-08-19 三维图形管道中的可程序化像素设定方法及使用其的装置 Active CN105118089B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510511346.2A CN105118089B (zh) 2015-08-19 2015-08-19 三维图形管道中的可程序化像素设定方法及使用其的装置
US14/919,799 US9892541B2 (en) 2015-08-19 2015-10-22 Methods for a programmable primitive setup in a 3D graphics pipeline and apparatuses using the same
TW104134626A TWI602151B (zh) 2015-08-19 2015-10-22 三維圖形管道中之可程式化圖元設定方法以及使用該方法的裝置
EP15192150.9A EP3133556A3 (en) 2015-08-19 2015-10-29 Methods for programmable a primitive setup in a 3d graphics pipeline and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510511346.2A CN105118089B (zh) 2015-08-19 2015-08-19 三维图形管道中的可程序化像素设定方法及使用其的装置

Publications (2)

Publication Number Publication Date
CN105118089A CN105118089A (zh) 2015-12-02
CN105118089B true CN105118089B (zh) 2018-03-20

Family

ID=54477845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510511346.2A Active CN105118089B (zh) 2015-08-19 2015-08-19 三维图形管道中的可程序化像素设定方法及使用其的装置

Country Status (4)

Country Link
US (1) US9892541B2 (zh)
EP (1) EP3133556A3 (zh)
CN (1) CN105118089B (zh)
TW (1) TWI602151B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1957376A (zh) * 2004-04-12 2007-05-02 辉达公司 可缩放着色器结构
CN101425175A (zh) * 2007-12-06 2009-05-06 威盛电子股份有限公司 着色器处理系统与方法
CN101996391A (zh) * 2009-08-21 2011-03-30 英特尔公司 用于存储和取回图像数据的技术
CN102136128A (zh) * 2010-04-21 2011-07-27 威盛电子股份有限公司 增进绘图处理单元的总处理量的方法与系统
CN103886634A (zh) * 2012-12-21 2014-06-25 辉达公司 利用每像素着色器线程的高效超级采样

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052129A (en) 1997-10-01 2000-04-18 International Business Machines Corporation Method and apparatus for deferred clipping of polygons
US6229553B1 (en) * 1998-08-20 2001-05-08 Apple Computer, Inc. Deferred shading graphics pipeline processor
US7257814B1 (en) * 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US6359630B1 (en) * 1999-06-14 2002-03-19 Sun Microsystems, Inc. Graphics system using clip bits to decide acceptance, rejection, clipping
US6919908B2 (en) * 2003-08-06 2005-07-19 Ati Technologies, Inc. Method and apparatus for graphics processing in a handheld device
US8643659B1 (en) * 2003-12-31 2014-02-04 3Dlabs Inc., Ltd. Shader with global and instruction caches
US20070091088A1 (en) * 2005-10-14 2007-04-26 Via Technologies, Inc. System and method for managing the computation of graphics shading operations
US7880745B2 (en) * 2006-06-20 2011-02-01 Via Technologies, Inc. Systems and methods for border color handling in a graphics processing unit
US7928990B2 (en) * 2006-09-27 2011-04-19 Qualcomm Incorporated Graphics processing unit with unified vertex cache and shader register file
US7940261B2 (en) * 2007-01-10 2011-05-10 Qualcomm Incorporated Automatic load balancing of a 3D graphics pipeline
CN101325063B (zh) * 2007-06-12 2011-02-16 建兴电子科技股份有限公司 全息储存系统中寻找定位点位置的方法
US8963930B2 (en) * 2007-12-12 2015-02-24 Via Technologies, Inc. Triangle setup and attribute setup integration with programmable execution unit
US8599202B1 (en) * 2008-09-29 2013-12-03 Nvidia Corporation Computing tessellation coordinates using dedicated hardware
US8760460B1 (en) * 2009-10-15 2014-06-24 Nvidia Corporation Hardware-managed virtual buffers using a shared memory for load distribution
US8681162B2 (en) * 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
US9442780B2 (en) * 2011-07-19 2016-09-13 Qualcomm Incorporated Synchronization of shader operation
US8872838B2 (en) * 2011-09-09 2014-10-28 Microsoft Corporation Primitive composition
GB2511817A (en) * 2013-03-14 2014-09-17 Imagination Tech Ltd Rendering in computer graphics systems
GB2520076B (en) * 2013-11-11 2020-07-29 Advanced Risc Mach Ltd Rasterisation in graphics processing systems
US9672298B2 (en) * 2014-05-01 2017-06-06 Oracle International Corporation Precise excecution of versioned store instructions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1957376A (zh) * 2004-04-12 2007-05-02 辉达公司 可缩放着色器结构
CN101425175A (zh) * 2007-12-06 2009-05-06 威盛电子股份有限公司 着色器处理系统与方法
CN101996391A (zh) * 2009-08-21 2011-03-30 英特尔公司 用于存储和取回图像数据的技术
CN102136128A (zh) * 2010-04-21 2011-07-27 威盛电子股份有限公司 增进绘图处理单元的总处理量的方法与系统
CN102982503A (zh) * 2010-04-21 2013-03-20 威盛电子股份有限公司 绘图处理单元
CN103886634A (zh) * 2012-12-21 2014-06-25 辉达公司 利用每像素着色器线程的高效超级采样

Also Published As

Publication number Publication date
EP3133556A2 (en) 2017-02-22
TWI602151B (zh) 2017-10-11
CN105118089A (zh) 2015-12-02
EP3133556A3 (en) 2018-01-17
TW201709151A (zh) 2017-03-01
US9892541B2 (en) 2018-02-13
US20170053429A1 (en) 2017-02-23

Similar Documents

Publication Publication Date Title
US9779536B2 (en) Graphics processing
KR100510131B1 (ko) 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법
US7116337B2 (en) Transparent depth sorting
KR102595713B1 (ko) 그래픽 처리 시스템
KR101054702B1 (ko) 광선 추적 이미지 처리 시스템의 픽셀 컬러 결정
US7940265B2 (en) Multiple spacial indexes for dynamic scene management in graphics rendering
US8725466B2 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
Greß et al. GPU‐based collision detection for deformable parameterized surfaces
CN104737208B (zh) 曲面细分单元中的顶点次序
KR102598915B1 (ko) 그래픽 처리
KR20080067840A (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
JP2016524242A (ja) 頂点シェーダのフロント・エンドとしてコンピュート・シェーダを使用すること
CN107038742A (zh) 屏幕空间管线中的多通道渲染
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
CN101236661A (zh) 在计算机中管理纹理数据的系统与方法
CN110262907A (zh) 用于统一应用编程接口和模型的系统和方法
US20180165872A1 (en) Removing or identifying overlapping fragments after z-culling
EP2709068A1 (en) Image processing apparatus
KR100823373B1 (ko) 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘
CN107784622A (zh) 图形处理系统和图形处理器
US8525843B2 (en) Graphic system comprising a fragment graphic module and relative rendering method
KR100791411B1 (ko) 그래픽스 처리장치 및 방법
Greß et al. Object-space interference detection on programmable graphics hardware
CN104050719A (zh) 生成抗锯齿体素数据
CN105118089B (zh) 三维图形管道中的可程序化像素设定方法及使用其的装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211206

Address after: Room 201, No. 2557, Jinke Road, pilot Free Trade Zone, Pudong New Area, Shanghai 201203

Patentee after: Gryfield Intelligent Technology Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201203, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Granfei Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: Room 201, No. 2557, Jinke Road, pilot Free Trade Zone, Pudong New Area, Shanghai 201203

Patentee before: Gryfield Intelligent Technology Co.,Ltd.

Country or region before: China