program: Remove condition-code and precision support.
[mesa.git] / src / mesa / program / program_parse_extra.c
index 71f86d13acea82815ee824fecdb9224cdfbe25b1..1c5f5794dd5639730c27950e3fad838e9f9c5261 100644 (file)
@@ -38,46 +38,10 @@ _mesa_parse_instruction_suffix(const struct asm_parser_state *state,
                               const char *suffix,
                               struct prog_instruction *inst)
 {
-   inst->CondUpdate = 0;
-   inst->CondDst = 0;
    inst->Saturate = GL_FALSE;
-   inst->Precision = FLOAT32;
 
 
-   /* The first possible suffix element is the precision specifier from
-    * NV_fragment_program_option.
-    */
-   if (state->option.NV_fragment) {
-      switch (suffix[0]) {
-      case 'H':
-        inst->Precision = FLOAT16;
-        suffix++;
-        break;
-      case 'R':
-        inst->Precision = FLOAT32;
-        suffix++;
-        break;
-      case 'X':
-        inst->Precision = FIXED12;
-        suffix++;
-        break;
-      default:
-        break;
-      }
-   }
-
-   /* The next possible suffix element is the condition code modifier selection
-    * from NV_fragment_program_option.
-    */
-   if (state->option.NV_fragment) {
-      if (suffix[0] == 'C') {
-        inst->CondUpdate = 1;
-        suffix++;
-      }
-   }
-
-
-   /* The final possible suffix element is the saturation selector from
+   /* The only possible suffix element is the saturation selector from
     * ARB_fragment_program.
     */
    if (state->mode == ARB_fragment) {
@@ -94,60 +58,6 @@ _mesa_parse_instruction_suffix(const struct asm_parser_state *state,
 }
 
 
-int
-_mesa_parse_cc(const char *s)
-{
-   int cond = 0;
-
-   switch (s[0]) {
-   case 'E':
-      if (s[1] == 'Q') {
-        cond = COND_EQ;
-      }
-      break;
-
-   case 'F':
-      if (s[1] == 'L') {
-        cond = COND_FL;
-      }
-      break;
-
-   case 'G':
-      if (s[1] == 'E') {
-        cond = COND_GE;
-      } else if (s[1] == 'T') {
-        cond = COND_GT;
-      }
-      break;
-
-   case 'L':
-      if (s[1] == 'E') {
-        cond = COND_LE;
-      } else if (s[1] == 'T') {
-        cond = COND_LT;
-      }
-      break;
-
-   case 'N':
-      if (s[1] == 'E') {
-        cond = COND_NE;
-      }
-      break;
-
-   case 'T':
-      if (s[1] == 'R') {
-        cond = COND_TR;
-      }
-      break;
-
-   default:
-      break;
-   }
-
-   return ((cond == 0) || (s[2] != '\0')) ? 0 : cond;
-}
-
-
 int
 _mesa_ARBvp_parse_option(struct asm_parser_state *state, const char *option)
 {
@@ -269,17 +179,6 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, const char *option)
         state->option.DrawBuffers = 1;
         return 1;
       }
-   } else if (strncmp(option, "NV_fragment_program", 19) == 0) {
-      option += 19;
-
-      /* Other NV_fragment_program strings may be supported later.
-       */
-      if (option[0] == '\0') {
-        if (state->ctx->Extensions.NV_fragment_program_option) {
-           state->option.NV_fragment = 1;
-           return 1;
-        }
-      }
    }
 
    return 0;