memory system tweaks

remotes/1715311535680669863/main
cosmonaut 2024-02-11 15:56:53 -08:00
parent c99b4cdfa1
commit b78d01592b
1 changed files with 10 additions and 20 deletions

View File

@ -3003,8 +3003,7 @@ static uint8_t VULKAN_INTERNAL_BindMemoryForBuffer(
else else
{ {
ignoredMemoryPropertyFlags = ignoredMemoryPropertyFlags =
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
} }
if (preferDeviceLocal) if (preferDeviceLocal)
@ -3044,20 +3043,13 @@ static uint8_t VULKAN_INTERNAL_BindMemoryForBuffer(
} }
/* Bind failed, try again if originally preferred device local */ /* Bind failed, try again if originally preferred device local */
if (bindResult != 1 && preferDeviceLocal) if (bindResult != 1)
{ {
memoryTypeIndex = 0; memoryTypeIndex = 0;
requiredMemoryPropertyFlags = 0;
if (requireHostVisible)
{
requiredMemoryPropertyFlags = requiredMemoryPropertyFlags =
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
}
ignoredMemoryPropertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
/* Follow-up for the warning logged by FindMemoryType */ /* Follow-up for the warning logged by FindMemoryType */
if (!renderer->unifiedMemoryWarning) if (!renderer->unifiedMemoryWarning)
@ -4283,8 +4275,7 @@ static VulkanBufferContainer* VULKAN_INTERNAL_CreateBufferContainer(
VulkanRenderer *renderer, VulkanRenderer *renderer,
uint32_t sizeInBytes, uint32_t sizeInBytes,
VulkanResourceAccessType resourceAccessType, VulkanResourceAccessType resourceAccessType,
VkBufferUsageFlags usageFlags, VkBufferUsageFlags usageFlags
uint8_t dedicated
) { ) {
VulkanBufferContainer* bufferContainer; VulkanBufferContainer* bufferContainer;
VulkanBuffer* buffer; VulkanBuffer* buffer;
@ -4299,7 +4290,7 @@ static VulkanBufferContainer* VULKAN_INTERNAL_CreateBufferContainer(
usageFlags, usageFlags,
0, 0,
1, 1,
dedicated 0
); );
if (buffer == NULL) if (buffer == NULL)
@ -7130,8 +7121,7 @@ static Refresh_Buffer* VULKAN_CreateBuffer(
(VulkanRenderer*) driverData, (VulkanRenderer*) driverData,
sizeInBytes, sizeInBytes,
resourceAccessType, resourceAccessType,
vulkanUsageFlags, vulkanUsageFlags
0
); );
} }
@ -7213,7 +7203,7 @@ static VulkanTransferBuffer* VULKAN_INTERNAL_AcquireTransferBuffer(
RESOURCE_ACCESS_TRANSFER_READ_WRITE, RESOURCE_ACCESS_TRANSFER_READ_WRITE,
VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT,
1, 1,
1, 0,
1 1
); );
transferBuffer->fromPool = 0; transferBuffer->fromPool = 0;
@ -12133,7 +12123,7 @@ static Refresh_Device* VULKAN_CreateDevice(
RESOURCE_ACCESS_TRANSFER_READ_WRITE, RESOURCE_ACCESS_TRANSFER_READ_WRITE,
VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT,
1, 1,
1, 0,
1 1
); );