From 1956c720cd96e3d3d95d2d1930038f74fd03aafb Mon Sep 17 00:00:00 2001
From: Jordan Halase <jordan@halase.me>
Date: Fri, 1 Nov 2019 23:58:18 -0500
Subject: Use Vulkan color

---
 CMakeLists.txt |  2 +-
 main.c         | 14 +++++++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e22a915..7f920b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.2)
 project(vkpugltest LANGUAGES C)
 
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wdouble-promotion")
 
 set(pugldir "../pugl")
 set(PUGL_INCLUDE "${pugldir}")
diff --git a/main.c b/main.c
index eed82b1..77b2d3b 100644
--- a/main.c
+++ b/main.c
@@ -1065,7 +1065,11 @@ static int rvkCreateRawSwapchain(struct RenderVulkan *vk, int width, int height)
 	uint32_t i;
 	for (i = 0; i < nFormats; ++i) {
 		const VkSurfaceFormatKHR want = {
-			VK_FORMAT_B8G8R8A8_SRGB,	// BGRA sRGB
+			/* UNORM is *NOT* recommended for color blending, but is
+			 * useful for getting simple "HTML" colors to the screen
+			 * without manually converting to a linear color space.
+			 */
+			VK_FORMAT_B8G8R8A8_UNORM,
 			VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
 		};
 		if (surfaceFormats[i].format == VK_FORMAT_UNDEFINED) {
@@ -1184,10 +1188,10 @@ static void freeCommandBuffers(struct RenderVulkan *vk)
 static int recordCommandBuffers(struct RenderVulkan *vk)
 {
 	VkClearColorValue clearValue = { 0 };
-	clearValue.float32[0] = 1.0f;	// R
-	clearValue.float32[1] = 0.0f;	// G
-	clearValue.float32[2] = 0.5f;	// B
-	clearValue.float32[3] = 1.0f;	// A
+	clearValue.float32[0] = (float)0xa4/0x100;	// R
+	clearValue.float32[1] = (float)0x1e/0x100;	// G
+	clearValue.float32[2] = (float)0x22/0x100;	// B
+	clearValue.float32[3] = (float)0xff/0x100;	// A
 
 	VkImageSubresourceRange range = { 0 };
 	range.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
-- 
cgit v1.2.1