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
This matters in particular for the inverse OOTF, because the result of
the color mapping functio...
This abstraction wraps the messy logic for incrementally adding buffer
variables while checking ...
38f06fc6e81ad9290392e3b972eb30b8cd415f25 authored about 7 years ago by Niklas Haas <[email protected]>
The old code was "clever" but wrong.
b4370fc7fde1a31b64847ab02cd19862408fe38a authored about 7 years ago by Niklas Haas <[email protected]>
Also add the the uint variant, since I needed it; and add semicolons to
the macro invocations to...
gl_GlobalInvocationIndex doesn't even exist. This was likely meant to be
gl_GlobalInovocationID,...
This is important both for stuff like debanding (which doesn't want the
output size to change) a...
58519b0c8e0dfd2afb56be706e3d627497265bc2 authored about 7 years ago by Niklas Haas <[email protected]>
Based on SipHash, which is a fast, modern hash that ticks all of our
requirements. Slightly modi...
Pass re-use still needs some work
ccba91d31378224df360030f9e69ae1b922bd770 authored about 7 years ago by Niklas Haas <[email protected]>It's too aggressive and decides to flag code such as this:
struct foo x = {0};
0f7b829f1258486bd6a9206137b571820b6fafb0 authored about 7 years ago by Niklas Haas <[email protected]>Some of them minor, some of them potentially serious.
5721d04e9de4f9b7b50580dda520a7634e63b0b0 authored about 7 years ago by Niklas Haas <[email protected]>
Instead of doing some stupid string generating nonsense, directly pass
around the ra_vars as exp...
Surely there must be a way to get compiler warnings for bugs like these?
4479867d56dcb8bb5ab119ac26440e352470dd61 authored about 7 years ago by Niklas Haas <[email protected]>
This is sort of a WIP, but the basics at least seem to work. Also expand
the README.
typos, missing `const`, consistent naming, fix bugs
8c317e9518564145d7d2f11de6ffbaa7848f75de authored about 7 years ago by Niklas Haas <[email protected]>
Variable consistency, better order for attributes, properly scaled
texture coordinates, and bett...
Move shaders helpers to an internal shaders.h, and split up the public
shaders API based on the ...
Also use const pointers for ra_var_host_layout
3296b78070179d3d9695ffaa810ac9262cf9bf03 authored about 7 years ago by Niklas Haas <[email protected]>whitespace, comments
6c288edf8601046b5fc4166c339e4a90a548abad authored about 7 years ago by Niklas Haas <[email protected]>
Instead of randomly having headers here and bodies there and vec4s
floating all over the place, ...
This was added later, so replace some if the x ? x : foo trains by it.
bca8a09acdf42a9d5ec72f61edea76a884625862 authored about 7 years ago by Niklas Haas <[email protected]>
I've decided I will be making beta releases (0.x) while libplacebo is
still in development, beca...
This isn't implemented yet anyway, and the actual implementation will
most likely be different
Update pl_shader_decode_color to mutate the color_repr as per the new
convention, and make it al...
Make the bits struct more complicated. Also, since it's sufficiently
non-trivial, make the vario...
This results in completely broken GLSL shaders otherwise.
a7d0069a4af4760b7e400440e29afcb4cdfb03e0 authored about 7 years ago by Niklas Haas <[email protected]>
This also adds some important infrastructure for being able to sample
textures from a pl_shader.
This implements BT.2020-C etc.
2d98624fab48c9958f1729f8496e61590fc7c562 authored about 7 years ago by Niklas Haas <[email protected]>
The `is_linear` name makes the most sense because it literally implies
the conversion is a singl...
This triggers -Wmaybe-uninitialized sometimes.
38f63d7e2b8879d82e7bf345d2f894614a0a41c1 authored about 7 years ago by Niklas Haas <[email protected]>No USE flag for shaderc yet because shaderc isn't packaged
353e0e97750f1dddfa275c8892fb06cb4796ec1a authored about 7 years ago by Niklas Haas <[email protected]>77946dbf71bf465a240023430b8cc36a07e98bd0 authored about 7 years ago by Niklas Haas <[email protected]>
The params struct is always last, since this allows the prettiest
initialization. Also update th...
Use pointers instead of passing around bare structs for the matrix math.
Only exception right no...
50153ea5a0815d6c83e29a56b332aac046bd36db authored about 7 years ago by Niklas Haas <[email protected]>
The unit tests have some good usage examples
9cda1de287589d94d47d09c49b6ad42bf52e9528 authored about 7 years ago by Niklas Haas <[email protected]>3e6e37d6bb0f702944c8e4af36a9445bfcbb395e authored about 7 years ago by Niklas Haas <[email protected]>
9864184b0a5c7bb66051c652a92da4afc7e78a99 authored about 7 years ago by Niklas Haas <[email protected]>
Turns out we can go all the way and just turn this into target_dummy,
allowing you to pass a rea...
0db5125e1101b0623451988977066ad75af8c980 authored about 7 years ago by Niklas Haas <[email protected]>
Generalized target_format to target_params.
More sanitization, more validation.
This makes it more consistent in length with the other objects.
3e4d96fc3e5735a17128728fa39868d35ef17ef0 authored about 7 years ago by Niklas Haas <[email protected]>
Turns out the bools actually suck for doing feature tests, so a cap bit
is way better in practic...
Might move this to ra_renderpass_create instead, I guess.
8828ddb7c3b0cb12c47facdfe23d6bed50884655 authored about 7 years ago by Niklas Haas <[email protected]>This makes the output of a failed test more indicative of a failure.
dc16648d9aeb3ea1bc755ad26bfa0db8f7b34cc8 authored about 7 years ago by Niklas Haas <[email protected]>Also fixes some bugs
c6cda64907fef12819303ec5fbf4b97dcfeb85f6 authored about 7 years ago by Niklas Haas <[email protected]>
Also add a ./compile script that does this for you, because fuck meson's
awkward user interface.
Also fixes the wrong option name for the tests
ddbd3484547a9f21a0dad33acc51d5742e372d1c authored about 7 years ago by Niklas Haas <[email protected]>c9d9c3bb95450f015a60f2559f2090bd96e936c6 authored about 7 years ago by Niklas Haas <[email protected]>
This is what you get for coding at 6 am.
e6481111457290f07da41fd5d1ad666e455d4d28 authored about 7 years ago by Niklas Haas <[email protected]>a210d4681c31d5e3636adffbdcb0133066854084 authored about 7 years ago by Niklas Haas <[email protected]>
Test framework is disabled by default, everything else is auto-probed.
e9639c2d2adfcb99e325300f85bf4854e4057792 authored about 7 years ago by Niklas Haas <[email protected]>
The new way the code is written only makes the bit depth meaningful for
scaling the value in ver...
typos etc.
ea653adafbd287d6df62728c43d4650a6ae5168d authored about 7 years ago by Niklas Haas <[email protected]>Founds and fixed plenty of bugs already
9a00c990a50300d21b9aa5307eea3b7e872c989b authored about 7 years ago by Niklas Haas <[email protected]>
The matrix math was separated from the color-space semantics and moved
to common.c; and all of t...
For the convenience of the user
09598a121e1a42217bf63e77ecf0a4d65938d545 authored about 7 years ago by Niklas Haas <[email protected]>Since it's read-only
e323861e9830642f5dc4c3edc4d6f80701e8a51d authored about 7 years ago by Niklas Haas <[email protected]>
RA is now no longer just an API, you could theoretically actually use
it.
I thought I got rid of them all again. This also had a newline, even
though it wasn't supposed to..
The signal mechanism wasn't powerful enough to handle multiple transfer
commands in succession. ...
fc85a25e43ec26afbfd55ed03776a8dbfe287742 authored about 7 years ago by Niklas Haas <[email protected]>
Useful when debugging issues related to memory heaps or allocation.
ce0eec5491bfad2776f92154f951dcae95b24927 authored about 7 years ago by Niklas Haas <[email protected]>
It should now actually be possible to start using the ra_vk stuff; and
also to have it interact ...
I decided to nuke timers again, simply because they're difficult and
useless. As usual, RA chang...
Was missing the third dimension
1a4f2d05b96ab4d1aa755c0cb0bdabd094ca035d authored about 7 years ago by Niklas Haas <[email protected]>
Hide the RA_BUF_VERTEX messiness a bit better; clean up the awkward
texture discarding logic ins...
And make more RA changes. The usual.
4231ef7c79a3efc4ea3e807e9e3e84958f855695 authored about 7 years ago by Niklas Haas <[email protected]>No trailing newlines
5595ceb1dc9e4196bfab7ce20073ba695df967ab authored about 7 years ago by Niklas Haas <[email protected]>0591c1de4df92bac880338e9ab41b93435733baa authored about 7 years ago by Niklas Haas <[email protected]>
I've decided to universally not prefix the message by the function name.
If I end up wanting tha...
Also ported some more RA helpers, and made the necessary RA API changes
to fix the issues I ran ...
The buf_offset multiple-of-4 check was not adequately enforced.
037c19f251784803f03ca3e5bad433fa675d93e3 authored about 7 years ago by Niklas Haas <[email protected]>
Something being a common/fast operation is the default assumption, only
explicitly note where so...
I also made changes to the RA API to accomodate a finer-grained picture
of the ra_format capabil...
3478e10a2ee699b04d0370b7380cfdbc0e9ccfec authored about 7 years ago by Niklas Haas <[email protected]>
This gains some relevance again because libplacebo can technically be
used for offline rendering...
Currently still missing ra_vk and most of the swapchain/context stuff.
(Still need to make good ...
Slightly more hacky but requires less boilerplate.
e9548c4c979ea71525e1a7c9ab34473b123b947f authored about 7 years ago by Niklas Haas <[email protected]>
Now it's actually pretty close to the mpv wscript, which is actually
kinda neat.
Now also supports transfers to buffers, rather than just from buffers.
Redesigned ra_buf_poll to...
59f17bf42b9aa333c5009c4f7e3faea3a5ee805e authored about 7 years ago by Niklas Haas <[email protected]>
Always refer to a pl_shader as `sh`
08bc153c03924715904fcc7ff27cf93fc6d5b27e authored about 7 years ago by Niklas Haas <[email protected]>
Turns out this also solves the whole "but muh frequent re-allocations!"
problem, without needing...
be45e214570d2717cbc856273b8efd976a2c5430 authored about 7 years ago by Niklas Haas <[email protected]>
b99b34de9ec2e3dd26f379476b8846ffd56e37b6 authored about 7 years ago by Niklas Haas <[email protected]>
More flexible than the previous "shared || non-shared" distinction. The
extra flexibility is nee...
The texture gather thing is better off as a device-specific limit, and
the shared binding thing ...
Only supports libshaderc for now, until I have a clearer picture of what
the requirements for ge...
Now uses a pl_context_params struct for global options instead of
getters/setters, for consisten...
1. This is made more flexible, by also allowing the code to access the
current offset of the ...
This moves the burden of asserting all over the place out of
implementations like ra_vk and into...
Added some missing restrictions, added an explicit capability for
storage images, and fixed some...
Hide the implementation struct and instead add explicit wrappers for
every operation. These wrap...
c48e6acf354643c78fd5e62939252b69d4dabc13 authored about 7 years ago by Niklas Haas <[email protected]>
Using the new glsl_header API, we can generate the hable function again.
As an added bonus, do i...
For the same reason this was required in mpv: GLSL function
declarations.
No reason to force this to be dynamic. The pkg-config unfortunately
still seems to assume that i...
Instead of manually generating the string, we can just pass the
shared_library object here and i...