forked from MoonsideGames/Refresh
				
			Compare commits
	
		
			2 Commits 
		
	
	
		
			528abfad76
			...
			2087ecbd87
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 2087ecbd87 | |
|  | 124f202d2c | 
|  | @ -446,12 +446,6 @@ typedef struct Refresh_ColorAttachmentBlendState | |||
| 	Refresh_ColorComponentFlags colorWriteMask; | ||||
| } Refresh_ColorAttachmentBlendState; | ||||
| 
 | ||||
| typedef struct Refresh_ComputePipelineLayoutCreateInfo | ||||
| { | ||||
| 	uint32_t bufferBindingCount; | ||||
| 	uint32_t imageBindingCount; | ||||
| } Refresh_ComputePipelineLayoutCreateInfo; | ||||
| 
 | ||||
| typedef struct Refresh_ShaderModuleCreateInfo | ||||
| { | ||||
| 	size_t codeSize; | ||||
|  | @ -760,6 +754,11 @@ REFRESHAPI Refresh_Buffer* Refresh_CreateBuffer( | |||
| /* Setters */ | ||||
| 
 | ||||
| /* Uploads image data to a texture object.
 | ||||
|  * | ||||
|  * NOTE:  | ||||
|  *	DO NOT expect this to execute in sequence relative to other commands! | ||||
|  *	Calling SetTextureData in a command buffer that also references the | ||||
|  *      texture may result in undefined behavior. | ||||
|  * | ||||
|  * 	textureSlice:		The texture slice to be updated. | ||||
|  * 	data:				A pointer to the image data. | ||||
|  | @ -1036,7 +1035,9 @@ REFRESHAPI void Refresh_SetScissor( | |||
| 	Refresh_Rect *scissor | ||||
| ); | ||||
| 
 | ||||
| /* Binds vertex buffers for use with subsequent draw calls. */ | ||||
| /* Binds vertex buffers for use with subsequent draw calls.
 | ||||
|  * Note that this may only be called after binding a graphics pipeline. | ||||
|  */ | ||||
| REFRESHAPI void Refresh_BindVertexBuffers( | ||||
| 	Refresh_Device *device, | ||||
| 	Refresh_CommandBuffer *commandBuffer, | ||||
|  |  | |||
|  | @ -2672,11 +2672,6 @@ static void VULKAN_INTERNAL_BufferMemoryBarrier( | |||
| 	VulkanResourceAccessType prevAccess, nextAccess; | ||||
| 	const VulkanResourceAccessInfo *prevAccessInfo, *nextAccessInfo; | ||||
| 
 | ||||
| 	if (buffer->resourceAccessType == nextResourceAccessType) | ||||
| 	{ | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	memoryBarrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; | ||||
| 	memoryBarrier.pNext = NULL; | ||||
| 	memoryBarrier.srcAccessMask = 0; | ||||
|  | @ -2751,11 +2746,6 @@ static void VULKAN_INTERNAL_ImageMemoryBarrier( | |||
| 	VulkanResourceAccessType prevAccess; | ||||
| 	const VulkanResourceAccessInfo *pPrevAccessInfo, *pNextAccessInfo; | ||||
| 
 | ||||
| 	if (*resourceAccessType == nextAccess) | ||||
| 	{ | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	memoryBarrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; | ||||
| 	memoryBarrier.pNext = NULL; | ||||
| 	memoryBarrier.srcAccessMask = 0; | ||||
|  | @ -3836,8 +3826,7 @@ static void VULKAN_INTERNAL_BindUniformBuffer( | |||
| 
 | ||||
| static uint8_t VULKAN_INTERNAL_CreateUniformBuffer( | ||||
| 	VulkanRenderer *renderer, | ||||
| 	VulkanUniformBufferPool *bufferPool, | ||||
| 	VkDeviceSize blockSize | ||||
| 	VulkanUniformBufferPool *bufferPool | ||||
| ) { | ||||
| 	VulkanResourceAccessType resourceAccessType; | ||||
| 	VkDescriptorSetLayout descriptorSetLayout; | ||||
|  | @ -4043,7 +4032,7 @@ static VulkanUniformBuffer* VULKAN_INTERNAL_AcquireUniformBufferFromPool( | |||
| 
 | ||||
| 	if (bufferPool->availableBufferCount == 0) | ||||
| 	{ | ||||
| 		if (!VULKAN_INTERNAL_CreateUniformBuffer(renderer, bufferPool, blockSize)) | ||||
| 		if (!VULKAN_INTERNAL_CreateUniformBuffer(renderer, bufferPool)) | ||||
| 		{ | ||||
| 			SDL_UnlockMutex(bufferPool->lock); | ||||
| 			Refresh_LogError("Failed to create uniform buffer!"); | ||||
|  | @ -6855,12 +6844,6 @@ static void VULKAN_SetTextureData( | |||
| 	uint32_t bufferRowLength; | ||||
| 	uint32_t bufferImageHeight; | ||||
| 
 | ||||
| 	if (vulkanCommandBuffer->renderPassInProgress) | ||||
| 	{ | ||||
| 		Refresh_LogError("Cannot perform buffer updates mid-render pass!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	transferBuffer = VULKAN_INTERNAL_AcquireTransferBuffer( | ||||
| 		renderer, | ||||
| 		vulkanCommandBuffer, | ||||
|  | @ -7354,12 +7337,6 @@ static void VULKAN_SetBufferData( | |||
| 	VkBufferCopy bufferCopy; | ||||
| 	VulkanResourceAccessType accessType = vulkanBuffer->resourceAccessType; | ||||
| 
 | ||||
| 	if (vulkanCommandBuffer->renderPassInProgress) | ||||
| 	{ | ||||
| 		Refresh_LogError("Cannot perform buffer updates mid-render pass!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	transferBuffer = VULKAN_INTERNAL_AcquireTransferBuffer( | ||||
| 		renderer, | ||||
| 		vulkanCommandBuffer, | ||||
|  | @ -7487,18 +7464,6 @@ static uint32_t VULKAN_PushFragmentShaderUniforms( | |||
| 	VulkanGraphicsPipeline* graphicsPipeline = vulkanCommandBuffer->currentGraphicsPipeline; | ||||
| 	uint32_t offset; | ||||
| 
 | ||||
| 	if (graphicsPipeline == NULL) | ||||
| 	{ | ||||
| 		Refresh_LogError("Cannot push uniforms if a pipeline is not bound!"); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if (graphicsPipeline->fragmentUniformBlockSize == 0) | ||||
| 	{ | ||||
| 		Refresh_LogError("Bound pipeline's fragment stage does not declare uniforms!"); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if ( | ||||
| 		vulkanCommandBuffer->fragmentUniformBuffer->offset + | ||||
| 		graphicsPipeline->fragmentUniformBlockSize >= | ||||
|  | @ -7541,18 +7506,6 @@ static uint32_t VULKAN_PushComputeShaderUniforms( | |||
| 	VulkanComputePipeline* computePipeline = vulkanCommandBuffer->currentComputePipeline; | ||||
| 	uint32_t offset; | ||||
| 
 | ||||
| 	if (computePipeline == NULL) | ||||
| 	{ | ||||
| 		Refresh_LogError("Cannot push uniforms if a pipeline is not bound!"); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if (computePipeline->uniformBlockSize == 0) | ||||
| 	{ | ||||
| 		Refresh_LogError("Bound compute pipeline does not declare uniforms!"); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if ( | ||||
| 		vulkanCommandBuffer->computeUniformBuffer->offset + | ||||
| 		computePipeline->uniformBlockSize >= | ||||
|  | @ -8301,12 +8254,6 @@ static void VULKAN_SetViewport( | |||
| 	VulkanRenderer* renderer = (VulkanRenderer*) driverData; | ||||
| 	VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; | ||||
| 
 | ||||
| 	if (!vulkanCommandBuffer->renderPassInProgress) | ||||
| 	{ | ||||
| 		Refresh_LogError("Illegal to set viewport state outside of a render pass!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	VULKAN_INTERNAL_SetCurrentViewport( | ||||
| 		vulkanCommandBuffer, | ||||
| 		viewport | ||||
|  | @ -8338,12 +8285,6 @@ static void VULKAN_SetScissor( | |||
| 	VulkanRenderer* renderer = (VulkanRenderer*) driverData; | ||||
| 	VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; | ||||
| 
 | ||||
| 	if (!vulkanCommandBuffer->renderPassInProgress) | ||||
| 	{ | ||||
| 		Refresh_LogError("Illegal to set scissor state outside of a render pass!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	VULKAN_INTERNAL_SetCurrentScissor( | ||||
| 		vulkanCommandBuffer, | ||||
| 		scissor | ||||
|  | @ -8380,12 +8321,6 @@ static void VULKAN_BeginRenderPass( | |||
| 	uint32_t framebufferWidth = UINT32_MAX; | ||||
| 	uint32_t framebufferHeight = UINT32_MAX; | ||||
| 
 | ||||
| 	if (colorAttachmentCount == 0 && depthStencilAttachmentInfo == NULL) | ||||
| 	{ | ||||
| 		Refresh_LogError("Render pass must have at least one render target!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	/* The framebuffer cannot be larger than the smallest attachment. */ | ||||
| 
 | ||||
| 	for (i = 0; i < colorAttachmentCount; i += 1) | ||||
|  | @ -8696,12 +8631,6 @@ static void VULKAN_BindGraphicsPipeline( | |||
| 	VulkanCommandBuffer *vulkanCommandBuffer = (VulkanCommandBuffer*) commandBuffer; | ||||
| 	VulkanGraphicsPipeline* pipeline = (VulkanGraphicsPipeline*) graphicsPipeline; | ||||
| 
 | ||||
| 	if (!vulkanCommandBuffer->renderPassInProgress) | ||||
| 	{ | ||||
| 		Refresh_LogError("Illegal to bind a graphics pipeline outside of a render pass!"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (	vulkanCommandBuffer->vertexUniformBuffer != renderer->dummyVertexUniformBuffer && | ||||
| 		vulkanCommandBuffer->vertexUniformBuffer != NULL | ||||
| 	) { | ||||
|  | @ -9426,13 +9355,6 @@ static Refresh_Texture* VULKAN_AcquireSwapchainTexture( | |||
| 	VulkanPresentData *presentData; | ||||
| 
 | ||||
| 	windowData = VULKAN_INTERNAL_FetchWindowData(windowHandle); | ||||
| 
 | ||||
| 	if (windowData == NULL) | ||||
| 	{ | ||||
| 		Refresh_LogError("Cannot acquire swapchain texture, window has not been claimed!"); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 
 | ||||
| 	swapchainData = windowData->swapchainData; | ||||
| 
 | ||||
| 	/* Window is claimed but swapchain is invalid! */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue