mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #1294 from degasus/optimizations
gl_rasterizer: Use ARB_texture_storage.
This commit is contained in:
		
						commit
						4a9acc87f9
					
				| @ -477,30 +477,27 @@ CachedSurface::CachedSurface(const SurfaceParams& params) | ||||
|         // Only pre-create the texture for non-compressed textures.
 | ||||
|         switch (params.target) { | ||||
|         case SurfaceParams::SurfaceTarget::Texture1D: | ||||
|             glTexImage1D(SurfaceTargetToGL(params.target), 0, format_tuple.internal_format, | ||||
|                          rect.GetWidth(), 0, format_tuple.format, format_tuple.type, nullptr); | ||||
|             glTexStorage1D(SurfaceTargetToGL(params.target), 1, format_tuple.internal_format, | ||||
|                            rect.GetWidth()); | ||||
|             break; | ||||
|         case SurfaceParams::SurfaceTarget::Texture2D: | ||||
|             glTexImage2D(SurfaceTargetToGL(params.target), 0, format_tuple.internal_format, | ||||
|                          rect.GetWidth(), rect.GetHeight(), 0, format_tuple.format, | ||||
|                          format_tuple.type, nullptr); | ||||
|             glTexStorage2D(SurfaceTargetToGL(params.target), 1, format_tuple.internal_format, | ||||
|                            rect.GetWidth(), rect.GetHeight()); | ||||
|             break; | ||||
|         case SurfaceParams::SurfaceTarget::Texture3D: | ||||
|         case SurfaceParams::SurfaceTarget::Texture2DArray: | ||||
|             glTexImage3D(SurfaceTargetToGL(params.target), 0, format_tuple.internal_format, | ||||
|                          rect.GetWidth(), rect.GetHeight(), params.depth, 0, format_tuple.format, | ||||
|                          format_tuple.type, nullptr); | ||||
|             glTexStorage3D(SurfaceTargetToGL(params.target), 1, format_tuple.internal_format, | ||||
|                            rect.GetWidth(), rect.GetHeight(), params.depth); | ||||
|             break; | ||||
|         default: | ||||
|             LOG_CRITICAL(Render_OpenGL, "Unimplemented surface target={}", | ||||
|                          static_cast<u32>(params.target)); | ||||
|             UNREACHABLE(); | ||||
|             glTexImage2D(GL_TEXTURE_2D, 0, format_tuple.internal_format, rect.GetWidth(), | ||||
|                          rect.GetHeight(), 0, format_tuple.format, format_tuple.type, nullptr); | ||||
|             glTexStorage2D(GL_TEXTURE_2D, 1, format_tuple.internal_format, rect.GetWidth(), | ||||
|                            rect.GetHeight()); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_MAX_LEVEL, 0); | ||||
|     glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||||
|     glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | ||||
|     glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | ||||
|  | ||||
| @ -447,6 +447,8 @@ QStringList GMainWindow::GetUnsupportedGLExtensions() { | ||||
|         unsupported_ext.append("ARB_texture_mirror_clamp_to_edge"); | ||||
|     if (!GLAD_GL_ARB_base_instance) | ||||
|         unsupported_ext.append("ARB_base_instance"); | ||||
|     if (!GLAD_GL_ARB_texture_storage) | ||||
|         unsupported_ext.append("ARB_texture_storage"); | ||||
| 
 | ||||
|     // Extensions required to support some texture formats.
 | ||||
|     if (!GLAD_GL_EXT_texture_compression_s3tc) | ||||
|  | ||||
| @ -94,6 +94,8 @@ bool EmuWindow_SDL2::SupportsRequiredGLExtensions() { | ||||
|         unsupported_ext.push_back("ARB_texture_mirror_clamp_to_edge"); | ||||
|     if (!GLAD_GL_ARB_base_instance) | ||||
|         unsupported_ext.push_back("ARB_base_instance"); | ||||
|     if (!GLAD_GL_ARB_texture_storage) | ||||
|         unsupported_ext.push_back("ARB_texture_storage"); | ||||
| 
 | ||||
|     // Extensions required to support some texture formats.
 | ||||
|     if (!GLAD_GL_EXT_texture_compression_s3tc) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei