r300/compiler: Use memory_pool_array_reserve in r500-fragprog_emit
[mesa.git] / src / mesa / drivers / dri / r300 / compiler / radeon_compiler.h
index 87a732cd90d08489a56a98c5790b2bdd2ebe148e..09794a52ad82709ef6efa85371a4d8931c2fb12c 100644 (file)
@@ -23,6 +23,8 @@
 #ifndef RADEON_COMPILER_H
 #define RADEON_COMPILER_H
 
+#include "../../../../main/compiler.h"
+
 #include "memory_pool.h"
 #include "radeon_code.h"
 #include "radeon_program.h"
@@ -73,15 +75,22 @@ void rc_calculate_inputs_outputs(struct radeon_compiler * c);
 void rc_move_input(struct radeon_compiler * c, unsigned input, struct rc_src_register new_input);
 void rc_move_output(struct radeon_compiler * c, unsigned output, unsigned new_output, unsigned writemask);
 void rc_copy_output(struct radeon_compiler * c, unsigned output, unsigned dup_output);
-void rc_transform_fragment_wpos(struct radeon_compiler * c, unsigned wpos, unsigned new_input);
+void rc_transform_fragment_wpos(struct radeon_compiler * c, unsigned wpos, unsigned new_input,
+                                int full_vtransform);
 
 struct r300_fragment_program_compiler {
        struct radeon_compiler Base;
        struct rX00_fragment_program_code *code;
+       /* Optional transformations and features. */
        struct r300_fragment_program_external_state state;
+       unsigned enable_shadow_ambient;
+       /* Hardware specification. */
        unsigned is_r500;
+       unsigned max_temp_regs;
+    /* Register corresponding to the depthbuffer. */
        unsigned OutputDepth;
-       unsigned OutputColor;
+    /* Registers corresponding to the four colorbuffers. */
+       unsigned OutputColor[4];
 
        void * UserData;
        void (*AllocateHwInputs)(