pan/bi: Model pos/vary segments in STORE instructions
For Bifrost, we model load/store segments, for example for thread local storage. We need something similar on Valhall -- access modifiers. There are four access modifiers on Valhall, controlling memory subsystem optimizations for the access: none: Nothing may be assumed. Corresponds to "global". istream: Internally streaming within the GPU. Corresponds to "pos", as it's used for position stores. estream: Externally streaming outside the GPU. Corresponds to "vary", as it's used for varying stores. force: Force access in discarded threads. Corresponds to "tl", as it's required for correct behaviour of helper invocations that use the stack. If these access modifiers end up being useful outside these fixed purposes, we may need to rework this part of the IR. For now, this should suffice. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15216>
This commit is contained in:
committed by
Marge Bot
parent
aaa39f0e60
commit
039bb4e68c
@@ -7534,8 +7534,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7549,8 +7549,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7564,8 +7564,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7579,8 +7579,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7594,8 +7594,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7609,8 +7609,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7624,8 +7624,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
@@ -7639,8 +7639,8 @@
|
||||
<opt>none</opt>
|
||||
<opt>wls</opt>
|
||||
<opt>stream</opt>
|
||||
<reserved/>
|
||||
<reserved/>
|
||||
<opt pseudo="true">pos</opt>
|
||||
<opt pseudo="true">vary</opt>
|
||||
<reserved/>
|
||||
<opt>tl</opt>
|
||||
</mod>
|
||||
|
||||
Reference in New Issue
Block a user