mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	OpenGL: Remove redundant texture.enable_2d field from OpenGLState
All uses of this field where it's false can just set the texture id to 0 instead.
This commit is contained in:
		
							parent
							
								
									b6c241d667
								
							
						
					
					
						commit
						ff68db61bc
					
				
					 4 changed files with 3 additions and 26 deletions
				
			
		|  | @ -99,7 +99,6 @@ void RasterizerOpenGL::InitObjects() { | |||
|     fb_color_texture.texture.Create(); | ||||
|     ReconfigureColorTexture(fb_color_texture, Pica::Regs::ColorFormat::RGBA8, 1, 1); | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = fb_color_texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -115,7 +114,6 @@ void RasterizerOpenGL::InitObjects() { | |||
|     fb_depth_texture.texture.Create(); | ||||
|     ReconfigureDepthTexture(fb_depth_texture, Pica::Regs::DepthFormat::D16, 1, 1); | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = fb_depth_texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -493,7 +491,6 @@ void RasterizerOpenGL::ReconfigureColorTexture(TextureInfo& texture, Pica::Regs: | |||
|         break; | ||||
|     } | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -537,7 +534,6 @@ void RasterizerOpenGL::ReconfigureDepthTexture(DepthTextureInfo& texture, Pica:: | |||
|         break; | ||||
|     } | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -766,10 +762,9 @@ void RasterizerOpenGL::SyncDrawState() { | |||
|         const auto& texture = pica_textures[texture_index]; | ||||
| 
 | ||||
|         if (texture.enabled) { | ||||
|             state.texture_units[texture_index].enabled_2d = true; | ||||
|             res_cache.LoadAndBindTexture(state, texture_index, texture); | ||||
|         } else { | ||||
|             state.texture_units[texture_index].enabled_2d = false; | ||||
|             state.texture_units[texture_index].texture_2d = 0; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | @ -804,7 +799,6 @@ void RasterizerOpenGL::ReloadColorBuffer() { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = fb_color_texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -862,7 +856,6 @@ void RasterizerOpenGL::ReloadDepthBuffer() { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = fb_depth_texture.texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -887,7 +880,6 @@ void RasterizerOpenGL::CommitColorBuffer() { | |||
| 
 | ||||
|             std::unique_ptr<u8[]> temp_gl_color_buffer(new u8[fb_color_texture.width * fb_color_texture.height * bytes_per_pixel]); | ||||
| 
 | ||||
|             state.texture_units[0].enabled_2d = true; | ||||
|             state.texture_units[0].texture_2d = fb_color_texture.texture.handle; | ||||
|             state.Apply(); | ||||
| 
 | ||||
|  | @ -927,7 +919,6 @@ void RasterizerOpenGL::CommitDepthBuffer() { | |||
| 
 | ||||
|             std::unique_ptr<u8[]> temp_gl_depth_buffer(new u8[fb_depth_texture.width * fb_depth_texture.height * gl_bpp]); | ||||
| 
 | ||||
|             state.texture_units[0].enabled_2d = true; | ||||
|             state.texture_units[0].texture_2d = fb_depth_texture.texture.handle; | ||||
|             state.Apply(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -40,7 +40,6 @@ OpenGLState::OpenGLState() { | |||
|     logic_op = GL_COPY; | ||||
| 
 | ||||
|     for (auto& texture_unit : texture_units) { | ||||
|         texture_unit.enabled_2d = false; | ||||
|         texture_unit.texture_2d = 0; | ||||
|     } | ||||
| 
 | ||||
|  | @ -147,16 +146,9 @@ void OpenGLState::Apply() { | |||
| 
 | ||||
|     // Textures
 | ||||
|     for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) { | ||||
|         if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d || | ||||
|             texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) { | ||||
| 
 | ||||
|         if (texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) { | ||||
|             glActiveTexture(GL_TEXTURE0 + texture_index); | ||||
| 
 | ||||
|             if (texture_units[texture_index].enabled_2d) { | ||||
|                 glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d); | ||||
|             } else { | ||||
|                 glBindTexture(GL_TEXTURE_2D, 0); | ||||
|             } | ||||
|             glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -53,7 +53,6 @@ public: | |||
| 
 | ||||
|     // 3 texture units - one for each that is used in PICA fragment shader emulation
 | ||||
|     struct { | ||||
|         bool enabled_2d; // GL_TEXTURE_2D
 | ||||
|         GLuint texture_2d; // GL_TEXTURE_BINDING_2D
 | ||||
|     } texture_units[3]; | ||||
| 
 | ||||
|  |  | |||
|  | @ -163,7 +163,6 @@ void RendererOpenGL::LoadFBToActiveGLTexture(const GPU::Regs::FramebufferConfig& | |||
|     // only allows rows to have a memory alignement of 4.
 | ||||
|     ASSERT(pixel_stride % 4 == 0); | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -191,7 +190,6 @@ void RendererOpenGL::LoadFBToActiveGLTexture(const GPU::Regs::FramebufferConfig& | |||
|  */ | ||||
| void RendererOpenGL::LoadColorToActiveGLTexture(u8 color_r, u8 color_g, u8 color_b, | ||||
|                                                 const TextureInfo& texture) { | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -239,7 +237,6 @@ void RendererOpenGL::InitOpenGLObjects() { | |||
|         // Allocation of storage is deferred until the first frame, when we
 | ||||
|         // know the framebuffer size.
 | ||||
| 
 | ||||
|         state.texture_units[0].enabled_2d = true; | ||||
|         state.texture_units[0].texture_2d = texture.handle; | ||||
|         state.Apply(); | ||||
| 
 | ||||
|  | @ -305,7 +302,6 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture, | |||
|         UNIMPLEMENTED(); | ||||
|     } | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  | @ -325,7 +321,6 @@ void RendererOpenGL::DrawSingleScreenRotated(const TextureInfo& texture, float x | |||
|         ScreenRectVertex(x+w, y+h, 0.f, 1.f), | ||||
|     }; | ||||
| 
 | ||||
|     state.texture_units[0].enabled_2d = true; | ||||
|     state.texture_units[0].texture_2d = texture.handle; | ||||
|     state.Apply(); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue