From 00d6ccebf95981f35b2183f7d2dc8d746b0e67bb Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Wed, 24 Mar 2021 14:09:56 +0200 Subject: [PATCH] ir3/isa: account for randomly set by blob lowest bit of ibo atomics As far as I could see - blob randomly sets the lowest bit of atomic.b.* instructions. Signed-off-by: Danylo Piliaiev Part-of: --- src/freedreno/ir3/tests/disasm.c | 8 ++++---- src/freedreno/isa/ir3-cat6.xml | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/freedreno/ir3/tests/disasm.c b/src/freedreno/ir3/tests/disasm.c index 2345ab26a0d..e4dccdb9171 100644 --- a/src/freedreno/ir3/tests/disasm.c +++ b/src/freedreno/ir3/tests/disasm.c @@ -297,9 +297,9 @@ static const struct test { INSTR_6XX(d5c60003_03008001, "(sy)atomic.max.untyped.1d.u32.1.l r0.w, l[r0.z], r0.w"), /* Bindless atomic: */ - INSTR_6XX(c03a0003_01640001, "atomic.b.add.untyped.1d.s32.1.imm r0.w, r0.y, 0"), /* atomic.b.add.g.s32.1d.mode0.base0 r0.w,r0.y,0 */ - INSTR_6XX(c03a0003_01660001, "atomic.b.and.untyped.1d.s32.1.imm r0.w, r0.y, 0"), /* atomic.b.and.g.s32.1d.mode0.base0 r0.w,r0.y,0 */ - INSTR_6XX(c0360000_0365c801, "atomic.b.max.typed.1d.u32.1.imm r0.x, r0.w, 0"), /* atomic.b.max.g.u32.1d.mode0.base0 r0.x,r0.w,0 */ + INSTR_6XX(c03a0003_01640000, "atomic.b.add.untyped.1d.s32.1.imm r0.w, r0.y, 0"), /* atomic.b.add.g.s32.1d.mode0.base0 r0.w,r0.y,0 */ + INSTR_6XX(c03a0003_01660000, "atomic.b.and.untyped.1d.s32.1.imm r0.w, r0.y, 0"), /* atomic.b.and.g.s32.1d.mode0.base0 r0.w,r0.y,0 */ + INSTR_6XX(c0360000_0365c800, "atomic.b.max.typed.1d.u32.1.imm r0.x, r0.w, 0"), /* atomic.b.max.g.u32.1d.mode0.base0 r0.x,r0.w,0 */ /* dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment.sampler2d */ INSTR_6XX(a0c01f04_0cc00005, "sam (f32)(xyzw)r1.x, r0.z, s#6, t#6"), @@ -315,7 +315,7 @@ static const struct test { /* dEQP-VK.descriptor_indexing.uniform_texel_buffer */ INSTR_6XX(a0481f00_40000405, "isaml.s2en.nonuniform.base0 (f32)(xyzw)r0.x, r0.z, r0.z, r0.x"), /* dEQP-VK.descriptor_indexing.storage_image */ - INSTR_6XX(d0360c04_02640b81, "(sy)atomic.b.add.typed.2d.u32.1.nonuniform.base0 r1.x, r0.z, r1.z"), + INSTR_6XX(d0360c04_02640b80, "(sy)atomic.b.add.typed.2d.u32.1.nonuniform.base0 r1.x, r0.z, r1.z"), /* dEQP-VK.descriptor_indexing.sampler */ INSTR_6XX(a0c81f00_40000005, "sam.s2en.nonuniform.base0 (f32)(xyzw)r0.x, r0.z, r0.x"), diff --git a/src/freedreno/isa/ir3-cat6.xml b/src/freedreno/isa/ir3-cat6.xml index fd7063b1645..5740cd2d92d 100644 --- a/src/freedreno/isa/ir3-cat6.xml +++ b/src/freedreno/isa/ir3-cat6.xml @@ -721,19 +721,19 @@ SOFTWARE. - 1 + x 010000 11 - 1 + x 010001 11 - 1 + x 010010 11 @@ -741,37 +741,37 @@ SOFTWARE. - 1 + x 010101 11 - 1 + x 010110 11 - 1 + x 010111 11 - 1 + x 011000 11 - 1 + x 011001 11 - 1 + x 011010 11