CHelloTriangle: Make the framebuffer use the preferred swapchain format

This commit is contained in:
Corentin Wallez 2018-01-19 12:51:18 -05:00 committed by Corentin Wallez
parent 32fbde25ec
commit e98678f886

View File

@ -23,6 +23,8 @@ nxtSwapChain swapchain;
nxtRenderPipeline pipeline; nxtRenderPipeline pipeline;
nxtRenderPass renderpass; nxtRenderPass renderpass;
nxtTextureFormat swapChainFormat;
void init() { void init() {
device = CreateCppNXTDevice().Release(); device = CreateCppNXTDevice().Release();
@ -39,8 +41,9 @@ void init() {
swapchain = nxtSwapChainBuilderGetResult(builder); swapchain = nxtSwapChainBuilderGetResult(builder);
nxtSwapChainBuilderRelease(builder); nxtSwapChainBuilderRelease(builder);
} }
nxtSwapChainConfigure(swapchain, static_cast<nxtTextureFormat>(GetPreferredSwapChainTextureFormat()), swapChainFormat = static_cast<nxtTextureFormat>(GetPreferredSwapChainTextureFormat());
NXT_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT, 640, 480); nxtSwapChainConfigure(swapchain, swapChainFormat, NXT_TEXTURE_USAGE_BIT_OUTPUT_ATTACHMENT, 640,
480);
const char* vs = const char* vs =
"#version 450\n" "#version 450\n"
@ -61,7 +64,7 @@ void init() {
{ {
nxtRenderPassBuilder builder = nxtDeviceCreateRenderPassBuilder(device); nxtRenderPassBuilder builder = nxtDeviceCreateRenderPassBuilder(device);
nxtRenderPassBuilderSetAttachmentCount(builder, 1); nxtRenderPassBuilderSetAttachmentCount(builder, 1);
nxtRenderPassBuilderAttachmentSetFormat(builder, 0, NXT_TEXTURE_FORMAT_R8_G8_B8_A8_UNORM); nxtRenderPassBuilderAttachmentSetFormat(builder, 0, swapChainFormat);
nxtRenderPassBuilderSetSubpassCount(builder, 1); nxtRenderPassBuilderSetSubpassCount(builder, 1);
nxtRenderPassBuilderSubpassSetColorAttachment(builder, 0, 0, 0); nxtRenderPassBuilderSubpassSetColorAttachment(builder, 0, 0, 0);
renderpass = nxtRenderPassBuilderGetResult(builder); renderpass = nxtRenderPassBuilderGetResult(builder);