summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915/i915_context.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-10-04 18:20:35 -0700
committerEric Anholt <eric@anholt.net>2008-10-04 18:40:32 -0700
commit91d0020eecb78ef2984fd0afafc5d555c0e957d8 (patch)
tree7087a3ad731bde8c1b24ee8b3c23ac4c5aa288c8 /src/mesa/drivers/dri/i915/i915_context.h
parentdb9ba91971a1f279b040b30bf8fd5d13a70f0a03 (diff)
i915: Refine the texture indirect lookup accounting.
Without this, we would reject programs which sampled multiple times from registers defined in the same phase (block of instructions with the same texture indirection count), as each sample would count as a new phase beginning. Instead, keep track of which phases registers were written in, and only bump phase when we're reading from one generated in this phase. On the other hand, we failed to count oC or oD texture samples as being new phases. Bug #17865.
Diffstat (limited to 'src/mesa/drivers/dri/i915/i915_context.h')
-rw-r--r--src/mesa/drivers/dri/i915/i915_context.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i915/i915_context.h b/src/mesa/drivers/dri/i915/i915_context.h
index c6958dd8d4..a2376e50e1 100644
--- a/src/mesa/drivers/dri/i915/i915_context.h
+++ b/src/mesa/drivers/dri/i915/i915_context.h
@@ -125,6 +125,9 @@ struct i915_fragment_program
GLboolean on_hardware;
GLboolean error; /* If program is malformed for any reason. */
+ /** Record of which phases R registers were last written in. */
+ GLuint register_phases[16];
+ GLuint indirections;
GLuint nr_tex_indirect;
GLuint nr_tex_insn;
GLuint nr_alu_insn;