summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_test_conv.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_test_conv.c b/src/gallium/drivers/llvmpipe/lp_test_conv.c
index 28893503f4b..307b8d999b0 100644
--- a/src/gallium/drivers/llvmpipe/lp_test_conv.c
+++ b/src/gallium/drivers/llvmpipe/lp_test_conv.c
@@ -173,6 +173,15 @@ test_one(struct gallivm_state *gallivm, unsigned verbose,
return TRUE;
}
+ /* Known failures
+ * - fixed point 32 -> float 32
+ * - float 32 -> signed normalised integer 32
+ */
+ if ((src_type.floating && !dst_type.floating && dst_type.sign && dst_type.norm && src_type.width == dst_type.width) ||
+ (!src_type.floating && dst_type.floating && src_type.fixed && src_type.width == dst_type.width)) {
+ return TRUE;
+ }
+
if(verbose >= 1)
dump_conv_types(stdout, src_type, dst_type);
@@ -384,9 +393,6 @@ test_all(struct gallivm_state *gallivm, unsigned verbose, FILE *fp)
if(src_type == dst_type)
continue;
- if(src_type->norm != dst_type->norm)
- continue;
-
if(!test_one(gallivm, verbose, fp, *src_type, *dst_type))
success = FALSE;