forked from eden-emu/eden
		
	vk_rasterizer: Fix framebuffer creation validation errors
Framebuffer creation was ignoring the number of color attachments.
This commit is contained in:
		
							parent
							
								
									ab7eae6fff
								
							
						
					
					
						commit
						f78f26b75a
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		|  | @ -692,7 +692,7 @@ std::tuple<VkFramebuffer, VkExtent2D> RasterizerVulkan::ConfigureFramebuffers( | |||
|     FramebufferCacheKey key{renderpass, std::numeric_limits<u32>::max(), | ||||
|                             std::numeric_limits<u32>::max(), std::numeric_limits<u32>::max()}; | ||||
| 
 | ||||
|     const auto try_push = [&](const View& view) { | ||||
|     const auto try_push = [&key](const View& view) { | ||||
|         if (!view) { | ||||
|             return false; | ||||
|         } | ||||
|  | @ -703,7 +703,9 @@ std::tuple<VkFramebuffer, VkExtent2D> RasterizerVulkan::ConfigureFramebuffers( | |||
|         return true; | ||||
|     }; | ||||
| 
 | ||||
|     for (std::size_t index = 0; index < std::size(color_attachments); ++index) { | ||||
|     const auto& regs = system.GPU().Maxwell3D().regs; | ||||
|     const std::size_t num_attachments = static_cast<std::size_t>(regs.rt_control.count); | ||||
|     for (std::size_t index = 0; index < num_attachments; ++index) { | ||||
|         if (try_push(color_attachments[index])) { | ||||
|             texture_cache.MarkColorBufferInUse(index); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ReinUsesLisp
						ReinUsesLisp