@@ -190,9 +190,9 @@ initialiseVulkanContext instanceType appName ( VulkanRequirements { instanceRequ
190
190
device <- logDebug " Creating logical device" *>
191
191
Vulkan.Utils. createDeviceFromRequirements swapchainDeviceRequirements [] physicalDevice deviceCreateInfo
192
192
queue <- Vulkan. getDeviceQueue device ( fromIntegral queueFamily ) 0
193
-
193
+
194
194
pure ( VulkanContext { .. } )
195
-
195
+
196
196
197
197
198
198
vulkanInstanceInfo
@@ -206,7 +206,7 @@ vulkanInstanceInfo appName = do
206
206
let
207
207
validationLayer :: Maybe ValidationLayerName
208
208
validationLayer
209
- = coerce
209
+ = coerce
210
210
. foldMap
211
211
( ( Vulkan. layerName :: Vulkan. LayerProperties -> ByteString )
212
212
>>> \ case
@@ -374,11 +374,10 @@ chooseSwapchainFormat
374
374
375
375
case sortOn ( Down . score ) ( Boxed.Vector. toList surfaceFormats ) of
376
376
[] -> error " No formats found."
377
- ( best : _ )
378
- | Vulkan. FORMAT_UNDEFINED <- ( Vulkan. format :: Vulkan. SurfaceFormatKHR -> Vulkan. Format ) best
379
- -> pure preferredFormat
380
- | otherwise
381
- -> pure best
377
+ Vulkan. SurfaceFormatKHR {format= Vulkan. FORMAT_UNDEFINED } : _rest ->
378
+ pure preferredFormat
379
+ best : _rest
380
+ -> pure best
382
381
383
382
where
384
383
match :: Eq a => a -> a -> Int
@@ -406,20 +405,17 @@ createSwapchain physicalDevice device surface surfaceFormat imageUsage imageCoun
406
405
surfaceCapabilities <- Vulkan. getPhysicalDeviceSurfaceCapabilitiesKHR physicalDevice ( Vulkan. SurfaceKHR surface )
407
406
408
407
( _, presentModes ) <- Vulkan. getPhysicalDeviceSurfacePresentModesKHR physicalDevice ( Vulkan. SurfaceKHR surface )
409
-
408
+
410
409
let
411
410
presentMode :: Vulkan. PresentModeKHR
412
- presentMode
411
+ presentMode
413
412
| Vulkan. PRESENT_MODE_MAILBOX_KHR `elem` presentModes
414
413
= Vulkan. PRESENT_MODE_MAILBOX_KHR
415
414
| otherwise
416
415
= Vulkan. PRESENT_MODE_FIFO_KHR
417
416
418
- currentExtent :: Vulkan. Extent2D
419
- currentExtent = ( Vulkan. currentExtent :: Vulkan. SurfaceCapabilitiesKHR -> Vulkan. Extent2D ) surfaceCapabilities
420
-
421
- currentTransform :: Vulkan. SurfaceTransformFlagBitsKHR
422
- currentTransform = ( Vulkan. currentTransform :: Vulkan. SurfaceCapabilitiesKHR -> Vulkan. SurfaceTransformFlagBitsKHR ) surfaceCapabilities
417
+ Vulkan. SurfaceCapabilitiesKHR {currentExtent, currentTransform} = surfaceCapabilities
418
+ Vulkan. SurfaceFormatKHR {format= fmt, colorSpace= csp} = surfaceFormat
423
419
424
420
swapchainCreateInfo :: Vulkan. SwapchainCreateInfoKHR '[]
425
421
swapchainCreateInfo =
@@ -428,8 +424,8 @@ createSwapchain physicalDevice device surface surfaceFormat imageUsage imageCoun
428
424
, Vulkan. flags = Vulkan. zero
429
425
, Vulkan. surface = Vulkan. SurfaceKHR surface
430
426
, Vulkan. minImageCount = imageCount
431
- , Vulkan. imageFormat = ( Vulkan. format :: Vulkan. SurfaceFormatKHR -> Vulkan. Format ) surfaceFormat
432
- , Vulkan. imageColorSpace = ( Vulkan. colorSpace :: Vulkan. SurfaceFormatKHR -> Vulkan. ColorSpaceKHR ) surfaceFormat
427
+ , Vulkan. imageFormat = fmt
428
+ , Vulkan. imageColorSpace = csp
433
429
, Vulkan. imageExtent = currentExtent
434
430
, Vulkan. imageArrayLayers = 1
435
431
, Vulkan. imageUsage = imageUsage
@@ -494,7 +490,7 @@ simpleRenderPass dev attachments = Vulkan.withRenderPass dev createInfo Nothing
494
490
{ Vulkan. next = ()
495
491
, Vulkan. flags = Vulkan. zero
496
492
, Vulkan. attachments = Boxed.Vector. fromList attachmentDescriptions
497
- , Vulkan. subpasses = Boxed.Vector. singleton subpass
493
+ , Vulkan. subpasses = Boxed.Vector. singleton subpass
498
494
, Vulkan. dependencies = Boxed.Vector. fromList [ dependency1, dependency2 ]
499
495
}
500
496
@@ -591,7 +587,7 @@ createFramebuffer
591
587
-> Vulkan. Extent2D
592
588
-> f Vulkan. ImageView
593
589
-> m ( ResourceT. ReleaseKey , Vulkan. Framebuffer )
594
- createFramebuffer dev renderPass extent attachments = Vulkan. withFramebuffer dev createInfo Nothing ResourceT. allocate
590
+ createFramebuffer dev renderPass Vulkan. Extent2D {width, height} attachments = Vulkan. withFramebuffer dev createInfo Nothing ResourceT. allocate
595
591
where
596
592
createInfo :: Vulkan. FramebufferCreateInfo '[]
597
593
createInfo =
@@ -600,8 +596,8 @@ createFramebuffer dev renderPass extent attachments = Vulkan.withFramebuffer dev
600
596
, Vulkan. flags = Vulkan. zero
601
597
, Vulkan. renderPass = renderPass
602
598
, Vulkan. attachments = Boxed.Vector. fromList . toList $ attachments
603
- , Vulkan. width = ( Vulkan. width :: Vulkan. Extent2D -> Word32 ) extent
604
- , Vulkan. height = ( Vulkan. height :: Vulkan. Extent2D -> Word32 ) extent
599
+ , Vulkan. width = width
600
+ , Vulkan. height = height
605
601
, Vulkan. layers = 1
606
602
}
607
603
0 commit comments