diff options
author | Kenneth Graunke <[email protected]> | 2017-08-17 12:09:41 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-08-23 11:55:17 -0700 |
commit | 4ffa9f3635b6584d67076f506926f13d6cce4030 (patch) | |
tree | f33acb69cf2d5534f25baff637be1f83c18490be /src/intel | |
parent | 274afad4cd3c45585a19be48f63507c181647416 (diff) |
i965: Stop using wm_prog_data->binding_table.render_target_start.
Render target surfaces always start at binding table index 0.
This is required for us to use headerless FB writes, which we
really want to do. So, we'll never change that.
Given that, it's not necessary to look up a wm_prog_data field
which we already know contains 0. We can drop the dependency in
brw_renderbuffer_surfaces (Gen4-5)...which was already confusingly
missing from gen6_renderbuffer_surfaces.
Reviewed-by: Topi Pohjolainen <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/compiler/brw_fs_generator.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index 2ade486705b..afaec5c9497 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -277,8 +277,13 @@ fs_generator::fire_fb_write(fs_inst *inst, else msg_control = BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD8_SINGLE_SOURCE_SUBSPAN01; - uint32_t surf_index = - prog_data->binding_table.render_target_start + inst->target; + /* We assume render targets start at 0, because headerless FB write + * messages set "Render Target Index" to 0. Using a different binding + * table index would make it impossible to use headerless messages. + */ + assert(prog_data->binding_table.render_target_start == 0); + + const uint32_t surf_index = inst->target; bool last_render_target = inst->eot || (prog_data->dual_src_blend && dispatch_width == 16); |