libobs-opengl: Fix GS_GL_DUMMY textures creation

Previously these textures were left in an incomplete state rendering
them usuable for most texturing operations.
This commit is contained in:
Kurt Kartaltepe 2019-06-28 13:58:44 -07:00
parent d940b9e580
commit 499e648fff

View File

@ -106,6 +106,26 @@ gs_texture_t *device_texture_create(gs_device_t *device, uint32_t width,
goto fail;
if (!upload_texture_2d(tex, data))
goto fail;
} else {
if (!gl_bind_texture(GL_TEXTURE_2D, tex->base.texture))
goto fail;
uint32_t row_size =
tex->width * gs_get_format_bpp(tex->base.format);
uint32_t tex_size = tex->height * row_size / 8;
bool compressed = gs_is_compressed_format(tex->base.format);
bool did_init = gl_init_face(GL_TEXTURE_2D, tex->base.gl_type,
1, tex->base.gl_format,
tex->base.gl_internal_format,
compressed, tex->width,
tex->height, tex_size, NULL);
did_init =
gl_tex_param_i(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
bool did_unbind =
gl_bind_texture(GL_TEXTURE_2D, tex->base.texture);
if (!did_init || !did_unbind)
goto fail;
}
return (gs_texture_t *)tex;