Module: Mesa Branch: 9.1 Commit: c910c620efeb6c2b93509c36b1b9bd555c554690 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c910c620efeb6c2b93509c36b1b9bd555c554690
Author: Chris Forbes <[email protected]> Date: Tue Aug 27 19:35:49 2013 +1200 i965/fs: Gen4: Zero out extra coordinates when using shadow compare Fixes broken rendering if these MRFs contained anything other than zero. NOTE: This is a candidate for stable branches. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit f35dea05b1329b9303a11fb803897fb189ff99b4) --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 7276154..841c0ad 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -786,7 +786,13 @@ fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, emit(MOV(fs_reg(MRF, base_mrf + mlen + i), coordinate)); coordinate.reg_offset++; } - /* gen4's SIMD8 sampler always has the slots for u,v,r present. */ + + /* gen4's SIMD8 sampler always has the slots for u,v,r present. + * the unused slots must be zeroed. + */ + for (int i = ir->coordinate->type->vector_elements; i < 3; i++) { + emit(MOV(fs_reg(MRF, base_mrf + mlen + i), fs_reg(0.0f))); + } mlen += 3; if (ir->op == ir_tex) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
