From: Samuel Iglesias Gonsalvez <sigles...@igalia.com> Round floating point values to nearest integer to avoid "off by one texel" kind of errors when blitting.
Fixes: dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_nearest dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_linear dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_y_nearest dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_y_linear dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_dst_y_nearest dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_dst_y_linear dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_dst_x_nearest dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_dst_x_linear dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_dst_y_nearest dEQP-GLES3.functional.fbo.blit.rect.out_of_bounds_reverse_src_dst_y_linear No piglit regressions. Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> --- src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index 10a53dc..469baf7 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -1994,10 +1994,13 @@ brw_blorp_blit_params::brw_blorp_blit_params(struct brw_context *brw, wm_prog_key.src_tiled_w = src.map_stencil_as_y_tiled; wm_prog_key.dst_tiled_w = dst.map_stencil_as_y_tiled; - x0 = wm_push_consts.dst_x0 = dst_x0; - y0 = wm_push_consts.dst_y0 = dst_y0; - x1 = wm_push_consts.dst_x1 = dst_x1; - y1 = wm_push_consts.dst_y1 = dst_y1; + /* Round floating point values to nearest integer to avoid "off by one texel" + * kind of errors when blitting. + */ + x0 = wm_push_consts.dst_x0 = dst_x0 + 0.5; + y0 = wm_push_consts.dst_y0 = dst_y0 + 0.5; + x1 = wm_push_consts.dst_x1 = dst_x1 + 0.5; + y1 = wm_push_consts.dst_y1 = dst_y1 + 0.5; wm_push_consts.rect_grid_x1 = (minify(src_mt->logical_width0, src_level) * wm_prog_key.x_scale - 1.0); wm_push_consts.rect_grid_y1 = (minify(src_mt->logical_height0, src_level) * -- 2.1.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev