diff options
author | ameerj <aj662@drexel.edu> | 2020-11-23 21:01:40 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-02-13 19:07:56 +0100 |
commit | 09722cb4a7cafbce7201254c9132156e947d9eca (patch) | |
tree | 3ee8db6dc32e4549185bb4d314c5ec5497d6bc64 /src/video_core/command_classes/vic.cpp | |
parent | streamline cdma_pusher/command_classes (diff) | |
download | yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar.gz yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar.bz2 yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar.lz yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar.xz yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.tar.zst yuzu-09722cb4a7cafbce7201254c9132156e947d9eca.zip |
Diffstat (limited to 'src/video_core/command_classes/vic.cpp')
-rw-r--r-- | src/video_core/command_classes/vic.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/video_core/command_classes/vic.cpp b/src/video_core/command_classes/vic.cpp index 73680d057..564f9c1e8 100644 --- a/src/video_core/command_classes/vic.cpp +++ b/src/video_core/command_classes/vic.cpp @@ -19,20 +19,13 @@ namespace Tegra { Vic::Vic(GPU& gpu_, std::shared_ptr<Nvdec> nvdec_processor_) : gpu(gpu_), - nvdec_processor(std::move(nvdec_processor_)), converted_frame_buffer{nullptr, av_free} + nvdec_processor(std::move(nvdec_processor_)), converted_frame_buffer{nullptr, av_free} {} -{} Vic::~Vic() = default; -void Vic::VicStateWrite(u32 offset, u32 arguments) { - u8* const state_offset = reinterpret_cast<u8*>(&vic_state) + offset * sizeof(u32); - std::memcpy(state_offset, &arguments, sizeof(u32)); -} - -void Vic::ProcessMethod(Method method, const std::vector<u32>& arguments) { - LOG_DEBUG(HW_GPU, "Vic method 0x{:X}", method); - VicStateWrite(static_cast<u32>(method), arguments[0]); - const u64 arg = static_cast<u64>(arguments[0]) << 8; +void Vic::ProcessMethod(Method method, u32 argument) { + LOG_DEBUG(HW_GPU, "Vic method 0x{:X}", static_cast<u32>(method)); + const u64 arg = static_cast<u64>(argument) << 8; switch (method) { case Method::Execute: Execute(); @@ -56,8 +49,7 @@ void Vic::ProcessMethod(Method method, const std::vector<u32>& arguments) { void Vic::Execute() { if (output_surface_luma_address == 0) { - LOG_ERROR(Service_NVDRV, "VIC Luma address not set. Received 0x{:X}", - vic_state.output_surface.luma_offset); + LOG_ERROR(Service_NVDRV, "VIC Luma address not set."); return; } const VicConfig config{gpu.MemoryManager().Read<u64>(config_struct_address + 0x20)}; |