mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	android: renderer_opengl: Optimize GetTexImageOES and fix bugs.
This commit is contained in:
		
							parent
							
								
									855d19a468
								
							
						
					
					
						commit
						853acce6c5
					
				
					 1 changed files with 14 additions and 5 deletions
				
			
		|  | @ -102,7 +102,7 @@ static void GetTexImageOES(GLenum target, GLint level, GLenum format, GLenum typ | ||||||
|     GLenum texture_binding = GL_NONE; |     GLenum texture_binding = GL_NONE; | ||||||
|     switch (target) { |     switch (target) { | ||||||
|     case GL_TEXTURE_2D: |     case GL_TEXTURE_2D: | ||||||
|         texture_binding = GL_TEXTURE_BINDING_2D; |         texture_binding = cur_state.texture_units[0].texture_2d; | ||||||
|         break; |         break; | ||||||
|     case GL_TEXTURE_CUBE_MAP_POSITIVE_X: |     case GL_TEXTURE_CUBE_MAP_POSITIVE_X: | ||||||
|     case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: |     case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: | ||||||
|  | @ -110,11 +110,11 @@ static void GetTexImageOES(GLenum target, GLint level, GLenum format, GLenum typ | ||||||
|     case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: |     case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: | ||||||
|     case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: |     case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: | ||||||
|     case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: |     case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: | ||||||
|         texture_binding = GL_TEXTURE_BINDING_CUBE_MAP; |         texture_binding = cur_state.texture_cube_unit.texture_cube; | ||||||
|         break; |         break; | ||||||
|     case GL_TEXTURE_3D_OES: |  | ||||||
|         texture_binding = GL_TEXTURE_BINDING_3D_OES; |  | ||||||
|     default: |     default: | ||||||
|  |         LOG_CRITICAL(Render_OpenGL, "Unexpected target {:x}", target); | ||||||
|  |         UNIMPLEMENTED(); | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -901,8 +901,17 @@ void CachedSurface::UploadGLTexture(Common::Rectangle<u32> rect, GLuint read_fb_ | ||||||
| MICROPROFILE_DEFINE(OpenGL_TextureDL, "OpenGL", "Texture Download", MP_RGB(128, 192, 64)); | MICROPROFILE_DEFINE(OpenGL_TextureDL, "OpenGL", "Texture Download", MP_RGB(128, 192, 64)); | ||||||
| void CachedSurface::DownloadGLTexture(const Common::Rectangle<u32>& rect, GLuint read_fb_handle, | void CachedSurface::DownloadGLTexture(const Common::Rectangle<u32>& rect, GLuint read_fb_handle, | ||||||
|                                       GLuint draw_fb_handle) { |                                       GLuint draw_fb_handle) { | ||||||
|     if (type == SurfaceType::Fill) |     if (type == SurfaceType::Fill) { | ||||||
|         return; |         return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (GLES) { | ||||||
|  |         if (type == SurfaceType::Depth || type == SurfaceType::DepthStencil) { | ||||||
|  |             // TODO(bunnei): This is unsupported on GLES right now, fixme
 | ||||||
|  |             LOG_WARNING(Render_OpenGL, "Unsupported depth/stencil surface download"); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     MICROPROFILE_SCOPE(OpenGL_TextureDL); |     MICROPROFILE_SCOPE(OpenGL_TextureDL); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue