图形处理器、纹理坐标采样方法、编译方法及装置、介质制造方法及图纸

技术编号:34935642 阅读:11 留言:0更新日期:2022-09-15 07:32
一种图形处理器、纹理坐标采样方法、编译方法及装置、介质,所述纹理坐标采样方法包括:接收纹理采样指令,并基于所述纹理采样指令获取初始纹理坐标;检测到所述纹理采样指令的附加指示符使能时,继续接收一条或多条辅助采样指令,直至所述辅助采样指令的结束指示符使能;基于所述一条或多条辅助采样指令获取后续纹理坐标;将所述初始纹理坐标以及所述后续纹理坐标进行组装并发射。采用上述方案,能够避免纹理坐标的维度增加所带来的指令开销,简化编译器的结构,避免通用寄存器溢出的情况出现。现。现。

【技术实现步骤摘要】
图形处理器、纹理坐标采样方法、编译方法及装置、介质


[0001]本专利技术涉及图形处理器
,尤其涉及一种图形处理器、纹理坐标采样方法、编译方法及装置、介质。

技术介绍

[0002]图形处理器(Graphics Processing Unit,GPU)为了实现逼真的绘图效果,大量运用纹理贴图,纹理通常包括1D、2D、2D array、3D、cube、cube array等类型。
[0003]纹理协处理器可以从纹理采样控制器读取纹理坐标,基于特定的滤波算法进行像素(pixel)的纹理值计算。当滤波算法精度较高,纹理维度较多时,需要读取的纹理坐标的数目较多。随着滤波算法的演进,纹理坐标的维度日益增多。为了满足GPU的硬件限制,编译器需要额外花费多组搬移(mov)指令和拼接(pack)指令,带来了多余的指令开销的同时,也会造成编译器的复杂度较高。

技术实现思路

