Commit Graph

34 Commits

Author SHA1 Message Date
4d244c96c3 Const-ified helper functions in KRDevice 2022-09-27 17:33:05 -07:00
5ab035b076 Implemented KRDevice::createDescriptorSets 2022-09-20 18:23:45 -07:00
ee091aa1fe KRDevice now allocates a global descriptor pool per each device. 2022-09-20 18:12:18 -07:00
10f9c17cf1 Now initializing VkDescriptorSetLayout for each pipeline using SPV reflection. 2022-09-07 22:33:07 -07:00
7433d54c16 Auto format C++ source 2022-08-08 01:07:26 -07:00
33f5292c5e Added commandBuffer argument to KRDevice::graphicsUpload. 2022-07-27 23:22:51 -07:00
d19f340d32 Temporary vertex data is now uploaded synchronously in the presentation thread with the graphics command buffer. 2022-07-25 00:43:11 -07:00
9eb9cfe7c5 Added KRDevice::graphicsUpload 2022-07-22 18:31:11 -07:00
cfd8e35f29 Added KRDevice::setDebugLabel and helper function overloads. Now labeling more Vulkan objects. 2022-07-21 00:19:51 -07:00
d1553fc1bf No longer creating empty command buffers for asynchronous asset streaming when there is no activity.
Added VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT to command pools to correct validation errors.
2022-07-20 23:17:06 -07:00
46f8af662e Staging buffers are no longer host coherent; explicitly flushing the buffers instead.
Fixed getQueueFamiliesForSharing, so it now correctly returns more than one queue family.
2022-07-20 22:37:22 -07:00
0cc6c0d40b Added GPU debug labels for textures.
Fixed bug causing Vulkan images to be constantly re-created.
2022-07-20 22:09:52 -07:00
e1342ab836 Added KRDevice::checkFlushStreamBuffer. 2022-07-20 21:35:20 -07:00
8f63d9607a Added KRDevice::StagingBufferInfo to collect staging buffer related members and functions 2022-07-19 01:11:28 -07:00
ff4eb2589c Split KRDevice::initialize into multiple helper functions 2022-07-19 00:57:18 -07:00
ab86194a59 Implemented KRDevice::streamUpload overload for asynchronous image streaming 2022-07-19 00:11:30 -07:00
83ea50384f Moved queue family iteration code shared by KRDevice::createImage and KRDevice::createBuffer into a utility function.
Added imageCreateFlags argument to KRDevice::createImage
2022-07-16 00:45:17 -07:00
e61f8aa7d1 Added VkMemoryPropertyFlags argument to KRDevice::createImage 2022-07-16 00:03:15 -07:00
003bee0d25 Added KRDevice::createImage 2022-07-15 23:53:42 -07:00
7ea1349fb9 Implemented Asynchronous upload (transfer queue) functions in KRDevice. 2022-07-12 00:31:30 -07:00
dfde4f876d KRDevice::createBuffer is now fallible.
Staging buffer flags corrected.
2022-07-12 00:01:27 -07:00
738cfd29ef KRDevice now creates transfer queues for each GPU. Implemented algorithm to keep graphics, compute, and transfer queue families independent when possible. 2022-07-11 23:45:08 -07:00
7f3ceebd5f Allocated staging buffers for asset upload. For each GPU, two buffers. One for asynchronous asset streaming with the transfer queue and another for immediate asset streaming with the graphics queue. 2022-07-11 22:55:08 -07:00
fed12dbc96 Moved debug label functionality to KRDevice::createBuffer 2022-07-10 00:15:18 -07:00
6e1e07cc07 Created helper function for Vulkan Buffer creation, KRDevice::createBuffer.
Updated KRMeshManager to use KRDevice::createBuffer for vertex and index data.
2022-07-09 23:52:35 -07:00
216cbe3eec PipelineInfo::CullMode and PipelineInfo::RasterMode are no longer within the PipelineInfo class, enabling easier forward declaration.
KRMaterial::bind now accepts remaining parameters required to set up the pipeline.
Removed GL calls from KRModel.
Replaced ifdef guards with pragma once.
KRMesh::model_format_t changed to ModelFormat and is no longer within KRMesh, enabling easier forward declaration.
2022-07-07 22:51:16 -07:00
b6922dc63f License header year bump 2022-04-03 21:56:23 -07:00
f48fb5b14f Vulkan Refactoring - Implemented KRSwapchain 2022-04-03 21:49:54 -07:00
ad596a82f9 WIP Index and Vertex buffer allocation 2022-01-22 01:01:08 -08:00
739111ed2d Creating VmaAllocator object for each Vulkan device. 2022-01-15 03:34:41 -08:00
61a83dd28d Vulkan device initialization moved to KRDevice 2021-08-16 18:25:03 -07:00
748bd56b37 KRDevice refactoring WIP 2021-08-16 16:50:05 -07:00
d69699230a Updated HEaders 2021-08-16 16:35:36 -07:00
92e7dec2fa Refactored SurfaceInfo to KRSurface and DeviceInfo to KRDevice. Created new files for KRSurface and KRDevice. 2021-08-16 15:49:17 -07:00