i965/fs: support doubles with shared variable loads
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 5 May 2016 10:58:19 +0000 (12:58 +0200)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Mon, 16 May 2016 07:55:33 +0000 (09:55 +0200)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index 32128bb1025d0e950915de5c0b8fa2b1c778d2c5..6ab765d15a7644bc0a21364e9095ecb31e9b6a8f 100644 (file)
@@ -3108,14 +3108,8 @@ fs_visitor::nir_emit_cs_intrinsic(const fs_builder &bld,
       }
 
       /* Read the vector */
-      fs_reg read_result = emit_untyped_read(bld, surf_index, offset_reg,
-                                             1 /* dims */,
-                                             instr->num_components,
-                                             BRW_PREDICATE_NONE);
-      read_result.type = dest.type;
-      for (int i = 0; i < instr->num_components; i++)
-         bld.MOV(offset(dest, bld, i), offset(read_result, bld, i));
-
+      do_untyped_vector_read(bld, dest, surf_index, offset_reg,
+                             instr->num_components);
       break;
    }