Skip to content

Commit

Permalink
Avoid unnecessarily large stack allocation in createSwapchain()
Browse files Browse the repository at this point in the history
and fix comment about which format properties we query with vkGetPhysicalDeviceFormatProperties
  • Loading branch information
httpdigest committed Jul 16, 2023
1 parent 9f28cc8 commit 4d0b7cb
Show file tree
Hide file tree
Showing 8 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/org/lwjgl/demo/vulkan/ClearScreenDemo.java
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
2 changes: 1 addition & 1 deletion src/org/lwjgl/demo/vulkan/raytracing/SdfBricks.java
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
2 changes: 1 addition & 1 deletion src/org/lwjgl/demo/vulkan/raytracing/SimpleSphere.java
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
2 changes: 1 addition & 1 deletion src/org/lwjgl/demo/vulkan/raytracing/SimpleTriangle.java
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down
4 changes: 2 additions & 2 deletions src/org/lwjgl/demo/vulkan/raytracing/VoxelChunks.java
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ private static DeviceAndQueueFamilies selectPhysicalDevice() {
!physicalDeviceFeatures2.features().shaderInt64())
continue;

// Check if the physical device supports the VK_FORMAT_R16G16B16_UNORM vertexFormat for acceleration structure geometry
// Check if the physical device supports the VK_FORMAT_R8G8B8_UNORM vertexFormat for acceleration structure geometry
VkFormatProperties formatProperties = VkFormatProperties.malloc(stack);
vkGetPhysicalDeviceFormatProperties(dev, VK_FORMAT_R8G8B8_UNORM, formatProperties);
if ((formatProperties.bufferFeatures() & VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR) == 0)
Expand Down Expand Up @@ -667,7 +667,7 @@ private static Swapchain createSwapchain() {
int imageCount = min(max(pSurfaceCapabilities.minImageCount(), 2), pSurfaceCapabilities.maxImageCount());
ColorFormatAndSpace surfaceFormat = determineSurfaceFormat(deviceAndQueueFamilies.physicalDevice, surface);
Vector2i swapchainExtents = determineSwapchainExtents(pSurfaceCapabilities);
LongBuffer pSwapchain = stack.mallocLong(Long.BYTES);
LongBuffer pSwapchain = stack.mallocLong(1);
_CHECK_(vkCreateSwapchainKHR(device, VkSwapchainCreateInfoKHR
.calloc(stack)
.sType$Default()
Expand Down

0 comments on commit 4d0b7cb

Please sign in to comment.