radeonsi: Add support for loading integers from constant memory
authorTom Stellard <thomas.stellard@amd.com>
Wed, 25 Jul 2012 12:23:52 +0000 (08:23 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 27 Jul 2012 17:08:07 +0000 (17:08 +0000)
src/gallium/drivers/radeonsi/radeonsi_shader.c

index fa86b87520ee0ee15d06c7cf17396435ec682d38..cc6003544e33de4f721698ef6ac2b969171f8517 100644 (file)
@@ -329,6 +329,7 @@ static LLVMValueRef fetch_constant(
 
        LLVMValueRef const_ptr;
        LLVMValueRef offset;
+       LLVMValueRef load;
 
        /* XXX: Assume the pointer to the constant buffer is being stored in
         * SGPR[0:1] */
@@ -340,7 +341,8 @@ static LLVMValueRef fetch_constant(
        offset = lp_build_const_int32(base->gallivm,
                                        (reg->Register.Index * 4) + swizzle);
 
-       return build_indexed_load(base->gallivm, const_ptr, offset);
+       load = build_indexed_load(base->gallivm, const_ptr, offset);
+       return bitcast(bld_base, type, load);
 }
 
 /* XXX: This is partially implemented for VS only at this point.  It is not complete */