summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-10-08 14:35:34 -0700
committerEric Anholt <eric@anholt.net>2010-10-11 12:03:34 -0700
commit0cd6cea8a3e9339fc69f9de0da6b40e4f9d5f4fe (patch)
tree93e248d018019d56ecc8ecb28b7daa47ad851a5b /src/mesa/drivers/dri/i965/brw_fs.h
parent37758fb1cbb1ddcd106553763c1b1f222f4cfb47 (diff)
i965: Give the math opcodes information on base mrf/mrf len.
This is progress towards enabling a compute-to-MRF pass.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index 5ec8c54582..fb4bab763c 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -193,6 +193,8 @@ public:
this->eot = false;
this->header_present = false;
this->shadow_compare = false;
+ this->mlen = 0;
+ this->base_mrf = 0;
}
fs_inst()
@@ -241,6 +243,7 @@ public:
int conditional_mod; /**< BRW_CONDITIONAL_* */
int mlen; /**< SEND message length */
+ int base_mrf; /**< First MRF in the SEND message, if mlen is nonzero. */
int sampler;
int target; /**< MRT target. */
bool eot;
@@ -350,6 +353,9 @@ public:
void emit_interpolation_setup_gen6();
fs_inst *emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate);
fs_inst *emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate);
+ fs_inst *emit_math(fs_opcodes op, fs_reg dst, fs_reg src0);
+ fs_inst *emit_math(fs_opcodes op, fs_reg dst, fs_reg src0, fs_reg src1);
+
void emit_fb_writes();
void emit_assignment_writes(fs_reg &l, fs_reg &r,
const glsl_type *type, bool predicated);