i965g: fix some reloc counts
[mesa.git] / src / gallium / drivers / llvmpipe / lp_bld_format_soa.c
index b5ff434e1aea1d739836ffe1e301b82caa71c4f0..66bebdcdec854b402fa519baece71e3709d5311f 100644 (file)
@@ -119,7 +119,9 @@ lp_build_unpack_rgba_soa(LLVMBuilderRef builder,
    unsigned chan;
 
    /* FIXME: Support more formats */
-   assert(format_desc->layout == UTIL_FORMAT_LAYOUT_ARITH);
+   assert(format_desc->layout == UTIL_FORMAT_LAYOUT_ARITH ||
+          (format_desc->layout == UTIL_FORMAT_LAYOUT_ARRAY &&
+           format_desc->block.bits == format_desc->channel[0].size));
    assert(format_desc->block.width == 1);
    assert(format_desc->block.height == 1);
    assert(format_desc->block.bits <= 32);
@@ -195,10 +197,9 @@ lp_build_load_rgba_soa(LLVMBuilderRef builder,
 {
    LLVMValueRef packed;
 
-   assert(format_desc->layout == UTIL_FORMAT_LAYOUT_ARITH);
    assert(format_desc->block.width == 1);
    assert(format_desc->block.height == 1);
-   assert(format_desc->block.bits <= 32);
+   assert(format_desc->block.bits <= type.width);
 
    packed = lp_build_gather(builder,
                             type.length, format_desc->block.bits, type.width,