CN109615685A - 基于uml面向gpu纹理贴图的硬件视图模型及纹理执行方法 - Google Patents

基于uml面向gpu纹理贴图的硬件视图模型及纹理执行方法 Download PDF

Info

Publication number
CN109615685A
CN109615685A CN201811355057.8A CN201811355057A CN109615685A CN 109615685 A CN109615685 A CN 109615685A CN 201811355057 A CN201811355057 A CN 201811355057A CN 109615685 A CN109615685 A CN 109615685A
Authority
CN
China
Prior art keywords
texture
texel
image parameter
requests
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811355057.8A
Other languages
English (en)
Other versions
CN109615685B (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.)
Xi'an Technology Co Ltd
Original Assignee
Xi'an 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 Xi'an Technology Co Ltd filed Critical Xi'an Technology Co Ltd
Priority to CN201811355057.8A priority Critical patent/CN109615685B/zh
Publication of CN109615685A publication Critical patent/CN109615685A/zh
Application granted granted Critical
Publication of CN109615685B publication Critical patent/CN109615685B/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/04Texture mapping
    • 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
    • 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

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

Abstract

本发明涉及一种基于UML面向GPU纹理贴图的硬件视图模型及纹理执行方法,包括:任务队列单元,用于接收、存储统一染色阵列输入的第一纹理请求,输出第二纹理请求;纹理执行线程,用于根据所述第二纹理请求获取纹理图像参数和纹素数据,对所述纹理图像参数和所述纹素数据进行计算得到纹理颜色数据,输出所述纹理颜色数据。本发明实施例通过基于UML语言和事务级建模方法对GPU纹理贴图的硬件视图模型行建模,能够帮助开发人员更好的理解系统架构,建立更可靠更完善的系统模型,并且更加高效的对纹理贴图硬件结构的可行性进行验证。

Description

