aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-03-11 19:19:01 -0800
committerEric Anholt <[email protected]>2011-04-26 12:19:46 -0700
commit662f1b48bd1a02907bb42ecda889a3aa52a5755d (patch)
tree3291e2e1fde69576de2dc7c84c80e5f77656ea5c /src/mesa/drivers/dri/i965/brw_fs.h
parent76b7a0c1af23838cb5100424a2a88d621b881d05 (diff)
i965/fs: Add initial support for 16-wide dispatch on gen6.
At this point it doesn't do uniforms, which have to be laid out the same between 8 and 16. Other than that, it supports everything but flow control, which was the thing that forced us to choose 8-wide for general GLSL support. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index fd83fcb3829..b158992071e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -343,6 +343,8 @@ public:
bool eot;
bool header_present;
bool shadow_compare;
+ bool force_uncompressed;
+ bool force_sechalf;
uint32_t offset; /* spill/unspill offset */
/** @{
@@ -405,6 +407,8 @@ public:
this->live_intervals_valid = false;
this->kill_emitted = false;
+ this->force_uncompressed_stack = 0;
+ this->force_sechalf_stack = 0;
}
~fs_visitor()
@@ -461,6 +465,7 @@ public:
return emit(fs_inst(opcode, dst, src0, src1, src2));
}
+ bool run();
void setup_paramvalues_refs();
void assign_curb_setup();
void calculate_urb_setup();
@@ -481,6 +486,11 @@ public:
void schedule_instructions();
void fail(const char *msg, ...);
+ void push_force_uncompressed();
+ void pop_force_uncompressed();
+ void push_force_sechalf();
+ void pop_force_sechalf();
+
void generate_code();
void generate_fb_write(fs_inst *inst);
void generate_pixel_xy(struct brw_reg dst, bool is_x);
@@ -568,6 +578,9 @@ public:
fs_reg reg_null_cmp;
int grf_used;
+
+ int force_uncompressed_stack;
+ int force_sechalf_stack;
};
GLboolean brw_do_channel_expressions(struct exec_list *instructions);