diff options
author | Kenneth Graunke <[email protected]> | 2015-06-29 22:50:28 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2015-10-21 14:27:54 -0700 |
commit | b3ebf03b8406f9f1cd215b98ebdd3fc751f73559 (patch) | |
tree | 11c91cf1315c9fa454326595ac2595c10e5c793c /src/mesa/drivers/dri/i965/brw_fs.h | |
parent | 55dfd39b5f18f820694cad74ce40a3e0d3d6a0c4 (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 <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 11 |
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; |