summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/R600Instructions.td
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-09-13 15:21:42 +0000
committerTom Stellard <[email protected]>2012-09-21 19:30:58 +0000
commit438b1da7e552cff3f486944baff92ef6e3bb9608 (patch)
tree205d0c40b8089999cdc64db56b790bd5916560d7 /src/gallium/drivers/radeon/R600Instructions.td
parent3882d7b5e434fb1e0e024b1cee2a885b3ad251bf (diff)
radeon/llvm: Handle loads from the constants address space.
Reading from constant memory is not supported yet, so constant reads use global memory.
Diffstat (limited to 'src/gallium/drivers/radeon/R600Instructions.td')
-rw-r--r--src/gallium/drivers/radeon/R600Instructions.td9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td
index ce7a17253ca..db4a3b80097 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -1161,6 +1161,15 @@ class VTX_READ_GLOBAL_128_eg <ValueType vt> : VTX_READ_128_eg <1,
def VTX_READ_GLOBAL_v4i32_eg : VTX_READ_GLOBAL_128_eg<v4i32>;
def VTX_READ_GLOBAL_v4f32_eg : VTX_READ_GLOBAL_128_eg<v4f32>;
+//===----------------------------------------------------------------------===//
+// Constant Loads
+// XXX: We are currently storing all constants in the global address space.
+//===----------------------------------------------------------------------===//
+
+def CONSTANT_LOAD_eg : VTX_READ_32_eg <1,
+ [(set (f32 R600_TReg32_X:$dst), (constant_load ADDRVTX_READ:$ptr))]
+>;
+
}
let Predicates = [isCayman] in {