summaryrefslogtreecommitdiff
path: root/src/entities.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-01-16 14:57:16 -0500
committerJonathan Bradley <jcb@pikum.xyz>2025-01-16 14:57:16 -0500
commit15524958f409b1f13a1deffc4dd8c1fbddefaf28 (patch)
tree803313d44006be0f35e393e43a04b02dbed82989 /src/entities.cpp
parent727c5e90798455703b88834aa864df94837e8956 (diff)
pke: CompGrBinds sub-structs
Diffstat (limited to 'src/entities.cpp')
-rw-r--r--src/entities.cpp90
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)