基于UML面向GPU纹理贴图的硬件视图模型及纹理执行方法
技术领域
本发明属于计算机硬件建模技术领域,具体涉及一种基于UML面向GPU纹理贴图的硬件视图模型及纹理执行方法。
背景技术
UML(Unified Modeling Language)又称统一建模语言,是一个支持模型化和软件系统开发的图形化语言,为软件开发提供模型化和可视化支持。UML能够帮助设计者缩短设计时间,减少改进成本,使软硬件分割最优。
GPU采用数量众多的计算单元,具有大规模并行计算能力,为图形处理和通用并行计算提供了良好的运行平台。目前,我国GPU研制能力薄弱,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口商用GPU芯片存在安全性、可靠性、保障性等方面的隐患,无法满足军用环境的需求;上述问题严重制约了我国显示系统的独立研制和自主发展,突破图形处理器关键技术、研制图形处理器芯片迫在眉睫。
面向GPU的纹理贴图将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。然而,现有纹理贴图的建模中,由于开发人员对纹理贴图的理解欠缺,导致建立的模型可靠性和完善性都有所欠缺,而且纹理贴图硬件结构的可行性也无法得以验证。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于UML面向GPU纹理贴图的硬件视图模型及纹理执行方法。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供了一种基于UML的面向GPU纹理贴图的硬件视图模型,包括:
任务队列单元,用于接收、存储统一染色阵列输入的第一纹理请求,并输出第二纹理请求;
纹理执行线程,用于根据所述第二纹理请求获取纹理图像参数和纹素数据,对所述纹理图像参数和所述纹素数据进行计算得到纹理颜色数据,输出所述纹理颜色数据。
在本发明的一个实施例中,还包括:
纹理请求获取接口,连接所述统一染色阵列,用于向所述统一染色阵列获取所述第一纹理请求;
纹理图像参数获取接口,连接寄存器,用于向所述寄存器获取所述纹理图像参数;
纹素数据获取接口,连接纹素数据缓存单元,用于向所述纹素数据缓存单元获取所述纹素数据;
纹理颜色数据输出接口,连接所述统一染色阵列,用于向所述统一染色阵列输出所述纹理颜色数据。
在本发明的一个实施例中,所述任务队列单元连接先进队列接口和先出队列接口,其中,
所述先进队列接口,用于顺序的写入所述第一纹理请求;
所述先出队列接口,用于顺序的输出所述第二纹理请求。
在本发明的一个实施例中,所述纹理执行线程包括:
纹理请求获取单元,用于获取第一纹理请求,并输出第二纹理请求;
纹理图像参数获取单元,连接所述纹理请求获取单元,用于根据所述第二纹理请求获取第一纹理图像参数,并对第一纹理图像参数进行计算得到计算结果,根据计算结果得到第二纹理图像参数;
纹素地址计算单元,连接所述纹理图像参数获取单元,用于对所述第二纹理图像参数进行计算,得到所述纹素地址;
纹素数据获取单元,连接所述纹素地址计算单元,用于依据所述纹素地址获取所述纹素数据;
纹素数据处理单元,连接所述纹素数据获取单元,用于对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理,得到纹理颜色数据;
纹理颜色数据输出单元,连接所述纹素数据处理单元,用于输出所述纹理颜色数据至所述统一染色阵列。
在本发明的一个实施例中,所述纹理图像参数获取单元包括:
第一纹理图像参数获取单元,连接所述纹理请求获取单元,用于根据所述第二纹理请求获取所述第一纹理图像参数;
Level计算单元,连接所述第一纹理图像参数获取单元,用于对所述第一纹理图像参数进行处理计算,得到MipMap贴图的level值;
第二纹理图像参数获取单元,连接所述Level计算单元,用于根据所述level值获取level层中的所述第二纹理图像参数。
本发明实施例还提供了一种基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,包括:
获取第一纹理请求,输出第二纹理请求;
根据所述第二纹理请求获取所述第一纹理图像参数;
对所述第一纹理图像参数进行处理计算,得到MipMap贴图的level值;
根据所述level值获取level层中的所述第二纹理图像参数;
对所述第二纹理图像参数进行计算,得到所述纹素地址;
依据所述纹素地址获取所述纹素数据;
对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理,得到纹理颜色数据;
输出所述纹理颜色数据。
在本发明的一个实施例中,输出第二纹理请求,包括:
判断纹理阵列单元是否开启,
若否,则将所述纹理颜色数据全部赋值为0,并输出所述纹理颜色数据至所述统一染色阵列;
若是,则接收并存放第一纹理请求,输出第二纹理请求,并判断第二纹理请求中的纹素mask值:若所述纹素mask值全为0,则跳出进程;若所述纹素mask值中存在1,则根据所述第二纹理请求获取所述第一纹理图像参数。
在本发明的一个实施例中,根据所述level值获取level层中的所述第二纹理图像参数之后,还包括:
令texfragmun=0,判断纹素mask[texfragmun]值:
若所述纹素mask[texfragmun]值为0,则将所述纹理颜色数据全部赋值为0,并输出所述纹理颜色数据,同时进行texfragmun++计算;
若所述纹素mask[texfragmun]值为1,则对所述第二纹理图像参数进行计算。
在本发明的一个实施例中,对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理之后,还包括:
进行texfragmun++计算。
在本发明的一个实施例中,进行texfragmun++计算之后,包括:
判断texfragmun是否为4,
若否,则返回判断纹素mask[texfragmun]值;
若是,则停止计算。
与现有技术相比,本发明的有益效果:
本发明通过基于UML语言和事务级建模方法对GPU纹理贴图的硬件视图模型行建模,能够帮助开发人员更好的理解系统架构,建立更可靠更完善的系统模型,并且更加高效的对纹理贴图硬件结构的可行性进行验证。
附图说明
图1为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的结构示意图;
图2为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的接口类图;
图3为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的结构示意图,本发明实施例通过UML语言和事务级建模方法对GPU纹理贴图进行了建模,基于UML的面向GPU纹理贴图的硬件视图模型包括纹理阵列单元(TAU),TAU包括纹理执行单元(TMU),TAU的功能是用于将一幅图像的数据映射到3D物体的表面,TMU是用于实现TAU的功能即执行将一幅图像的数据映射到3D物体表面的过程。
TMU包括任务队列单元usatotmufifo和纹理执行线程texture_Processthread,其中,任务队列单元usatotmufifo用于接收、存储统一染色阵列(usa)发送的第一纹理请求,并且输出第二纹理请求;纹理执行线程texture_Processthread用于根据从任务列队单元usatotmufifo获取的第二纹理请求获取纹理图像参数和纹素数据,对纹理图像参数和纹素数据进行计算得到纹理颜色数据,输出所述纹理颜色数据。
TMU还包括与外部单元连接的纹理请求获取接口tautousaPort、纹理图像参数获取接口tautoSpmuPort、纹素数据获取接口tmutoL1CachePort、纹理颜色数据输出接口usatoTauExport;其中,纹理请求获取接口tautousaPort连接usa,用于向usa获取第一纹理请求;纹理图像参数获取接口tautoSpmuPort连接存储有纹理图像参数的寄存器Spmu,用于向寄存器获取纹理图像参数;纹素数据获取接口tmutoL1CachePort连接纹素数据缓存单元L1Cache,用于向纹素数据缓存单元获取纹素数据;纹理颜色数据输出接口usatotauPort连接usa,用于向usa输出所述纹理颜色数据。
请参见图2,图2为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的接口类图,接口类图包含TAU类,继承于SystemC的sc_module类,包含TMU类和TauL1Cache类。
进一步的,TMU类继承于usatotaulf接口,TMU接口实现的方法函数包括:Assemble_Output_data、Border_En_Computer、Computer_Filtrate_Data、Computer_Lambda、Computer_Level_And_Alpha、Computer_Lever_Coordinate、Computer_Scalar、Computer_Texture_Coordinate、Computer_Whd_Parameter、Get_Texture_Service、ikj_Wrapmode_Adjust、Return_L1_Cache_Data_To_Tmu、Send_Shade_Data_To_Tau、Texel_Enable_Computer、Wrap_Mode_Adjust,当TMU的接口传输数据时,不同的数据传输接口调用TMU类中相关的方法函数。
进一步的,TauL1Cache类实现的方法函数包括:Clear_L1_Cache、Fill_L1_Cache_Datain、Get_L1_Cache_Ready_Status、Get_L1_Cache_Request_Done_Status、Return_L1_Cache_Data_To_Tmu、Set_L1_Cache_Req_Flag、Set_L1_Cache_Valid_Status、Set_Tmu_Format_Convert_Ready_Status。
在一个具体实施例中,任务队列单元usatotmufifo上连接先进队列接口sc_fifo_in_if和先出队列接口sc_fifo_out_if,先进队列接口sc_fifo_in_if用于顺序的写入第一纹理请求,先出队列接口sc_fifo_out_if用于顺序的输出第二纹理请求。其中,第一纹理请求可以与第二纹理请求相同,即先进队列接口sc_fifo_in_if写入一个纹理请求,任务队列单元usatotmufifo将这个纹理请求存放起来,然后usatotmufifo根据纹理执行线程的获取纹理请求指令,通过先出队列接口sc_fifo_out_if将这个纹理请求输出至纹理执行线程;第一纹理请求也可以与第二纹理请求不同,即先进队列接口sc_fifo_in_if顺序的写入一组纹理请求,任务队列单元usatotmufifo将这组纹理请求存放起来,写出时先出队列接口sc_fifo_out_if依照规定好的顺序将纹理请求依次单独写出,例如:sc_fifo_in_if写入队列1、2、3、4,usatotmufifo将这四个队列存放,写出时通过sc_fifo_out_if先写出队列1,队列1执行完成后写出队列2,以此类推;当有新的队列写入时,任务队列单元usatotmufifo根据自身存储大小通过sc_fifo_in_if将队列写入,例如,usatotmufifo可以存储8个队列,若已经存储4个队列,有新的队列5、6写入时,usatotmufifo则将这两个队列存储起来。
在一个具体实施例中,纹理执行线程texture_Processthread包括纹理请求获取单元、纹素数据获取单元、图层计算单元、纹素地址计算单元、纹素数据获取单元、纹理图像参数获取单元和纹理颜色输出单元;其中,
纹理请求获取单元用于获取第二纹理请求,并输出第二纹理请求;具体的,纹理请求获取单元发送纹理请求获取指令,纹理请求获取接口tautousaPort根据指令调用相应的方法函数,向usa获取第一纹理请求,usa发送来的第一纹理请求存放入usatotmufifo中,当纹理图像参数获取单元向usatotmufifo获取第二纹理请求时,usatotmufifo输出第二纹理请求至纹理图像参数获取单元。
纹理图像参数获取单元,包括第一纹理图像参数获取单元、图层计算单元和第二纹理图像参数获取单元;其中,
第一纹理图像参数获取单元连接纹理请求获取单元,用于根据第二纹理请求中的纹理单元ID信息,发送获取第一纹理图像参数的指令,然后纹理图像参数获取接口tautoSpmuPort调用其接口函数从储存有纹理图像参数的寄存器中获取第一纹理图像参数,第一纹理图像参数包括:levelbase、levelmax、tpminfiltermode、tpmagfiltermode、levelbasewidth、levelbaseheight、levelbasedepth、minlod、maxlod、lodbiastexpara、texmaptype等。
Level计算单元连接第一纹理图像参数获取单元,用于根据第二纹理请求对第一纹理图像参数进行处理计算,得到MipMap贴图的level值;具体的,通过计算,得到的MipMap贴图的level值可以表明第一纹理图像参数所属的level层位置。
第二纹理图像参数获取单元,连接Level计算单元,用于通过纹理图像参数获取接口tautoSpmuPort获取level层中第二纹理图像参数。
需要说明的是,第一纹理图像参数为具有代表性的纹理图像的参数,只是纹理图像参数中的一部分;第二纹理图像参数包括level层中所有的纹理图像的参数,包括param.colorRGBA.red、param.colorRGBA.green、param.colorRGBA.blue、param.colorRGBA.alpha、tpwrapS、tpwrapT、tpwrapR、tpcompareMode、tpcompareFun、tpDepthMode、param.sizelevel[θ].width、param.sizelevel[θ].height、param.sizelevel[θ].depth、param.borderlevel[θ]、tpInternalFormat[θ]等。
纹素地址计算单元,连接纹理图像参数获取单元,具体的,纹素地址计算单元连接第二纹理图像参数获取单元,用于对第二纹理图像参数进行计算,得到level层中的多个纹素地址坐标,并将这些纹素坐标地址发送到纹素数据获取单元。
纹素数据获取单元,连接纹素地址计算单元,接收到纹素坐标地址后,纹素数据获取单元发送纹素数据获取的指令,纹素数据获取接口tmutoL1CachePort根据指令调用其接口函数向纹素数据存储单元L1cache进行寻址处理,从而得到纹素数据,然后将纹素数据发送给纹素数据处理单元。
纹素数据处理单元,连接纹素数据获取单元,包括对纹素数据进行提取及格式转换、纹理过滤/比较、纹理数据归一化的步骤;具体的,当纹素数据处理单元接收到纹素数据后,首先根据L1cache的存储格式,从所有的纹素数据中提取出纹理格式中的R、G、B、A,然后将不同的内部格式转换为RGBA格式的颜色数据,将这些RGBA格式的颜色数据发送到纹理过滤/比较单元;纹理过滤/比较单元接收到RGBA格式的颜色数据后,根据纹理的过滤模式,对RGBA格式的颜色数据进行线性或者双线性或者三线性的插值计算,得到过滤后的纹素值,将过滤后的纹素值发送至纹素数据归一化单元;纹素数据归一化单元对接收到的纹素数据进行归一化处理,最终得到纹理颜色数据,并将纹理颜色数据输出至纹理颜色输出单元。
纹理颜色输出单元,连接纹素数据处理单元,通过usatoTauExport接口将纹素颜色数据输出给usa。
本发明实施例通过基于UML语言和事务级建模方法对GPU纹理贴图的硬件视图模型行建模,能够帮助开发人员更好的理解系统架构,建立更可靠更完善的系统模型,并且更加高效的对纹理贴图硬件结构的可行性进行验证。
请参见图3,图3为本发明实施例提供的一种基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,包括步骤:
S1、获取第一纹理请求,输出第二纹理请求;包括:
S11、获取第一纹理请求;
具体的,TAU向usa获取第一纹理请求;其中,纹理请求中包含有纹素信息、纹理阵列ID信息等;纹素是纹理元素的简称,它是计算机图形纹理空间中的基本单元,在本发明实施例中纹素包括RGBA四个格式。
S12、输出第二纹理请求;
具体的,首先要判断纹理执行单元是否开启:当TAU接收到usa发送的第一纹理请求后,判断TAU是否开启;若TAU没有开启,则将纹理颜色数据即RGBA的值全部赋值为全0,并输出RGBA为0的纹理颜色数据至usa;若TAU已开启,则将第一纹理请求输送至usatotmufifo,usatotmufifo根据texture_Processthread的获取第二纹理请求指令输出第二纹理请求至texture_Processthread,纹理执行线程对第二纹理请求中纹素mask值进行判断,具体的,mask值为四位二进制数,若纹素mask值全为0,则跳出进程;若纹素mask值中有一个存在1,则进入步骤S2。
S2、根据第二纹理请求获取第一纹理图像参数;
第二纹理请求中包含有纹理单元ID信息,texture_Processthread中的纹理图像参数获取单元根据纹理单元ID信息来向储存有纹理图像参数的寄存器获取第一纹理图像参数。
S3、对第一纹理图像参数进行计算,得到MipMap贴图的level值;
第一纹理参数包括纹理图像的levelbase、levelmax、tpminfiltermode、tpmagfiltermode、levelbasewidth、levelbaseheight、levelbasedepth、minlod、maxlod、lodbiastexpara、texmaptype等参数,对这些参数进行计算的过程包括:计算纹理坐标差值、计算缩放因子scaler、计算lambda和选择过滤器类型,从而得到MipMap贴图的level值。
S4、根据所述level值获取level层中的所述第二纹理图像参数;
根据level值从寄存器中获取这一level层中第二纹理图像参数,具体的,第二纹理图像参数包括level层中所有的纹理图像的参数,包括param.colorRGBA.red、param.colorRGBA.green、param.colorRGBA.blue、param.colorRGBA.alpha、tpwrapS、tpwrapT、tpwrapR、tpcompareMode、tpcompareFun、tpDepthMode、param.sizelevel[θ].width、param.sizelevel[θ].height、param.sizelevel[θ].depth、param.borderlevel[θ]、tpInternalFormat[θ]等。
S5、在获取得到第二纹理图像参数后,令texfragmun=0开始进行计算,然后根据纹素mask[texfragmun]值对纹素进行处理;
以第一个纹素为例,第一个纹素texfragmun=0,若mask[0]值为0,则将RGBA赋值为全0,并输出RGBA全为0的纹理颜色数据至usa,同时进入texfragmun++计算;texfragmun++计算是指令texfragmun+1后进行计算,即第一次计算令texfragmun=0,当程序运行至texfragmun++时,令texfragmun=1进行第二次计算,当第二次计算程序运行至texfragmun++时,令texfragmun=2进行第三次计算,直至计算完成。在本发明实施例中,每次对四个纹素进行计算,texfragmun=0时计算第一个纹素,计算完毕输出第一个纹素的RGBA值,同时令Rtexfragmun=1,计算第二个纹素,第二个纹素计算完毕输出第二纹素的RGBA值,同时令texfragmun=2计算第三个纹素,直至输出第四个纹素的RGBA值同时令texfragmun=4停止对纹素的计算。
若所述mask[texfragmun]值为1,即若mask[0]值为1,则对第二纹理图像参数进行计算。
S6、对第二纹理图像参数进行计算,得到纹素地址;
每一个纹素在纹理中都有一个唯一的地址,这个地址可以被认为是一个三维空间中某个点的坐标值,可以用(x,y,z)来表示,这个地址可以通过归属图层中的第二纹理图像参数进行计算得到,本发明实施例对计算的方法不做限制,只要能得到纹素地址(x,y,z)的值即可。
S7、依据纹素坐标获取纹素数据;
在得到纹素地址(x,y,z)的值后,即可根据(x,y,z)的值对L1cache进行寻址处理,从而获取得到对应地址的纹素数据。
S8、对所述纹素数据进行提取、格式转换、过滤/比较、归一化处理;
具体的,接收到纹素数据后,首先根据L1cache的存储格式,从所有的纹素数据提取出纹理格式中的R、G、B、A、Lum、Int和Depth,然后将不同的内部格式转换为RGBA格式的颜色数据,将这些RGBA格式的颜色数据发送到纹理过滤/比较单元;纹理过滤/比较单元接收到RGBA的颜色数据后,根据纹理的过滤模式,对RGBA格式的颜色数据进行线性或者双线性或者三线性的插值计算,得到过滤后的纹素值,将过滤后的纹素值发送至纹素数据归一化单元;纹素数据归一化单元对接收到的纹素数据进行归一化处理,最终得到纹素的RGBA值,输出RGBA值至usa。
S9、进行texfragmun++计算;包括:
对四个纹素依次进行计算;
并判断texfragmun:当判断texfragmun=4时停止计算;当判断texfragmun≠4,则返回判断纹素mask[texfragmun]值,进行下一个纹素的计算。
S10、输出纹理颜色数据;
具体的,输出纹理颜色数据是指:当每计算完一个纹素,在进入texfragmun++计算的同时输出这个纹理颜色数据即RGBA的值;在本发明实施例中,每次对四个像素进行处理,即一次处理过程需要输出四次纹理颜色数据,在texfragmun=4时,停止计算并同时输出第四个纹理颜色的数据。
本发明实施例通过基于UML语言和事务级建模方法对GPU纹理贴图的硬件视图模型行建模,能够帮助开发人员更好的理解系统架构,建立更可靠更完善的系统模型,并且更加高效的对纹理贴图硬件结构的可行性进行验证。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种基于UML的面向GPU纹理贴图的硬件视图模型,其特征在于,包括:
任务队列单元,用于接收、存储统一染色阵列输入的第一纹理请求,并输出第二纹理请求;
纹理执行线程,用于根据所述第二纹理请求获取纹理图像参数和纹素数据,对所述纹理图像参数和所述纹素数据进行计算得到纹理颜色数据,输出所述纹理颜色数据。
2.如权利要求1所述的基于UML的面向GPU纹理贴图的硬件视图模型,其特征在于,还包括:
纹理请求获取接口,连接所述统一染色阵列,用于向所述统一染色阵列获取所述第一纹理请求;
纹理图像参数获取接口,连接寄存器,用于向所述寄存器获取所述纹理图像参数;
纹素数据获取接口,连接纹素数据缓存单元,用于向所述纹素数据缓存单元获取所述纹素数据;
纹理颜色数据输出接口,连接所述统一染色阵列,用于向所述统一染色阵列输出所述纹理颜色数据。
3.如权利要求1所述的基于UML的面向GPU纹理贴图的硬件视图模型,其特征在于,所述任务队列单元连接先进队列接口和先出队列接口,其中:
所述先进队列接口,用于顺序的写入所述第一纹理请求;
所述先出队列接口,用于顺序的输出所述第二纹理请求。
4.如权利要求1所述的基于UML的面向GPU纹理贴图的硬件视图模型,其特征在于,所述纹理执行线程包括:
纹理请求获取单元,用于获取第一纹理请求,并输出第二纹理请求;
纹理图像参数获取单元,连接所述纹理请求获取单元,用于根据所述第二纹理请求获取第一纹理图像参数,并对第一纹理图像参数进行计算得到计算结果,根据计算结果得到第二纹理图像参数;
纹素地址计算单元,连接所述纹理图像参数获取单元,用于对所述第二纹理图像参数进行计算,得到所述纹素地址;
纹素数据获取单元,连接所述纹素地址计算单元,用于依据所述纹素地址获取所述纹素数据;
纹素数据处理单元,连接所述纹素数据获取单元,用于对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理,得到纹理颜色数据;
纹理颜色数据输出单元,连接所述纹素数据处理单元,用于输出所述纹理颜色数据至所述统一染色阵列。
5.如权利要求1所述的基于UML的面向GPU纹理贴图的硬件视图模型,其特征在于,所述纹理图像参数获取单元包括:
第一纹理图像参数获取单元,连接所述纹理请求获取单元,用于根据所述第二纹理请求获取所述第一纹理图像参数;
Level计算单元,连接所述第一纹理图像参数获取单元,用于对所述第一纹理图像参数进行处理计算,得到MipMap贴图的level值;
第二纹理图像参数获取单元,连接所述Level计算单元,用于根据所述level值获取level层中的所述第二纹理图像参数。
6.一种基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,其特征在于,包括:
获取第一纹理请求,输出第二纹理请求;
根据所述第二纹理请求获取所述第一纹理图像参数;
对所述第一纹理图像参数进行处理计算,得到MipMap贴图的level值;
根据所述level值获取level层中的所述第二纹理图像参数;
对所述第二纹理图像参数进行计算,得到所述纹素地址;
依据所述纹素地址获取所述纹素数据;
对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理,得到纹理颜色数据;
输出所述纹理颜色数据。
7.如权利要求6所述的基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,其特征在于,输出第二纹理请求,包括:
判断纹理阵列单元是否开启,
若否,则将所述纹理颜色数据全部赋值为0,并输出所述纹理颜色数据至所述统一染色阵列;
若是,则接收并存放第一纹理请求,输出第二纹理请求,并判断第二纹理请求中的纹素mask值:若所述纹素mask值全为0,则跳出进程;若所述纹素mask值中存在1,则根据所述第二纹理请求获取所述第一纹理图像参数。
8.如权利要求6所述的基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,其特征在于,根据所述level值获取level层中的所述第二纹理图像参数之后,还包括:
令texfragmun=0,判断纹素mask[texfragmun]值:
若所述纹素mask[texfragmun]值为0,则将所述纹理颜色数据全部赋值为0,并输出所述纹理颜色数据,同时进行texfragmun++计算;
若所述纹素mask[texfragmun]值为1,则对所述第二纹理图像参数进行计算。
9.如权利要求8所述的基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,其特征在于,对所述纹素数据进行提取、格式转换、过滤/比较和归一化处理之后,还包括:
进行texfragmun++计算。
10.如权利要求9所述的基于UML的面向GPU纹理贴图的硬件视图模型的纹理执行方法,其特征在于,进行texfragmun++计算之后,包括:
判断texfragmun,
若texfragmun≠4,则返回判断纹素mask[texfragmun]值;
若texfragmun=4,则停止计算。
CN201811355057.8A 2018-11-14 2018-11-14 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法 Active CN109615685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811355057.8A CN109615685B (zh) 2018-11-14 2018-11-14 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811355057.8A CN109615685B (zh) 2018-11-14 2018-11-14 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法

Publications (2)

Publication Number Publication Date
CN109615685A true CN109615685A (zh) 2019-04-12
CN109615685B CN109615685B (zh) 2023-04-28

Family

ID=66004276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811355057.8A Active CN109615685B (zh) 2018-11-14 2018-11-14 基于uml面向gpu纹理贴图的硬件视图模型的纹理执行装置及方法

Country Status (1)

Country Link
CN (1) CN109615685B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110992240A (zh) * 2019-11-18 2020-04-10 中国航空工业集团公司西安航空计算技术研究所 一种可编程纹理处理器系统
CN111008515A (zh) * 2019-11-18 2020-04-14 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件子纹理替换存储算法的tlm微结构
CN111045665A (zh) * 2019-11-21 2020-04-21 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的gpu命令处理器硬件视图模型
CN111145327A (zh) * 2019-12-31 2020-05-12 西安翔腾微电子科技有限公司 一种基于uml的gpu顶点染色器视图模型及其染色方法
CN111242832A (zh) * 2019-12-31 2020-06-05 西安翔腾微电子科技有限公司 基于SystemC的GPU纹理贴图周期精确联合仿真模型及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708771A (zh) * 2002-10-11 2005-12-14 索罗新公司 3d建模系统
CN1938730A (zh) * 2004-02-27 2007-03-28 辉达公司 基于寄存器的对纹理请求的排队
US20120280973A1 (en) * 2011-05-02 2012-11-08 Sony Computer Entertainment Inc. Texturing in graphics hardware
CN105574808A (zh) * 2015-12-11 2016-05-11 中国航空工业集团公司西安航空计算技术研究所 一种流水线纹理贴图单元体系结构
CN106683171A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU多线程纹理映射SystemC建模结构
US20180096515A1 (en) * 2016-10-05 2018-04-05 Samsung Electronics Co., Ltd. Method and apparatus for processing texture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708771A (zh) * 2002-10-11 2005-12-14 索罗新公司 3d建模系统
CN1938730A (zh) * 2004-02-27 2007-03-28 辉达公司 基于寄存器的对纹理请求的排队
US20120280973A1 (en) * 2011-05-02 2012-11-08 Sony Computer Entertainment Inc. Texturing in graphics hardware
CN105574808A (zh) * 2015-12-11 2016-05-11 中国航空工业集团公司西安航空计算技术研究所 一种流水线纹理贴图单元体系结构
US20180096515A1 (en) * 2016-10-05 2018-04-05 Samsung Electronics Co., Ltd. Method and apparatus for processing texture
CN106683171A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种GPU多线程纹理映射SystemC建模结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
程龙等: "一种纹理映射算法的FPGA实现", 《小型微型计算机系统》 *
韩立敏等: "多模式并行处理纹理引擎硬件体系结构设计", 《无线电工程》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110992240A (zh) * 2019-11-18 2020-04-10 中国航空工业集团公司西安航空计算技术研究所 一种可编程纹理处理器系统
CN111008515A (zh) * 2019-11-18 2020-04-14 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件子纹理替换存储算法的tlm微结构
CN111008515B (zh) * 2019-11-18 2023-06-09 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件子纹理替换存储算法的tlm微结构
CN111045665A (zh) * 2019-11-21 2020-04-21 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的gpu命令处理器硬件视图模型
CN111045665B (zh) * 2019-11-21 2023-03-10 中国航空工业集团公司西安航空计算技术研究所 一种基于uml的gpu命令处理器
CN111145327A (zh) * 2019-12-31 2020-05-12 西安翔腾微电子科技有限公司 一种基于uml的gpu顶点染色器视图模型及其染色方法
CN111242832A (zh) * 2019-12-31 2020-06-05 西安翔腾微电子科技有限公司 基于SystemC的GPU纹理贴图周期精确联合仿真模型及方法
CN111145327B (zh) * 2019-12-31 2023-08-22 西安翔腾微电子科技有限公司 一种基于uml的gpu顶点染色器视图模型及其染色方法
CN111242832B (zh) * 2019-12-31 2023-09-12 西安翔腾微电子科技有限公司 基于SystemC的GPU纹理贴图周期精确联合仿真装置及方法

