mirror of
https://github.com/dolphin-emu/dolphin
synced 2024-11-21 21:04:05 -05:00
606c18210d
The whole ownership model was getting a bit of a mess, with a some of special cases to deal with. And I'm planning to make it even more complex in the future. So here is some upfront work to convert it over to reference counted pointers.
33 lines
1.3 KiB
C++
33 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include "VideoBackends/Software/SWTexture.h"
|
|
#include "VideoBackends/Software/TextureEncoder.h"
|
|
#include "VideoCommon/TextureCacheBase.h"
|
|
|
|
namespace SW
|
|
{
|
|
class TextureCache : public TextureCacheBase
|
|
{
|
|
protected:
|
|
void CopyEFB(AbstractStagingTexture* dst, const EFBCopyParams& params, u32 native_width,
|
|
u32 bytes_per_row, u32 num_blocks_y, u32 memory_stride,
|
|
const MathUtil::Rectangle<int>& src_rect, bool scale_by_half, bool linear_filter,
|
|
float y_scale, float gamma, bool clamp_top, bool clamp_bottom,
|
|
const std::array<u32, 3>& filter_coefficients) override
|
|
{
|
|
TextureEncoder::Encode(dst, params, native_width, bytes_per_row, num_blocks_y, memory_stride,
|
|
src_rect, scale_by_half, y_scale, gamma);
|
|
}
|
|
void CopyEFBToCacheEntry(RcTcacheEntry& entry, bool is_depth_copy,
|
|
const MathUtil::Rectangle<int>& src_rect, bool scale_by_half,
|
|
bool linear_filter, EFBCopyFormat dst_format, bool is_intensity,
|
|
float gamma, bool clamp_top, bool clamp_bottom,
|
|
const std::array<u32, 3>& filter_coefficients) override
|
|
{
|
|
// TODO: If we ever want to "fake" vram textures, we would need to implement this
|
|
}
|
|
};
|
|
|
|
} // namespace SW
|