r300g: add generating texture coordinates for point sprites
[mesa.git] / src / gallium / drivers / r300 / r300_fs.h
index 40ce874353c08bf2cb429bc4c0acc816ad26e475..18da5f7562508ef10dfcfe6b832cf6644017eee3 100644 (file)
 #include "r300_shader_semantics.h"
 
 struct r300_fragment_shader_code {
+    struct tgsi_shader_info info;
+    struct r300_shader_semantics inputs;
+
+    /* Whether the shader was replaced by a dummy one due to a shader
+     * compilation failure. */
+    boolean dummy;
+
+    /* Bits 0-15: TRUE if it's a shadow sampler, FALSE otherwise. */
+    unsigned shadow_samplers;
+
+    /* Numbers of constants for each type. */
+    unsigned externals_count;
+    unsigned immediates_count;
+    unsigned rc_state_count;
+
     struct r300_fragment_program_external_state compare_state;
     struct rX00_fragment_program_code code;
 
@@ -41,10 +56,8 @@ struct r300_fragment_shader {
     /* Parent class */
     struct pipe_shader_state state;
 
-    struct tgsi_shader_info info;
-    struct r300_shader_semantics inputs;
-
-    /* Bits 0-15: TRUE if it's a shadow sampler, FALSE otherwise. */
+    /* Bits 0-15: TRUE if it's a shadow sampler, FALSE otherwise.
+     * Initialized from the first compiled FS. */
     unsigned shadow_samplers;
 
     /* Currently-bound fragment shader. */