From: Francisco Jerez Date: Sun, 16 Aug 2015 22:52:19 +0000 (+0300) Subject: i965/fs: Return result of image atomic in a register of the expected type. X-Git-Tag: upstream/17.1.0~12330 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=058ed980c6564428c257b4e0c09a41cff9cfe8c3;p=platform%2Fupstream%2Fmesa.git i965/fs: Return result of image atomic in a register of the expected type. So the result is of float type if we're implementing the float overload of imageAtomicExchange. This is the only back-end change required to support OES_shader_image_atomic AFAICT. Reviewed-by: Ilia Mirkin --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp index 081dbad..75734d2 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp @@ -1125,7 +1125,7 @@ namespace brw { if (rsize && pred) set_predicate(pred, bld.SEL(tmp, tmp, brw_imm_d(0))); - return tmp; + return retype(tmp, src0.type); } } }