diff options
| -rwxr-xr-x | main.c | 14 | 
1 files changed, 14 insertions, 0 deletions
| @@ -173,6 +173,7 @@ struct VulkanDev {  	PFN_vkDestroySemaphore		vkDestroySemaphore;  	PFN_vkCreateFence		vkCreateFence;  	PFN_vkDestroyFence		vkDestroyFence; +	PFN_vkGetFenceStatus		vkGetFenceStatus;  	PFN_vkAcquireNextImageKHR	vkAcquireNextImageKHR;  	PFN_vkWaitForFences		vkWaitForFences;  	PFN_vkResetFences		vkResetFences; @@ -1091,6 +1092,13 @@ static int rvkLoadDeviceFunctions(struct RenderVulkan *vk, VkDevice device)  		return -1;  	} +	static const char *const _vkGetFenceStatus = "vkGetFenceStatus"; +	vk->dev->vkGetFenceStatus = (PFN_vkGetFenceStatus)vk->api->vkGetDeviceProcAddr(device, _vkGetFenceStatus); +	if (!vk->dev->vkGetFenceStatus) { +		rvkSetErrMsg(vk, strErrLd, _vkGetFenceStatus); +		return -1; +	} +  	static const char *const _vkDestroySemaphore = "vkDestroySemaphore";  	vk->dev->vkDestroySemaphore = (PFN_vkDestroySemaphore)vk->api->vkGetDeviceProcAddr(device, _vkDestroySemaphore);  	if (!vk->dev->vkDestroySemaphore) { @@ -1661,6 +1669,7 @@ PuglStatus onDisplay(PuglView *view)  	struct RenderVulkan *vk = puglGetHandle(view);  	uint32_t imageIndex;  	VkResult result; +  	if ((result = vk->dev->vkAcquireNextImageKHR(  			vk->device,  			vk->swapchain.rawSwapchain, @@ -1729,6 +1738,11 @@ PuglStatus onEvent(PuglView *view, const PuglEvent *e)  		case PUGL_CLOSE:  			running = 0;  			break; +		case PUGL_KEY_PRESS: +			if (e->key.key == PUGL_KEY_ESCAPE) { +				running = 0; +			} +			break;  		default:  			break;  	} | 
