Skip to content

Commit dda8c9b

Browse files
committed
Add P3 colors for MacOS if available
1 parent acbd88a commit dda8c9b

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/main/java/net/vulkanmod/vulkan/Vulkan.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import net.vulkanmod.vulkan.util.VkResult;
1414
import org.lwjgl.PointerBuffer;
1515
import org.lwjgl.system.MemoryStack;
16+
import static org.lwjgl.vulkan.EXTSwapchainColorspace.VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
1617
import org.lwjgl.util.vma.VmaAllocatorCreateInfo;
1718
import org.lwjgl.util.vma.VmaVulkanFunctions;
1819
import org.lwjgl.vulkan.*;
@@ -361,23 +362,21 @@ private static void createCommandPool() {
361362
}
362363

363364
private static PointerBuffer getRequiredInstanceExtensions() {
364-
365365
PointerBuffer glfwExtensions = glfwGetRequiredInstanceExtensions();
366+
MemoryStack stack = stackGet();
366367

367368
if (ENABLE_VALIDATION_LAYERS) {
368-
369-
MemoryStack stack = stackGet();
370-
371-
PointerBuffer extensions = stack.mallocPointer(glfwExtensions.capacity() + 1);
372-
369+
PointerBuffer extensions = stack.mallocPointer(glfwExtensions.capacity() + 2);
373370
extensions.put(glfwExtensions);
374371
extensions.put(stack.UTF8(VK_EXT_DEBUG_UTILS_EXTENSION_NAME));
375-
376-
// Rewind the buffer before returning it to reset its position back to 0
372+
extensions.put(stack.UTF8(VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME));
377373
return extensions.rewind();
378374
}
379375

380-
return glfwExtensions;
376+
PointerBuffer extensions = stack.mallocPointer(glfwExtensions.capacity() + 1);
377+
extensions.put(glfwExtensions);
378+
extensions.put(stack.UTF8(VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME));
379+
return extensions.rewind();
381380
}
382381

383382
public static void checkResult(int result, String errorMessage) {

src/main/java/net/vulkanmod/vulkan/framebuffer/SwapChain.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static org.lwjgl.glfw.GLFW.glfwGetFramebufferSize;
2626
import static org.lwjgl.system.MemoryStack.stackGet;
2727
import static org.lwjgl.system.MemoryStack.stackPush;
28+
import static org.lwjgl.vulkan.EXTSwapchainColorspace.*;
2829
import static org.lwjgl.vulkan.KHRSurface.*;
2930
import static org.lwjgl.vulkan.KHRSwapchain.*;
3031
import static org.lwjgl.vulkan.VK10.*;
@@ -247,7 +248,7 @@ private VkSurfaceFormatKHR getFormat(VkSurfaceFormatKHR.Buffer availableFormats)
247248
// Extended sRGB (P3 gamut with sRGB gamma) on macOS
248249
if (Platform.isMacOS()) {
249250
for (VkSurfaceFormatKHR f : list) {
250-
if (f.format() == VK_FORMAT_B8G8R8A8_UNORM && f.colorSpace() == 1000104001) {
251+
if (f.format() == VK_FORMAT_B8G8R8A8_UNORM && f.colorSpace() == VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT) {
251252
isBGRAformat = true;
252253
return f;
253254
}

0 commit comments

Comments
 (0)