本申请涉及图形处理,尤其涉及一种指令编译方法及图形处理单元、存储介质、终端设备。
背景技术:
1、图形处理单元(graphics processing unit, gpu) 会大量运用纹理贴图提升绘图效果。采样控制器可以采集像素(pixel)的纹理坐标,纹理协处理器从采样控制器读取纹理坐标,基于特定的滤波算法进行像素的纹理值计算。
2、现有技术中,纹理坐标为低精度定点坐标格式,如8比特(bit)或16bit。每一个低精度定点坐标均需要用一个通用寄存器(general purpose register file, gpr)存储。为了满足gpu的硬件资源限制,编译器(compiler)需额外通过拼接(pack)指令操作来减小纹理坐标所占用的存储资源。
3、但是,现有技术的拼接指令操作会带来多余指令开销,增加编译器复杂度;在通用寄存器资源紧张时,还会因gpr溢出带来性能问题。
技术实现思路
1、本申请提供了一种指令编译方法及图形处理单元,能够降低纹理坐标转换时的信令开销。
2、为了达到上述目的,本申请提供了以下技术方案:
3、第一方面,本申请提供了一种指令编译方法,指令编译方法包括:生成转换指令,所述转换指令包括源通用寄存器的标识,目标通用寄存器的标识以及位置指示信息,所述位置指示信息用于指示目标纹理坐标在所述目标通用寄存器中的目标存储位置,所述目标纹理坐标配置为将所述源通用寄存器中存储的源纹理坐标转换得到;发送所述转换指令。
4、可选的,所述转换指令具有目的操作域,所述目的操作域携带所述位置指示信息。
5、可选的,所述目标通用寄存器包括至少两个候选存储位置,所述目标存储位置选自所述至少两个候选存储位置。
6、可选的,相邻的至少两个转换指令包括不同的源通用寄存器,相邻的至少两个转换指令中位置指示信息指示同一目标通用寄存器中不同的目标存储位置。
7、可选的,所述目标通用寄存器具有32比特,所述至少两个候选存储位置包括高16位比特和低16位比特。
8、可选的,所述转换指令包括精度转换指令。
9、第二方面,本申请还提供一种图形处理单元,图形处理单元包括:多个通用寄存器,用于存储源纹理坐标或目标纹理坐标,所述目标纹理坐标配置为将所述源纹理坐标转换得到;调度执行器,用于接收转换指令,所述转换指令包括源通用寄存器的标识,目标通用寄存器的标识以及位置指示信息,所述位置指示信息用于指示所述目标纹理坐标在所述目标通用寄存器中的目标存储位置;运算单元,用于根据所述转换指令将所述源纹理坐标转换为所述目标纹理坐标,并将所述目标纹理坐标存储于所述目标存储位置。
10、可选的,所述转换指令具有目的操作域,所述目的操作域携带所述位置指示信息。
11、可选的,所述目标通用寄存器包括至少两个候选存储位置,所述目标存储位置选自所述至少两个候选存储位置。
12、可选的,相邻的至少两个转换指令包括不同的源通用寄存器,相邻的至少两个转换指令中位置指示信息指示同一目标通用寄存器中不同的目标存储位置。
13、可选的,所述目标通用寄存器具有32比特,所述至少两个候选存储位置包括高16位比特和低16位比特。
14、可选的,所述转换指令包括精度转换指令。
15、第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被运算处理单元运行以执行第一方面提供的方法。
16、第四方面,本申请提供了一种终端设备,终端设备包括第二方面提供的图形处理单元。
17、与现有技术相比,本申请实施例的技术方案具有以下有益效果:
18、本申请技术方案中,生成转换指令,转换指令包括源通用寄存器的标识,目标通用寄存器的标识以及位置指示信息,位置指示信息用于指示目标纹理坐标在目标通用寄存器中的目标存储位置,目标纹理坐标配置为将源通用寄存器中存储的源纹理坐标转换得到;发送转换指令。本申请通过在指令编译的过程中,使转换指令中包括位置指示信息,以指示目标纹理坐标在目标通用寄存器中的目标存储位置,能够实现在纹理坐标转换的过程中直接将目标纹理坐标存储至目标存储位置,无需额外的指令进行纹理坐标的移动,减小信令开销。
19、进一步地,相邻的至少两个转换指令中位置指示信息指示同一目标通用寄存器中不同的目标存储位置。本申请通过在不同的转换指令中指示同一目标通用寄存器中不同的目标存储位置,从而在纹理坐标转换的过程中自动实现纹理坐标的拼接,无需额外的指令进行纹理坐标的拼接,进一步减小信令开销。
1.一种指令编译方法,其特征在于,包括:
2.根据权利要求1所述的指令编译方法,其特征在于,所述转换指令具有目的操作域,所述目的操作域携带所述位置指示信息。
3.根据权利要求1所述的指令编译方法,其特征在于,所述目标通用寄存器包括至少两个候选存储位置,所述目标存储位置选自所述至少两个候选存储位置。
4.根据权利要求1所述的指令编译方法,其特征在于,相邻的至少两个转换指令包括不同的源通用寄存器,相邻的至少两个转换指令中位置指示信息指示同一目标通用寄存器中不同的目标存储位置。
5.根据权利要求3所述的指令编译方法,其特征在于,所述目标通用寄存器具有32比特,所述至少两个候选存储位置包括高16位比特和低16位比特。
6.根据权利要求1至5任一项所述的指令编译方法,其特征在于,所述转换指令包括精度转换指令。
7.一种图形处理单元,其特征在于,包括:
8.根据权利要求7所述的图形处理单元,其特征在于,相邻的至少两个转换指令包括不同的源通用寄存器,相邻的至少两个转换指令中位置指示信息指示同一目标通用寄存器中不同的目标存储位置。
9.根据权利要求8所述的图形处理单元,其特征在于,所述运算单元根据所述相邻的至少两个转换指令将所述不同的源通用寄存器中的源纹理坐标分别存储至同一目标通用寄存器中不同的目标存储位置。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至6任一项中所述指令编译方法的步骤。
11.一种终端设备,其特征在于,包括权利要求7至9任一项所述的图形处理单元。