"IMM[0] UINT32 { 8, 8, 1, 0}\n"
"IMM[1] FLT32 { 1.0, 2.0, 0.0, 0.0}\n"
- "UMAD TEMP[0], SV[1], IMM[0], SV[0]\n"
+ "UMAD TEMP[0].xy, SV[1].xyyy, IMM[0].xyyy, SV[0].xyyy\n"
/* Drawn area check */
"USGE TEMP[1].xy, TEMP[0].xyxy, CONST[4].xyxy\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].zzzz\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].wwww\n"
- "UIF TEMP[1]\n"
+ "UIF TEMP[1].xxxx\n"
/* Translate */
- "UADD TEMP[2].xy, TEMP[0], -CONST[5].xyxy\n"
- "U2F TEMP[2], TEMP[2]\n"
- "DIV TEMP[3], TEMP[2], IMM[1].yyyy\n"
+ "UADD TEMP[2].xy, TEMP[0].xyyy, -CONST[5].xyxy\n"
+ "U2F TEMP[2].xy, TEMP[2].xyyy\n"
+ "DIV TEMP[3].xy, TEMP[2].xyyy, IMM[1].yyyy\n"
/* Scale */
- "DIV TEMP[2], TEMP[2], CONST[3].zwzw\n"
- "DIV TEMP[3], TEMP[3], CONST[3].zwzw\n"
+ "DIV TEMP[2].xy, TEMP[2].xyyy, CONST[3].zwww\n"
+ "DIV TEMP[3].xy, TEMP[3].xyyy, CONST[3].zwww\n"
/* Fetch texels */
- "TEX_LZ TEMP[4].x, TEMP[2], SAMP[0], RECT\n"
- "TEX_LZ TEMP[4].y, TEMP[3], SAMP[1], RECT\n"
- "TEX_LZ TEMP[4].z, TEMP[3], SAMP[2], RECT\n"
+ "TEX_LZ TEMP[4].x, TEMP[2].xyyy, SAMP[0], RECT\n"
+ "TEX_LZ TEMP[4].y, TEMP[3].xyyy, SAMP[1], RECT\n"
+ "TEX_LZ TEMP[4].z, TEMP[3].xyyy, SAMP[2], RECT\n"
"MOV TEMP[4].w, IMM[1].xxxx\n"
"DP4 TEMP[7].z, CONST[2], TEMP[4]\n"
"MOV TEMP[5].w, TEMP[4].zzzz\n"
- "SLE TEMP[6].w, TEMP[5], CONST[3].xxxx\n"
- "SGT TEMP[5].w, TEMP[5], CONST[3].yyyy\n"
+ "SLE TEMP[6].w, TEMP[5].wwww, CONST[3].xxxx\n"
+ "SGT TEMP[5].w, TEMP[5].wwww, CONST[3].yyyy\n"
- "MAX TEMP[7].w, TEMP[5], TEMP[6]\n"
+ "MAX TEMP[7].w, TEMP[5].wwww, TEMP[6].wwww\n"
- "STORE IMAGE[0], TEMP[0], TEMP[7], 2D\n"
+ "STORE IMAGE[0], TEMP[0].xyyy, TEMP[7], 2D\n"
"ENDIF\n"
"END\n";
"IMM[2] UINT32 { 1, 2, 4, 0}\n"
"IMM[3] FLT32 { 0.25, 0.5, 0.125, 0.125}\n"
- "UMAD TEMP[0], SV[1], IMM[0], SV[0]\n"
+ "UMAD TEMP[0].xy, SV[1].xyyy, IMM[0].xyyy, SV[0].xyyy\n"
/* Drawn area check */
"USGE TEMP[1].xy, TEMP[0].xyxy, CONST[4].xyxy\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].zzzz\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].wwww\n"
- "UIF TEMP[1]\n"
- "MOV TEMP[2], TEMP[0]\n"
+ "UIF TEMP[1].xxxx\n"
+ "MOV TEMP[2].xy, TEMP[0].xyyy\n"
/* Translate */
- "UADD TEMP[2].xy, TEMP[2], -CONST[5].xyxy\n"
+ "UADD TEMP[2].xy, TEMP[2].xyyy, -CONST[5].xyxy\n"
/* Top Y */
- "U2F TEMP[2], TEMP[2]\n"
+ "U2F TEMP[2].xy, TEMP[2].xyyy\n"
"DIV TEMP[2].y, TEMP[2].yyyy, IMM[1].yyyy\n"
/* Down Y */
- "MOV TEMP[12], TEMP[2]\n"
+ "MOV TEMP[12].xy, TEMP[2].xyyy\n"
/* Top UV */
- "MOV TEMP[3], TEMP[2]\n"
+ "MOV TEMP[3].xy, TEMP[2].xyyy\n"
"DIV TEMP[3].xy, TEMP[3], IMM[1].yyyy\n"
/* Down UV */
- "MOV TEMP[13], TEMP[3]\n"
+ "MOV TEMP[13].xy, TEMP[3].xyyy\n"
/* Texture offset */
"ADD TEMP[2].x, TEMP[2].xxxx, IMM[3].yyyy\n"
"ADD TEMP[13].y, TEMP[13].yyyy, IMM[3].wwww\n"
/* Scale */
- "DIV TEMP[2].xy, TEMP[2], CONST[3].zwzw\n"
- "DIV TEMP[12].xy, TEMP[12], CONST[3].zwzw\n"
- "DIV TEMP[3].xy, TEMP[3], CONST[3].zwzw\n"
- "DIV TEMP[13].xy, TEMP[13], CONST[3].zwzw\n"
+ "DIV TEMP[2].xy, TEMP[2].xyyy, CONST[3].zwzw\n"
+ "DIV TEMP[12].xy, TEMP[12].xyyy, CONST[3].zwzw\n"
+ "DIV TEMP[3].xy, TEMP[3].xyyy, CONST[3].zwzw\n"
+ "DIV TEMP[13].xy, TEMP[13].xyyy, CONST[3].zwzw\n"
/* Weave offset */
"ADD TEMP[2].y, TEMP[2].yyyy, IMM[3].xxxx\n"
/* Texture layer */
"MOV TEMP[14].x, TEMP[2].yyyy\n"
"MOV TEMP[14].yz, TEMP[3].yyyy\n"
- "ROUND TEMP[15], TEMP[14]\n"
- "ADD TEMP[14], TEMP[14], -TEMP[15]\n"
- "MOV TEMP[14], |TEMP[14]|\n"
- "MUL TEMP[14], TEMP[14], IMM[1].yyyy\n"
+ "ROUND TEMP[15].xyz, TEMP[14].xyzz\n"
+ "ADD TEMP[14].xyz, TEMP[14].xyzz, -TEMP[15].xyzz\n"
+ "MOV TEMP[14].xyz, |TEMP[14].xyzz|\n"
+ "MUL TEMP[14].xyz, TEMP[14].xyzz, IMM[1].yyyy\n"
/* Normalize */
- "DIV TEMP[2].xy, TEMP[2], CONST[5].zwzw\n"
- "DIV TEMP[12].xy, TEMP[12], CONST[5].zwzw\n"
+ "DIV TEMP[2].xy, TEMP[2].xyyy, CONST[5].zwzw\n"
+ "DIV TEMP[12].xy, TEMP[12].xyyy, CONST[5].zwzw\n"
"DIV TEMP[15].xy, CONST[5].zwzw, IMM[1].yyyy\n"
- "DIV TEMP[3].xy, TEMP[3], TEMP[15].xyxy\n"
- "DIV TEMP[13].xy, TEMP[13], TEMP[15].xyxy\n"
+ "DIV TEMP[3].xy, TEMP[3].xyyy, TEMP[15].xyxy\n"
+ "DIV TEMP[13].xy, TEMP[13].xyyy, TEMP[15].xyxy\n"
/* Fetch texels */
"MOV TEMP[2].z, IMM[1].wwww\n"
"MOV TEMP[3].z, IMM[1].wwww\n"
- "TEX_LZ TEMP[10].x, TEMP[2], SAMP[0], 2D_ARRAY\n"
- "TEX_LZ TEMP[10].y, TEMP[3], SAMP[1], 2D_ARRAY\n"
- "TEX_LZ TEMP[10].z, TEMP[3], SAMP[2], 2D_ARRAY\n"
+ "TEX_LZ TEMP[10].x, TEMP[2].xyzz, SAMP[0], 2D_ARRAY\n"
+ "TEX_LZ TEMP[10].y, TEMP[3].xyzz, SAMP[1], 2D_ARRAY\n"
+ "TEX_LZ TEMP[10].z, TEMP[3].xyzz, SAMP[2], 2D_ARRAY\n"
"MOV TEMP[12].z, IMM[1].xxxx\n"
"MOV TEMP[13].z, IMM[1].xxxx\n"
- "TEX_LZ TEMP[11].x, TEMP[12], SAMP[0], 2D_ARRAY\n"
- "TEX_LZ TEMP[11].y, TEMP[13], SAMP[1], 2D_ARRAY\n"
- "TEX_LZ TEMP[11].z, TEMP[13], SAMP[2], 2D_ARRAY\n"
+ "TEX_LZ TEMP[11].x, TEMP[12].xyzz, SAMP[0], 2D_ARRAY\n"
+ "TEX_LZ TEMP[11].y, TEMP[13].xyzz, SAMP[1], 2D_ARRAY\n"
+ "TEX_LZ TEMP[11].z, TEMP[13].xyzz, SAMP[2], 2D_ARRAY\n"
- "LRP TEMP[6], TEMP[14], TEMP[10], TEMP[11]\n"
+ "LRP TEMP[6].xyz, TEMP[14].xyzz, TEMP[10].xyzz, TEMP[11].xyzz\n"
"MOV TEMP[6].w, IMM[1].xxxx\n"
/* Color Space Conversion */
"DP4 TEMP[9].z, CONST[2], TEMP[6]\n"
"MOV TEMP[7].w, TEMP[6].zzzz\n"
- "SLE TEMP[8].w, TEMP[7], CONST[3].xxxx\n"
- "SGT TEMP[7].w, TEMP[7], CONST[3].yyyy\n"
+ "SLE TEMP[8].w, TEMP[7].wwww, CONST[3].xxxx\n"
+ "SGT TEMP[7].w, TEMP[7].wwww, CONST[3].yyyy\n"
- "MAX TEMP[9].w, TEMP[7], TEMP[8]\n"
+ "MAX TEMP[9].w, TEMP[7].wwww, TEMP[8].wwww\n"
- "STORE IMAGE[0], TEMP[0], TEMP[9], 2D\n"
+ "STORE IMAGE[0], TEMP[0].xyyy, TEMP[9], 2D\n"
"ENDIF\n"
"END\n";
"IMM[0] UINT32 { 8, 8, 1, 0}\n"
"IMM[1] FLT32 { 1.0, 2.0, 0.0, 0.0}\n"
- "UMAD TEMP[0], SV[1], IMM[0], SV[0]\n"
+ "UMAD TEMP[0].xy, SV[1].xyyy, IMM[0].xyyy, SV[0].xyyy\n"
/* Drawn area check */
"USGE TEMP[1].xy, TEMP[0].xyxy, CONST[4].xyxy\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].zzzz\n"
"AND TEMP[1].x, TEMP[1].xxxx, TEMP[1].wwww\n"
- "UIF TEMP[1]\n"
+ "UIF TEMP[1].xxxx\n"
/* Translate */
- "UADD TEMP[2].xy, TEMP[0], -CONST[5].xyxy\n"
- "U2F TEMP[2], TEMP[2]\n"
+ "UADD TEMP[2].xy, TEMP[0].xyyy, -CONST[5].xyxy\n"
+ "U2F TEMP[2].xy, TEMP[2].xyyy\n"
/* Scale */
- "DIV TEMP[2], TEMP[2], CONST[3].zwzw\n"
+ "DIV TEMP[2].xy, TEMP[2].xyyy, CONST[3].zwzw\n"
/* Fetch texels */
- "TEX_LZ TEMP[3], TEMP[2], SAMP[0], RECT\n"
+ "TEX_LZ TEMP[3], TEMP[2].xyyy, SAMP[0], RECT\n"
- "STORE IMAGE[0], TEMP[0], TEMP[3], 2D\n"
+ "STORE IMAGE[0], TEMP[0].xyyy, TEMP[3], 2D\n"
"ENDIF\n"
"END\n";