Only call vkGetPhysicalDeviceMemoryProperties once
This commit is contained in:
parent
da6f245c79
commit
d946ba28e3
2 changed files with 8 additions and 7 deletions
|
@ -37,7 +37,7 @@ public:
|
|||
|
||||
VkShaderModule createShader(const char* path);
|
||||
|
||||
uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties);
|
||||
uint32_t findMemoryType(const uint32_t typeFilter, const VkMemoryPropertyFlags properties);
|
||||
|
||||
void fillMeshBuffers(Mesh* mesh);
|
||||
void destroyMeshBuffers(Mesh* mesh);
|
||||
|
@ -75,6 +75,8 @@ private:
|
|||
#endif
|
||||
|
||||
VkPhysicalDevice physicalDevice_ = nullptr;
|
||||
VkPhysicalDeviceMemoryProperties deviceMemoryProperties_ = {};
|
||||
|
||||
VkDevice device_ = nullptr;
|
||||
|
||||
struct {
|
||||
|
|
|
@ -278,12 +278,9 @@ VkShaderModule Renderer::createShader(const char* path) {
|
|||
return shaderModule;
|
||||
}
|
||||
|
||||
uint32_t Renderer::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) {
|
||||
VkPhysicalDeviceMemoryProperties memProperties;
|
||||
vkGetPhysicalDeviceMemoryProperties(physicalDevice_, &memProperties);
|
||||
|
||||
for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) {
|
||||
if ((typeFilter & (1 << i)) && (memProperties.memoryTypes[i].propertyFlags & properties) == properties) {
|
||||
uint32_t Renderer::findMemoryType(const uint32_t typeFilter, const VkMemoryPropertyFlags properties) {
|
||||
for (uint32_t i = 0; i < deviceMemoryProperties_.memoryTypeCount; i++) {
|
||||
if ((typeFilter & (1 << i)) && (deviceMemoryProperties_.memoryTypes[i].propertyFlags & properties) == properties) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
@ -440,6 +437,8 @@ void Renderer::createLogicalDevice() {
|
|||
|
||||
delete[] physicalDevices;
|
||||
|
||||
vkGetPhysicalDeviceMemoryProperties(physicalDevice_, &deviceMemoryProperties_);
|
||||
|
||||
uint32_t queueFamilyPropertiesCount = 0;
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice_, &queueFamilyPropertiesCount, nullptr);
|
||||
|
||||
|
|
Reference in a new issue