fixed a few msaa validation errors
	
		
			
	
		
	
	
		
			
				
	
				continuous-integration/drone/pr Build is passing
				
					Details
				
			
		
	
				
					
				
			
				
	
				continuous-integration/drone/pr Build is passing
				
					Details
				
			
		
	
							parent
							
								
									c4b9798fc1
								
							
						
					
					
						commit
						2706b6fe43
					
				|  | @ -5446,7 +5446,7 @@ static VulkanRenderTarget* VULKAN_INTERNAL_CreateRenderTarget( | |||
| 				VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | ||||
| 			); | ||||
| 
 | ||||
| 		renderTarget->multisampleCount = multisampleCount; | ||||
| 		renderTarget->multisampleCount = RefreshToVK_SampleCount[multisampleCount]; | ||||
| 	} | ||||
| 
 | ||||
| 	/* create framebuffer compatible views for RenderTarget */ | ||||
|  | @ -5810,7 +5810,9 @@ static VkRenderPass VULKAN_INTERNAL_CreateTransientRenderPass( | |||
| 			attachmentDescriptions[attachmentDescriptionCount].format = RefreshToVK_SurfaceFormat[ | ||||
| 				attachmentDescription.format | ||||
| 			]; | ||||
| 			attachmentDescriptions[attachmentDescriptionCount].samples = VK_SAMPLE_COUNT_1_BIT; | ||||
| 			attachmentDescriptions[attachmentDescriptionCount].samples = RefreshToVK_SampleCount[ | ||||
| 				attachmentDescription.sampleCount | ||||
| 			]; | ||||
| 			attachmentDescriptions[attachmentDescriptionCount].loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; | ||||
| 			attachmentDescriptions[attachmentDescriptionCount].storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; | ||||
| 			attachmentDescriptions[attachmentDescriptionCount].stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; | ||||
|  | @ -8307,6 +8309,7 @@ static void VULKAN_BeginRenderPass( | |||
| 	VulkanTexture *texture; | ||||
| 	VkClearValue *clearValues; | ||||
| 	uint32_t clearCount = colorAttachmentCount; | ||||
| 	uint32_t multisampleAttachmentCount = 0; | ||||
| 	uint32_t i; | ||||
| 	VkImageAspectFlags depthAspectFlags; | ||||
| 	Refresh_Viewport defaultViewport; | ||||
|  | @ -8393,6 +8396,12 @@ static void VULKAN_BeginRenderPass( | |||
| 			&texture->resourceAccessType | ||||
| 		); | ||||
| 
 | ||||
| 		if (colorAttachmentInfos[i].sampleCount > 1) | ||||
| 		{ | ||||
| 			clearCount += 1; | ||||
| 			multisampleAttachmentCount += 1; | ||||
| 		} | ||||
| 
 | ||||
| 		VULKAN_INTERNAL_TrackTexture(renderer, vulkanCommandBuffer, texture); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -8430,12 +8439,21 @@ static void VULKAN_BeginRenderPass( | |||
| 
 | ||||
| 	clearValues = SDL_stack_alloc(VkClearValue, clearCount); | ||||
| 
 | ||||
| 	for (i = 0; i < colorAttachmentCount; i += 1) | ||||
| 	for (i = 0; i < colorAttachmentCount + multisampleAttachmentCount; i += 1) | ||||
| 	{ | ||||
| 		clearValues[i].color.float32[0] = colorAttachmentInfos[i].clearColor.x; | ||||
| 		clearValues[i].color.float32[1] = colorAttachmentInfos[i].clearColor.y; | ||||
| 		clearValues[i].color.float32[2] = colorAttachmentInfos[i].clearColor.z; | ||||
| 		clearValues[i].color.float32[3] = colorAttachmentInfos[i].clearColor.w; | ||||
| 
 | ||||
| 		if (colorAttachmentInfos[i].sampleCount > 0) | ||||
| 		{ | ||||
| 			i += 1; | ||||
| 			clearValues[i].color.float32[0] = colorAttachmentInfos[i].clearColor.x; | ||||
| 			clearValues[i].color.float32[1] = colorAttachmentInfos[i].clearColor.y; | ||||
| 			clearValues[i].color.float32[2] = colorAttachmentInfos[i].clearColor.z; | ||||
| 			clearValues[i].color.float32[3] = colorAttachmentInfos[i].clearColor.w; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (depthStencilAttachmentInfo != NULL) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue