aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorGert Wollny <[email protected]>2020-04-12 16:59:47 +0200
committerMarge Bot <[email protected]>2020-04-28 08:06:33 +0000
commit7e064659cb9665bb5d78c28156d146e4f8172a33 (patch)
tree553eaa058678f9894768a0f4593da48f55f8bf34 /src/gallium
parent075ea32e485252f0376ee7bbc84ed436e9eb4b65 (diff)
r600/sfn: Add IR instruction to fetch the TESS parameters
Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
Diffstat (limited to 'src/gallium')
-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