Commits on Source (10)
-
I want to start using the pl_opengl integration, so we need to slightly revise the check to ensure we also have the libplaceo opengl header available. It's worth pointing out that these headers eventually become non-conditional (in libplacebo git master as of writing), but we need to live with this transitional logic until then.
1095115e -
This code as-written leaks libplacebo-related objects in the event of a failure here.
90d2a076 -
We have this for glUniform4fv, add the other types so I can use them.
808146d7 -
The dithering code can end up using uniform array variables when plugging pl_gpu information into the shader, so pre-emptively add support for these.
08abc4d1 -
This code, as written, is technically undefined behavior. It was fine so far because we didn't end up using the shader objects in any way that wasn't baked into the resulting pl_shader_res, but it needs to be fixed to allow shaders to reference GPU resources which may be used later on.
41f48d78 -
Simply continuing in this error case without assigning the corresponding uniform will silently lead to a broken shader / image. Since we rely on these assumptions, we should assert them so any such bugs are actually found in a debuggable way. This is only a theoretical risk since, as the comment points out, we don't rely on any such variables. But maybe this will unexpectedly change in the future.
5b7bdebd -
This creates a pl_gpu suitable for use by shaders. It's worth noting that this commit does not hook the resulting pl_gpu into the shaders yet, because doing so would break the resulting shaders until we add support for mapping descriptors (in the following commit).
5cc37e20 -
This change will allow us to integrate more advanced libplacebo features, such as those requiring LUT-based tone-mapping (in recent versions of libplacebo).
94925cdb -
This commit merely activates the functionality supported by the previous commits, tying it all together.
fb3c80f4 -
Since we no longer rely on embedding hard-coded arrays into the shader, we can finally free up this size limitation, thus improving the quality of dithering massively.
207369d9
Showing
- configure.ac 1 addition, 0 deletionsconfigure.ac
- modules/video_output/opengl/gl_api.c 3 additions, 0 deletionsmodules/video_output/opengl/gl_api.c
- modules/video_output/opengl/gl_common.h 9 additions, 0 deletionsmodules/video_output/opengl/gl_common.h
- modules/video_output/opengl/sampler.c 95 additions, 30 deletionsmodules/video_output/opengl/sampler.c