aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/cdma_pusher.h
diff options
context:
space:
mode:
authorameerj <[email protected]>2020-11-23 15:01:40 -0500
committerameerj <[email protected]>2021-02-13 13:07:53 -0500
commit77564f987cc52ea6d841e7d18ade2646783f3651 (patch)
tree6c21f3c58453d3af5fba62b1fa59266d1149c180 /src/video_core/cdma_pusher.h
parentac265a72ce4176ceb3cd10a5548ab71519771640 (diff)
downloadyuzu-android-77564f987cc52ea6d841e7d18ade2646783f3651.tar.gz
yuzu-android-77564f987cc52ea6d841e7d18ade2646783f3651.zip
streamline cdma_pusher/command_classes
Diffstat (limited to 'src/video_core/cdma_pusher.h')
-rw-r--r--src/video_core/cdma_pusher.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/video_core/cdma_pusher.h b/src/video_core/cdma_pusher.h
index de7a3a35b..e16eb2254 100644
--- a/src/video_core/cdma_pusher.h
+++ b/src/video_core/cdma_pusher.h
@@ -48,16 +48,10 @@ enum class ChClassId : u32 {
NvDec = 0xf0
};
-enum class ChMethod : u32 {
- Empty = 0,
- SetMethod = 0x10,
- SetData = 0x11,
-};
-
union ChCommandHeader {
u32 raw;
BitField<0, 16, u32> value;
- BitField<16, 12, ChMethod> method_offset;
+ BitField<16, 12, u32> method_offset;
BitField<28, 4, ChSubmissionMode> submission_mode;
};
static_assert(sizeof(ChCommandHeader) == sizeof(u32), "ChCommand header is an invalid size");
@@ -107,7 +101,7 @@ private:
void ExecuteCommand(u32 state_offset, u32 data);
/// Write arguments value to the ThiRegisters member at the specified offset
- void ThiStateWrite(ThiRegisters& state, u32 state_offset, const std::vector<u32>& arguments);
+ void ThiStateWrite(ThiRegisters& state, u32 offset, u32 argument);
GPU& gpu;
std::shared_ptr<Tegra::Nvdec> nvdec_processor;
@@ -118,8 +112,8 @@ private:
ThiRegisters vic_thi_state{};
ThiRegisters nvdec_thi_state{};
- s32 count{};
- s32 offset{};
+ u32 count{};
+ u32 offset{};
u32 mask{};
bool incrementing{};
};