draw: Add GALLIUM_DUMP_VS environment variable.
authorLuca Barbieri <luca@luca-barbieri.com>
Fri, 15 Jan 2010 06:28:18 +0000 (07:28 +0100)
committerMichal Krol <michal@vmware.com>
Fri, 15 Jan 2010 06:30:17 +0000 (07:30 +0100)
Add GALLIUM_DUMP_VS to dump the vertex shader to the console like
GALLIUM_DUMP_FS in softpipe.

src/gallium/auxiliary/draw/draw_private.h
src/gallium/auxiliary/draw/draw_vs.c

index 2a11b8c5459fdeecbcb0b06274ac07778b49587e..d5e1c0ce2a2780af5d3b59b1808de63f2ead8d98 100644 (file)
@@ -172,6 +172,8 @@ struct draw_context
 
    boolean force_passthrough; /**< never clip or shade */
 
+   boolean dump_vs;
+
    double mrd;  /**< minimum resolvable depth value, for polygon offset */
 
    /* pipe state that we need: */
index 3553689532687ffaa326a5c93863d91f1e7f7c35..60b4dd970426364674b1116c843a306cb818c949 100644 (file)
@@ -83,6 +83,10 @@ draw_create_vertex_shader(struct draw_context *draw,
 {
    struct draw_vertex_shader *vs;
 
+   if (draw->dump_vs) {
+      tgsi_dump(shader->tokens, 0);
+   }
+
    vs = draw_create_vs_llvm( draw, shader );
    if (!vs) {
       vs = draw_create_vs_sse( draw, shader );
@@ -152,6 +156,8 @@ draw_delete_vertex_shader(struct draw_context *draw,
 boolean 
 draw_vs_init( struct draw_context *draw )
 {
+   draw->dump_vs = debug_get_bool_option("GALLIUM_DUMP_VS", FALSE);
+
    draw->vs.machine = tgsi_exec_machine_create();
    if (!draw->vs.machine)
       return FALSE;