OSDN Git Service

Merge freedesktop/master into otc-private/master
[android-x86/external-mesa.git] / src / gallium / auxiliary / draw / draw_gs.c
index 67e5117..b762dd6 100644 (file)
@@ -791,6 +791,16 @@ draw_create_geometry_shader(struct draw_context *draw,
          gs->position_output = i;
       if (gs->info.output_semantic_name[i] == TGSI_SEMANTIC_VIEWPORT_INDEX)
          gs->viewport_index_output = i;
+      if (gs->info.output_semantic_name[i] == TGSI_SEMANTIC_CLIPDIST) {
+         if (gs->info.output_semantic_index[i] == 0)
+            gs->clipdistance_output[0] = i;
+         else
+            gs->clipdistance_output[1] = i;
+      }
+      if (gs->info.output_semantic_name[i] == TGSI_SEMANTIC_CULLDIST) {
+         debug_assert(gs->info.output_semantic_index[i] < Elements(gs->culldistance_output));
+         gs->culldistance_output[gs->info.output_semantic_index[i]] = i;
+      }
    }
 
    gs->machine = draw->gs.tgsi.machine;