agx: Model local loads/stores

Aka shared memory or threadgroup memory.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326>
This commit is contained in:
Alyssa Rosenzweig
2023-02-08 20:11:48 -05:00
committed by Marge Bot
parent 0d07d27173
commit 6b0ef2b462
4 changed files with 21 additions and 1 deletions

View File

@@ -267,12 +267,23 @@ op("device_load",
encoding_32 = (0x05, 0x7F, 6, 8),
srcs = 2, imms = [FORMAT, MASK, SHIFT, SCOREBOARD], can_reorder = False)
# sources are base (relative to workgroup memory), index
op("local_load",
encoding_32 = (0b1101001, 0, 6, 8),
srcs = 2, imms = [FORMAT, MASK])
# sources are value, base, index
# TODO: Consider permitting the short form
op("device_store",
encoding_32 = (0x45 | (1 << 47), 0, 8, _),
dests = 0, srcs = 3, imms = [FORMAT, MASK, SHIFT, SCOREBOARD], can_eliminate = False)
# sources are value, base, index
op("local_store",
encoding_32 = (0b0101001, 0, 6, 8),
dests = 0, srcs = 3, imms = [FORMAT, MASK],
can_eliminate=False)
# sources are value, index
# TODO: Consider permitting the short form
op("uniform_store",