OSDN Git Service

r300g/swtcl: don't print an error when getting ClipVertex
[android-x86/external-mesa.git] / src / gallium / drivers / r300 / r300_vs.h
index 2a4ce31..b02d5d7 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright 2009 Corbin Simpson <MostAwesomeDude@gmail.com>
+ * Copyright 2009 Marek Olšák <maraeo@gmail.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
 
 #include "pipe/p_state.h"
 #include "tgsi/tgsi_scan.h"
+#include "compiler/radeon_code.h"
 
-#include "radeon_code.h"
+#include "r300_context.h"
+#include "r300_shader_semantics.h"
 
 struct r300_context;
 
 struct r300_vertex_shader {
     /* Parent class */
     struct pipe_shader_state state;
+
     struct tgsi_shader_info info;
+    struct r300_shader_semantics outputs;
 
-    /* Fallback shader, because Draw has issues */
-    struct draw_vertex_shader* draw;
+    /* Whether the shader was replaced by a dummy one due to a shader
+     * compilation failure. */
+    boolean dummy;
 
-    /* Has this shader been translated yet? */
-    boolean translated;
+    /* Numbers of constants for each type. */
+    unsigned externals_count;
+    unsigned immediates_count;
 
+    /* HWTCL-specific.  */
     /* Machine code (if translated) */
     struct r300_vertex_program_code code;
+
+    /* SWTCL-specific. */
+    void *draw_vs;
 };
 
+void r300_init_vs_outputs(struct r300_context *r300,
+                          struct r300_vertex_shader *vs);
 
-extern struct r300_vertex_program_code r300_passthrough_vertex_shader;
+void r300_translate_vertex_shader(struct r300_context *r300,
+                                  struct r300_vertex_shader *vs);
 
-void r300_translate_vertex_shader(struct r300_context* r300,
-                                  struct r300_vertex_shadervs);
+void r300_draw_init_vertex_shader(struct r300_context *r300,
+                                  struct r300_vertex_shader *vs);
 
 #endif /* R300_VS_H */