summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h
diff options
context:
space:
mode:
authorTom Stellard <tstellar@gmail.com>2010-05-27 17:14:51 -0700
committerMarek Olšák <maraeo@gmail.com>2010-06-11 22:06:58 +0200
commit622fd4d061678027d5de2c84d1c07370830c4264 (patch)
tree15eb6911bed9f7be4f66b0245962c213c9b47b9a /src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h
parent108264e859b4f435e9608472dc2e388aa200183c (diff)
r300/compiler: Implement simple loop emulation
The loop emulation unrolls loops as may times as possbile while still keeping the shader program below the maximum instruction limit. At this point, there are no checks for constant conditionals. This is only enabled for fragment shaders.
Diffstat (limited to 'src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h')
-rw-r--r--src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h b/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h
new file mode 100644
index 0000000000..ddcf1c0fab
--- /dev/null
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_emulate_loops.h
@@ -0,0 +1,12 @@
+
+
+#ifndef RADEON_EMULATE_LOOPS_H
+#define RADEON_EMULATE_LOOPS_H
+
+#define MAX_ITERATIONS 8
+
+struct radeon_compiler;
+
+void rc_emulate_loops(struct radeon_compiler *c, unsigned int max_instructions);
+
+#endif /* RADEON_EMULATE_LOOPS_H */