Changelog:

Fix incorrect condition in WaitForOneQueuedFrame() (Stenzek)
Add Lanczos scaling option (Stenzek)
Fix system unpausing on shutdown (Stenzek)
Move cheat reload to Initialize() (Stenzek)
Update game controller database (Stenzek)
e34d23c FullscreenUI: Implicitly close non-multichoice dialogs
7cc4755 FullscreenUI: Fix parent scroll resetting on directory change
f98b904 FullscreenUI: Add ‘Set Cover Image’ to game list
b982260 FullscreenUI: Show game icons in game list
1481c1d System: Post-processing is shut down on GPU thread
e41f179 PostProcessing: Fix erroneous reload message
08d2586 System: Allow host to set async worker count
8f19ac2 System: Set rapidyaml error handlers on startup
d52bf79 GPU: Split backend into Backend+Presenter
6cba825 System: Add fatal error shutdown path
dd97882 GPU: Refactor display presentation workflow
da13579 GPU: Align presenter/backends to cache line
609fa5c GPUDevice: Add sampler cache to base class
338d29d GPUDevice: Move empty/null texture to base class
d589696 PostProcessing: Get rid of GPU-dependent globals
e0a9bbe PostProcessing: Move into GPU presenter
313f653 Data: Add one example overlay
7fcf0a3 README: Update feature list for 2025
d62261e GPUDevice: Allow nested GL_SCOPE macros
88b4337 GPUDevice: Replace explicit GL_PUSH/GL_POP with nested GL_SCOPE
6131ddb GPU: Fill in unused/padded area in overlays
725dcea GPU: Fix crash toggling border overlays
e1cbb50 GPU: Fix various capture/screenshot issues
9b8d2a8 System: Required changes for Android
9fdeeb3 GPU: Add alpha blending support to overlay
ade8bf7 GPU: Fix overlay+postprocessing combination
8c5c0e6 Common: Fix Vector2->Vector4 zero-extend constructor
7905793 GPU: Use screen alignment for overlay instead of display rect
21b167d CDImage: Tidy up Open() method
c03b6f3 Misc: Replace isspace() usage with StringUtil::IsWhitespace()
7c2488c PostProcessing/GLSL: Fix image moved off-screen with alignment
f219b47 FullscreenUI: Use constant width/height scale on Android
cc0ccf2 Data: Update resources
78902d7 FullscreenUI: Fix several more unsafe reads
4b20fc6 Path: Fix several errors in URLEncode/Decode and add tests
17b0da7 GameList: URL encode custom properties paths with brackets
9d4789e FullscreenUI: Fix blank screen flicker starting game
389276b GPUDevice: Normalize supports_texture_buffers => texture_buffers
fb3e290 GPUDevice: Move exclusive fullscreen to features
9c4b211 GPU: Fix incorrect screen draw rect
080eccd GPUThread: Shutdown instead of panicing on switch failure
19ca9cb GPU/HW: Use texture loads for native resolution
78f6e11 GPUThread: Skip debug window update on Android
4e588bb GPU: Fix incorrect interface for postfx config
af58740 System: Always display OSD warning messages
be75a97 GPUDevice: Fix swap chain clear colour normalization
0166939 PostProcessing/GLSL: Clear alpha to 1.0
0129679 GPU: Reduce overdraw when using overlays
8eaa1f3 GPU: Fix overlay destination alpha with postfx
f045a17 GPUThread: Fix order of updating state
89504b0 GPUThread: Push settings through FIFO
d395be0 Qt: Fix global setting showing incorrectly for int-list
b08ab9f Qt: Fix border overlay export button
9113a6e Qt: Add ‘Multiple Devices’ to automatic mapping
df88227 GPU/HW: Further tweaks to replacement alpha handling
4da1f61 System: Simplify CD speedup warnings
13c7b85 GPUThread: Fix starting big picture mode
807094d Atualização Português do Brasil (#3357)
dc5f85a System: Display safe mode warning when toggling on
9096402 GameDB: Rakugaki Showtime does not support analog mode (#3358)
9666abc FullscreenUI: Hook up to disc change hotkey

Atualizações:

Corrigir condição incorreta em WaitForOneQueuedFrame() (Stenzek)
Adicionar opção de escalonamento Lanczos (Stenzek)
Corrigir o sistema de pausa ao desligar (Stenzek)
Mover recarga de cheats para Initialize() (Stenzek)
Atualizar o banco de dados de controladores de jogos (Stenzek)

e34d23c FullscreenUI: Fechar implicitamente diálogos de escolha única
7cc4755 FullscreenUI: Corrigir reset do rolar do pai ao mudar de diretório
f98b904 FullscreenUI: Adicionar ‘Definir Imagem da Capa’ à lista de jogos
b982260 FullscreenUI: Mostrar ícones de jogos na lista de jogos
1481c1d Sistema: Pós-processamento é encerrado na thread da GPU
e41f179 Pós-processamento: Corrigir mensagem errônea de recarga
08d2586 Sistema: Permitir que o host defina a contagem de trabalhadores assíncronos
8f19ac2 Sistema: Definir manipuladores de erros rapidyaml na inicialização
d52bf79 GPU: Dividir backend em Backend+Presenter
6cba825 Sistema: Adicionar caminho de desligamento em caso de erro fatal
dd97882 GPU: Refatorar fluxo de apresentação da tela
da13579 GPU: Alinhar presenter/backends com linha de cache
609fa5c GPUDevice: Adicionar cache de sampler à classe base
338d29d GPUDevice: Mover textura vazia/nula para a classe base
d589696 Pós-processamento: Eliminar globais dependentes da GPU
e0a9bbe Pós-processamento: Mover para o presenter da GPU
313f653 Dados: Adicionar um exemplo de sobreposição
7fcf0a3 README: Atualizar lista de recursos para 2025
d62261e GPUDevice: Permitir macros GL_SCOPE aninhadas
88b4337 GPUDevice: Substituir GL_PUSH/GL_POP explícitos por GL_SCOPE aninhados
6131ddb GPU: Preencher área não usada/padded em sobreposições
725dcea GPU: Corrigir falha ao alternar sobreposições de borda
e1cbb50 GPU: Corrigir diversos problemas de captura/imagens
9b8d2a8 Sistema: Alterações necessárias para Android
9fdeeb3 GPU: Adicionar suporte à mistura alfa em sobreposições
ade8bf7 GPU: Corrigir combinação de sobreposição+ pós-processamento
8c5c0e6 Comum: Corrigir construtor de extensão zero de Vector2->Vector4
7905793 GPU: Usar alinhamento de tela para sobreposição ao invés de retângulo de exibição
21b167d CDImage: Organizar método Open()
c03b6f3 Misc: Substituir uso de isspace() por StringUtil::IsWhitespace()
7c2488c Pós-processamento/GLSL: Corrigir imagem movida para fora da tela com alinhamento
f219b47 FullscreenUI: Usar escala constante de largura/altura no Android
cc0ccf2 Dados: Atualizar recursos
78902d7 FullscreenUI: Corrigir várias leituras inseguras
4b20fc6 Caminho: Corrigir erros em URLEncode/Decode e adicionar testes
17b0da7 GameList: Codificar URL para caminhos de propriedades personalizadas com colchetes
9d4789e FullscreenUI: Corrigir piscar de tela em branco ao iniciar o jogo
389276b GPUDevice: Normalizar supports_texture_buffers => texture_buffers
fb3e290 GPUDevice: Mover fullscreen exclusivo para recursos
9c4b211 GPU: Corrigir retângulo de desenho de tela incorreto
080eccd GPUThread: Encerrar ao invés de panicar em falha de troca
19ca9cb GPU/HW: Usar carregamentos de textura para resolução nativa
78f6e11 GPUThread: Pular atualização da janela de depuração no Android
4e588bb GPU: Corrigir interface incorreta para configuração de postfx
af58740 Sistema: Sempre exibir mensagens de aviso OSD
be75a97 GPUDevice: Corrigir normalização da cor de troca de cadeia de troca
0166939 Pós-processamento/GLSL: Limpar alfa para 1.0
0129679 GPU: Reduzir overdraw ao usar sobreposições
8eaa1f3 GPU: Corrigir alfa de destino de sobreposição com postfx
f045a17 GPUThread: Corrigir ordem de atualização do estado
89504b0 GPUThread: Empurrar configurações através do FIFO
d395be0 Qt: Corrigir exibição incorreta de configurações globais para listas inteiras
b08ab9f Qt: Corrigir botão de exportação de sobreposição de borda
9113a6e Qt: Adicionar ‘Múltiplos Dispositivos’ ao mapeamento automático
df88227 GPU/HW: Mais ajustes no manuseio de alfa substituto
4da1f61 Sistema: Simplificar avisos de aceleração de CD
13c7b85 GPUThread: Corrigir início do modo big picture
807094d Atualização Português do Brasil (#3357)
dc5f85a Sistema: Exibir aviso de modo seguro ao alternar
9096402 GameDB: Rakugaki Showtime não suporta modo analógico (#3358)
9666abc FullscreenUI: Vincular à tecla de atalho de troca de disco