- Aug 08, 2023
-
-
Niklas Haas authored
-
- Jun 30, 2023
-
-
- Apr 24, 2023
-
-
Kacper Michajłow authored
-
- Feb 26, 2023
-
-
Kacper Michajłow authored
-
- Feb 25, 2023
-
-
Kacper Michajłow authored
-
- Feb 19, 2023
-
-
Compositor may resize window if it doesn't like our requested values. For example if it is bigger than display resolution.
-
- Nov 03, 2022
-
-
This is required to get hardware decoding, which needs EGL_EXT_image_dma_buf_import / EGL_MESA_image_dma_buf_export to work.
-
- Jul 29, 2022
-
-
Niklas Haas authored
Doing things the right way (tm)
-
- Apr 25, 2022
-
-
Zhao Zhili authored
Fix regression from 49f413b5.
-
- Nov 18, 2021
-
-
Niklas Haas authored
In particular, macOS.
-
- Oct 16, 2021
-
-
Niklas Haas authored
Applies the new style introduced in the previous commit throughout the codebase of libplacebo, excluding some tricky/unimportant files (like gpu_tests.h) Special care needed to be taken in exactly one case, where pl_vulkan_params gained its implicit default fields in the new implementation and therefore async_transfer had to be disabled explicitly (rather than implicitly).
-
- Sep 14, 2021
-
-
This makes it possible to (attempt to) run the demos on a GLES 2.0 phone GPU for instance. The order is somewhat arbitrary, but should allow implementations with better GLES implementations to use this one instead of their gimped GL 2.1 context.
-
- Jul 19, 2021
-
-
Niklas Haas authored
Turns out this is incredibly useful when testing kmsdrm stuff...
-
Niklas Haas authored
This prevents "flashing" due to delayed colorspace information on startup. Also do the usual params struct shenanigans to make this API less annoying.
-
Niklas Haas authored
Use ths new functionality introduced in the previous commit.
-
- Jul 16, 2021
-
-
Hendrik Leppkes authored
glfw3 and Vulkan disagree on the calling convention to use on x86 Windows, resulting in mismatching function definitions.
-
- Jul 02, 2021
-
-
James Ross-Gowan authored
Add a pl_gpu implementation that uses Direct3D 11. This uses SPIRV-Cross to translate shaders from GLSL to HLSL. In its current state, plplay works and the test suite passes with feature level 10_0 and up. (9_x is unlikely to ever pass due to runtime-enforced shader complexity limits.) Missing features include emulated texture formats, cached_program, `pl_gpu_limits.thread_safe`, and HDR/high bit depth support in pl_swapchain, though these shouldn't be too hard to implement. This also updates the GLFW demos to be able to use Direct3D 11 through GLFW_NO_API. Closes #18
-
- May 17, 2021
-
-
Niklas Haas authored
GLFW and SDL both provide their own platform-specific vulkan function loading mechanisms. We should use these, instead of requiring the user to have a linkable libvulkan at compile time.
-
- May 10, 2021
-
-
Niklas Haas authored
Even for vulkan. This is required for e.g. wayland support, or other platforms where the swapchain size must be specified by the user.
-
- Apr 30, 2021
-
-
Niklas Haas authored
When compiling with vulkan linking disabled, we define `vulkan_headers` as a dependency object that only includes vulkan.h, rather than linking against libvulkan, and use this for the main libplacebo library. This allows libplacebo itself to avoid linking against libplacebo altogether when this option is enabled, as was clearly the intent. The test framework and demos still use the regular, linked libvulkan. Supporting this, make sure we compile with VK_NO_PROTOTYPES in this case, and also fix a bug where we accidentally still directly called the linked vkCmdCopyImage, and another bug where we forgot to forward `get_proc_addr` to `pl_vulkan_choose_device`. Finally, scan for the presence of `vulkan.h` itself and use that as a fallback for `vulkan_headers`.
-
- Apr 21, 2021
-
-
Apart from significantly cutting down amount the typing the user needs to perform, I decided the past justification for keeping these as `const struct` rather than typedef'd names no longer makes sense due to the way libplacebo objects tend to have private parts hidden from the user. Bite the bullet and refactor all the things. Should be backwards compatible, but I decided to bump the major version to signal the significance of this API change.
-
Over the past few years, the use case of `pl_context` has increasingly shrinked, finally dwindling to "nothing other than logging" with the introduction of thread safety (and thus the loss of the "thread safety guard") As such, this being called `pl_context` is really unnecessarily confusing. It's just a glorified logging subsystem. Rename it, and make it optional in the process. Also introduce a typedef to make the new name shorter, as part of a new convention that I will be switching to moving forwards. This technically breaks the auto-cleanup behaviour of `pl_shader` and `pl_filter` but I really don't think those were all that useful or justified, and I don't think anybody relied on it.
-
- Apr 19, 2021
-
-
Niklas Haas authored
Simple and straightforward with both GLFW and SDL.
-
- Apr 06, 2021
-
-
Niklas Haas authored
Instead of compiling all variants of all demos, load the best backend at runtime. Also split off the nuklear implementation into a separate library to avoid excessively recompiling it, something that should have been done ages ago. This is technically a functionality downgrade, since it doesn't allow users to choose which backend to use (Vulkan or OpenGL), instead always picking the "best" backend. But that's mostly interesting for developers, not users, I think. I'll probably implement some mechanism for making that selection at runtime, when I actually need it. As an aside, I also renamed 'image' to 'sdlimage' since I think the name fits better - the only reason I didn't in the past was to avoid confusion with the suffix.
-
- Apr 01, 2021
-
-
Niklas Haas authored
I'm really not worried about overflow, so easiest is to just drop it entirely. Fixes videolan/libplacebo#138
-
- Mar 31, 2021
-
-
Niklas Haas authored
I've decided this is by far the easiest way to avoid having to implement a file picker dialog, which would be significantly harder. Ideally we should support loading new files in plplay itself this way, but I couldn't be bothered implementing this yet.
-
- Mar 26, 2021
-
-
Niklas Haas authored
This is actually insanely useful for testing. Still missing some way to load custom shaders / 3DLUTs / ICC profiles, unfortunately. Also missing ICC-related settings, for reasons which may require an API change.
-
- Mar 18, 2021
-
-
Niklas Haas authored
This makes the UI code reusable, which will be useful for the changes to plplay I have planned (basically exporting pl_render_params as nuklear UI options).
-
- Mar 17, 2021
-
-
Niklas Haas authored
Major refactor of the demos/ directory, accomplishing a number of goals: 1. Allowing easy switching between OpenGL and Vulkan variants. 2. Supporting both GLFW and SDL2, chosen at compile time. The window management itself was made entirely modular for this purpose. 3. Refactor all of the demo programs atop these new abstractions. 4. Building them correctly and automatically (via meson). I also plan on factoring out the nuklear code to its own helper, but I avoided making that part of the same commit to prevent it from blowing up any further.
-