From f229c15bad1329e3b9332ba0f1cfb666a97e4e13 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Fri, 27 Jun 2025 11:52:29 +0200 Subject: [PATCH 1/2] yes --- kvf.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kvf.h b/kvf.h index eadc889..1308495 100755 --- a/kvf.h +++ b/kvf.h @@ -51,7 +51,7 @@ #ifndef KBZ_8_VULKAN_FRAMEWORK_H #define KBZ_8_VULKAN_FRAMEWORK_H -#ifdef KVF_IMPL_VK_NO_PROTOTYPES +#if defined(KVF_IMPL_VK_NO_PROTOTYPES) && !defined(VK_NO_PROTOTYPES) #define VK_NO_PROTOTYPES #endif @@ -159,7 +159,7 @@ VkSampler kvfCreateSampler(VkDevice device, VkFilter filters, VkSamplerAddressMo void kvfDestroySampler(VkDevice device, VkSampler sampler); VkBuffer kvfCreateBuffer(VkDevice device, VkBufferUsageFlags usage, VkDeviceSize size); -void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size); +void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size, size_t src_offset, size_t dst_offset); void kvfCopyBufferToImage(VkCommandBuffer cmd, VkImage dst, VkBuffer src, size_t buffer_offset, VkImageAspectFlagBits aspect, VkExtent3D extent); void kvfDestroyBuffer(VkDevice device, VkBuffer buffer); @@ -374,12 +374,12 @@ void kvfCheckVk(VkResult result); #ifdef KVF_DESCRIPTOR_POOL_CAPACITY #undef KVF_DESCRIPTOR_POOL_CAPACITY #endif -#define KVF_DESCRIPTOR_POOL_CAPACITY 512 +#define KVF_DESCRIPTOR_POOL_CAPACITY 1024 #ifdef KVF_COMMAND_POOL_CAPACITY #undef KVF_COMMAND_POOL_CAPACITY #endif -#define KVF_COMMAND_POOL_CAPACITY 512 +#define KVF_COMMAND_POOL_CAPACITY 1024 typedef struct { @@ -560,6 +560,7 @@ void __kvfCompleteDevice(VkPhysicalDevice physical, VkDevice device) kvf_device->device = device; kvf_device->cmd_pool = pool; + kvf_device->callbacks = NULL; kvf_device->sets_pools = NULL; kvf_device->sets_pools_size = 0; kvf_device->cmd_buffers_size = 0; @@ -2277,7 +2278,7 @@ VkBuffer kvfCreateBuffer(VkDevice device, VkBufferUsageFlags usage, VkDeviceSize return buffer; } -void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size) +void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size_t size, size_t src_offset, size_t dst_offset) { KVF_ASSERT(cmd != VK_NULL_HANDLE); KVF_ASSERT(dst != VK_NULL_HANDLE); @@ -2288,6 +2289,8 @@ void kvfCopyBufferToBuffer(VkCommandBuffer cmd, VkBuffer dst, VkBuffer src, size #endif VkBufferCopy copy_region = {}; copy_region.size = size; + copy_region.srcOffset = src_offset; + copy_region.dstOffset = dst_offset; KVF_GET_DEVICE_FUNCTION(vkCmdCopyBuffer)(cmd, src, dst, 1, ©_region); } @@ -2543,7 +2546,7 @@ VkAttachmentDescription kvfBuildAttachmentDescription(KvfImageType type, VkForma __KvfSwapchain* kvf_swapchain = __kvfGetKvfSwapchainFromVkSwapchainKHR(swapchain); KVF_ASSERT(kvf_swapchain != NULL); KVF_ASSERT(kvf_swapchain->images_count != 0); - return kvfBuildAttachmentDescription(KVF_IMAGE_COLOR, kvf_swapchain->images_format, VK_IMAGE_LAYOUT_UNDEFINED,VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, clear, VK_SAMPLE_COUNT_1_BIT); + return kvfBuildAttachmentDescription(KVF_IMAGE_COLOR, kvf_swapchain->images_format, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, clear, VK_SAMPLE_COUNT_1_BIT); } #endif From 99647be837db5faccc767f392fe3260dddec7213 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Thu, 23 Oct 2025 08:25:42 +0200 Subject: [PATCH 2/2] fixing swiftshaders physical device selection --- kvf.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/kvf.h b/kvf.h index 1308495..f33c53c 100755 --- a/kvf.h +++ b/kvf.h @@ -1,7 +1,7 @@ /*** * MIT License * - * Copyright (c) 2023-2024 kbz_8 + * Copyright (c) 2023-2025 kbz_8 * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -1475,9 +1475,6 @@ int32_t __kvfScorePhysicalDevice(VkPhysicalDevice device, VkSurfaceKHR surface, if(device_props.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) score += 1000; - if(!device_features.geometryShader) - return -1; - score += device_props.limits.maxImageDimension2D; score += device_props.limits.maxBoundDescriptorSets;