[Mesa-dev] [PATCH] i965: set size of txf_mcs payload vgrf properly
Chris Forbes
chrisf at ijw.co.nz
Fri Jan 3 18:44:58 PST 2014
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 at ijw.co.nz>
Cc: Anuj Phogat <anuj.phogat at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72859
---
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 8e516a5..53cd0a1 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;
--
1.8.5.2
More information about the mesa-dev
mailing list