On 14 February 2016 at 21:33, Stefan Dösinger stefandoesinger@gmx.at wrote:
@@ -65,18 +66,21 @@ static void surface_cleanup(struct wined3d_surface *surface) if (surface->rb_multisample) { TRACE("Deleting multisample renderbuffer %u.\n", surface->rb_multisample);
context_gl_resource_released(device, surface->rb_multisample, TRUE); gl_info->fbo_ops.glDeleteRenderbuffers(1, &surface->rb_multisample);
I'm not sure it would necessarily be much better, but one alternative would be to make the context do the deletion.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-02-16 um 14:04 schrieb Henri Verbeet:
I'm not sure it would necessarily be much better, but one alternative would be to make the context do the deletion.
I am not sure what you mean. Do you mean moving the glDeleteRenderbuffers or glDeleteTextures call into context_gl_resource_released and renaming it to something like context_destroy_gl_resource? If that's what you mean I'm open to either option.
I guess we could also get rid of the entire fbo_destroy_list code and let the FBOs be reused eventually or destroyed when the context goes away, but that'll mean we'll keep a non-trivial number of GL resources around for possibly a long time.
On 21 February 2016 at 19:13, Stefan Dösinger stefandoesinger@gmail.com wrote:
Am 2016-02-16 um 14:04 schrieb Henri Verbeet:
I'm not sure it would necessarily be much better, but one alternative would be to make the context do the deletion.
I am not sure what you mean. Do you mean moving the glDeleteRenderbuffers or glDeleteTextures call into context_gl_resource_released and renaming it to something like context_destroy_gl_resource? If that's what you mean I'm open to either option.
Something like that, yeah, or just context_destroy_renderbuffer() and context_destroy_texture(). Similar to things like context_destroy_fbo(), context_bind_texture(), etc.