mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 03:08:36 +12:00
rsx: fbo fixes 2.5
- Implement flush-always behaviour to partially fix readback from a currently bound fbo - Without this, only the first read is correct, as more draws are added the results become 'wrong' - Fixes WCB and cpublit behviour - Synchronize blit_dst surfaces to avoid data loss when gpu texture scaling is used - Its still faster in such cases to disable gpu texture scaling but some types cannot be disabled without force cpu blit (e.g framebuffer transfers) - Memory management tuning - rsx: on-demand texture cache rescanning for unprotected sections - rsx: Only framebuffer resources are upscaled - Do not resize regular blit engine resources - Lazy initialize readback buffer when using opengl -- These measures should help minimize vram usage
This commit is contained in:
parent
02e571adbc
commit
89c548b5d3
11 changed files with 282 additions and 63 deletions
|
@ -35,8 +35,10 @@ namespace gl
|
|||
switch (type)
|
||||
{
|
||||
case GL_DEBUG_TYPE_ERROR:
|
||||
{
|
||||
LOG_ERROR(RSX, "%s", message);
|
||||
return;
|
||||
}
|
||||
default:
|
||||
LOG_WARNING(RSX, "%s", message);
|
||||
return;
|
||||
|
@ -372,9 +374,9 @@ namespace gl
|
|||
|
||||
glTexParameteri((GLenum)m_parent->get_target(), GL_TEXTURE_MAX_LEVEL, m_max_level);
|
||||
|
||||
if (m_pixels)
|
||||
if (m_pixels && m_generate_mipmap)
|
||||
{
|
||||
glTexParameteri((GLenum)m_parent->get_target(), GL_GENERATE_MIPMAP, m_generate_mipmap ? GL_TRUE : GL_FALSE);
|
||||
glGenerateMipmap((GLenum)m_parent->get_target());
|
||||
}
|
||||
|
||||
glTexParameteri((GLenum)m_parent->get_target(), GL_TEXTURE_WRAP_S, (GLint)m_wrap_s);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue