summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/src/renderer_vk.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/src/renderer_vk.cpp')
-rw-r--r--3rdparty/bgfx/src/renderer_vk.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/3rdparty/bgfx/src/renderer_vk.cpp b/3rdparty/bgfx/src/renderer_vk.cpp
index 61ff5862d27..3840c7ad82b 100644
--- a/3rdparty/bgfx/src/renderer_vk.cpp
+++ b/3rdparty/bgfx/src/renderer_vk.cpp
@@ -216,7 +216,7 @@ VK_IMPORT_DEVICE
{ VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RGBA32F
{ VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // R5G6B5
{ VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RGBA4
- { VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RGB5A1
+ { VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RGB5A1
{ VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RGB10A2
{ VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // RG11B10F
{ VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED }, // UnknownDepth
@@ -2761,45 +2761,49 @@ VK_IMPORT_DEVICE
releaseSwapchainFramebuffer();
releaseSwapchain();
-#if 1
uint32_t numPresentModes(10);
VkPresentModeKHR presentModes[10];
vkGetPhysicalDeviceSurfacePresentModesKHR(m_physicalDevice, m_surface, &numPresentModes, presentModes);
- // find the best match...
uint32_t presentModeIdx = numPresentModes;
- VkPresentModeKHR preferredPresentMode[] = {
+ static const VkPresentModeKHR preferredPresentMode[] =
+ {
VK_PRESENT_MODE_FIFO_KHR,
VK_PRESENT_MODE_FIFO_RELAXED_KHR,
VK_PRESENT_MODE_MAILBOX_KHR,
VK_PRESENT_MODE_IMMEDIATE_KHR,
};
- bool has_vsync[] = {true, true, true, false};
- bool vsync = (flags & BGFX_RESET_VSYNC ? true : false);
+ static const bool hasVsync[] = { true, true, true, false };
+ BX_STATIC_ASSERT(BX_COUNTOF(preferredPresentMode) == BX_COUNTOF(hasVsync) );
+
+ const bool vsync = !!(flags & BGFX_RESET_VSYNC);
for (uint32_t ii = 0; ii < BX_COUNTOF(preferredPresentMode); ++ii)
{
for (uint32_t jj = 0; jj < numPresentModes; ++jj)
{
- if ((presentModes[jj] == preferredPresentMode[ii]) && (vsync == has_vsync[ii]))
+ if (presentModes[jj] == preferredPresentMode[ii]
+ && vsync == hasVsync[ii])
{
presentModeIdx = jj;
- BX_TRACE("present mode: %d", (int)preferredPresentMode[ii]);
+ BX_TRACE("present mode: %d", preferredPresentMode[ii]);
break;
}
}
+
if (presentModeIdx < numPresentModes)
{
break;
}
}
+
if (presentModeIdx == numPresentModes)
{
presentModeIdx = 0;
}
+
m_sci.presentMode = presentModes[presentModeIdx];
- //bx::printf("%d %d %d %d %d\n", flags, BGFX_RESET_VSYNC, presentModeIdx, presentModes[presentModeIdx], numPresentModes);
-#endif
+
VkSurfaceCapabilitiesKHR surfaceCapabilities;
VK_CHECK(vkGetPhysicalDeviceSurfaceCapabilitiesKHR(m_physicalDevice, m_surface, &surfaceCapabilities) );
@@ -3113,7 +3117,7 @@ VK_IMPORT_DEVICE
: VK_POLYGON_MODE_FILL
;
_desc.cullMode = s_cullMode[cull];
- _desc.frontFace = VK_FRONT_FACE_CLOCKWISE;
+ _desc.frontFace = (_state&BGFX_STATE_FRONT_CCW) ? VK_FRONT_FACE_COUNTER_CLOCKWISE : VK_FRONT_FACE_CLOCKWISE;
_desc.depthBiasEnable = VK_FALSE;
_desc.depthBiasConstantFactor = 0.0f;
_desc.depthBiasClamp = 0.0f;