1.一种方法,包括:
标识依赖于非正交状态(NOS)的第一组多条指令;
标记依赖于所述NOS的所述第一组多条指令中的每一条指令;
检测当前的NOS;以及
针对所述当前的NOS动态地修补所标记的指令。
2.如权利要求1所述的方法,其中,所述第一组多条指令包括用于实现图形着色器的多条着色器指令。
3.如权利要求2所述的方法,其中,检测所述当前NOS以及针对所述当前的NOS动态地修补所标记的指令的操作是在着色器执行时被执行的。
4.如权利要求1所述的方法,其中,标记所述第一组多条指令中的每一条指令包括:对所述多条指令中的每一条指令内的一个或多个位置位以指示所述指令依赖于的NOS。
5.如权利要求2所述的方法,进一步包括:
将着色器程序代码编译至可修补内核,所述可修补内核包括所述第一组多条指令以及第二组多条指令,所述第二组多条指令不依赖于NOS。
6.如权利要求5所述的方法,其中,在运行时期间,通过执行针对所述当前的NOS动态地修补所标记的指令的操作来更新所述可修补内核。
7.如权利要求1所述的方法,其中,所述着色器是从由以下各项组成的组中选出的:像素着色器、顶点着色器、几何着色器、壳体着色器和域着色器。
8.如权利要求1所述的方法,进一步包括:
执行经修补的指令以实现依赖于所述当前的NOS的着色器。
9.一种装置,包括:
具有指令标记逻辑的着色器编译器,用于:标识依赖于非正交状态(NOS)的第一组多条指令;以及标记依赖于所述NOS的所述第一组多条指令中的每一条指令;以及
指令分派逻辑,用于:在执行期间检测当前的NOS;以及针对所述当前的NOS动态地修补所标记的指令。
10.如权利要求9所述的装置,其中,所述第一组多条指令包括用于实现图形着色器的多条着色器指令。
11.如权利要求10所述的装置,其中,检测所述当前NOS以及针对所述当前的NOS动态地修补所标记的指令的操作在由应用调用着色器执行函数时或由应用调用着色器执行函数之后的时刻被执行。
12.如权利要求9所述的装置,其中,标记所述第一组多条指令中的每一条指令包括:对所述多条指令中的每一条指令内的一个或多个位置位以指示所述指令依赖于的NOS。
13.如权利要求10所述的装置,其中,所述着色器编译器将着色器程序代码编译至可修补内核,所述可修补内核包括所述第一组多条指令以及第二组多条指令,所述第二组多条指令不依赖于NOS。
14.如权利要求13所述的装置,其中,在运行时期间,通过执行针对所述当前的NOS动态地修补所标记的指令的操作来更新所述可修补内核。
15.如权利要求9所述的装置,其中,所述着色器是从由以下各项组成的组中选出的:像素着色器、顶点着色器、几何着色器、壳体着色器和域着色器。
16.如权利要求9所述的装置,进一步包括:
多个执行单元(EU),用于执行经修补的指令以实现依赖于所述当前的NOS的着色器。
17.一种机器可读介质,具有存储于其上的程序代码,当由机器执行所述程序代码时,所述程序代码使所述机器执行以下操作:
标识依赖于非正交状态(NOS)的第一组多条指令;
标记依赖于所述NOS的所述第一组多条指令中的每一条指令;
检测当前的NOS;以及
针对所述当前的NOS动态地修补所标记的指令。
18.如权利要求17所述的机器可读介质,其中,所述第一组多条指令包括用于实现图形着色器的多条着色器指令。
19.如权利要求18所述的机器可读介质,其中,检测所述当前NOS以及针对所述当前的NOS动态地修补所标记的指令的操作在由应用调用着色器执行函数时或由应用调用着色器执行函数之后的时刻被执行。
20.如权利要求17所述的机器可读介质,其中,标记所述第一组多条指令中的每一条指令包括:对所述多条指令中的每一条指令内的一个或多个位置位以指示所述指令依赖于的NOS。
21.如权利要求18所述的机器可读介质,进一步包括用于导致以下操作的附加程序代码:
将着色器程序代码编译至可修补内核,所述可修补内核包括所述第一组多条指令以及第二组多条指令,所述第二组多条指令不依赖于NOS。
22.如权利要求21所述的机器可读介质,其中,在运行时期间,通过执行针对所述当前的NOS动态地修补所标记的指令的操作来更新所述可修补内核。
23.如权利要求17所述的机器可读介质,其中,所述着色器是从由以下各项组成的组中选出的:像素着色器、顶点着色器、几何着色器、壳体着色器和域着色器。
24.如权利要求17所述的机器可读介质,进一步包括用于导致以下操作的附加程序代码:
执行经修补的指令以实现依赖于所述当前的NOS的着色器。