r600/sfn: Add a load GDS result instruction

This is required to read results for atomic SSBO  instructions

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
This commit is contained in:
Gert Wollny 2019-12-27 17:49:27 +01:00 committed by Marge Bot
parent 31a4dd6451
commit 1b17316bf3
2 changed files with 32 additions and 0 deletions

View file

@ -301,6 +301,33 @@ LoadFromScratch::LoadFromScratch(GPRVector dst, PValue src, int scratch_size):
{
}
FetchGDSOpResult::FetchGDSOpResult(const GPRVector dst, const PValue src):
FetchInstruction(vc_fetch,
no_index_offset,
fmt_32,
vtx_nf_int,
vtx_es_none,
src,
dst,
0,
false,
0xf,
R600_IMAGE_IMMED_RESOURCE_OFFSET,
0,
bim_none,
false,
false,
0,
0,
0,
PValue(),
{0,7,7,7})
{
set_flag(vtx_srf_mode);
set_flag(vtx_vpm);
}
static const char *fmt_descr[64] = {
"INVALID",
"8",

View file

@ -169,6 +169,11 @@ public:
LoadFromScratch(GPRVector dst, PValue src, int scratch_size);
};
class FetchGDSOpResult : public FetchInstruction {
public:
FetchGDSOpResult(const GPRVector dst, const PValue src);
};
}
#endif // SFN_INSTRUCTION_FETCH_H