diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-16 14:57:16 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-16 14:57:16 -0500 |
| commit | 15524958f409b1f13a1deffc4dd8c1fbddefaf28 (patch) | |
| tree | 803313d44006be0f35e393e43a04b02dbed82989 /src/entities.cpp | |
| parent | 727c5e90798455703b88834aa864df94837e8956 (diff) | |
pke: CompGrBinds sub-structs
Diffstat (limited to 'src/entities.cpp')
| -rw-r--r-- | src/entities.cpp | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/src/entities.cpp b/src/entities.cpp index a81c5be..179ce4b 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -729,15 +729,15 @@ void EntityType_LoadMesh(EntityType_LoadHelperStruct &helper, const int64_t mesh const auto &accVert = helper.gltfData->accessors[accessorIndexVertex]; uint32_t offsetVert = runningOffset; uint32_t sizeVert = accVert.buffer_view->size; - etdHelper.etd->grBinds->vertexFirstBinding = index; - etdHelper.etd->grBinds->vertexBindingCount = 1; + etdHelper.etd->grBinds->vertexBD.firstBinding = index; + etdHelper.etd->grBinds->vertexBD.bindingCount = 1; alignmentPadding = sizeVert % helper.vertMemoryRequirementsCombined.alignment; alignmentPadding = alignmentPadding == 0 ? 0 : helper.vertMemoryRequirementsCombined.alignment - alignmentPadding; sizeVert += alignmentPadding; bufferCI.size = sizeVert; bufferCI.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; - vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->vertexBuffer); - vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->vertexBuffer, helper.et.deviceMemoryVert, offsetVert); + vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->vertexBD.buffer); + vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->vertexBD.buffer, helper.et.deviceMemoryVert, offsetVert); runningOffset += sizeVert; index += 1; @@ -745,14 +745,14 @@ void EntityType_LoadMesh(EntityType_LoadHelperStruct &helper, const int64_t mesh const auto &accNorm = helper.gltfData->accessors[accessorIndexNormal]; uint32_t offsetNorm = runningOffset; uint32_t sizeNorm = accNorm.buffer_view->size; - etdHelper.etd->grBinds->normalsFirstBinding = index; - etdHelper.etd->grBinds->normalsBindingCount = 1; + etdHelper.etd->grBinds->normalsBD.firstBinding = index; + etdHelper.etd->grBinds->normalsBD.bindingCount = 1; alignmentPadding = sizeNorm % helper.vertMemoryRequirementsCombined.alignment; alignmentPadding = alignmentPadding == 0 ? 0 : helper.vertMemoryRequirementsCombined.alignment - alignmentPadding; sizeNorm += alignmentPadding; bufferCI.size = sizeNorm; - vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->normalsBuffer); - vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->normalsBuffer, helper.et.deviceMemoryVert, offsetNorm); + vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->normalsBD.buffer); + vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->normalsBD.buffer, helper.et.deviceMemoryVert, offsetNorm); runningOffset += sizeNorm; index += 1; @@ -760,14 +760,14 @@ void EntityType_LoadMesh(EntityType_LoadHelperStruct &helper, const int64_t mesh const auto &accUV = helper.gltfData->accessors[accessorIndexUV]; uint32_t offsetUV = runningOffset; uint32_t sizeUV = accUV.buffer_view->size; - etdHelper.etd->grBinds->uvFirstBinding = index; - etdHelper.etd->grBinds->uvBindingCount = 1; + etdHelper.etd->grBinds->uvBD.firstBinding = index; + etdHelper.etd->grBinds->uvBD.bindingCount = 1; alignmentPadding = sizeUV % helper.vertMemoryRequirementsCombined.alignment; alignmentPadding = alignmentPadding == 0 ? 0 : helper.vertMemoryRequirementsCombined.alignment - alignmentPadding; sizeUV += alignmentPadding; bufferCI.size = sizeUV; - vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->uvBuffer); - vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->uvBuffer , helper.et.deviceMemoryVert, offsetUV); + vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->uvBD.buffer); + vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->uvBD.buffer, helper.et.deviceMemoryVert, offsetUV); runningOffset += sizeUV; index += 1; @@ -782,15 +782,15 @@ void EntityType_LoadMesh(EntityType_LoadHelperStruct &helper, const int64_t mesh const auto &accIndex = helper.gltfData->accessors[accessorIndexIndex]; uint32_t offsetIndex = runningOffset; uint32_t sizeIndex = accIndex.buffer_view->size; - etdHelper.etd->grBinds->indexBindingCount = 1; + etdHelper.etd->grBinds->indexBD.bindingCount = 1; etdHelper.etd->grBinds->indexCount = accIndex.count; alignmentPadding = sizeIndex % helper.vertMemoryRequirementsCombined.alignment; alignmentPadding = alignmentPadding == 0 ? 0 : helper.vertMemoryRequirementsCombined.alignment - alignmentPadding; sizeIndex += alignmentPadding; bufferCI.size = sizeIndex; bufferCI.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT; - vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->indexBuffer); - vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->indexBuffer, helper.et.deviceMemoryVert, offsetIndex); + vkCreateBuffer(vkDevice, &bufferCI, vkAllocator, &etdHelper.etd->grBinds->indexBD.buffer); + vkBindBufferMemory(vkDevice, etdHelper.etd->grBinds->indexBD.buffer, helper.et.deviceMemoryVert, offsetIndex); runningOffset += sizeIndex; // index += 1; @@ -837,22 +837,22 @@ void EntityType_LoadMesh(EntityType_LoadHelperStruct &helper, const int64_t mesh index = 0; bufferCopys[index].srcOffset = offsetVert; bufferCopys[index].size = sizeVert; - vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->vertexBuffer, 1, &bufferCopys[index]); + vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->vertexBD.buffer, 1, &bufferCopys[index]); index+=1; bufferCopys[index].srcOffset = offsetNorm; bufferCopys[index].size = sizeNorm; - vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->normalsBuffer, 1, &bufferCopys[index]); + vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->normalsBD.buffer, 1, &bufferCopys[index]); index+=1; bufferCopys[index].srcOffset = offsetUV; bufferCopys[index].size = sizeUV; - vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->uvBuffer, 1, &bufferCopys[index]); + vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->uvBD.buffer, 1, &bufferCopys[index]); index+=1; bufferCopys[index].srcOffset = offsetIndex; bufferCopys[index].size = sizeIndex; - vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->indexBuffer, 1, &bufferCopys[index]); + vkCmdCopyBuffer(transferCommandBuffer, transferBuffer, etdHelper.etd->grBinds->indexBD.buffer, 1, &bufferCopys[index]); // index+=1; vkEndCommandBuffer(transferCommandBuffer); @@ -1129,32 +1129,32 @@ void EntityType_Unload(EntityType &et, CompGrBinds *grBindsArr[1]) { vkDestroyDescriptorPool(vkDevice, etd.vkDescriptorPool, vkAllocator); grBinds->vkDescriptorSets = CAFE_BABE(VkDescriptorSet); } - if (grBinds->vertexBuffer != VK_NULL_HANDLE) - vkDestroyBuffer(vkDevice, grBinds->vertexBuffer, vkAllocator); - grBinds->vertexBuffer = VK_NULL_HANDLE; - grBinds->vertexFirstBinding = 0; - grBinds->vertexBindingCount = 0; - grBinds->vertexOffsets = 0; - - if (grBinds->normalsBuffer != VK_NULL_HANDLE) - vkDestroyBuffer(vkDevice, grBinds->normalsBuffer, vkAllocator); - grBinds->normalsBuffer = VK_NULL_HANDLE; - grBinds->normalsFirstBinding = 0; - grBinds->normalsBindingCount = 0; - grBinds->normalsOffsets = 0; - - if (grBinds->uvBuffer != VK_NULL_HANDLE) - vkDestroyBuffer(vkDevice, grBinds->uvBuffer, vkAllocator); - grBinds->uvBuffer = VK_NULL_HANDLE; - grBinds->uvFirstBinding = 0; - grBinds->uvBindingCount = 0; - grBinds->uvOffsets = 0; - - if (grBinds->indexBuffer != VK_NULL_HANDLE) - vkDestroyBuffer(vkDevice, grBinds->indexBuffer, vkAllocator); - grBinds->indexBuffer = VK_NULL_HANDLE; - grBinds->indexBindingCount = 0; - grBinds->indexOffsets = 0; + if (grBinds->vertexBD.buffer != VK_NULL_HANDLE) + vkDestroyBuffer(vkDevice, grBinds->vertexBD.buffer, vkAllocator); + grBinds->vertexBD.buffer = VK_NULL_HANDLE; + grBinds->vertexBD.firstBinding = 0; + grBinds->vertexBD.bindingCount = 0; + grBinds->vertexBD.offsets[0] = 0; + + if (grBinds->normalsBD.buffer != VK_NULL_HANDLE) + vkDestroyBuffer(vkDevice, grBinds->normalsBD.buffer, vkAllocator); + grBinds->normalsBD.buffer = VK_NULL_HANDLE; + grBinds->normalsBD.firstBinding = 0; + grBinds->normalsBD.bindingCount = 0; + grBinds->normalsBD.offsets[0] = 0; + + if (grBinds->uvBD.buffer != VK_NULL_HANDLE) + vkDestroyBuffer(vkDevice, grBinds->uvBD.buffer, vkAllocator); + grBinds->uvBD.buffer = VK_NULL_HANDLE; + grBinds->uvBD.firstBinding = 0; + grBinds->uvBD.bindingCount = 0; + grBinds->uvBD.offsets[0] = 0; + + if (grBinds->indexBD.buffer != VK_NULL_HANDLE) + vkDestroyBuffer(vkDevice, grBinds->indexBD.buffer, vkAllocator); + grBinds->indexBD.buffer = VK_NULL_HANDLE; + grBinds->indexBD.bindingCount = 0; + grBinds->indexBD.offsets[0] = 0; grBinds->indexCount = 0; if (grBinds->physVertBD.buffer != VK_NULL_HANDLE) |
