texture_cache return invalid buffer on deactivated color_mask
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 ReinUsesLisp
						ReinUsesLisp
					
				
			
			
				
	
			
			
			 ReinUsesLisp
						ReinUsesLisp
					
				
			
						parent
						
							6bd034eae9
						
					
				
				
					commit
					d65a4af895
				
			| @@ -370,10 +370,12 @@ void RasterizerOpenGL::SetupCachedFramebuffer(const FramebufferCacheKey& fbkey, | ||||
|         return; | ||||
|  | ||||
|     if (fbkey.is_single_buffer) { | ||||
|         if (fbkey.color_attachments[0] != GL_NONE) { | ||||
|         if (fbkey.color_attachments[0] != GL_NONE && fbkey.colors[0]) { | ||||
|             fbkey.colors[0]->Attach(fbkey.color_attachments[0]); | ||||
|             glDrawBuffer(fbkey.color_attachments[0]); | ||||
|         } else { | ||||
|             glDrawBuffer(GL_NONE); | ||||
|         } | ||||
|         glDrawBuffer(fbkey.color_attachments[0]); | ||||
|     } else { | ||||
|         for (std::size_t index = 0; index < Maxwell::NumRenderTargets; ++index) { | ||||
|             if (fbkey.colors[index]) { | ||||
|   | ||||
| @@ -133,6 +133,11 @@ public: | ||||
|             return {}; | ||||
|         } | ||||
|  | ||||
|         if (regs.color_mask[index].raw != 0) { | ||||
|             SetEmptyColorBuffer(index); | ||||
|             return {}; | ||||
|         } | ||||
|  | ||||
|         const auto& config{regs.rt[index]}; | ||||
|         const auto gpu_addr{config.Address()}; | ||||
|         if (!gpu_addr) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user