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

Totally support 10 bit output? #8554

Closed
hooke007 opened this issue Feb 12, 2021 · 6 comments
Closed

Totally support 10 bit output? #8554

hooke007 opened this issue Feb 12, 2021 · 6 comments

Comments

@hooke007
Copy link
Contributor

My monitor: Queried output: \\.\DISPLAY4, 3840x2160 @ 10 bits
When I test the different --gpu-api, I found the differences in the log.

  1. --dither-depth=auto will select 8 bit for Vulkan&Opengl, while 10 bit for D3d11.
  2. swapchain format: R10G10B10A2 will be chosen when use Opengl&D3d11, no such message for Vulkan.
  3. Opengl: Reported display depth: 8 ; D3d11: Reported display depth: 10 ; no such message for Vulkan.

So does it mean only the d3d11 support 10 bit output correctly?

Log file

d3d11.log
opengl.log
vulkan.log

@zc62
Copy link
Contributor

zc62 commented Feb 13, 2021

So does it mean only the d3d11 support 10 bit output correctly?

In windows, yes. And the suggestion would be, stick to d3d11 if you use windows. Probably see #5237

OpenGL and Vulkan do support 10 bit in principle, but not in mpv+windows. I'm not sure about OpenGL, but for vulkan, I think I heard from haasn that it depends on the implementation provided by your video card vendor. If their implementation does not support 10 bit, there is no way for mpv to utilize 10 bit through vulkan API. You can check by running vulkaninfo

@hooke007
Copy link
Contributor Author

vulkaninfo.txt
Thanks for your suggestions.
So stupid was I. The format for Vulkan should be A2B10G10R10, now I can clearly see that
[ 0.957][d][vo/gpu/vulkan/libplacebo] Picked surface format VK_FORMAT_A2B10G10R10_UNORM_PACK32, space VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
But at this time, mpv still chose to dither to 8 bit for Vulkan. It's weird.

@Akemi
Copy link
Member

Akemi commented Feb 13, 2021

@hooke007
Copy link
Contributor Author

hooke007 commented Feb 13, 2021

It seems windows users who care about the correct output have no other choices except D3d11.

@Akemi Akemi closed this as completed Feb 13, 2021
@haasn
Copy link
Member

haasn commented Feb 13, 2021

You can use --dither-depth=10 to override the auto-detection.

@hooke007
Copy link
Contributor Author

You can use --dither-depth=10 to override the auto-detection.

I know it is useful.
I just wonder if it will have other potential possibility that Vulkan actually output 8 bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants