From 68d9a74ff417883819685a9b050d2fb370d02d08 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 26 Jan 2021 20:27:42 -0800 Subject: [PATCH] change renderArea to a pointer --- include/Refresh.h | 2 +- src/Refresh.c | 6 +++--- src/Refresh_Driver.h | 2 +- src/Refresh_Driver_Vulkan.c | 24 +++++++++++++----------- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/include/Refresh.h b/include/Refresh.h index 3f28846..48e1e36 100644 --- a/include/Refresh.h +++ b/include/Refresh.h @@ -1182,7 +1182,7 @@ REFRESHAPI void Refresh_BeginRenderPass( Refresh_CommandBuffer *commandBuffer, Refresh_RenderPass *renderPass, Refresh_Framebuffer *framebuffer, - Refresh_Rect renderArea, + Refresh_Rect *renderArea, Refresh_Color *pColorClearValues, uint32_t colorClearCount, Refresh_DepthStencilValue *depthStencilClearValue diff --git a/src/Refresh.c b/src/Refresh.c index e7ac019..6ae2316 100644 --- a/src/Refresh.c +++ b/src/Refresh.c @@ -347,7 +347,7 @@ Refresh_Texture* Refresh_CreateTexture( ); } -Refresh_RenderTarget* Refresh_CreateColorTarget( +Refresh_RenderTarget* Refresh_CreateRenderTarget( Refresh_Device *device, Refresh_TextureSlice *textureSlice, Refresh_SampleCount multisampleCount @@ -587,7 +587,7 @@ void Refresh_QueueDestroyBuffer( ); } -void Refresh_QueueDestroyColorTarget( +void Refresh_QueueDestroyRenderTarget( Refresh_Device *device, Refresh_RenderTarget *renderTarget ) { @@ -658,7 +658,7 @@ void Refresh_BeginRenderPass( Refresh_CommandBuffer *commandBuffer, Refresh_RenderPass *renderPass, Refresh_Framebuffer *framebuffer, - Refresh_Rect renderArea, + Refresh_Rect *renderArea, Refresh_Color *pColorClearValues, uint32_t colorClearCount, Refresh_DepthStencilValue *depthStencilClearValue diff --git a/src/Refresh_Driver.h b/src/Refresh_Driver.h index de15d2b..b7c34eb 100644 --- a/src/Refresh_Driver.h +++ b/src/Refresh_Driver.h @@ -408,7 +408,7 @@ struct Refresh_Device Refresh_CommandBuffer *commandBuffer, Refresh_RenderPass *renderPass, Refresh_Framebuffer *framebuffer, - Refresh_Rect renderArea, + Refresh_Rect *renderArea, Refresh_Color *pColorClearValues, uint32_t colorClearCount, Refresh_DepthStencilValue *depthStencilClearValue diff --git a/src/Refresh_Driver_Vulkan.c b/src/Refresh_Driver_Vulkan.c index 0a0f82b..d7aeaf2 100644 --- a/src/Refresh_Driver_Vulkan.c +++ b/src/Refresh_Driver_Vulkan.c @@ -2217,27 +2217,27 @@ static void VULKAN_INTERNAL_DestroyTexture( static void VULKAN_INTERNAL_DestroyRenderTarget( VulkanRenderer *renderer, - VulkanRenderTarget *colorTarget + VulkanRenderTarget *renderTargetTarget ) { renderer->vkDestroyImageView( renderer->logicalDevice, - colorTarget->view, + renderTargetTarget->view, NULL ); - /* The texture is not owned by the ColorTarget + /* The texture is not owned by the RenderTarget * so we don't free it here * But the multisampleTexture is! */ - if (colorTarget->multisampleTexture != NULL) + if (renderTargetTarget->multisampleTexture != NULL) { VULKAN_INTERNAL_DestroyTexture( renderer, - colorTarget->multisampleTexture + renderTargetTarget->multisampleTexture ); } - SDL_free(colorTarget); + SDL_free(renderTargetTarget); } static void VULKAN_INTERNAL_DestroyBuffer( @@ -7105,7 +7105,7 @@ static void VULKAN_BeginRenderPass( Refresh_CommandBuffer *commandBuffer, Refresh_RenderPass *renderPass, Refresh_Framebuffer *framebuffer, - Refresh_Rect renderArea, + Refresh_Rect *renderArea, Refresh_Color *pColorClearValues, uint32_t colorClearCount, Refresh_DepthStencilValue *depthStencilClearValue @@ -7189,10 +7189,10 @@ static void VULKAN_BeginRenderPass( renderPassBeginInfo.pNext = NULL; renderPassBeginInfo.renderPass = (VkRenderPass) renderPass; renderPassBeginInfo.framebuffer = vulkanFramebuffer->framebuffer; - renderPassBeginInfo.renderArea.extent.width = renderArea.w; - renderPassBeginInfo.renderArea.extent.height = renderArea.h; - renderPassBeginInfo.renderArea.offset.x = renderArea.x; - renderPassBeginInfo.renderArea.offset.y = renderArea.y; + renderPassBeginInfo.renderArea.extent.width = renderArea->w; + renderPassBeginInfo.renderArea.extent.height = renderArea->h; + renderPassBeginInfo.renderArea.offset.x = renderArea->x; + renderPassBeginInfo.renderArea.offset.y = renderArea->y; renderPassBeginInfo.pClearValues = clearValues; renderPassBeginInfo.clearValueCount = clearCount; @@ -9471,6 +9471,8 @@ static Refresh_Device* VULKAN_INTERNAL_CreateDevice( renderer->submittedRenderPassesToDestroyCapacity ); + renderer->frameIndex = 0; + return result; }