diff options
author | Lauri Kasanen <cand@gmx.com> | 2011-07-21 11:00:19 +0300 |
---|---|---|
committer | Lauri Kasanen <cand@gmx.com> | 2011-07-21 11:28:06 +0300 |
commit | 84a4594f17de53a39b374e94ba8bac8b4ea7f0db (patch) | |
tree | 9ca621f10442a2cd0d5c7cab97ae9adb22b122ef | |
parent | cbca8b77a2087054a44f2bb2f34744164982f8e1 (diff) |
pp: Edit pass 2, -1 temp, -6 instructions
-rw-r--r-- | src/gallium/auxiliary/postprocess/pp_mlaa.h | 294 |
1 files changed, 144 insertions, 150 deletions
diff --git a/src/gallium/auxiliary/postprocess/pp_mlaa.h b/src/gallium/auxiliary/postprocess/pp_mlaa.h index 7762d47b2f..b35462fdef 100644 --- a/src/gallium/auxiliary/postprocess/pp_mlaa.h +++ b/src/gallium/auxiliary/postprocess/pp_mlaa.h @@ -178,7 +178,7 @@ static const char blend2fs_1[] = "FRAG\n" "DCL SAMP[1]\n" "DCL SAMP[2]\n" "DCL CONST[0]\n" - "DCL TEMP[0..7]\n" + "DCL TEMP[0..6]\n" "IMM FLT32 { 0.0000, -0.2500, 0.0061, 0.5000}\n" "IMM FLT32 { -1.5000, -2.0000, 0.9000, 1.5000}\n" "IMM FLT32 { 2.0000, 1.0000, 4.0000, 33.0000}\n"; @@ -188,161 +188,155 @@ static const char blend2fs_2[] = " 1: TEX TEMP[1], IN[0].xyyy, SAMP[1], 2D\n" " 2: MOV TEMP[2].x, TEMP[1]\n" " 3: SNE TEMP[3].x, TEMP[1].yyyy, IMM[0].xxxx\n" - " 4: IF TEMP[3].xxxx :79\n" + " 4: IF TEMP[3].xxxx :76\n" " 5: MOV TEMP[1].xy, IN[0].xyxx\n" " 6: MOV TEMP[4].x, IMM[1].xxxx\n" - " 7: BGNLOOP :25\n" + " 7: BGNLOOP :24\n" " 8: MUL TEMP[5].x, IMM[1].yyyy, IMM[3].xxxx\n" " 9: SLE TEMP[6].x, TEMP[4].xxxx, TEMP[5].xxxx\n" " 10: IF TEMP[6].xxxx :12\n" " 11: BRK\n" " 12: ENDIF\n" - " 13: MOV TEMP[6].y, IMM[0].xxxx\n" - " 14: MOV TEMP[6].x, TEMP[4].xxxx\n" - " 15: MAD TEMP[3].xyz, CONST[0].xyyy, TEMP[6].xyyy, TEMP[1].xyyy\n" - " 16: MOV TEMP[3].w, IMM[0].xxxx\n" - " 17: TXL TEMP[5], TEMP[3], SAMP[2], 2D\n" - " 18: MOV TEMP[3].x, TEMP[5].yyyy\n" - " 19: SLT TEMP[6].x, TEMP[5].yyyy, IMM[1].zzzz\n" - " 20: IF TEMP[6].xxxx :22\n" - " 21: BRK\n" - " 22: ENDIF\n" - " 23: ADD TEMP[6].x, TEMP[4].xxxx, IMM[1].yyyy\n" - " 24: MOV TEMP[4].x, TEMP[6].xxxx\n" - " 25: ENDLOOP :7\n" - " 26: ADD TEMP[1].x, TEMP[4].xxxx, IMM[1].wwww\n" - " 27: MUL TEMP[4].x, IMM[2].xxxx, TEMP[3].xxxx\n" - " 28: ADD TEMP[3].x, TEMP[1].xxxx, -TEMP[4].xxxx\n" - " 29: MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx\n" - " 30: MAX TEMP[4].x, TEMP[3].xxxx, TEMP[1].xxxx\n" - " 31: MOV TEMP[1].x, TEMP[4].xxxx\n" - " 32: MOV TEMP[3].xy, IN[0].xyxx\n" - " 33: MOV TEMP[5].x, IMM[1].wwww\n" - " 34: BGNLOOP :52\n" - " 35: MUL TEMP[6].x, IMM[2].xxxx, IMM[3].xxxx\n" - " 36: SGE TEMP[7].x, TEMP[5].xxxx, TEMP[6].xxxx\n" - " 37: IF TEMP[7].xxxx :39\n" - " 38: BRK\n" - " 39: ENDIF\n" - " 40: MOV TEMP[6].y, IMM[0].xxxx\n" - " 41: MOV TEMP[6].x, TEMP[5].xxxx\n" - " 42: MAD TEMP[7].xyz, CONST[0].xyyy, TEMP[6].xyyy, TEMP[3].xyyy\n" - " 43: MOV TEMP[7].w, IMM[0].xxxx\n" - " 44: TXL TEMP[6].xy, TEMP[7], SAMP[2], 2D\n" - " 45: MOV TEMP[4].x, TEMP[6].yyyy\n" - " 46: SLT TEMP[7].x, TEMP[6].yyyy, IMM[1].zzzz\n" - " 47: IF TEMP[7].xxxx :49\n" - " 48: BRK\n" - " 49: ENDIF\n" - " 50: ADD TEMP[6].x, TEMP[5].xxxx, IMM[2].xxxx\n" - " 51: MOV TEMP[5].x, TEMP[6].xxxx\n" - " 52: ENDLOOP :34\n" - " 53: ADD TEMP[3].x, TEMP[5].xxxx, IMM[1].xxxx\n" - " 54: MAD TEMP[5].x, IMM[2].xxxx, TEMP[4].xxxx, TEMP[3].xxxx\n" - " 55: MUL TEMP[3].x, IMM[2].xxxx, IMM[3].xxxx\n" - " 56: MIN TEMP[4].x, TEMP[5].xxxx, TEMP[3].xxxx\n" - " 57: MOV TEMP[3].x, TEMP[1].xxxx\n" - " 58: MOV TEMP[3].y, TEMP[4].xxxx\n" - " 59: MOV TEMP[5].yw, IMM[0].yyyy\n" - " 60: MOV TEMP[5].x, TEMP[1].xxxx\n" - " 61: ADD TEMP[1].x, TEMP[4].xxxx, IMM[2].yyyy\n" - " 62: MOV TEMP[5].z, TEMP[1].xxxx\n" - " 63: MAD TEMP[1], TEMP[5], CONST[0].xyxy, IN[0].xyxy\n" - " 64: MOV TEMP[4], TEMP[1].xyyy\n" - " 65: MOV TEMP[4].w, IMM[0].xxxx\n" - " 66: TXL TEMP[5].x, TEMP[4], SAMP[2], 2D\n" - " 67: MOV TEMP[4].x, TEMP[5].xxxx\n" - " 68: MOV TEMP[5], TEMP[1].zwww\n" - " 69: MOV TEMP[5].w, IMM[0].xxxx\n" - " 70: TXL TEMP[1].x, TEMP[5], SAMP[2], 2D\n" - " 71: MOV TEMP[4].y, TEMP[1].xxxx\n" - " 72: MUL TEMP[5].xy, IMM[2].zzzz, TEMP[4].xyyy\n" - " 73: ROUND TEMP[1].xy, TEMP[5].xyyy\n" - " 74: ABS TEMP[4].xy, TEMP[3].xyyy\n" - " 75: MAD TEMP[3].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[4].xyyy\n" - " 76: MUL TEMP[3].xyz, TEMP[3].xyyy, IMM[0].zzzz\n" - " 77: MOV TEMP[3].w, IMM[0].xxxx\n" - " 78: TXL TEMP[0].xy, TEMP[3], SAMP[0], 2D\n" - " 79: ENDIF\n" - " 80: SNE TEMP[1].x, TEMP[2].xxxx, IMM[0].xxxx\n" - " 81: IF TEMP[1].xxxx :157\n" - " 82: MOV TEMP[1].xy, IN[0].xyxx\n" - " 83: MOV TEMP[3].x, IMM[1].xxxx\n" - " 84: BGNLOOP :102\n" - " 85: MUL TEMP[4].x, IMM[1].yyyy, IMM[3].xxxx\n" - " 86: SLE TEMP[5].x, TEMP[3].xxxx, TEMP[4].xxxx\n" - " 87: IF TEMP[5].xxxx :89\n" - " 88: BRK\n" - " 89: ENDIF\n" - " 90: MOV TEMP[6].y, IMM[0].xxxx\n" - " 91: MOV TEMP[6].x, TEMP[3].xxxx\n" - " 92: MAD TEMP[5].xyz, CONST[0].xyyy, TEMP[6].yxxx, TEMP[1].xyyy\n" - " 93: MOV TEMP[5].w, IMM[0].xxxx\n" - " 94: TXL TEMP[4], TEMP[5], SAMP[2], 2D\n" - " 95: MOV TEMP[2].x, TEMP[4].xxxx\n" - " 96: SLT TEMP[5].x, TEMP[4].xxxx, IMM[1].zzzz\n" - " 97: IF TEMP[5].xxxx :99\n" - " 98: BRK\n" - " 99: ENDIF\n" - "100: ADD TEMP[4].x, TEMP[3].xxxx, IMM[1].yyyy\n" - "101: MOV TEMP[3].x, TEMP[4].xxxx\n" - "102: ENDLOOP :84\n" - "103: ADD TEMP[1].x, TEMP[3].xxxx, IMM[1].wwww\n" - "104: MUL TEMP[3].x, IMM[2].xxxx, TEMP[2].xxxx\n" - "105: ADD TEMP[2].x, TEMP[1].xxxx, -TEMP[3].xxxx\n" - "106: MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx\n" - "107: MAX TEMP[3].x, TEMP[2].xxxx, TEMP[1].xxxx\n" - "108: MOV TEMP[1].x, TEMP[3].xxxx\n" - "109: MOV TEMP[2].xy, IN[0].xyxx\n" - "110: MOV TEMP[4].x, IMM[1].wwww\n" - "111: BGNLOOP :129\n" - "112: MUL TEMP[5].x, IMM[2].xxxx, IMM[3].xxxx\n" - "113: SGE TEMP[6].x, TEMP[4].xxxx, TEMP[5].xxxx\n" - "114: IF TEMP[6].xxxx :116\n" - "115: BRK\n" - "116: ENDIF\n" - "117: MOV TEMP[6].y, IMM[0].xxxx\n" - "118: MOV TEMP[6].x, TEMP[4].xxxx\n" - "119: MAD TEMP[5].xyz, CONST[0].xyyy, TEMP[6].yxxx, TEMP[2].xyyy\n" - "120: MOV TEMP[5].w, IMM[0].xxxx\n" - "121: TXL TEMP[6], TEMP[5], SAMP[2], 2D\n" - "122: MOV TEMP[3].x, TEMP[6].xxxx\n" - "123: SLT TEMP[5].x, TEMP[6].xxxx, IMM[1].zzzz\n" - "124: IF TEMP[5].xxxx :126\n" - "125: BRK\n" - "126: ENDIF\n" - "127: ADD TEMP[6].x, TEMP[4].xxxx, IMM[2].xxxx\n" - "128: MOV TEMP[4].x, TEMP[6].xxxx\n" - "129: ENDLOOP :111\n" - "130: ADD TEMP[2].x, TEMP[4].xxxx, IMM[1].xxxx\n" - "131: MAD TEMP[4].x, IMM[2].xxxx, TEMP[3].xxxx, TEMP[2].xxxx\n" - "132: MUL TEMP[2].x, IMM[2].xxxx, IMM[3].xxxx\n" - "133: MIN TEMP[3].x, TEMP[4].xxxx, TEMP[2].xxxx\n" - "134: MOV TEMP[2].x, TEMP[1].xxxx\n" - "135: MOV TEMP[2].y, TEMP[3].xxxx\n" - "136: MOV TEMP[4].xz, IMM[0].yyyy\n" - "137: MOV TEMP[4].y, TEMP[1].xxxx\n" - "138: ADD TEMP[1].x, TEMP[3].xxxx, IMM[2].yyyy\n" - "139: MOV TEMP[4].w, TEMP[1].xxxx\n" - "140: MAD TEMP[1], TEMP[4], CONST[0].xyxy, IN[0].xyxy\n" - "141: MOV TEMP[3], TEMP[1].xyyy\n" - "142: MOV TEMP[3].w, IMM[0].xxxx\n" - "143: TXL TEMP[4].y, TEMP[3], SAMP[2], 2D\n" - "144: MOV TEMP[3].x, TEMP[4].yyyy\n" - "145: MOV TEMP[4], TEMP[1].zwww\n" - "146: MOV TEMP[4].w, IMM[0].xxxx\n" - "147: TXL TEMP[1].y, TEMP[4], SAMP[2], 2D\n" - "148: MOV TEMP[3].y, TEMP[1].yyyy\n" - "149: MUL TEMP[4].xy, IMM[2].zzzz, TEMP[3].xyyy\n" - "150: ROUND TEMP[1].xy, TEMP[4].xyyy\n" - "151: ABS TEMP[3].xy, TEMP[2].xyyy\n" - "152: MAD TEMP[2].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[3].xyyy\n" - "153: MUL TEMP[2].xyz, TEMP[2].xyyy, IMM[0].zzzz\n" - "154: MOV TEMP[2].w, IMM[0].xxxx\n" - "155: TXL TEMP[1].xy, TEMP[2], SAMP[0], 2D\n" - "156: MOV TEMP[0].zw, TEMP[1].yyxy\n" - "157: ENDIF\n" - "158: MOV OUT[0], TEMP[0]\n" - "159: END\n"; + " 13: MOV TEMP[4].y, IMM[0].xxxx\n" + " 14: MAD TEMP[3].xyz, CONST[0].xyyy, TEMP[4].xyyy, TEMP[1].xyyy\n" + " 15: MOV TEMP[3].w, IMM[0].xxxx\n" + " 16: TXL TEMP[5], TEMP[3], SAMP[2], 2D\n" + " 17: MOV TEMP[3].x, TEMP[5].yyyy\n" + " 18: SLT TEMP[6].x, TEMP[5].yyyy, IMM[1].zzzz\n" + " 19: IF TEMP[6].xxxx :21\n" + " 20: BRK\n" + " 21: ENDIF\n" + " 22: ADD TEMP[6].x, TEMP[4].xxxx, IMM[1].yyyy\n" + " 23: MOV TEMP[4].x, TEMP[6].xxxx\n" + " 24: ENDLOOP :7\n" + " 25: ADD TEMP[1].x, TEMP[4].xxxx, IMM[1].wwww\n" + " 26: MAD TEMP[6].x, -IMM[2].xxxx, TEMP[3].xxxx, TEMP[1].xxxx\n" + " 27: MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx\n" + " 28: MAX TEMP[4].x, TEMP[6].xxxx, TEMP[1].xxxx\n" + " 29: MOV TEMP[1].x, TEMP[4].xxxx\n" + " 30: MOV TEMP[3].xy, IN[0].xyxx\n" + " 31: MOV TEMP[5].x, IMM[1].wwww\n" + " 32: BGNLOOP :49\n" + " 33: MUL TEMP[6].x, IMM[2].xxxx, IMM[3].xxxx\n" + " 34: SGE TEMP[4].x, TEMP[5].xxxx, TEMP[6].xxxx\n" + " 35: IF TEMP[4].xxxx :37\n" + " 36: BRK\n" + " 37: ENDIF\n" + " 38: MOV TEMP[5].y, IMM[0].xxxx\n" + " 39: MAD TEMP[4].xyz, CONST[0].xyyy, TEMP[5].xyyy, TEMP[3].xyyy\n" + " 40: MOV TEMP[4].w, IMM[0].xxxx\n" + " 41: TXL TEMP[6].xy, TEMP[4], SAMP[2], 2D\n" + " 42: MOV TEMP[4].x, TEMP[6].yyyy\n" + " 43: SLT TEMP[0].x, TEMP[6].yyyy, IMM[1].zzzz\n" + " 44: IF TEMP[0].xxxx :46\n" + " 45: BRK\n" + " 46: ENDIF\n" + " 47: ADD TEMP[6].x, TEMP[5].xxxx, IMM[2].xxxx\n" + " 48: MOV TEMP[5].x, TEMP[6].xxxx\n" + " 49: ENDLOOP :32\n" + " 50: ADD TEMP[3].x, TEMP[5].xxxx, IMM[1].xxxx\n" + " 51: MAD TEMP[5].x, IMM[2].xxxx, TEMP[4].xxxx, TEMP[3].xxxx\n" + " 52: MUL TEMP[3].x, IMM[2].xxxx, IMM[3].xxxx\n" + " 53: MIN TEMP[4].x, TEMP[5].xxxx, TEMP[3].xxxx\n" + " 54: MOV TEMP[3].x, TEMP[1].xxxx\n" + " 55: MOV TEMP[3].y, TEMP[4].xxxx\n" + " 56: MOV TEMP[5].yw, IMM[0].yyyy\n" + " 57: MOV TEMP[5].x, TEMP[1].xxxx\n" + " 58: ADD TEMP[1].x, TEMP[4].xxxx, IMM[2].yyyy\n" + " 59: MOV TEMP[5].z, TEMP[1].xxxx\n" + " 60: MAD TEMP[1], TEMP[5], CONST[0].xyxy, IN[0].xyxy\n" + " 61: MOV TEMP[4], TEMP[1].xyyy\n" + " 62: MOV TEMP[4].w, IMM[0].xxxx\n" + " 63: TXL TEMP[5].x, TEMP[4], SAMP[2], 2D\n" + " 64: MOV TEMP[4].x, TEMP[5].xxxx\n" + " 65: MOV TEMP[5], TEMP[1].zwww\n" + " 66: MOV TEMP[5].w, IMM[0].xxxx\n" + " 67: TXL TEMP[1].x, TEMP[5], SAMP[2], 2D\n" + " 68: MOV TEMP[4].y, TEMP[1].xxxx\n" + " 69: MUL TEMP[5].xy, IMM[2].zzzz, TEMP[4].xyyy\n" + " 70: ROUND TEMP[1].xy, TEMP[5].xyyy\n" + " 71: ABS TEMP[4].xy, TEMP[3].xyyy\n" + " 72: MAD TEMP[3].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[4].xyyy\n" + " 73: MUL TEMP[3].xyz, TEMP[3].xyyy, IMM[0].zzzz\n" + " 74: MOV TEMP[3].w, IMM[0].xxxx\n" + " 75: TXL TEMP[0].xy, TEMP[3], SAMP[0], 2D\n" + " 76: ENDIF\n" + " 77: SNE TEMP[1].x, TEMP[2].xxxx, IMM[0].xxxx\n" + " 78: IF TEMP[1].xxxx :151\n" + " 79: MOV TEMP[1].xy, IN[0].xyxx\n" + " 80: MOV TEMP[3].x, IMM[1].xxxx\n" + " 81: BGNLOOP :98\n" + " 82: MUL TEMP[4].x, IMM[1].yyyy, IMM[3].xxxx\n" + " 83: SLE TEMP[5].x, TEMP[3].xxxx, TEMP[4].xxxx\n" + " 84: IF TEMP[5].xxxx :86\n" + " 85: BRK\n" + " 86: ENDIF\n" + " 87: MOV TEMP[3].y, IMM[0].xxxx\n" + " 88: MAD TEMP[5].xyz, CONST[0].xyyy, TEMP[3].yxxx, TEMP[1].xyyy\n" + " 89: MOV TEMP[5].w, IMM[0].xxxx\n" + " 90: TXL TEMP[4], TEMP[5], SAMP[2], 2D\n" + " 91: MOV TEMP[2].x, TEMP[4].xxxx\n" + " 92: SLT TEMP[5].x, TEMP[4].xxxx, IMM[1].zzzz\n" + " 93: IF TEMP[5].xxxx :95\n" + " 94: BRK\n" + " 95: ENDIF\n" + " 96: ADD TEMP[4].x, TEMP[3].xxxx, IMM[1].yyyy\n" + " 97: MOV TEMP[3].x, TEMP[4].xxxx\n" + " 98: ENDLOOP :81\n" + " 99: ADD TEMP[1].x, TEMP[3].xxxx, IMM[1].wwww\n" + "100: MAD TEMP[6].x, -IMM[2].xxxx, TEMP[2].xxxx, TEMP[1].xxxx\n" + "101: MUL TEMP[1].x, IMM[1].yyyy, IMM[3].xxxx\n" + "102: MAX TEMP[3].x, TEMP[6].xxxx, TEMP[1].xxxx\n" + "103: MOV TEMP[1].x, TEMP[3].xxxx\n" + "104: MOV TEMP[2].xy, IN[0].xyxx\n" + "105: MOV TEMP[4].x, IMM[1].wwww\n" + "106: BGNLOOP :123\n" + "107: MUL TEMP[5].x, IMM[2].xxxx, IMM[3].xxxx\n" + "108: SGE TEMP[6].x, TEMP[4].xxxx, TEMP[5].xxxx\n" + "109: IF TEMP[6].xxxx :111\n" + "110: BRK\n" + "111: ENDIF\n" + "112: MOV TEMP[4].y, IMM[0].xxxx\n" + "113: MAD TEMP[5].xyz, CONST[0].xyyy, TEMP[4].yxxx, TEMP[2].xyyy\n" + "114: MOV TEMP[5].w, IMM[0].xxxx\n" + "115: TXL TEMP[6], TEMP[5], SAMP[2], 2D\n" + "116: MOV TEMP[3].x, TEMP[6].xxxx\n" + "117: SLT TEMP[5].x, TEMP[6].xxxx, IMM[1].zzzz\n" + "118: IF TEMP[5].xxxx :120\n" + "119: BRK\n" + "120: ENDIF\n" + "121: ADD TEMP[6].x, TEMP[4].xxxx, IMM[2].xxxx\n" + "122: MOV TEMP[4].x, TEMP[6].xxxx\n" + "123: ENDLOOP :106\n" + "124: ADD TEMP[2].x, TEMP[4].xxxx, IMM[1].xxxx\n" + "125: MAD TEMP[4].x, IMM[2].xxxx, TEMP[3].xxxx, TEMP[2].xxxx\n" + "126: MUL TEMP[2].x, IMM[2].xxxx, IMM[3].xxxx\n" + "127: MIN TEMP[3].x, TEMP[4].xxxx, TEMP[2].xxxx\n" + "128: MOV TEMP[2].x, TEMP[1].xxxx\n" + "129: MOV TEMP[2].y, TEMP[3].xxxx\n" + "130: MOV TEMP[4].xz, IMM[0].yyyy\n" + "131: MOV TEMP[4].y, TEMP[1].xxxx\n" + "132: ADD TEMP[1].x, TEMP[3].xxxx, IMM[2].yyyy\n" + "133: MOV TEMP[4].w, TEMP[1].xxxx\n" + "134: MAD TEMP[1], TEMP[4], CONST[0].xyxy, IN[0].xyxy\n" + "135: MOV TEMP[3], TEMP[1].xyyy\n" + "136: MOV TEMP[3].w, IMM[0].xxxx\n" + "137: TXL TEMP[4].y, TEMP[3], SAMP[2], 2D\n" + "138: MOV TEMP[3].x, TEMP[4].yyyy\n" + "139: MOV TEMP[4], TEMP[1].zwww\n" + "140: MOV TEMP[4].w, IMM[0].xxxx\n" + "141: TXL TEMP[1].y, TEMP[4], SAMP[2], 2D\n" + "142: MOV TEMP[3].y, TEMP[1].yyyy\n" + "143: MUL TEMP[4].xy, IMM[2].zzzz, TEMP[3].xyyy\n" + "144: ROUND TEMP[1].xy, TEMP[4].xyyy\n" + "145: ABS TEMP[3].xy, TEMP[2].xyyy\n" + "146: MAD TEMP[2].xy, IMM[2].wwww, TEMP[1].xyyy, TEMP[3].xyyy\n" + "147: MUL TEMP[2].xyz, TEMP[2].xyyy, IMM[0].zzzz\n" + "148: MOV TEMP[2].w, IMM[0].xxxx\n" + "149: TXL TEMP[1].xy, TEMP[2], SAMP[0], 2D\n" + "150: MOV TEMP[0].zw, TEMP[1].yyxy\n" + "151: ENDIF\n" + "152: MOV OUT[0], TEMP[0]\n" + "153: END\n"; #endif |