diff --git a/libobs-opengl/gl-subsystem.c b/libobs-opengl/gl-subsystem.c index 6376ac54197d53d28f1e3e85b4705a0eab6b131e..4b8722b1b4546e643ce48d7fb141487e670ad0b5 100644 --- a/libobs-opengl/gl-subsystem.c +++ b/libobs-opengl/gl-subsystem.c @@ -322,8 +322,12 @@ static void strip_mipmap_filter(GLint *filter) static inline void apply_swizzle(struct gs_texture *tex) { - if (tex->format == GS_A8) - gl_tex_param_i(tex->gl_target, GL_TEXTURE_SWIZZLE_R, GL_ALPHA); + if (tex->format == GS_A8) { + gl_tex_param_i(tex->gl_target, GL_TEXTURE_SWIZZLE_R, GL_ONE); + gl_tex_param_i(tex->gl_target, GL_TEXTURE_SWIZZLE_G, GL_ONE); + gl_tex_param_i(tex->gl_target, GL_TEXTURE_SWIZZLE_B, GL_ONE); + gl_tex_param_i(tex->gl_target, GL_TEXTURE_SWIZZLE_A, GL_RED); + } } static bool load_texture_sampler(texture_t tex, samplerstate_t ss)