From a61ae2aa01c9b1976ba4107c1564e0c3f94aea4d Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 4 Jan 2014 15:27:54 +1300 Subject: [PATCH] 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 Cc: Anuj Phogat Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72859 Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 8e516a5812b..53cd0a1cf57 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -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; -- 2.30.2