summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_fs.h
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2015-06-29 22:50:28 -0700
committerKenneth Graunke <kenneth@whitecape.org>2015-10-21 14:27:54 -0700
commitb3ebf03b8406f9f1cd215b98ebdd3fc751f73559 (patch)
tree11c91cf1315c9fa454326595ac2595c10e5c793c /src/mesa/drivers/dri/i965/brw_fs.h
parent55dfd39b5f18f820694cad74ce40a3e0d3d6a0c4 (diff)
i965: Add a fs_visitor constructor that takes a brw_gs_compile.
Unlike the vs/wm structs, brw_gs_compile is actually useful: it contains the input VUE map and information about the control data headers. Passing this in allows us to share that code in brw_gs.c, and calculate them before deciding on vec4 vs. scalar mode, as it's independent of that choice. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index f4d2e14b821..50e98becf03 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -62,6 +62,8 @@ namespace brw {
class fs_live_variables;
}
+struct brw_gs_compile;
+
static inline fs_reg
offset(fs_reg reg, const brw::fs_builder& bld, unsigned delta)
{
@@ -99,7 +101,12 @@ public:
const nir_shader *shader,
unsigned dispatch_width,
int shader_time_index);
-
+ fs_visitor(const struct brw_compiler *compiler, void *log_data,
+ void *mem_ctx,
+ struct brw_gs_compile *gs_compile,
+ struct brw_gs_prog_data *prog_data,
+ const nir_shader *shader);
+ void init();
~fs_visitor();
fs_reg vgrf(const glsl_type *const type);
@@ -298,6 +305,8 @@ public:
const void *const key;
const struct brw_sampler_prog_key_data *key_tex;
+ struct brw_gs_compile *gs_compile;
+
struct brw_stage_prog_data *prog_data;
struct gl_program *prog;