Bug 110480 - vkcube renders too brightly on radv
Summary: vkcube renders too brightly on radv
Status: RESOLVED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-21 22:26 UTC by oschowa
Modified: 2019-04-22 00:02 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
radv (29.50 KB, image/png)
2019-04-21 22:27 UTC, oschowa
Details
amdvlk (26.21 KB, image/png)
2019-04-21 22:27 UTC, oschowa
Details
nvidia (27.10 KB, image/png)
2019-04-21 22:28 UTC, oschowa
Details
vkcube radv vs. amdvlk side by side (230.07 KB, image/png)
2019-04-21 23:49 UTC, Bas Nieuwenhuizen
Details

Description oschowa 2019-04-21 22:26:40 UTC
vkcude renders brighter with radv as compared to amdvlk, amdvlk-pro and nvidia.
This happens with at least Mesa master, 19.0.2 and 18.3.6.
Comment 1 oschowa 2019-04-21 22:27:30 UTC
Created attachment 144055 [details]
radv
Comment 2 oschowa 2019-04-21 22:27:52 UTC
Created attachment 144056 [details]
amdvlk
Comment 3 oschowa 2019-04-21 22:28:55 UTC
Created attachment 144057 [details]
nvidia
Comment 4 Bas Nieuwenhuizen 2019-04-21 23:49:33 UTC
Created attachment 144058 [details]
vkcube radv vs. amdvlk side by side

See the attachment, for me the colors are equal.

Can I ask

1) which vkcube did you use and where did you get it from? I used github.com/krh/vkcube which AFAIU is the upstream. However, I noted that the cube textures are different so it seems you're using something different.

2) What windowing system do you use. Is this X11? Wayland? Xwayland? directly to display? HDR colors?
Comment 5 Alexander Tsoy 2019-04-21 23:52:54 UTC
(In reply to Bas Nieuwenhuizen from comment #4)
> 1) which vkcube did you use and where did you get it from?
It's vkcube from vulkan-tools:
https://github.com/KhronosGroup/Vulkan-Tools
Comment 6 Bas Nieuwenhuizen 2019-04-22 00:02:39 UTC
Okay, looks like there is

https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c

This demo picks the first surface format provided by the driver.

Looking at AMDVLK (with vulkaninfo, under "Presentable Surfaces"):

GPU id       : 0 (Radeon RX Vega)
Surface type : VK_KHR_xcb_surface
Formats:                count = 2
        B8G8R8A8_UNORM
        B8G8R8A8_SRGB

Looking at radv:

GPU id       : 0 (AMD RADV VEGA10 (LLVM 9.0.0))
Surface type : VK_KHR_xcb_surface
Formats:                count = 2
        B8G8R8A8_SRGB
        B8G8R8A8_UNORM


So the first format chosen is just different.

Whether any app should choose _SRGB or _UNORM is more complicated (as UNORM images are typically still interpreted by the windowing system as SRGB, but _SRGB gives you automatic linear->srgb color conversions during rendering. Doing one of those conversion typically makes everything all lighter or all darker)

Closing assuming this is the vkcube you referenced. You'll likely find Intel has the same behavior as radv.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.