scons/svga: remove opt from the list of valid build types
[mesa.git] / src / gallium / drivers / svga / svga_link.c
index f3e524d38eaef2c8146500afbaddff54545a9402..0bf40d153b7b834d2d6cefa243f1bc59b83e72e1 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "svga_context.h"
 #include "svga_link.h"
+#include "svga_debug.h"
 
 #include "tgsi/tgsi_strings.h"
 
@@ -45,7 +46,7 @@ svga_link_shaders(const struct tgsi_shader_info *outshader_info,
 {
    unsigned i, free_slot;
 
-   for (i = 0; i < Elements(linkage->input_map); i++) {
+   for (i = 0; i < ARRAY_SIZE(linkage->input_map); i++) {
       linkage->input_map[i] = INVALID_INDEX;
    }
 
@@ -55,13 +56,13 @@ svga_link_shaders(const struct tgsi_shader_info *outshader_info,
     * We'll modify the input shader's inputs to match the output shader.
     */
    assert(inshader_info->num_inputs <=
-          Elements(inshader_info->input_semantic_name));
+          ARRAY_SIZE(inshader_info->input_semantic_name));
 
    /* free register index that can be used for built-in varyings */
    free_slot = outshader_info->num_outputs + 1;
 
    for (i = 0; i < inshader_info->num_inputs; i++) {
-      unsigned sem_name = inshader_info->input_semantic_name[i];
+      enum tgsi_semantic sem_name = inshader_info->input_semantic_name[i];
       unsigned sem_index = inshader_info->input_semantic_index[i];
       unsigned j;
       /**
@@ -76,7 +77,7 @@ svga_link_shaders(const struct tgsi_shader_info *outshader_info,
       else {
          /* search output shader outputs for same item */
          for (j = 0; j < outshader_info->num_outputs; j++) {
-            assert(j < Elements(outshader_info->output_semantic_name));
+            assert(j < ARRAY_SIZE(outshader_info->output_semantic_name));
             if (outshader_info->output_semantic_name[j] == sem_name &&
                 outshader_info->output_semantic_index[j] == sem_index) {
                linkage->input_map[i] = j;
@@ -95,15 +96,19 @@ svga_link_shaders(const struct tgsi_shader_info *outshader_info,
          linkage->input_map[i] = j;
       }
    }
+   linkage->input_map_max = free_slot - 1;
 
    /* Debug */
-   if (0) {
+   if (SVGA_DEBUG & DEBUG_TGSI) {
       unsigned reg = 0;
+      debug_printf("### linkage info: num_inputs=%d input_map_max=%d\n",
+                   linkage->num_inputs, linkage->input_map_max);
+
       for (i = 0; i < linkage->num_inputs; i++) {
 
          assert(linkage->input_map[i] != INVALID_INDEX);
 
-         debug_printf("input shader input[%d] slot %u  %s %u %s\n",
+         debug_printf("   input[%d] slot %u  %s %u %s\n",
                       i,
                       linkage->input_map[i],
                       tgsi_semantic_names[inshader_info->input_semantic_name[i]],