diff options
| -rw-r--r-- | render/vulkan/pixel_format.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/render/vulkan/pixel_format.c b/render/vulkan/pixel_format.c index 30a44b91..911cd217 100644 --- a/render/vulkan/pixel_format.c +++ b/render/vulkan/pixel_format.c @@ -5,8 +5,11 @@  #include <xf86drm.h>  #include "render/vulkan.h" -// Reversed endianess of shm and vulkan format names  static const struct wlr_vk_format formats[] = { +	// Vulkan non-packed 8-bits-per-channel formats have an inverted channel +	// order compared to the DRM formats, because DRM format channel order +	// is little-endian while Vulkan format channel order is in memory byte +	// order.  	{  		.drm = DRM_FORMAT_ARGB8888,  		.vk = VK_FORMAT_B8G8R8A8_SRGB, @@ -27,6 +30,9 @@ static const struct wlr_vk_format formats[] = {  		.vk = VK_FORMAT_R8G8B8A8_SRGB,  		.is_srgb = true,  	}, + +	// Vulkan packed formats have the same channel order as DRM formats on +	// little endian systems.  #if WLR_LITTLE_ENDIAN  	{  		.drm = DRM_FORMAT_RGB565,  | 
