From: Jason Ekstrand Date: Mon, 26 Jan 2015 17:36:58 +0000 (-0800) Subject: nir/opcodes: Simplify and fix the unpack_half_*_split_* constant expressions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9bd28fe3a305605168417234a163b6702bbde9d6;p=mesa.git nir/opcodes: Simplify and fix the unpack_half_*_split_* constant expressions Previously, these functions were explicitly writing to dst.x and dst.y. However they both return only one component so writing to dst.y is invalid. Also, since they only return one component, we don't need the explicit assignment in the expression and can simplify it use an implicit assignment. Reviewed-by: Connor Abbott --- diff --git a/src/glsl/nir/nir_opcodes.py b/src/glsl/nir/nir_opcodes.py index 5fe957296eb..0fa8bf543da 100644 --- a/src/glsl/nir/nir_opcodes.py +++ b/src/glsl/nir/nir_opcodes.py @@ -252,12 +252,10 @@ unpack_2x16("half") # Lowered floating point unpacking operations. -unop_horiz("unpack_half_2x16_split_x", 1, tfloat, 1, tunsigned, """ -dst.x = unpack_half_1x16((uint16_t)(src0.x & 0xffff)); -""") -unop_horiz("unpack_half_2x16_split_y", 1, tfloat, 1, tunsigned, """ -dst.y = unpack_half_1x16((uint16_t)(src0.x >> 16)); -""") +unop_horiz("unpack_half_2x16_split_x", 1, tfloat, 1, tunsigned, + "unpack_half_1x16((uint16_t)(src0.x & 0xffff))") +unop_horiz("unpack_half_2x16_split_y", 1, tfloat, 1, tunsigned, + "unpack_half_1x16((uint16_t)(src0.x >> 16))") # Bit operations, part of ARB_gpu_shader5.