summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/TextureCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/TextureCache.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp
index 2cd1f3942a..5ffd87699b 100644
--- a/Source/Core/VideoBackends/OGL/TextureCache.cpp
+++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp
@@ -215,10 +215,8 @@ void TextureCache::TCacheEntry::Load(unsigned int width, unsigned int height,
TextureCache::SetStage();
}
-void TextureCache::TCacheEntry::FromRenderTarget(u8* dstPointer, unsigned int dstFormat, u32 dstStride,
- PEControl::PixelFormat srcFormat, const EFBRectangle& srcRect,
- bool isIntensity, bool scaleByHalf, unsigned int cbufid,
- const float *colmat)
+void TextureCache::TCacheEntry::FromRenderTarget(u8* dstPointer, PEControl::PixelFormat srcFormat, const EFBRectangle& srcRect,
+ bool scaleByHalf, unsigned int cbufid, const float *colmat)
{
g_renderer->ResetAPIState(); // reset any game specific settings
@@ -264,27 +262,27 @@ void TextureCache::TCacheEntry::FromRenderTarget(u8* dstPointer, unsigned int ds
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
- if (g_ActiveConfig.bSkipEFBCopyToRam)
- {
- this->Zero(dstPointer);
- }
- else
- {
- TextureConverter::EncodeToRamFromTexture(
- dstPointer,
- this,
- read_texture,
- srcFormat == PEControl::Z24,
- isIntensity,
- scaleByHalf,
- srcRect);
- }
-
FramebufferManager::SetFramebuffer(0);
-
g_renderer->RestoreAPIState();
}
+void TextureCache::CopyEFB(u8* dst, u32 format, u32 native_width, u32 bytes_per_row, u32 num_blocks_y, u32 memory_stride,
+ PEControl::PixelFormat srcFormat, const EFBRectangle& srcRect,
+ bool isIntensity, bool scaleByHalf)
+{
+ TextureConverter::EncodeToRamFromTexture(
+ dst,
+ format,
+ native_width,
+ bytes_per_row,
+ num_blocks_y,
+ memory_stride,
+ srcFormat,
+ isIntensity,
+ scaleByHalf,
+ srcRect);
+}
+
TextureCache::TextureCache()
{
CompileShaders();