aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp26
-rw-r--r--src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h5
2 files changed, 31 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp b/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp
index 09fd80776c6..62aec922a7b 100644
--- a/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.cpp
@@ -327,6 +327,32 @@ FetchGDSOpResult::FetchGDSOpResult(const GPRVector dst, const PValue src):
set_flag(vtx_vpm);
}
+FetchTCSIOParam::FetchTCSIOParam(GPRVector dst, PValue src, int offset):
+ FetchInstruction(vc_fetch,
+ no_index_offset,
+ fmt_32_32_32_32,
+ vtx_nf_scaled,
+ vtx_es_none,
+ src,
+ dst,
+ offset,
+ false,
+ 16,
+ R600_LDS_INFO_CONST_BUFFER,
+ 0,
+ bim_none,
+ false,
+ false,
+ 0,
+ 0,
+ 0,
+ PValue(),
+ {0,1,2,3})
+{
+ set_flag(vtx_srf_mode);
+ set_flag(vtx_format_comp_signed);
+}
+
static const char *fmt_descr[64] = {
"INVALID",
diff --git a/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h b/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h
index d1cc42f6135..e8c44317e5c 100644
--- a/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h
+++ b/src/gallium/drivers/r600/sfn/sfn_instruction_fetch.h
@@ -174,6 +174,11 @@ public:
FetchGDSOpResult(const GPRVector dst, const PValue src);
};
+class FetchTCSIOParam : public FetchInstruction {
+public:
+ FetchTCSIOParam(GPRVector dst, PValue src, int offset);
+};
+
}
#endif // SFN_INSTRUCTION_FETCH_H