Also Published As

Publication number Publication date
CN109615685B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN109615685A (zh) 基于uml面向gpu纹理贴图的硬件视图模型及纹理执行方法
CN105630441B (zh) 一种基于统一染色技术的gpu系统
CN106683171B (zh) 一种GPU多线程纹理映射SystemC建模结构
CN104503950B (zh) 一种面向OpenGL API的图形处理器
EP1725989B1 (en) Register based queuing for texture requests
US11263803B2 (en) Virtual reality scene rendering method, apparatus and device
US5097411A (en) Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
CN110291563A (zh) 图形处理中的多个着色器进程
US6985150B2 (en) Accelerator control unit configured to manage multiple hardware contexts
US20050046628A1 (en) Methods, systems, and data structures for generating a rasterizer
CN109785417B (zh) 一种实现OpenGL累积操作的方法及装置
CN109840931A (zh) 骨骼动画的合批渲染方法、装置、系统及存储介质
TW200926050A (en) Shader processing systems and methods
CN108196958A (zh) 资源调度分配方法、计算机系统及超融合架构系统
JP2009520307A (ja) グラフィックスプロセッサの並列アレイアーキテクチャ
US20140176529A1 (en) Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader
CN109255750A (zh) 图形处理系统
CN108022202A (zh) 一种超前消隐几何引擎结构
US20150015574A1 (en) System, method, and computer program product for optimizing a three-dimensional texture workflow
JP3106872B2 (ja) 画像処理プロセッサ及びそれを用いたデータ処理システム
WO2024012334A1 (zh) 虚拟对象显示方法、装置、设备及存储介质
JPH09245191A (ja) 透明度変換方法及びその装置、画像処理装置
CN111242832B (zh) 基于SystemC的GPU纹理贴图周期精确联合仿真装置及方法
US20230252715A1 (en) Image processing method, apparatus and device and storage medium
CN112581575B (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
GR01 Patent grant
GR01 Patent grant