From: Iago Toral Quiroga Date: Fri, 30 Oct 2015 10:10:02 +0000 (+0100) Subject: i965/fs: Do not mark used surfaces in FS_OPCODE_GET_BUFFER_SIZE X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eea3c907cc480a105224b21be51d62bc64ea1057;p=mesa.git i965/fs: Do not mark used surfaces in FS_OPCODE_GET_BUFFER_SIZE Do it in the visitor, like we do for other opcodes. v2: use const, get rid of useless surf_index temporary (Curro) Reviewed-by: Francisco Jerez --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index c73257a8d21..974219f3ece 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -666,8 +666,6 @@ fs_generator::generate_get_buffer_size(fs_inst *inst, inst->header_size > 0, simd_mode, BRW_SAMPLER_RETURN_FORMAT_SINT32); - - brw_mark_surface_used(prog_data, surf_index.dw1.ud); } void diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index 50b8218e934..b6f4c52c50f 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -2275,12 +2275,14 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr BRW_REGISTER_TYPE_UD); bld.LOAD_PAYLOAD(src_payload, &source, 1, 0); - fs_reg surf_index = fs_reg(prog_data->binding_table.ssbo_start + ssbo_index); + const unsigned index = prog_data->binding_table.ssbo_start + ssbo_index; fs_inst *inst = bld.emit(FS_OPCODE_GET_BUFFER_SIZE, dest, - src_payload, surf_index); + src_payload, fs_reg(index)); inst->header_size = 0; inst->mlen = mlen; bld.emit(inst); + + brw_mark_surface_used(prog_data, index); break; }