mirror of
				https://github.com/termux/termux-packages.git
				synced 2025-10-31 08:46:07 +00:00 
			
		
		
		
	- Fixes https://github.com/termux/termux-packages/issues/26526 - Fixes https://github.com/termux/termux-packages/issues/25371 - All patches seemed to only need minor rebasing and no other errors - Tested working on Samsung Galaxy S9 SM-G960U with Adreno 630 - Add unofficial Adreno 710+720 support found here https://gitlab.freedesktop.org/mesa/mesa/-/issues/13036 and heredb9f6d0b31- After3294cad341, a new change is required in order to preserve GPU acceleration in the edge case of **EGL+Zink+Turnip+Termux:X11+Adreno 630**. I have named this change `0018-preserve-egl-support-in-zink.patch` and it is an original creation based on my ~2 years of experience developing EGL software for running inside Termux:X11 on Samsung Galaxy S9 SM-G96U with Adreno 630. **Unfortunately, I do not know what the effects of this patch will be on other devices that I do not have, so please tell me ASAP if it appears to break Zink on your device**. - After622612f67e, the default behavior of Zink is to enable the "general layout" mode whenever Turnip is detected. In testing in Termux:X11 on Samsung Galaxy A70 SM-A705FN, that change is incorrect and results in severe artifacts in Firefox when Firefox has `gfx.webrender.all=true` and `gfx.x11-egl.force-disabled=true` set in `about:config`, so `0019-disable-general-layout-in-zink-for-turnip.patch` must be created to forcibly stop Zink from enabling "general layout" mode when Turnip is detected.
		
			
				
	
	
		
			23 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Partially reverts https://gitlab.freedesktop.org/mesa/mesa/-/commit/622612f67ea72298c3d85dfe53c5d54ee9f98527
 | |
| because that commit causes severe artifacts in Webrender in Firefox in Termux:X11 with GLX enabled and EGL
 | |
| force-disabled in Zink in Turnip on Adreno devices, while using the about:config settings
 | |
| gfx.webrender.all=true and gfx.x11-egl.force-disabled=true,
 | |
| and doing this prevents the artifacts from occurring.
 | |
| 
 | |
| --- a/src/gallium/drivers/zink/zink_screen.c
 | |
| +++ b/src/gallium/drivers/zink/zink_screen.c
 | |
| @@ -3044,10 +3044,12 @@ init_driver_workarounds(struct zink_screen *screen)
 | |
|     case VK_DRIVER_ID_MESA_LLVMPIPE:
 | |
|     case VK_DRIVER_ID_MESA_NVK:
 | |
|     case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
 | |
| -   case VK_DRIVER_ID_MESA_TURNIP:
 | |
|     case VK_DRIVER_ID_QUALCOMM_PROPRIETARY:
 | |
|        screen->driver_workarounds.general_layout = true;
 | |
|        break;
 | |
| +   case VK_DRIVER_ID_MESA_TURNIP:
 | |
| +      screen->driver_workarounds.general_layout = false;
 | |
| +      break;
 | |
|     default:
 | |
|        screen->driver_workarounds.general_layout = screen->info.have_KHR_unified_image_layouts;
 | |
|        break;
 |