- Apr 20, 2020
-
-
Niklas Haas authored
Unused and also doesn't work inside the CI
-
Niklas Haas authored
Forgot about this.
-
Niklas Haas authored
This allows tests to run on GLES that otherwise cannot.
-
Niklas Haas authored
Indexing .x on a literal value doesn't work on older GLSL / GLES, so just avoid doing that by only emitting the subscript in cases where we know the index has more than one dimension.
-
Niklas Haas authored
Split up the version selection and capability flags, so we can add non-version-dependent vertex fallback formats for GLES.
-
Niklas Haas authored
Using explicit locations doesn't work on GLES, so.. just don't do that. Dunno if this actually breaks anything or not. We'll find out.
-
Niklas Haas authored
Actually print the offending values, so we can debug this. Fun fact: As it turns out, rgba16f is only host-readable as a GL_HALF_FLOAT on GLES, fun for the whole family!
-
Niklas Haas authored
The logic was based on GLSL version, which is inaccurate, in particular for GLES. We also fail to account for the possibility of duplicate formats, which the gpu.c helper rightfully refuses.
-
Niklas Haas authored
With the advent of OpenGL support, this warning is a bit out of date.
-
Niklas Haas authored
Helped debugging GLES texture crap
-
Niklas Haas authored
These don't require the use of a display connection like X11, which should hopefully free us up to allow testing OpenGL in the CI. As an aside, I also wrote the code to try both OpenGL and OpenGL ES.
-
Niklas Haas authored
Not all textures are host-readable on GLES, so we add a dedicated capability for it.
-
Niklas Haas authored
These APIs are so backwards and confusing that I'm mostly stumbling around in the dark here and solving bugs as I hit them.
-
- Apr 19, 2020
-
-
Niklas Haas authored
Using the ever-useful VK_EXT_headless_surface, which I learned exists.
-
Niklas Haas authored
For some dumb reason the order of loading layers matters tremendously. If I load the debug layers after other layers, random calls will segfault. I love this API.
-
Niklas Haas authored
In particular, via the `opt_extensions` mechanism, which requires knowing about their existence. In theory, we should also support letting the user specify their own mandatory/optional layers to load on top, but that API breakage can be done in a future commit.
-
- Apr 18, 2020
-
-
Niklas Haas authored
-
Niklas Haas authored
Fudge this into the roundtrip test
-
Niklas Haas authored
Since OpenGL only supports blitting on 2D textures
-
Niklas Haas authored
No idea why I wasted so much time implementing `pl_tex_clear` if there are no blittable textures anyway..
-
Niklas Haas authored
-
Niklas Haas authored
Including a test of the overlay fallback code with FBOs disabled. Ideally we would actually compare this against a reference picture or something but for now this will have to suffice.
-
Niklas Haas authored
This effectively works as a temporary ignore override to `rr->fbofmt`
-
Niklas Haas authored
Turns out the test framework doesn't actually test the dither code due to the use of 16-bit FBOs. Also test it.
-
Niklas Haas authored
Test linearization/delinearization, as well as colorspace encode/decode. The non-linear HDR systems don't seem to round-trip well, I don't exactly know why. The matrices are correct, and the linearization functions round-trip independently. My best guess is that the noise severaly accumulates for some reason.
-
Niklas Haas authored
Some tests, especially ones involving the complex HDR functions, are rather unfortunately noisy.
-
Niklas Haas authored
This makes the shaders slightly more readable when debugging.
-
Niklas Haas authored
-
Niklas Haas authored
-
Niklas Haas authored
Also change a 0 to 0.0, which *may* help. Who knows.
-
- Apr 15, 2020
-
-
Niklas Haas authored
Left over from development or something. Completely unused. Fixes #79.
-
Niklas Haas authored
The reason we did things this way was because meson forcibly installs the `config.h` to the top level includedir, rather than to a subdirectory like `libplacebo/`. We solve the puzzle in the following way: 1. Replace `#include "config.h"` by #include `<libplacebo/config.h>` in public headers 2. Keep `#include "config.h"` inside the internal `"common.h"` 3. Add a dummy empty `<libplacebo/config.h>` to a reachable (but not installed) include path to make sure this resolves at compile time. (The extra include is redundant at compile time because `common.h` already includes it for any source file inside libplacebo)
-
Niklas Haas authored
I was under the mistaken impression that calling glDebugMessageCallback twice would add two callbacks (like in vulkan land), rather than overriding the callback to the second value. But OpenGL's callback mechanism is based on mutable global state (of course...). So we can safely just un-set the callback when we're done with it. And given that OpenGL is so globally mutable in general, I'm not sure it even remotely makes sense for us to be worrying about refcounting and multiple `pl_opengl` instances. Just nuke it all and make it clear that this is undefined behavior.
-
Niklas Haas authored
This suppresses a validation issue in tsan which complains about destroying locked mutexes for some reason, even though the pthread man page claims this is fine. Apparently it causes issues if other threads are still waiting on this mutex, but if we're destroying a mutex that, to me, implies we already know nobody is waiting on it - otherwise you'd have the exact same race condition in between unlocking it and destroying it. It makes absolutely no sense, but whatever makes tsan happy, I guess.
-
Niklas Haas authored
So we can actually test these at runtime with a GPU
-
Niklas Haas authored
I don't remember what this disabling was about, but it should hopefully no longer be needed.
-
Niklas Haas authored
This `repr` struct was never properly initialized/defaulted, so we can't directly dispatch based on the levels (they may be UNKNOWN). Handle it properly with the new `pl_color_levels_guess` function.
-
Niklas Haas authored
By analogy to pl_color_space_guess_primaries. Mostly so we can use it internally.
-
Niklas Haas authored
Addresses a couple of bugs picked up by ubsan related to shift offsets (which we forgot to default to 8) and one potential over-shift on signed integers.
-
Niklas Haas authored
siphash64() is not entirely safe to call on NULL, so guard against this by checking the length and returning the (known) fixed hash of the empty string.
-