Introduce ArrayWrapper?D, replacing ConstExpression?DArrayCopy

+ no explicit copy constructor of structs needed any more
+ removed assignment operator of structs that don't hold a const sType member (for those, we still need the assignment operator!)
+ simplified operator==() of structs (pre C++20)
+ resolved some 32bit warnings
This commit is contained in:
asuessenbach
2020-03-23 14:59:37 +01:00
committed by Markus Tavenrath
parent b7310d6c19
commit 0ea8a527ba
8 changed files with 406 additions and 5443 deletions

View File

@@ -86,7 +86,7 @@ int main(int /*argc*/, char ** /*argv*/)
model = glm::translate(model, glm::vec3(-1.5f, 1.5f, -1.5f));
mvpcs[1] = clip * projection * view * model;
VkDeviceSize bufferSize = sizeof(glm::mat4x4);
vk::DeviceSize bufferSize = sizeof(glm::mat4x4);
if (limits.minUniformBufferOffsetAlignment)
{
bufferSize = (bufferSize + limits.minUniformBufferOffsetAlignment - 1) & ~(limits.minUniformBufferOffsetAlignment - 1);

View File

@@ -127,7 +127,7 @@ int main(int /*argc*/, char ** /*argv*/)
{
// Determine cache size
readCacheStream.seekg(0, readCacheStream.end);
startCacheSize = readCacheStream.tellg();
startCacheSize = vk::su::checked_cast<size_t>(readCacheStream.tellg());
readCacheStream.seekg(0, readCacheStream.beg);
// Allocate memory to hold the initial cache data

View File

@@ -47,7 +47,7 @@ namespace vk
}
template <class T>
void copyToDevice(vk::UniqueDevice const& device, vk::UniqueDeviceMemory const& memory, T const* pData, size_t count, size_t stride = sizeof(T))
void copyToDevice(vk::UniqueDevice const& device, vk::UniqueDeviceMemory const& memory, T const* pData, size_t count, vk::DeviceSize stride = sizeof(T))
{
assert(sizeof(T) <= stride);
uint8_t* deviceData = static_cast<uint8_t*>(device->mapMemory(memory.get(), 0, count * stride));