From 637b24a5904ab78cbd3fc61ea5fe39c52be711ce Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Thu, 12 Feb 2009 20:01:09 -0800 Subject: r300-gallium: Add r300 passthrough shader. --- src/gallium/drivers/r300/r300_context.h | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers/r300/r300_context.h') diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index a29201eaba..54879f88f5 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -108,9 +108,6 @@ struct r3xx_fragment_shader { /* Has this shader been translated yet? */ boolean translated; - /* Number of used instructions */ - int instruction_count; - /* Pixel stack size */ int stack_size; }; @@ -118,12 +115,38 @@ struct r3xx_fragment_shader { struct r300_fragment_shader { /* Parent class */ struct r3xx_fragment_shader shader; + + /* Number of ALU instructions */ + int alu_instruction_count; + + /* Number of texture instructions */ + int tex_instruction_count; + + /* Number of texture indirections */ + int indirections; + + /* Indirection node offsets */ + int offset0; + int offset1; + int offset2; + int offset3; + + /* Machine instructions */ + struct { + uint32_t alu_rgb_inst; + uint32_t alu_rgb_addr; + uint32_t alu_alpha_inst; + uint32_t alu_alpha_addr; + } instructions[64]; /* XXX magic num */ }; struct r500_fragment_shader { /* Parent class */ struct r3xx_fragment_shader shader; + /* Number of used instructions */ + int instruction_count; + /* Machine instructions */ struct { uint32_t inst0; -- cgit v1.2.3