[0004]本专利技术解决的是纹理坐标的维度增加所带来的指令开销较大,编译器较为复杂的技术问题。
[0005]为解决上述技术问题,本专利技术提供一种多维纹理坐标采样方法,包括:接收纹理采样指令,并基于所述纹理采样指令获取初始纹理坐标;检测到所述纹理采样指令的附加指示符使能时,继续接收一条或多条辅助采样指令,直至所述辅助采样指令的结束指示符使能;基于所述一条或多条辅助采样指令获取后续纹理坐标;将所述初始纹理坐标以及所述后续纹理坐标进行组装并发射。
[0006]可选的,所述附加指示符使能时指示纹理坐标未发射结束,所述结束指示符使能时指示纹理坐标发射结束。
[0007]可选的,所述多维纹理坐标采样方法还包括:检测到所述附加指示符未使能时,发射所述初始纹理坐标。
[0008]可选的,所述纹理采样指令涉及的源寄存器与所述辅助采样指令涉及的源寄存器之间存在间隙,不同的辅助采样指令涉及的源寄存器之间存在间隙。
[0009]可选的,所述辅助采样指令的目的域为空,且所述辅助采样指令的源操作数为纹理坐标。
[0010]可选的,所述纹理采样指令承载有纹理坐标的维数,不同的维数对应不同的通用寄存器。
[0011]本专利技术还提供了一种指令编译方法,包括:生成纹理采样指令,所述纹理采样指令用于获取初始纹理坐标;所述纹理采样指令的附加指示符使能时,继续生成一条或多条辅助采样指令,所述辅助采样指令用于获取后续纹理坐标,最后一条辅助采样指令的结束指示符使能,其他辅助采样指令的结束指示符未使能;其中,所述初始纹理坐标和后续纹理坐标组装后形成用于单次纹理值计算的全部坐标。
[0012]本专利技术还提供了一种图形处理器,包括:调度执行核心,用于向纹理采样控制器发送纹理采样指令;且当所述纹理采样指令的附加指示符使能时,向所述纹理采样控制器发送辅助采样指令,直至所述辅助采样指令的结束指示符使能;所述纹理采样控制器,用于接收所述纹理采样指令,并基于所述纹理采样指令从通用寄存器中获取初始纹理坐标;检测到所述纹理采样指令的附加指示符使能时,继续接收一条或多条辅助采样指令,直至所述辅助采样指令的结束指示符使能;基于所述一条或多条辅助采样指令从所述通用寄存器中获取后续纹理坐标;将所述初始纹理坐标以及所述后续纹理坐标进行组装并发射至纹理协处理器;所述通用寄存器,其中存储有所述初始纹理坐标以及所述后续纹理坐标。
[0013]本专利技术还提供了一种指令编译装置,包括:第一生成单元,用于生成纹理采样指令,所述纹理采样指令用于获取初始纹理坐标;第二生成单元,用于在所述纹理采样指令的附加指示符使能时,继续生成一条或多条辅助采样指令,所述辅助采样指令用于获取后续纹理坐标,最后一条辅助采样指令的结束指示符使能,其他辅助采样指令的结束指示符未使能;其中,所述初始纹理坐标和后续纹理坐标组装后形成用于单次纹理值计算的全部坐标。
[0014]本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述所述的多维纹理坐标采样方法的步骤;或者,所述计算机指令被处理器运行时执行上述所述的指令编译方法的步骤。
[0015]与现有技术相比,本专利技术的技术方案具有以下有益效果:接收纹理采样指令,获取纹理采样指令对应的初始纹理坐标。若纹理采样指令的附加指示符使能,则继续接收一条或多条辅助采样指令,直至辅助采样指令的结束指示符使能。根据辅助采样指令获取后续纹理坐标,并将初始纹理坐标与后续纹理坐标进行组装并发射。在一次纹理值计算过程中,纹理坐标可以被分为不同的部分,使得纹理坐标不需要放置在连续的多个寄存器中,从而可以有效避免编译器生成额外的搬移指令和拼接指令,有效减少指令开销,降低编译器的复杂度。
附图说明
[0016]图1是本专利技术实施例中的一种多维纹理坐标采样方法的流程图;图2是本专利技术实施例中的一种指令编译方法的流程图;图3是本专利技术实施例中的一种图形处理器的结构示意图;图4是本专利技术实施例中的一种指令编译装置的结构示意图。
具体实施方式
[0017]现有技术中,随着纹理坐标维度的增加,为了解决多维度坐标的连续发射问题,由编译器分析通用寄存器的使用情况,按照纹理坐标的数目分配相应数目的连续通用寄存器资源。但是,上述操作会带来数据搬移的情况出现。
[0018]例如,通用寄存器r0~r10为连续的11个通用寄存器,其中,通用寄存器r2与r6处于使用状态。当纹理坐标数目为8时,可以将纹理坐标放置在通用寄存器r3 ~r10。但是,由于寄存器r6处于被占用,故需要将寄存器r6中的数据搬移。如,将寄存器r6的数据搬移至寄存
器r0。另外,当纹理坐标维度较大时,还需要进行数据的拼接。
[0019]在本专利技术实施例中,接收纹理采样指令,获取纹理采样指令对应的初始纹理坐标。若纹理采样指令的附加指示符使能,则继续接收一条或多条辅助采样指令,直至辅助采样指令的结束指示符使能。根据辅助采样指令获取后续纹理坐标,并将初始纹理坐标与后续纹理坐标进行组装并发射。在一次纹理值计算过程中,纹理坐标可以被分为不同的部分,使得纹理坐标不需要放置在连续的多个寄存器中,从而可以有效避免编译器生成额外的搬移指令和拼接指令,有效减少指令开销,降低编译器的复杂度。
[0020]为使本专利技术的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。
[0021]本专利技术实施例提供了一种多维纹理坐标采样方法,参照图1,以下通过具体步骤进行详细说明。
[0022]步骤S101,接收纹理采样指令,并基于纹理采样指令获取初始纹理坐标。
[0023]在具体实施中,可以预先对指令集架构(ISA)进行改进,针对每一条纹理采样指令,均可以在其中设置一个附加指示符。通过该附加指示符是否使能,来指示该纹理采样指令发射后纹理坐标是否发射完毕。本专利技术实施例中所述的纹理坐标是否发射完毕,指的是用于单次纹理值计算的全部纹理坐标是否发射完毕。
[0024]在本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多维纹理坐标采样方法,其特征在于,包括:接收纹理采样指令,并基于所述纹理采样指令获取初始纹理坐标;检测到所述纹理采样指令的附加指示符使能时,继续接收一条或多条辅助采样指令,直至所述辅助采样指令的结束指示符使能;基于所述一条或多条辅助采样指令获取后续纹理坐标;将所述初始纹理坐标以及所述后续纹理坐标进行组装并发射。2.如权利要求1所述的多维纹理坐标采样方法,其特征在于,所述附加指示符使能时指示纹理坐标未发射结束,所述结束指示符使能时指示纹理坐标发射结束。3.如权利要求1所述的多维纹理坐标采样方法,其特征在于,还包括:检测到所述附加指示符未使能时,发射所述初始纹理坐标。4.如权利要求1所述的多维纹理坐标采样方法,其特征在于,所述纹理采样指令涉及的源寄存器与所述辅助采样指令涉及的源寄存器之间存在间隙,不同的辅助采样指令涉及的源寄存器之间存在间隙。5.如权利要求1所述的多维纹理坐标采样方法,其特征在于,所述辅助采样指令的目的域为空,且所述辅助采样指令的源操作数为纹理坐标。6.如权利要求1所述的多维纹理坐标采样方法,其特征在于,所述纹理采样指令承载有纹理坐标的维数,不同的维数对应不同的通用寄存器。7.一种指令编译方法,其特征在于,包括:生成纹理采样指令,所述纹理采样指令用于获取初始纹理坐标;所述纹理采样指令的附加指示符使能时,继续生成一条或多条辅助采样指令,所述辅助采样指令用于获取后续纹理坐标,最后一条辅助采样指令的结束指示符使能,其他辅助采样指令的结束指示符未使能;其中,所述初始纹理坐标和后续纹理坐标组装后形成用于单次...

【专利技术属性】
技术研发人员:阙恒朱康挺陈林锋周鸿飞
申请(专利权)人:南京砺算科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1