radv: Invert condition for all samples identical during resolve.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 25 Dec 2017 12:15:06 +0000 (13:15 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 27 Dec 2017 23:26:07 +0000 (00:26 +0100)
the samples_identical instruction returns 0 if they are differet, so
we have to do the extra work if the result is 0, not if it is != 0.

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_meta.c

index 8aff0e2d88feb68b81a7940d01c0adac4d957a55..e13fa928dbc13e9d2b77ec07bf2cdac2f8813fc4 100644 (file)
@@ -535,7 +535,7 @@ void radv_meta_build_resolve_shader_core(nir_builder *b,
                nir_ssa_dest_init(&tex_all_same->instr, &tex_all_same->dest, 1, 32, "tex");
                nir_builder_instr_insert(b, &tex_all_same->instr);
 
-               nir_ssa_def *all_same = nir_ine(b, &tex_all_same->dest.ssa, nir_imm_int(b, 0));
+               nir_ssa_def *all_same = nir_ieq(b, &tex_all_same->dest.ssa, nir_imm_int(b, 0));
                nir_if *if_stmt = nir_if_create(b->shader);
                if_stmt->condition = nir_src_for_ssa(all_same);
                nir_cf_node_insert(b->cursor, &if_stmt->cf_node);