Browse Source

[buffer_cache] Force offsets to 0 on descriptors and use VK_WHOLE_SIZE instead

lsfg-android
CamilleLaVey 4 weeks ago
parent
commit
3ddf349ca1
  1. 6
      src/video_core/renderer_vulkan/vk_buffer_cache.h
  2. 3
      src/video_core/vulkan_common/vulkan_device.cpp

6
src/video_core/renderer_vulkan/vk_buffer_cache.h

@ -167,7 +167,11 @@ public:
private:
void BindBuffer(VkBuffer buffer, u32 offset, u32 size) {
guest_descriptor_queue.AddBuffer(buffer, offset, size);
if (buffer == VK_NULL_HANDLE) {
guest_descriptor_queue.AddBuffer(buffer, 0, VK_WHOLE_SIZE);
} else {
guest_descriptor_queue.AddBuffer(buffer, offset, size);
}
}
void ReserveNullBuffer();

3
src/video_core/vulkan_common/vulkan_device.cpp

@ -495,7 +495,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
LOG_WARNING(Render_Vulkan, "Qualcomm drivers require scaled vertex format emulation");
must_emulate_scaled_formats = true;
LOG_WARNING(Render_Vulkan, "Qualcomm drivers have broken CustomBorderColor.");
RemoveExtension(extensions.custom_border_color, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME);
RemoveExtensionFeature(extensions.custom_border_color, features.custom_border_color,
VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME);
LOG_WARNING(Render_Vulkan, "Qualcomm drivers have broken Provoking Vertex.");
RemoveExtension(extensions.provoking_vertex, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME);
LOG_WARNING(Render_Vulkan, "Qualcomm drivers have slow push descriptor implementation.");

Loading…
Cancel
Save