i965: set size of txf_mcs payload vgrf properly
Previously we left the size of this vgrf as 1, which caused register allocation to be subtly broken. If we were lucky we would explode in the post-alloc instruction scheduler; if we were unlucky we'd just stomp on someone else and get broken rendering. Fixes crash when running `tesseract` with the following settings: msaa 4 glineardepth 0 Also fixes the piglit test: arb_sample_shading-builtin-gl-sample-id Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Cc: Anuj Phogat <anuj.phogat@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72859 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -1549,6 +1549,7 @@ fs_visitor::emit_mcs_fetch(ir_texture *ir, fs_reg coordinate, int sampler)
|
||||
}
|
||||
|
||||
fs_inst *inst = emit(SHADER_OPCODE_TXF_MCS, dest, payload);
|
||||
virtual_grf_sizes[payload.reg] = next.reg_offset;
|
||||
inst->base_mrf = -1;
|
||||
inst->mlen = next.reg_offset * reg_width;
|
||||
inst->header_present = false;
|
||||
|
||||
Reference in New Issue
Block a user