Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/haasn/libplacebo
Official mirror of libplacebo
https://github.com/haasn/libplacebo
Thanks to those who tested (@sfan5, Fruit)
ebe98cb6eab026390fb7eb90890b4a1a9ec1293c authored about 6 years ago by Niklas Haas <[email protected]>
While this doesn't help much (and actively hurts) for mostly linear
loads like the swapchain ren...
Clean up some of the old/redundant size calculations, move the actual
work out to its own functi...
Be a bit less wasteful on the VRAM (especially the valuable DMA visible
region), and also warn o...
Meh.
a20b59189f3b05d56358c1dd87d2859e1c5d341b authored about 6 years ago by Niklas Haas <[email protected]>
This is actually a disturbingly common case, since most of the time the
pass will be created whe...
This doesn't really serve to do anything particularly useful, but it
demonstrates that the API c...
The "optimization" in 223aa09 removed a "needless" flush that was very
much needed if the user s...
A bit/byte confusion in the stride calculation, also UNORM != UINT (we
want the former). For deb...
If an identical shader is dispatched on a different type of texture
format, we *must* recreate t...
This was refactored a long time ago.
29f6ec7a97ee0d91772f7c3549649295475c3e04 authored about 6 years ago by Niklas Haas <[email protected]>
This is actually pointless. We only need the format to be identical,
since that's what's require...
This prevents e.g. leaking glslang symbols, which is the main reason we
switched to the linker s...
This reverts commit 6835ae5d2ffb5e8a5257992e0a606d9209721e66.
6e668b4052d43d13813d6048d94fd76298e736b1 authored about 6 years ago by Niklas Haas <[email protected]>This reverts commit b6104e121006290f146177e1847ccd7826d2b6f6.
d7c3c98fcb4471bd25eb2c462ddfb0e5ee1a0609 authored about 6 years ago by Niklas Haas <[email protected]>
This outlines multiple possible API styles from "simple and naive" all
the way to a complicated ...
This behaves like pl_tex_recreate, and will resize the buffer only if
strictly needed.
No idea why this was not the case before. It's super useful.
92fcaf4f32c2580e0fdacd4f60ac778bf08a0f26 authored about 6 years ago by Niklas Haas <[email protected]>
There's no real reason this needs to be used. Users would do just fine
without it, if they don't...
Not only was this redundent, the old helper was also incomplete (missing
`format`) and too aggre...
38af79bbda3b630f95676fe9e44ac0a47431cb4a authored about 6 years ago by Niklas Haas <[email protected]>
- Use the new pl_gpu_finish instead of depending on pl_buf_poll to
force GPU execution. This m...
Much like glFinish, this can be useful when you want to force all GPU
work to be completed (for ...
In 6875a9c a new variable was added here, which is not namespaced
correctly - leading to a poten...
This can fail to write a null byte under some circumstances, so do the
safe thing and just subtr...
No need to flush if we aren't actually blocked.
While it's unlikely this impacted performance m...
223aa09aeba35536a405bb507209a4ed8ccd246f authored about 6 years ago by Niklas Haas <[email protected]>
The note to distributors is no longer really relevant, so drop it. Also,
the API is no longer as...
Since we no longer need the GCC pragma for symbol visibility, there's
also no more reason to hav...
This prevents us from re-exporting e.g. glslang symbols, thereby
properly fixing #42.
1484190ce490dbd277cd55b586e1952dd4d1d0d0 authored over 6 years ago by Niklas Haas <[email protected]>
To avoid introducing regressions in the future, now that I'm sure it
works as it's supposed to.
e6e7be86e8d7585f8178544a2fc3c4eaca5b336e authored over 6 years ago by Niklas Haas <[email protected]>
6c5c652a7a2baeb1fb8be74ca8794ce510b86ac2 authored over 6 years ago by Niklas Haas <[email protected]>
Actually, turns out our rules were wrong after all: vec3 only consumes 3
words even though it's ...
In the distant past this was a compile error, but it seems that has been
fixed in glslang etc.
...
792a21f9027af1d529d44b3a463c2b90ab38b451 authored over 6 years ago by Niklas Haas <[email protected]>
Clang doesn't like using sqrt in a constexpr, so just hard-code the
constant. Whatever.
Seeding by gl_FragCoord was very bad since the PRNG seed generation
performs horribly for large ...
This adds some new members to this struct. I still have zero clue why
they don't provide this st...
Type 'feature' for get_option was introduced in meson 0.47, so require
it.
Right now, an empty device name would reject all devices except one
that's literally empty. This...
This breaks the test suite
cf. mesonbuild/meson#4248
cc394dd0aa0f72ab530164150e70e8c4b3f56d3a authored over 6 years ago by Niklas Haas <[email protected]>This is very limited but it can work to a degree.
c31666b1ac5efa75dd85795469f1ec20b6c059ba authored over 6 years ago by Niklas Haas <[email protected]>352da3c7c0a3f45fe795dd96b04a72e80e368d06 authored over 6 years ago by Niklas Haas <[email protected]>
Rather than having the uint8_t be public, which makes little sense with
no public way to merge s...
8649604a5b2ac36d0d82cdafafbcc8c950a0e9dd authored over 6 years ago by Niklas Haas <[email protected]>
Using bicubic is actually a bad idea in the general case since it's not
only significantly slowe...
Using an absolute path here breaks during building.
76aeb6263aecb8c5f7a9fafb553c71db46b2f87b authored over 6 years ago by Niklas Haas <[email protected]>This allows simulating color blindness in the renderer as well.
16bc01a7d51d00746d7be89744821963d8712593 authored over 6 years ago by Niklas Haas <[email protected]>ffe52281ec0d6cc78cb6483d7d40dc0bf87e2aba authored over 6 years ago by Niklas Haas <[email protected]>
These can be used to simulate various common / less common forms of
color blindness.
In 7aa14ac3 we made the tone mapping code hard-clip the output color
before passing it on down t...
The documentation claims that 0 disables this behavior, and that's also
the expected/correct beh...
Annoyingly, this requires using =enabled/disabled instead of
=true/false, but it's less boilerpl...
Just noticed this also works
696f8bab4df79a37b8807f0c14cd77e8dd7b54bb authored over 6 years ago by Niklas Haas <[email protected]>No more hacky arrays needed, wooh!
5708e91e2a1c49f41f41494f306c01a42042eac8 authored over 6 years ago by Niklas Haas <[email protected]>Some of these are C-exclusive
8ae325291c4d426867831b821128d8052045659c authored over 6 years ago by Niklas Haas <[email protected]>790e18061f6a6ef02046140be738b03a1c22b29c authored over 6 years ago by Niklas Haas <[email protected]>
Since glslang cxx headers need it.
7f8a3aae705605415ef86d318e03905002b5837b authored over 6 years ago by Thomas Guillem <[email protected]>5939db04250e8961643dcf81d4cc70a7ee9599f7 authored over 6 years ago by Thomas Guillem <[email protected]>
This *should* fix #39.
260d82c39991d58ac91a0d69c3f4acf60d6c46ba authored over 6 years ago by Niklas Haas <[email protected]>This code path was using the wrong struct member.
aece873353256aee6fd838b5937bab698341a69b authored over 6 years ago by Niklas Haas <[email protected]>Makes the logic slightly more readable IMHO. YMMV
7145f2f0c55954f9a554320a73d4a5b2376bec2a authored over 6 years ago by Niklas Haas <[email protected]>
`fixed` goes out of scope, but `src` is still used later in the
function.
Closes #38
81679a8d26ca751f484bb116b7a291ae1fe64d93 authored over 6 years ago by Niklas Haas <[email protected]>
Make sure users know they're about to do something that might not be
what they want.
This prevents potentially confusing linking errors for functions that
can't even exist.
46edcbc6241a91105a3aea5ada50fb4c2a95c637 authored over 6 years ago by Niklas Haas <[email protected]>
This was left as a default of 0, but we can/should set it to 6 as
indicated by the comment / int...
This is used as a parameter to cos/sin, and is therefore specified in
radians.
Instead of testing if something compiles, we can use cxx.get_define(),
which is a slightly clean...
We can now use glslang directly instead of relying on libshaderc for
everything. This requires a...
This was fixed upstream in https://github.com/KhronosGroup/glslang/pull/1385
4d43189e55ccbdcc1edc95984aa08ed7e66bf041 authored over 6 years ago by Niklas Haas <[email protected]>b94421ac05e00657a90f6f44f61132a03abb26ed authored over 6 years ago by Niklas Haas <[email protected]>
This fixes an issue where you can't directly do texture storage on
swapchain images on some vulk...
Partially addresses #11.
Still needs testing on any suitable platform. scRGB support would also...
6314864bfa447479832331c7837d904dfb911958 authored over 6 years ago by Niklas Haas <[email protected]>
Make these separate color spaces, with DCI-P3 mapping to actual DCI P3
by default.
This was broken in 316bfbc
8bab1622a7a72e0a04dd17c9405479fc2dea5e37 authored over 6 years ago by Niklas Haas <[email protected]>
This is essentially the same interface that's used between pl_gpu and
the vulkan swapchain imple...
This is needed so that eventual users will be able to load e.g. dmabuf
interop extensions.
Seems like the more common/sane choice
43781df52ac9d92c8fc7e637e8e4cdbae7025e7b authored over 6 years ago by Niklas Haas <[email protected]>6323302799bfd24125187da0e8c80c5adb27abaa authored over 6 years ago by Niklas Haas <[email protected]>
Upstream has this in the meantime. It didn't really make a difference
for me except for the pola...
This was supposed to be dependency(), not cc.find_library().
0dee5e2560f874bb706ec14d99be9a911f0947e3 authored over 6 years ago by Niklas Haas <[email protected]>Suppress a warning, improve the readability of the comments
6897ebe1dc49bcba9db4897492cf3de954c7e931 authored over 6 years ago by Niklas Haas <[email protected]>a37af73855d0fcf445c587fcc36be963656059ae authored over 6 years ago by Niklas Haas <[email protected]>
For testing purposes
ed05dfdeadc8bc6b54a9b0142b3b47e80146a67b authored over 6 years ago by Niklas Haas <[email protected]>
Doesn't really test whether the result is correct, though - just whether
or not it succeeds at all.
Code taken from mpv, with some modifications. The shader stuff is from
scratch, but lcms.c draws...
Closes #23
c630e1541dd817065a6cedf07bac7f2da2037830 authored over 6 years ago by Niklas Haas <[email protected]>
This was based on the total size rather than the size per dimension, but
compared against the li...
For consistency with the other functions.
c48bb659441e4eef07ce3cbf3bc28938552a66d2 authored over 6 years ago by Niklas Haas <[email protected]>Just in case..
also includes a cosmetic change
d27ed954a417d6bced2c328e10a5fccda102fcdf authored over 6 years ago by Niklas Haas <[email protected]>
These seem like pathologically useless anti-shaders, but it's not
difficult for us to not crash ...
On very bright sources, desaturating before a big slope adjustment can
lead to the entire image ...
Also clarify the meaning of `pl_color_transfer_nominal_peak` and its
relation to scene/display-r...
This solves an issue where the numbers were way off for AMDVLK.
84b908bfc203019543de84a8f95631309b39f36e authored over 6 years ago by Niklas Haas <[email protected]>
These need to be aligned to the texel size as well, rather than just
being a multiple of 4. Docu...
There was a corner case in the existing code when the
max_push_descriptors count was set to 0, w...
38393cf0dd630b205c33cc5a1152b62682ad7180 authored over 6 years ago by Niklas Haas <[email protected]>
If the FBO format does not have the required bit depths.
9279d5c5c2324dfa5c535f1889a44806b6d3101d authored over 6 years ago by Niklas Haas <[email protected]>The other way made no sense anyway, but best avoid confusion.
b85016170c1e98236965af8077e0dcbb70e9fde6 authored over 6 years ago by Niklas Haas <[email protected]>