Immutable textures cannot be reused!

This commit is contained in:
kd-11 2016-03-11 22:25:49 +03:00
parent 34992d8a8f
commit d9dbb1565a
2 changed files with 7 additions and 5 deletions

View File

@ -483,6 +483,8 @@ namespace gl
} }
else else
{ {
u32 real_id = gl_texture.id();
if (!obj) gl_texture.set_id(0); if (!obj) gl_texture.set_id(0);
else else
{ {
@ -499,6 +501,8 @@ namespace gl
_obj.block_sz = (u32)get_texture_size(tex); _obj.block_sz = (u32)get_texture_size(tex);
lock_gl_object(_obj); lock_gl_object(_obj);
gl_texture.set_id(real_id);
} }
} }

View File

@ -265,11 +265,9 @@ namespace rsx
{ {
const u32 texaddr = rsx::get_address(tex.offset(), tex.location()); const u32 texaddr = rsx::get_address(tex.offset(), tex.location());
//TODO: safe init //We can't re-use texture handles if using immutable storage
if (!m_id) if (m_id) remove();
{
create(); create();
}
glActiveTexture(GL_TEXTURE0 + index); glActiveTexture(GL_TEXTURE0 + index);
bind(); bind();