intel/fs: Remove calculate_urb_setup from fs_visitor

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jason Ekstrand 2019-07-18 09:15:15 -05:00
parent 010d255656
commit e401303597
2 changed files with 8 additions and 14 deletions

View File

@ -1616,13 +1616,12 @@ fs_visitor::assign_curb_setup()
this->first_non_payload_grf = payload.num_regs + prog_data->curb_read_length;
}
void
fs_visitor::calculate_urb_setup()
static void
calculate_urb_setup(const struct gen_device_info *devinfo,
const struct brw_wm_prog_key *key,
struct brw_wm_prog_data *prog_data,
const nir_shader *nir)
{
assert(stage == MESA_SHADER_FRAGMENT);
struct brw_wm_prog_data *prog_data = brw_wm_prog_data(this->prog_data);
brw_wm_prog_key *key = (brw_wm_prog_key*) this->key;
memset(prog_data->urb_setup, -1,
sizeof(prog_data->urb_setup[0]) * VARYING_SLOT_MAX);
@ -7601,7 +7600,6 @@ fs_visitor::run_fs(bool allow_spilling, bool do_rep_send)
if (shader_time_index >= 0)
emit_shader_time_begin();
calculate_urb_setup();
if (nir->info.inputs_read > 0 ||
(nir->info.outputs_read > 0 && !wm_key->coherent_fb_fetch)) {
if (devinfo->gen < 6)
@ -8007,6 +8005,9 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
prog_data->barycentric_interp_modes =
brw_compute_barycentric_interp_modes(compiler->devinfo, shader);
calculate_urb_setup(devinfo, key, prog_data, shader);
brw_compute_flat_inputs(prog_data, shader);
cfg_t *simd8_cfg = NULL, *simd16_cfg = NULL, *simd32_cfg = NULL;
fs_visitor v8(compiler, log_data, mem_ctx, &key->base,
@ -8108,12 +8109,6 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
simd16_cfg = NULL;
}
/* We have to compute the flat inputs after the visitor is finished running
* because it relies on prog_data->urb_setup which is computed in
* fs_visitor::calculate_urb_setup().
*/
brw_compute_flat_inputs(prog_data, shader);
fs_generator g(compiler, log_data, mem_ctx, &prog_data->base,
v8.promoted_constants, v8.runtime_check_aads_emit,
MESA_SHADER_FRAGMENT);

View File

@ -104,7 +104,6 @@ public:
bool fixup_sends_duplicate_payload();
void fixup_3src_null_dest();
void assign_curb_setup();
void calculate_urb_setup();
void assign_urb_setup();
void convert_attr_sources_to_hw_regs(fs_inst *inst);
void assign_vs_urb_setup();