summaryrefslogtreecommitdiffstats
path: root/src/video_core/command_classes/vic.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2022-01-30 10:31:13 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2022-10-06 21:00:52 +0200
commit668e80a9f42fb4ce0e16f6381d05bcbd286b2da1 (patch)
treea1c668d6c3d00eade849b1d31dba4116095e4c12 /src/video_core/command_classes/vic.h
parentTexture Cache: Fix GC and GPU Modified on Joins. (diff)
downloadyuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.gz
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.bz2
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.lz
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.xz
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.zst
yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.zip
Diffstat (limited to 'src/video_core/command_classes/vic.h')
-rw-r--r--src/video_core/command_classes/vic.h61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/video_core/command_classes/vic.h b/src/video_core/command_classes/vic.h
deleted file mode 100644
index 010daa6b6..000000000
--- a/src/video_core/command_classes/vic.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include <memory>
-#include <vector>
-#include "common/common_types.h"
-
-struct SwsContext;
-
-namespace Tegra {
-class GPU;
-class Nvdec;
-union VicConfig;
-
-class Vic {
-public:
- enum class Method : u32 {
- Execute = 0xc0,
- SetControlParams = 0x1c1,
- SetConfigStructOffset = 0x1c2,
- SetOutputSurfaceLumaOffset = 0x1c8,
- SetOutputSurfaceChromaOffset = 0x1c9,
- SetOutputSurfaceChromaUnusedOffset = 0x1ca
- };
-
- explicit Vic(GPU& gpu, std::shared_ptr<Nvdec> nvdec_processor);
-
- ~Vic();
-
- /// Write to the device state.
- void ProcessMethod(Method method, u32 argument);
-
-private:
- void Execute();
-
- void WriteRGBFrame(const AVFrame* frame, const VicConfig& config);
-
- void WriteYUVFrame(const AVFrame* frame, const VicConfig& config);
-
- GPU& gpu;
- std::shared_ptr<Tegra::Nvdec> nvdec_processor;
-
- /// Avoid reallocation of the following buffers every frame, as their
- /// size does not change during a stream
- using AVMallocPtr = std::unique_ptr<u8, decltype(&av_free)>;
- AVMallocPtr converted_frame_buffer;
- std::vector<u8> luma_buffer;
- std::vector<u8> chroma_buffer;
-
- GPUVAddr config_struct_address{};
- GPUVAddr output_surface_luma_address{};
- GPUVAddr output_surface_chroma_address{};
-
- SwsContext* scaler_ctx{};
- s32 scaler_width{};
- s32 scaler_height{};
-};
-
-} // namespace Tegra