mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-15 19:48:57 +02:00
[video_core/vic] remove handrolled vector implementation that also uses software prefetching(!!!!); don't try to outsmart compiler - also remove template spam (#2856)
Also removes sse2neon :) Software prefetching SUCKS and it's evil don't do it Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2856 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
83c162d80d
commit
5c6aaa7eb1
8 changed files with 167 additions and 981 deletions
|
|
@ -398,8 +398,4 @@ if (ANDROID AND ARCHITECTURE_arm64)
|
|||
target_link_libraries(video_core PRIVATE adrenotools)
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_arm64)
|
||||
target_link_libraries(video_core PRIVATE sse2neon)
|
||||
endif()
|
||||
|
||||
create_target_directory_groups(video_core)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
|
@ -610,24 +613,12 @@ public:
|
|||
|
||||
private:
|
||||
void Execute();
|
||||
|
||||
void Blend(const ConfigStruct& config, const SlotStruct& slot);
|
||||
|
||||
template <bool Planar, bool Interlaced = false>
|
||||
void ReadProgressiveY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets,
|
||||
std::shared_ptr<const FFmpeg::Frame> frame);
|
||||
template <bool Planar, bool TopField>
|
||||
void ReadInterlacedY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets,
|
||||
std::shared_ptr<const FFmpeg::Frame> frame);
|
||||
|
||||
template <bool Planar>
|
||||
void ReadY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets,
|
||||
std::shared_ptr<const FFmpeg::Frame> frame);
|
||||
|
||||
void ReadProgressiveY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets, std::shared_ptr<const FFmpeg::Frame> frame, bool planar, bool interlaced);
|
||||
void ReadInterlacedY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets, std::shared_ptr<const FFmpeg::Frame> frame, bool planar, bool top_field);
|
||||
void ReadY8__V8U8_N420(const SlotStruct& slot, std::span<const PlaneOffsets> offsets, std::shared_ptr<const FFmpeg::Frame> frame, bool planar);
|
||||
void WriteY8__V8U8_N420(const OutputSurfaceConfig& output_surface_config);
|
||||
|
||||
template <VideoPixelFormat Format>
|
||||
void WriteABGR(const OutputSurfaceConfig& output_surface_config);
|
||||
void WriteABGR(const OutputSurfaceConfig& output_surface_config, VideoPixelFormat format);
|
||||
|
||||
s32 id;
|
||||
s32 nvdec_id{-1};
|
||||
|
|
@ -636,8 +627,6 @@ private:
|
|||
VicRegisters regs{};
|
||||
FrameQueue& frame_queue;
|
||||
|
||||
const bool has_sse41{false};
|
||||
|
||||
Common::ScratchBuffer<Pixel> output_surface;
|
||||
Common::ScratchBuffer<Pixel> slot_surface;
|
||||
Common::ScratchBuffer<u8> luma_scratch;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue