Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redundant pow() in 2020-CL handling #7

Closed
tdaede opened this issue Jan 9, 2018 · 1 comment
Closed

Redundant pow() in 2020-CL handling #7

tdaede opened this issue Jan 9, 2018 · 1 comment

Comments

@tdaede
Copy link

tdaede commented Jan 9, 2018

Here, RGB is converted to R'G'B':

https://github.com/haasn/libplacebo/blob/master/src/shaders/colorspace.c#L87

However, the function already has Y'B'R' from an earlier step, so only the G' needs to be computed. I am not sure this will be faster in practice, so it needs to be benchmarked.

@haasn
Copy link
Owner

haasn commented Jan 9, 2018

Might as well be time to write a benchmarking framework for libplacebo so we can answer these questions now and in the future.

@haasn haasn closed this as completed in 13b2598 Jan 11, 2018
haasn added a commit that referenced this issue Jan 12, 2022
This reverts commit a3271f8.

This fix was ineffective and, in practice, MSAN already catches the use
of `pl_mem_hash` on unpadded structs for me, e.g.:

==105503==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x509c6c in finalize_pass /home/nand/dev/placebo/build.msan/../src/dispatch.c:867:13
    #1 0x51c2e5 in pl_dispatch_vertex /home/nand/dev/placebo/build.msan/../src/dispatch.c:1492:25
    #2 0x64ecc6 in draw_overlays /home/nand/dev/placebo/build.msan/../src/renderer.c:833:19
    #3 0x61530a in pass_scale_main /home/nand/dev/placebo/build.msan/../src/renderer.c:1749:5
    #4 0x5fa090 in pl_render_image /home/nand/dev/placebo/build.msan/../src/renderer.c:2550:10
    #5 0x4acb0f in pl_render_tests /home/nand/dev/placebo/build.msan/../src/tests/gpu_tests.h:1095:5
    #6 0x4897af in gpu_shader_tests /home/nand/dev/placebo/build.msan/../src/tests/gpu_tests.h:1447:5
    #7 0x487be3 in main /home/nand/dev/placebo/build.msan/../src/tests/vulkan.c:194:9

(At least the one in dispatch.c. It doesn't catch the ones in renderer.c
for some reason, but I'm also less worried about those because they
don't have any relevance outside the renderer's internal state invalidation,
where a false positive doesn't cause real harm)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants