From: Jean-Philippe Bruyère Date: Mon, 4 Aug 2025 09:52:09 +0000 (+0200) Subject: vkCreateInstance result in app->status X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=refs%2Fheads%2Fdev;p=jp%2Fvkhelpers.git vkCreateInstance result in app->status --- diff --git a/include/vkh.h b/include/vkh.h index 3e9a95b..1438055 100644 --- a/include/vkh.h +++ b/include/vkh.h @@ -130,11 +130,10 @@ typedef enum VkhMemoryUsage { #endif #endif - -#define VKH_LOG_ERR 0x00000001 -#define VKH_LOG_DEBUG 0x00000002 -#define VKH_LOG_INFO 0x00000004 -#define VKH_LOG_FULL 0xffffffff +#define VKH_LOG_ERR 0x00000001 +#define VKH_LOG_DEBUG 0x00000002 +#define VKH_LOG_INFO 0x00000004 +#define VKH_LOG_FULL 0xffffffff #ifdef DEBUG extern uint32_t vkh_log_level; @@ -144,7 +143,7 @@ extern uint32_t vkh_log_level; #ifdef DEBUG #define LOG(level, ...) \ { \ - if ((vkh_log_level) & (level)) \ + if ((vkh_log_level) & (level)) \ fprintf(stdout, __VA_ARGS__); \ } #else @@ -156,21 +155,20 @@ extern uint32_t vkh_log_level; { \ VkResult res = (f); \ if (res != VK_SUCCESS) { \ - LOG(VKH_LOG_ERR, "Fatal : VkResult is %d in %s at line %d\n", res, __FILE__, __LINE__); \ + LOG(VKH_LOG_ERR, "Fatal : VkResult is %d in %s at line %d\n", res, __FILE__, __LINE__); \ assert(res == VK_SUCCESS); \ } \ } #define VKH_CHECK_RESULT(status, f) \ { \ - status = (f); \ - if (status != VK_SUCCESS) { \ - LOG(VKH_LOG_ERR, "Fatal : VkResult is %d in %s at line %d\n", status, __FILE__, __LINE__); \ - assert(status == VK_SUCCESS); \ + status = (f); \ + if (status != VK_SUCCESS) { \ + LOG(VKH_LOG_ERR, "Fatal : VkResult is %d in %s at line %d\n", status, __FILE__, __LINE__); \ + assert(status == VK_SUCCESS); \ } \ } - typedef struct _vkh_app_t *VkhApp; typedef struct _vkh_phy_t *VkhPhyInfo; typedef struct _vkh_device_t *VkhDevice; @@ -182,16 +180,16 @@ typedef struct _vkh_presenter_t *VkhPresenter; /************* * VkhApp * *************/ -vkh_public VkhApp vkh_app_create(uint32_t version_major, uint32_t version_minor, const char *app_name, - uint32_t enabledLayersCount, const char **enabledLayers, uint32_t ext_count, - const char *extentions[]); -vkh_public void vkh_app_destroy(VkhApp app); +vkh_public VkhApp vkh_app_create(uint32_t version_major, uint32_t version_minor, const char *app_name, + uint32_t enabledLayersCount, const char **enabledLayers, uint32_t ext_count, + const char *extentions[]); +vkh_public void vkh_app_destroy(VkhApp app); /** * @brief Get current status of vkh application * @param app * @return VkResult */ -vkh_public VkResult vkh_app_status (VkhApp app); +vkh_public VkResult vkh_app_status(VkhApp app); vkh_public VkInstance vkh_app_get_inst(VkhApp app); // VkPhysicalDevice vkh_app_select_phy (VkhApp app, VkPhysicalDeviceType preferedPhyType); vkh_public VkhPhyInfo *vkh_app_get_phyinfos(VkhApp app, uint32_t *count, VkSurfaceKHR surface); @@ -203,9 +201,9 @@ vkh_public void vkh_app_free_phyinfos(uint32_t count, VkhPhyInfo *infos); * @param Message severity flags. * @param optional message callback, if null a default one which print to stdout is configured. */ -vkh_public void vkh_app_enable_debug_messenger(VkhApp app, VkDebugUtilsMessageTypeFlagsEXT typeFlags, - VkDebugUtilsMessageSeverityFlagsEXT severityFlags, - PFN_vkDebugUtilsMessengerCallbackEXT callback); +vkh_public void vkh_app_enable_debug_messenger(VkhApp app, VkDebugUtilsMessageTypeFlagsEXT typeFlags, + VkDebugUtilsMessageSeverityFlagsEXT severityFlags, + PFN_vkDebugUtilsMessengerCallbackEXT callback); vkh_public VkPhysicalDeviceProperties vkh_app_get_phy_properties(VkhApp app, uint32_t phyIndex); @@ -256,7 +254,7 @@ vkh_public void vkh_device_set_object_name(VkhDevice dev, VkObjectType objectTyp vkh_public VkSampler vkh_device_create_sampler(VkhDevice dev, VkFilter magFilter, VkFilter minFilter, VkSamplerMipmapMode mipmapMode, VkSamplerAddressMode addressMode); -vkh_public void vkh_device_destroy_sampler(VkhDevice dev, VkSampler sampler); +vkh_public void vkh_device_destroy_sampler(VkhDevice dev, VkSampler sampler); /**************** * VkhPresenter * @@ -264,9 +262,9 @@ vkh_public void vkh_device_destroy_sampler(VkhDevice dev, VkSampler sampler); vkh_public VkhPresenter vkh_presenter_create(VkhDevice dev, uint32_t presentQueueFamIdx, VkSurfaceKHR surface, uint32_t width, uint32_t height, VkFormat preferedFormat, VkPresentModeKHR presentMode); -vkh_public void vkh_presenter_destroy(VkhPresenter r); -vkh_public bool vkh_presenter_draw(VkhPresenter r); -vkh_public bool vkh_presenter_acquireNextImage(VkhPresenter r, VkFence fence, VkSemaphore semaphore); +vkh_public void vkh_presenter_destroy(VkhPresenter r); +vkh_public bool vkh_presenter_draw(VkhPresenter r); +vkh_public bool vkh_presenter_acquireNextImage(VkhPresenter r, VkFence fence, VkSemaphore semaphore); vkh_public void vkh_presenter_build_blit_cmd(VkhPresenter r, VkImage blitSource, uint32_t width, uint32_t height); vkh_public void vkh_presenter_create_swapchain(VkhPresenter r); vkh_public void vkh_presenter_get_size(VkhPresenter r, uint32_t *pWidth, uint32_t *pHeight); diff --git a/src/deps/tinycthread.h b/src/deps/tinycthread.h index eaacfbe..d1b58f5 100644 --- a/src/deps/tinycthread.h +++ b/src/deps/tinycthread.h @@ -250,7 +250,7 @@ typedef struct { CRITICAL_SECTION mWaitersCountLock; /* Serialize access to mWaitersCount. */ } cnd_t; #else -typedef pthread_cond_t cnd_t; +typedef pthread_cond_t cnd_t; #endif /** Create a condition variable object. @@ -315,7 +315,7 @@ int cnd_timedwait(cnd_t *cond, mtx_t *mtx, const struct timespec *ts); #if defined(_TTHREAD_WIN32_) typedef HANDLE thrd_t; #else -typedef pthread_t thrd_t; +typedef pthread_t thrd_t; #endif /** Thread start function. @@ -396,7 +396,7 @@ void thrd_yield(void); #if defined(_TTHREAD_WIN32_) typedef DWORD tss_t; #else -typedef pthread_key_t tss_t; +typedef pthread_key_t tss_t; #endif /** Destructor function for a thread-specific storage. diff --git a/src/vkh_app.c b/src/vkh_app.c index a42068c..878ccb3 100644 --- a/src/vkh_app.c +++ b/src/vkh_app.c @@ -25,7 +25,7 @@ #define ENGINE_VERSION 1 uint32_t vkh_log_level = VKH_LOG_DEBUG; -//default debug messenger callback enabled with 'vkh_app_enable_debug_messenger' +// default debug messenger callback enabled with 'vkh_app_enable_debug_messenger' VkBool32 debugUtilsMessengerCallback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData) { @@ -65,7 +65,8 @@ VkhApp vkh_app_create(uint32_t version_major, uint32_t version_minor, const char const char **enabledLayers, uint32_t ext_count, const char *extentions[]) { uint32_t apiVersion; vkEnumerateInstanceVersion(&apiVersion); - LOG(VKH_LOG_INFO, "VkhApp create: instance api version = %d.%d", VK_API_VERSION_MAJOR(apiVersion), VK_API_VERSION_MINOR(apiVersion)); + LOG(VKH_LOG_INFO, "VkhApp create: instance api version = %d.%d", VK_API_VERSION_MAJOR(apiVersion), + VK_API_VERSION_MINOR(apiVersion)); VkhApp app = (VkhApp)malloc(sizeof(vkh_app_t)); if (!app) { @@ -91,7 +92,8 @@ VkhApp vkh_app_create(uint32_t version_major, uint32_t version_minor, const char .enabledLayerCount = enabledLayersCount, .ppEnabledLayerNames = enabledLayers}; - VKH_CHECK_RESULT(app->status, vkCreateInstance(&inst_info, NULL, &app->inst)); + //VKH_CHECK_RESULT(app->status, vkCreateInstance(&inst_info, NULL, &app->inst)); + app->status = vkCreateInstance(&inst_info, NULL, &app->inst); app->infos = infos; app->debugMessenger = VK_NULL_HANDLE; return app; @@ -106,7 +108,7 @@ void vkh_app_destroy(VkhApp app) { vkDestroyInstance(app->inst, NULL); free(app); } -VkResult vkh_app_status(VkhApp app) { return app==NULL ? VK_ERROR_UNKNOWN : app->status; } +VkResult vkh_app_status(VkhApp app) { return app == NULL ? VK_ERROR_UNKNOWN : app->status; } VkInstance vkh_app_get_inst(VkhApp app) { return vkh_app_status(app) ? VK_NULL_HANDLE : app->inst; } diff --git a/src/vkh_device.c b/src/vkh_device.c index 66ec7a7..077c2ed 100644 --- a/src/vkh_device.c +++ b/src/vkh_device.c @@ -53,7 +53,7 @@ VkhDevice vkh_device_import(VkInstance inst, VkPhysicalDevice phy, VkDevice vkDe return dev; } -VkResult vkh_device_status(VkhDevice dev) { return dev==NULL ? VK_ERROR_UNKNOWN : dev->status; } +VkResult vkh_device_status(VkhDevice dev) { return dev == NULL ? VK_ERROR_UNKNOWN : dev->status; } VkDevice vkh_device_get_vkdev(VkhDevice dev) { return vkh_device_status(dev) ? VK_NULL_HANDLE : dev->dev; } VkPhysicalDevice vkh_device_get_phy(VkhDevice dev) { return vkh_device_status(dev) ? VK_NULL_HANDLE : dev->phy; } VkhApp vkh_device_get_app(VkhDevice dev) { return vkh_device_status(dev) ? NULL : dev->vkhApplication; } diff --git a/src/vkh_device.h b/src/vkh_device.h index b21e41d..16c449a 100644 --- a/src/vkh_device.h +++ b/src/vkh_device.h @@ -40,7 +40,7 @@ typedef struct _vkh_device_t { #ifdef VKH_USE_VMA VmaAllocator allocator; #endif - VkhApp vkhApplication; + VkhApp vkhApplication; VkResult status; } vkh_device_t; diff --git a/src/vkh_image.c b/src/vkh_image.c index fc2ac3e..729bf61 100644 --- a/src/vkh_image.c +++ b/src/vkh_image.c @@ -54,7 +54,8 @@ VkhImage _vkh_image_create(VkhDevice pDev, VkImageType imageType, VkFormat forma img->view = VK_NULL_HANDLE;*/ #ifdef VKH_USE_VMA VmaAllocationCreateInfo allocInfo = {.usage = (VmaMemoryUsage)memprops}; - VKH_CHECK_RESULT(img->status, vmaCreateImage(pDev->allocator, pInfo, &allocInfo, &img->image, &img->alloc, &img->allocInfo)); + VKH_CHECK_RESULT(img->status, + vmaCreateImage(pDev->allocator, pInfo, &allocInfo, &img->image, &img->alloc, &img->allocInfo)); #else VK_CHECK_RESULT(vkCreateImage(pDev->dev, pInfo, NULL, &img->image)); VkMemoryRequirements memReq; @@ -108,7 +109,7 @@ void vkh_image_reference(VkhImage img) { img->references++; mtx_unlock(&img->mutex); } -VkResult vkh_image_status(VkhImage img) { return img==NULL ? VK_ERROR_UNKNOWN : img->status; } +VkResult vkh_image_status(VkhImage img) { return img == NULL ? VK_ERROR_UNKNOWN : img->status; } VkhImage vkh_tex2d_array_create(VkhDevice pDev, VkFormat format, uint32_t width, uint32_t height, uint32_t layers, VkhMemoryUsage memprops, VkImageUsageFlags usage) { diff --git a/src/vkh_presenter.c b/src/vkh_presenter.c index 6c51233..aca6590 100644 --- a/src/vkh_presenter.c +++ b/src/vkh_presenter.c @@ -48,7 +48,7 @@ VkhPresenter vkh_presenter_create(VkhDevice dev, uint32_t presentQueueFamIdx, Vk r->height = height; vkGetDeviceQueue(r->dev->dev, r->qFam, 0, &r->queue); - r->cmdPool = vkh_cmd_pool_create(r->dev, presentQueueFamIdx, 0); + r->cmdPool = vkh_cmd_pool_create(r->dev, presentQueueFamIdx, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT); r->semaPresentEnd = vkh_semaphore_create(r->dev); r->semaDrawEnd = vkh_semaphore_create(r->dev); r->fenceDraw = vkh_fence_create_signaled(r->dev);