Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: ppsspp-qt | Distribution: openSUSE Tumbleweed |
Version: 1.17.1 | Vendor: openSUSE |
Release: 1.2 | Build date: Mon Feb 5 06:24:19 2024 |
Group: System/Emulators/Other | Build host: reproducible |
Size: 16581743 | Source RPM: ppsspp-1.17.1-1.2.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://www.ppsspp.org | |
Summary: PPSSPP Qt backend |
PPSSPP build using the Qt framework
Apache-2.0 AND BSD-1-Clause AND BSL-1.0 AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND (BSD-2-Clause OR GPL-2.0-or-later) AND (BSD-3-Clause OR GPL-2.0-only) AND CC0-1.0 AND GPL-2.0-or-later WITH Autoconf-exception-3.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND Libpng AND ISC AND IJG AND Zlib AND MIT AND CC-BY-4.0 AND FTL
* Mon Feb 05 2024 Andreas Stieger <andreas.stieger@gmx.de> - ppsspp 1.17.1: * Fixes for functional and graphical issues in multiple games and emulated elements * Performance improvements * Can now track total time played per game * Pause screen now has an option to keep the game running behind the menu (to avoid desyncs in multiplayer games) * Tue Nov 21 2023 Lubos Kocman <lubos.kocman@suse.com> - Align licenses with results from legaldb scan * newly added CC-BY-4.0 since the last review * Sun Nov 05 2023 Andreas Stieger <andreas.stieger@gmx.de> - ppsspp 1.16.6: * New JIT compilers and vrnd instruction support * Support for RetroAchievements * Fixes for bugs, crashes, performance issues and UI issues * Compatibility fixes for a number of games * Wed Jul 05 2023 Andreas Stieger <Andreas.Stieger@gmx.de> - ppsspp 1.15.4 * Fixes to tilt controls, performance improvements, various crash or lock issues, problems with some controllers, textures * Fixes for games DJ Max, WWE 2009, Rockman 2 (audio) * Stutter caused by shader compilation has been reduced drastically * Texture replacement improvements * VR features: Top down camera, Head rotation control, more stereo support - drop ppsspp-1.14.4-gcc13.patch now upstream * Tue Apr 04 2023 Andreas Stieger <andreas.stieger@gmx.de> - Address GCC13 build failures, add ppsspp-1.14.4-gcc13.patch - Convert spec file construct to patch, add ppsspp-1.14.4-system-png.patch * Sat Jan 21 2023 Andreas Stieger <andreas.stieger@gmx.de> - ppsspp 1.14.4: * Graphics fixes in Burnout Dominator, Kurohyou, Ratchet & Clank, Outrun, Ridge Racer, Spongebob: Yellow Avenger, Cars: Race-o-Rama, Hunter x Hunter, many others * Performance improvements: Killzone now runs at playable speed, Juiced 2 performance fixed, lighting ubershader optimization * Many software renderer improvements, both performance and accuracy. * Some input handling fixes, IR interpreter fixes, and so much more. * Sat Dec 10 2022 Andreas Stieger <andreas.stieger@gmx.de> - Fix build on Factory: Does not build with FFmpeg 5.0 yet * Wed Nov 23 2022 Andreas Stieger <andreas.stieger@gmx.de> - switch to stable tarball for next Leap and to fix build - package license files correctly - change -common package to noarch - add constraints file to require 6 GB disk for build * Wed Nov 23 2022 meissner@suse.com - Update to version 1.13.2~git20221123: * Test fix * Cleanup * Wording tweaks, add scroll view * Move post-processing settings to DisplayLayoutScreen * Enable game backgrounds on more screens * OpenXR - Aspect ratio of menu background fixed * Rework the display layout editor to ditch the preview thing. * OpenXR - 2D stereo condition fixed * Add transparent background to the existing Display Layout Editor. * Pause menu background: Remove complicated transparency tricks, instead draw game as part of background. * Kernel: Respect partition param in heap funcs. * D3D11: Remove unused hack USE flag. * Move AsyncImageFileView to Common, which required some more shuffling around of stuff. * Extract the Vulkan descriptor binding cleanup from #16345 * Test crashfix * Centralize ClearCacheNextFrame * Libretro fixes * Only check for display resized in emuscreen-under-pause-screen, not the other changes. * Some minor "centralization" * Split up the GPU config change notifications * One more refactoring step * Refactor: Split up updating the display and render size. * Forgot to commit this in PR #16404 * softgpu: Fix compile hazard while running. * softgpu: Correct WX-exclusive platform hazards. * jit: Add more reasonable estimates for RX protect. * jit: Protect against write over-estimates. * Fix resizing issue. Took some refactoring. * Make the pause screen "transparent" * OpenXR - 3rd party controller support fixed * softgpu: Throw away all inverted polygons. * GE Debugger: Correct texture address corruption. * Orient Save State / Load State buttons horizontally * Debugger: Combine mem info on duplicates. * irjit: Consistently check vec4 safety. * irjit: Allow VV2Op SIMD with exact overlap. * irjit: Correct VV2Op SIMD check. * GPU: Prefer raster for depth blit if supported. * Typo fixed * OpenXR - Cursor aspect ratio * OpenXR - Accept scrolling from both controllers * OpenXR - Camera adjust issues resolved * OpenXR - Force PSP menu aspect ratio * OpenXR - Better dialog support * OpenXR - Allow higher 2D canvas distance * OpenXR - Use axis integration for camera adjust only * OpenXR - Use mouse control only * OpenXR - Support axis * OpenXR - Support camera adjust using joystick * Update zh_TW.ini * Update zh_TW.ini * Update zh_TW.ini * interp: Support memory breakpoints too. * interp: Centralize memory size handling. * interp: Allow breakpoints in release mode. * interp: Allow resume from breakpoint. * Debugger: Keep flag for any breakpoints. * Twinbee Portable: Add config flag to avoid the system languages the game doesn't work with * softgpu: Use threads on self-render if safe. * UI: Show standard back button on touch layout. * softgpu: Fix off-by-one rendering after half-pixel. * softgpu: Avoid splitting rectangles for fog. * softgpu: Correct tex on fogged rectangles. * GPU: Automatically reduce depth range on == test. * GPU: Remove unused GPU_USE flag. * GPU: Centralize more GPU_USE flags, like depth. * GPU: Add a small error-compensation to depth clip. * Vulkan: Mark Adreno bug resolved on recent driver. * Vulkan: Correct alpha in Adreno workaround. * GPU: Convert alphamask to FF/00 for 5551. * UI: Avoid enum/float comparisons. * VR: Remove unnecessary deprecated header. * SaveState: Switch from deprecated is_pod. * GPU: Correct Marvel copy hook size check. * GPU: Hook US version of Marvel Alliance upload. * OpenXR - Freezing on Pico 4 fixed * OpenXR - Test mirroring over 30 various games * OpenXR - Get all mirroring variants * Revert "OpenXR - Disable range culling properly" * GPU: Correct equal depth checks. * OpenXR - View matrix identity check breaking several games fixed * OpenXR - Don't get mirroring from identity matrix * OpenXR - Do not apply head rotation on identity matrix * GPU: Correct vertex decoder in software transform. * Mpeg: Correct YUV order from decode. * Mpeg: Fix ConvertToYuv420 return value. * GPU: Avoid enabling depth test pointlessly. * GPU: Prefer scaling depth to 16-bit if using 24. * GPU: Avoid clears for non-simple depth values. * TexCache: Cleanup BGRA flag dirtying. * Fix GLSL compilation issues on really old Adreno drivers. * GPU: Avoid self memcpy(). * OpenGL ES: Crash as early as possible if things are bad * Update zh_TW.ini * Space added * TexCache: Correct 16->32 for CLUT4 with shift. * TexCache: Fix 16->32 colors with CLUT start pos. * TexCache: Align expandClut buffer, cleanup sizes. * Restore parallel GLSL builds * Lift length limit on Android logging * Log source code for failed pipeline creations * Avoid drawing with failed-to-create pipelines * Make Mailbox handle null values. Fixes hang. * Output shader descriptions directly in the source code * Improve VkResult logging * Warning fix in VR code * OpenXR - Disable range culling properly * OpenXR - Allow more extreme camera adjusts * OpenXR - GTA Liberty city stereo fixed * Properly buildfix GL/VR again * OpenXR - Camera sliders removed from settings * Fix sky plane fix (broke in my last VR refactor) * OpenXR - Camera adjustment using PSP keys * OpenXR - Keep status of PSP keys * Restore assert * Experiment (Vulkan): Temporarily disable GLSL parallel compilation on Android. For #16341 investigation. * Disable remaining false positive. * Turn off boundSecondaryIsInputAttachment_ when we don't have one. * Vulkan: Use the very same view as input attachment and color attachment, not just the same image * Update zh_TW.ini * Update zh_CN.ini * Remove unnecessary assert * OpenXR - Move configs out of VRRenderer * OpenXR - Move matrix calculation out of VRRenderer * OpenXR - Simplify projection matrix creation * OpenXR - Matrix indexing fixed * OpenXR - Get rid of separate projection matrices * OpenXR - Get rid of ovrMatrix4f structure * Partially rescue translation by copying from Hack Settings * Setting should be reported * Blind libretro fix * Android fix * Blind Qt fix * lang: Remove obsolete keys, add new untranslated ones :( * Change "Simulate block transfer" to "Skip GPU Readbacks". Group the speed hacks together * Change "Rendering Mode" to just a "Skip buffer effects" checkbox. Reuse translations. * libretro fix, more games * GPU: Correct softgpu curve issue. * GPU: Always skin in decode for software transform. * softgpu: Always use software skinning. * GPU: Purify vertTypeIsSkinningEnabled(). * Windows ARM/ARM64 buildfix * Remove now-unused lang keys * Change the "Retain changed textures" option into a compat.ini option. * GPU: Use skinned position always in bounding check. * GPU: Cleanup GetVertTypeID() usage. * Linking fix for normal Android devices * UWP build fix. Had to reshuffle some stuff and compile some Vulkan files. * Add a dynamic loader for OpenXR so the VR code can link. Make it all build on Windows. * Typo fix * Make a lot more code VR build for all platforms * Fix type of predictedDisplayTime * 6dof fix * Rename 6DOF_PRECISE to HAS_UNIT_SCALE * Remove ugly float conversion hacks from VR config * Finish previous buildfix... * Upgrade gradle, specify NDK version in android/build.gradle * Yet another gradle upgrade * Comment fixes (feedback) * Fix parsing ampersands in server listings for streaming * Drop some D3D11 screen rotation support (was only used on Windows Phone) * VK/D3D11: Move the rarely used "u_rotation" uniform to the frame uniform buffer. * Switch RenderPassType to be a "proper" bitfield enum. * Support Android file intents with up to 3 dots in path * Code formatting fixed * OpenXR - Get platform flags in runtime * OpenXR - Introduce platform flags * OpenXR - Fix ifdef ANDROID * OpenXR - Add an option to disable 72Hz update * OpenXR - Enable camera movement and stereo in flatscreen mode * [Libretro] Update core options to v2 + add a few new ones * Build: Use Makefile for libretro. * Build: Enable libzip on libretro. * GE Debugger: Respect unchanged VRAM each frame. * GE Debugger: Try harder to identify unchanged VRAM. * GE Debugger: Dump textures only if possibly used. * GE Debugger: Restrict marking of dirty VRAM better. * Vulkan: Fix descriptor set binding in geometry shader generator. Should fix #16315 * OpenXR - Settings code cleanup * Replacement: Avoid issues with c++14 data(). * UI: Install textures as a zip if supported. * OpenXR - Enable stereo for Split/Second * OpenXR - Workaround for not working inputbox * Memory initialization fixed * OpenXR - Let users set the movement length * OpenXR - Option to disable controller mapping * OpenXR - Map controller motions on keys * irjit: Correct prefix validation. * interp: Correct dprefix accuracy for vrot. * irjit: Fix unordered float compares. * Replacement: Don't double count memory usage. * Replacement: Allow use of textures.zip for Android. * Replacement: Lock around shared data access. * Replacement: Cache file data across cache keys. * Replacement: Log only missing explicit filenames. * Replacement: Decimate aggressively with high usage. * Replacement: Reduce IO checks on startup. * Replacement: Avoid needless exists check per tex. * interp: Correct vscl/vmscl t prefix handling. * irjit: Handle vrot overlap more correctly. * SaveState: Restore replacements in only one place. * Debugger: Allow currently-invalid memory reference. * Debugger: Fix input.analog.send validation. * UWP: Avoid some float conversion warnings. * Windows: Avoid compile param conflict warning. * Draw: Correct ambiguous comparison overload. * typo fixed * OpenXR - Stereo support for Outrun 2006 added * OpenXR - Add new virtual key for camera adjust * OpenXR - Camera side adjust added * OpenXR - Camera height adjust added * OpenXR - Do not process key actions during camera adjust * Vulkan: Log additional queue command. * armips: Update to latest. * headless: Update tests. * Vulkan: Fixes validation errors with "null" textures * Address feedback * OpenXR - Allow updating camera in realtime * OpenXR - Make VR camera parameters floating numbers * Need to request the proper type of uniform buffer descriptors. * Add some extra checking for valid stereo shader. * Actually bind a global uniform buffer, too. Not yet used. * Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1 * jit: Reduce some include pollution. * Update zh_TW.ini * Update zh_TW.ini * Fix UB * Format string fix * Shadergen fix for OpenGL * Crashfix in settings menu (Android only, for whatever reason) * Fix validation issue with clears, remove redundant code * Clean up GPU_Vulkan::BuildReportingInfo a bit * Improve compatibility checks for stereo rendering. * Fix for stereo with textureProj (emulated projection). * Fix depal texture binding bug * Name more image views. Very useful with a little patch to the Vulkan debug layers. * Fix rendering in non-stereo mode * Pass shadergen tests * Address feedback * Stereo now works through shader depal too * Fix more cases, GTA works now. * Use arrays more consistently. * Always use array textures for framebuffers in Vulkan for simplicity. * wip * Minor shaderwriter refactor * Stereo on mobile fixes * Some refactoring of framebuffer views, layer issues, more work. * More work. Things are starting to work now. * Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines * Non-stereo bugfix * Start stereo postshader work * More multiview work * Misc multiview hackery * thin3d: Replace hint at future MRT support with basic multi layer support * Update zh_TW.ini * OpenXR - Lego Star Wars III stereo support added * OpenXR - 6DoF and stereo in Lego Star Wars II fixed * Build: Fix Android/macOS ccache. * Build: Update deprecated actions. * headless: Update tests. * GE Debugger: Correct UV display with prescale. * Minor ShaderWriter refactor, prep for later changes * GE Debugger: Allow reading tex on D3D11. * Vulkan: Use v2 feature checks, and add check for multiview features. * Testfix * Minor refactor of ShaderWriter flags. Extracted from the stereo PR * softgpu: Better approximate slope mip level mode (#16276) * x86jit: Correct vh2f NAN handling (#16275) * headless: Update tests. * VR: Always pass the bounding box check. * GPU: Account for scissor/viewport in bound test. * GPU: Respect depth clamp in bounding box check. * GPU: Allow/use indices in bounding box check. * GPU: Correct large morph vertex advance. * GPU: Consume cycles in bounding box check. * GPU: Correct bounding box for larger counts. * GE Debugger: List verts on bounding box command. * Make it possible to specify extensions for Vulkan in the ShaderWriter * Remove duplicate line in libretro makefile. * OpenXR - Wrong condition removed (#16271) * OpenXR - Refactor compatvr.ini file (#16270) * Apply Kyria's updates to tr_TR (Turkish) translation * Minor refactoring in PresentationCommon * PresentationCommon: Use refcounts to simplify shader module management * Vulkan: Fix frame ordering issue with postprocessing shaders * GPU: Respect matrix and reverse flag w/o normals. * softgpu: Multiply prev normal by world matrix. * softgpu: Respect negate normal flag without norm. * Update zh_TW.ini * Update zh_CN.ini * OpenXR - Camera distance adjust added * OpenXR - Rearrange VR settings * Update zh_CN.ini * Some more codestyle cleanup * Change wrap_mode to clamp for bicubic upscaler * Libretro buildfix attempt again * Remove "attachment" parameter from BindFramebufferAsTexture everywhere. * Libretro buildfix attempt * Vulkan: Correct some enum switch warnings. * Kernel: Fix reported StopThread error. * headless: Update passing tests. * headless: Fix crash running some tests on Vulkan. * headless: Allow screenshot to not be 512x272. * SDL: fix glew on wayland by ignore glx * OpenXR - Use only the first projection matrix in frame for mirroing detection * OpenXR - Ensure scene analyze is called the same way as before * Build/warning fix * Remove newly added dependencies on PPSSPP * Don't use PPSSPP-specific stuff in Common/VR for now. * Buildfixes * Android non-gradle buildfix * CMakeLists.txt fix * Make as much as possible of the VR code build on all platforms * Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere. * Reorder the GPU USE flags a bit * OpenXR - Move VR passes count calculation * OpenXR - Reduce uniform calls * OpenXR - Simplify projection matrix analyze * OpenXR - Get rid of VR tweaks * OpenXR - Move matrix composing out of VR tweaks * Two more renames to make things read better * Rename GPU_SUPPORTS_ to GPU_USE_ * Rename gstate_c.Supports to gstate_c.Use * GPU: Replace logic ops with blend for simple cases. * softgpu: Correct linear interp for uneven positions. * softgpu: Correct drawing outside TL of rectangle. * softgpu: Make triangle fan rect detection generic. * OpenXR - Add VR mode for stereo flat screen rendering * Savedata: Update filelist on file erasure. * Kernel: Stop reporting invalid semaphore names. * Kernel: Stop reporting invalid mutex names. * Code cleanup, optional param renamed: "recreate" -> "remove" * Fix save states * OOP * know unknown in sceMp4Create * Add draft mp4msv module * Kernel: Add reason to reported stop error. * Windows: Improve reporting of WASAPI errors. * Io: Fail open earlier from ms0: w/ no access flags. * jit: Run invalidates immediately. * jit: Consistently check range on invalidate. * jit: Ignore zero byte icache invalidates. * D3D9: Correct scissor state cache in Draw. * headless: Update tests. * softgpu: Cull a triangle with all negative w. * softgpu: Fix crash on screenshot w/o display. * Removed the bugged part of hle.func.scan + new comments * Vulkan: fix wayland swapchain size 1x1 * typo * OpenXR - Ensure the app gets unloaded when killed by OS * OpenXR - Disable VUlkan for now * Revert "Vulkan: Create depth/stencil buffers on demand" * Add ShaderId utility function to be used for some sanity checking. * Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. * OpenXR - Create VR framebuffer for Vulkan * OpenXR - Hookup VR API into Vulkan * Comments updated, default value for parameter "recreate" set to false * Added optional parameter to hle.func.scan, improved code of hle.func.removeRange * GPU: Respect stencil state in shader blend. * Followup to #16205, fix one more instance of the problem. * Removes the option, autodetect instead - only enable if the GPU doesn't support bitwise ops. * ArmJit: Save/restore downcount where needed, we missed a few cases. * Revert "Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194" * Touchpad/mousewheel scrolling acted very weirdly on Mac due to 0 deltas. Make it work better. * Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194 * Warning fixes * GE Debugger: Display if tex is framebuf. * GE Debugger: Use a modern GL context. * GE Debugger: Remove ancient unecessary GL calls. * GE Debugger: Normalize framebuffer texture preview. * GE Debugger: Centralize current fb tex fetch code. * D3D9: Remove block transfer code overrides. * D3D9: Implement CopyFramebufferToMemorySync(). * Vulkan: Fix initial depth copy w/o existing depth. * MIPS: Fix non standard layout offsets. * GLES: Add debug readback of stencil data. * GLES: Refactor depth pipeline create. * GPU: Rename stencil write pipeline. * GLES: Allow stencil texturing if supported. * it_IT - Italian localization: Apply giona888's latest changes * Experimentally revert "Delete some misguided FPU control code, that we definitely don't want" * Comment about VR uniforms * Don't use fragmentShaderInt32Support as a replacement for checking for bitwiseOps * Don't expand alphaColorRef to 128 bytes on backends where we don't need to. * glslang: Set a missing resource limit. Avoids spurious errors in shader unit test * Revert "Revert "Loader: Validate offsets and truncation in ELF."" * Update elfSize to uncompressed elf size when needed. Fixes infinite loading in Wipeout. * Revert "Loader: Validate offsets and truncation in ELF." * Track min and max GPU time, init time, render CPU time. * Delete some misguided FPU control code, that we definitely don't want * Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. * GLES: Simplify, enable debug depth readback. * GLES: Use Draw for depth readback shader. * GLES: Enable EXT_depth_clamp where supported. * GLES: Refactor depth shader download. * GLES: Depth download cleanup. * Windows: Retain log console on graphics restart. * jit: Defer invalidations made while running. * GE Debugger: Reset on shutdown. * Loader: Get rid of overalloc on module exec. * Loader: Validate offsets and truncation in ELF. * D3D11: Correct depth readback. * Savedata: Cache SFO data during processing. * Savedata: Skip and defer texture exist check. * Savedata: Combine file info and dir listing calls. * Io: Provide directory existence with listing. * Android: Differentiate empty dir from failure. * Savedata: Reduce some duplicate file info lookups. * Font: Reduce internal font loading IO. * Io: Defer GetFileInfo() until it's needed. * Io: Reduce operations inside GetFileInfo(). * Module: Cleanup file read pattern. * GPU: Rename readback and buffer write operations. * D3D9: Correct depth readback. * Depal from dynamic CLUT: When detecting bounds, be more conservative. * Vulkan: Create depth/stencil buffers on demand * Fix depal bounds with dynamic CLUT. Fixes lens flare glitches in Ridge Racer * Remote API: hle.func.removeRange added * GLES: Hook up depth download. * Vulkan: Disable geometry shaders for Mali <= 18. * GPU: Correct sizing account on block transfer. * GPU: Hook Gods Eater Burst avatar read. * GPU: Consider depth buffers in block transfer. * Jpeg: Cleanup debug dump file access. * Jpeg: Encode and decode YCbCr as 2x2. * Jpeg: Correct some logging of return types. * Debugger: Fix off-by-one in func scanning. * GPU: Refuse to set fb_address == z_address. * GPU: Ignore depth when masked and ALWAYS. * GLES: Use GL_LUMINANCE on GLES for indexed tex. * D3D9: Add simple rendered CLUT handling. * D3D9: Correct sampler states for binding 1+. * Jpeg: Correct colorspace conversion funcs. * Jpeg: Decode buffers using configured stride. * Jpeg: Improve error handling for YCbCr decode. * Jpeg: Retain previous width/height. * OpenXR - Revision of VR rendering * Jpeg: Improve timing/errors for GetOutputInfo. * Psmf: Fix save states. * Jpeg: Play it safe with load/unload handling. * Jpeg: Validate CreateMJpeg() parameters. * Jpeg: Cleanup Init/Finish error checks. * Fix as @hrydgard suggest * Typo fix, thanks iota97 * Shader uniforms (VK/D3D11): Fix issue where we could overwrite the fourth component padding. * GPU: Clip against neg Z even w/o cull support. * GPU: Verify generated shader buffer length. * GPU: Optimize clip distances needed. * Vulkan: Correct clamped Z clip when clipping neg Z. * Vulkan: Avoid max_vertices=12 if unnecessary. * Vulkan: Clip clamped depth in geometry shader. * Forget remove the include * Store crc change to u32 * Reporting: Always report hleReportDebug. * Reporting: Avoid accessing ticks before start. * Vulkan: Generate indices in clipping. * Compat: Remove DisableRangeCulling. * Vulkan: Clip to neg z in the geometry shader. * Improve Freedesktop integration * Move scalable icon install from `${prefix}/share/pixmaps` (`pixmaps` has been deprecated long time ago) to `${prefix}/share/icons/hicolor/scalable/apps` * Add `Keywords`, `Categories`, and `MimeType` keys to `.desktop` file * Add shared MIME-info on [`application/x-compressed-iso`](https://en.wikipedia.org/wiki/.CSO "Compressed ISO") MIME type * Try to build fix * Fix Kurohyou again. See #9576 * GPU: Skip matching a framebuf for RAM. * GPU: Use flags to fix triggered upload/download. * Add crc record to psmfplayer * Add crc record into mpeg module * Add crc calculation in loading module * Vertex decoder: Add fallback for non-SSE4.1 * Fix another crash with non-buffered rendering * More libretro buildfix, thanks stuken * Attempt to fix libretro build * Fix validation error with the GPU profiler * Improve Vulkan profiler (show framebuffer tag for render passes) * Fixed syntax accessing method reviewed by Unknown W. Brackets <checkins@unknownbrackets.org> * softgpu: Minor opt, ignore unused z_stride. * GPU: Normalize framebuf addresses. * GE Debugger: Ignore mirrors for target in record. * GE Debugger: Correct mask in target breakpoints. * GPU: Mask away unused bits in framebuf/zbuf ptr. * Vulkan: Cleanup unused geometry shader vars. * Vulkan: Allow configuring geometry shaders on/off. * Vulkan: Block geometry shaders on older Mali. * Vulkan: Use geo clip distance only where supported. * Vulkan: Enable geo shader for culling. * Vulkan: Correct geometry shader culling. * Vulkan: Cull in geoshader, hack to on for now. * Vulkan: Basic geoshader code generation. * Vulkan: Update shader cache format for geo shaders. * Vulkan: Add geometry shader ID tracking. * Vulkan: Clean up shader module tag. * GPU: Add dirtying for geo shader state. * UI: Prevent rendering during reboot. * assets/lang: translate some key phrases in pl_PL.ini * headless: Update tests. * GE Debugger: Fix memcpy/memset recording. * GE Debugger: Record the Edram translation value. * Ge: Report and save Edram translation value. * Debugger: Fix game.reset by adding a reboot status. * Build: Ignore no symbols link warning. * Build: Fix debug build on Windows 32-bit. * Tighten up some color format checks with displays and copies * GPU: Add geometry path for shader writer. * unittest: Cleanup stage/glsl version. * Draw: Add COLOR1 semantic. * ES2 crash fix: Don't draw depth if lacking fragment shader depth write. * Build: Raise macOS/iOS min version for c++17. * armips: Use native std::filesystem on Windows/UWP. * armips: Also update UWP and ARM64, etc. * armips: Update to UTF-8/c++17 armips. * Core: Remove disallowed register. * Build: Update zstd to latest dev. * armips: Update to latest. * Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' * Fixed bug and memleaks * Code readability, vec reserve() and remove excess c_str() * Correct cleaning string and remove unused vars * GE Debugger: Correct rounded coords in vertex list. * softjit: Fix dst blend shift. * softgpu: Avoid projecting textures in common case. * GPU: Fix missed dirtying when fast loading tgen. * GPU: Restore matrices with dirtying. * Use compat.ini to avoid readbacks in Silent Hill: Shattered Memories as well. * Remove redundant call to SetMenu * Add hidden ini file setting that you can use to hide the menu bar. * Typo fix * Update README.md * OpenXR - Add README.md about the SDK * Update the Vulkan debug names when reassigning depth buffers. * Add Silent Hill: Origins to compatibility setting BlockTransferAllowCreateFB. * If a framebuffer starts using a different depth buffer than before, re-point. * Quiet the Vulkan miniprofiler (for texture uploads etc) a bit * softgpu: Correct matrix value update wrapping. * Ge: Move matrix reading into GPU. * GLES: Fix colortest/logicop uint/int conversion. * Debugger: Add API to scan memory for funcs. * Debugger: Fix doc typo for disasm/assemble names. * OpenXR - Fix FBO colors on Pico * OpenXR - Fix the build on Quest * OpenXR - Support for Pico controllers * Vulkan: Better debug names for RENDER passes. * Remove alpha ignore in xbrz texture shaders. * OpenXR - Initialization on Pico fixed * OpenXR - Code formatting * Forget remove unused include * Change to mpegLibVersion * Better bit scrambling when computing draw call IDs for vertex cache. * softgpu: Handle rectangle texture projection. * softgpu: Implement triangle texture projection. * softgpu: Expand texture coords to include q. * softgpu: Split clippos out of rasterization vert. * GPU: Correct flat normal projection mapping. * GPU: Correct normalized zero normal proj map. * softgpu: Save last tc/normal in vertex reading. * Fix color test. * Add compatibility flag for loading pixels on framebuffer create using nearest filtering * Mpeg: Correct Au update size. * GPU: Apply color test mask as a uint. * GPU: Consistently use uvec3 for colortest. * ivec->uvec, comment fix * ShaderUniforms: cleanup, put every "4-float" on a line for clarity * Shuffle constants around, squeezing them into gaps. Saves another 16 bytes. * Fragment shader uniforms: Pack color mask in 32 bits instead of expand to 128 bits. * Fold the "materialUpdate" flag into the light ubershader part. * Add some recent flags to FragmentShaderDesc * Remove suspicious dirty flag * Prepare for dynamic mat update * Minor debugger fix * Always do the vertex shader part of the fog computation. * GPU: Fix SSE4 Vec3f normalize. * Oops! Also, testfix * Fix light ubershader for D3D11 and OpenGL, GLES unsigned/signed stuff * Experiment: Generate "Ubershaders" that can handle all lighting configurations * Replace faulty layout transition deduplication algorithm. * Vulkan: Add debug names to our command buffers, so you can see which one errored in validation * Minor cleanup in TinySet * Trying to improve sceMpegAvcDecodeYCbCr * (UWP) Remove expandedResources * Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts. * OpenXR - Pico specific code refactor * softgpu: Avoid waiting for a thread to drain. * softgpu: Increase queued prims. * softgpu: Fix triangle strip with partial rects. * softgpu: Simply 5551 blending fast path. * softpu: Refactor out 5551 fast path checks. * softgpu: Avoid fast path in another wrong case. * D3D9: Allow INTZ depth buffers more correctly. * Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc. * Bump the shader cache version * Vulkan: Don't compile pipeline variants that don't make sense given their flags. * OpenXR - Initialize Pico subsystems * OpenXR - Disable performance extension on Pico * OpenXR - Support multiple loaders * GE Debugger: Add option to track pixel in preview. * OpenXR - Add manifest for Pico * OpenXR - Rename Quest build variant * GE Debugger: Copy images optionally with alpha. * GE Debugger: Add a direct copy for preview images. * OpenXR - PreprocessStep function implemented * OpenXR - Simplify skyplane detection in GTA * OpenXR - Get rid of an ugly if condition * GPU: Cleanup unused CheckAlpha() funcs. * softjit: Skip reading dst pixel where blended out. * softgpu: Optimize rectangle sampling/blending. * softgpu: Ignore a needless color test case. * GE Debugger: Tag frame dump replay VRAM writes. * GE Debugger: Fix small tex/clut recopying. * HLE: Fix bad logging without latestSyscall. * Vulkan: Avoid crash on two backbuffer steps. * Remove ill-formed asserts * More tweaks, fix crash on exit (double-join thread) * Small tweak * Can't seem to get around this condition variable... Oh well. * Readback fix * Greatly simplify the thread synchronization. * Flatten the Run function, to make it easier to reorganize. * Make functions private that should be private * Fix assertion issue when playing Cars over public adhoc server. * Best practices layer warning: Don't pass in unused clear values. (probably zero impact, heh). * Handle depth buffer write-after-write hazards in the queue runner * Fix leak of shader modules from thin3d. * Another uninitialized variable (VAI minihash/hash) * Make valgrind happy * Fix memory leak (of Promise objects) in VK pipeline wrappers * Add Burnout Dominator to list of games that require buffered rendering * GPU: Upload depth only on first usage. * softgpu: Fix self-render detect in Ridge Racer. * softgpu: Cache reused indexed verts. * softgpu: Skip matrix multiply for fog factor calc. * softgpu: Remove unnecessary state param. * Texture/Framebuffer match: Ignore stride if texHeight == 1. Fixes Ridge Racer lens flares. * Use Unknown's idea from #16081 instead of the UploadDepthForCLUTTexture compat.ini flag. * Fix Vulkan regression of #16075 due to silly typo. * Fix corruption of Ridge Racer speedometers with AutoMaxQuality enabled. * Cleanup logic * Fix for render pass merge * If depth or stencil are cleared in a renderpass, set the pipeline flag. * Vulkan: Don't have renderpasses store/load depth buffers when we don't use them * Preserve depth buffer on framebuffer resize, if has been used. * More lenient heuristic for uploading depth buffers. Still behind compat flag. See #11100 * Minor cleanups around dirtying of render state * softgpu: Avoid unnecessary flushing for curves. * GLES: Avoid resizing tessellation data textures. * GPU: Correct neg normal for hwtess texgen. * GE Debugger: Default auto flush enabled. * GPU: Use hardware tess params for texgen. * Dirty more state after depal * Don't try to replace or scale CLUT8-on-GPU textures. * Shouldn't 'floor' there * CLUTs can be loaded from small rectangular textures. Need to linearize. * OpenXR - Stereo mirroring fixed, disable stereo when no world scale defined * Vulkan: Avoid crash in headless on finish. * Kernel: Match index lookup behavior for tls. * GPU: Simplify depth clamped clip planes. * GPU: Clip clamped depth accounting for perspective. * GPU: Account for w properly in lines, fixing width. * softgpu: Narrow blend check for fast path further. * headless: Use display buf for compare screenshot. * GPU: Correct display framebuffer reading. * softgpu: Fix display framebuffer read. * Fix BGRA issue on D3D with GPU CLUT textures * softgpu: Correct clear rect off by one issues. * OpenXR - Compile fix * UI: Fix controller autoconf list result. * headless: Update tests. * Kernel: Disallow partitions 8/10 to match tests. * OpenXR - Support for all headset's IPDs fixed * Kernel: Allow volatile for MsgPipe buffers. * Kernel: Allow volatile for Tlspl objects. * Throw in assorted warning fixes * Kernel: Allow kernel/volatile VPLs as well. * Submit main command buffer before acquire. Fix sync bug. * When taking screenshots, make sure that the readback command happens on the right cmdbuf. * Kernel: Allow allocating FPLs in volatile memory. * Minor code cleanups (hasBegun is now redundant, for example) * Rewrite some present logic for slightly more clarity. Fixes bad logic and a minor race condition. * Various refactoring * Unify depth texture and framebuffer fetch checks * Unify range culling detection * Start unifying setting of the GPU feature flags, now that thin3d has feature detection. * Kernel: Load volatile memblocks from save states. * Kernel: Check sceKernelAllocPartitionMemory args. * Kernel: Fix save states for volatile memory alloc. * GE Debugger: Include rendered CLUTs in frame dumps. * Address feedback * Vulkan: Remove the useThread bool entirely. * Start moving stuff out to VulkanFrameData.cpp * softgpu: Skip flushing on no change. * softgpu: Skip more triangles with equal verts. * Windows: Normalize paths for OpenDirectory(). * GE Debugger: Save current clut in frame dumps. * HLE: sceKernelAllocPartitionMemory volatile memory support (partition 5) * Gamedata: Cleanup install request args/validate. * Fix the UI setting "Buffer graphics commands". Was off by 1. * GPU: Clip depth properly when also clamping. * GLES: Support more clip distances. * softgpu: Correct line early z checks. * GE Debugger: Allow search by state name. * GE Debugger: Show time spent stepping. * softgpu: Fix s8 primitives in throughmode. * headless: Add some new and passing tests. * GPU: Fix crash on imm vert triangles. * softgpu: Correct secondary color on imm verts. * softgpu: Fix state/continuation for imm prims. * softgpu: Support fog and color1 on imm verts. * softgpu: Refactor imm draws to bypass vert read. * softgpu: Simplify vertex reading. * softgpu: Simplify vertex range culling. * softgpu: Explicitly flush on sync and output. * GPU: Minor cleanup of unnecessary virtual. * Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change * Update pspautotest submodule * Update ffmpeg submodule (no big news, just readme updates and a gcc buildfix) * Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug. * Show GPU device ID in system information if available. * headless: Benchmark a test or frame dump. * headless: Add option for MSE pass threshold. * headless: Switch screenshot error to MSE. * Headless: Small cleanup of options handling. * softgpu: Run early Z tests in fast rect path. * UI: Fix some logic dependent on screen tags. * Remove assert (this happens when playing framedumps) * Finish the switch to late acquire, moving the swapchain responsibility to the queue runner. * RunSteps cleanup * Move FrameData out of VulkanRenderManager * Move back buffer rendering to a separate "present" command buffer * Remove splitSubmit setting. Now we submit init commands before the acquire. * Flag shader blending as broken on Adreno for now. * Need to have input attachments in the descriptor pool. * Remove logspam * Show render pass types in GPU profiler * Use subpass dependencies to implement shader framebuffer read in Vulkan. * Add two more extensions to device extension lookup * Careful with min filtering of framebuffer textures only if auto max quality is on. * Increase log level of ppsspp version * Ah, need to enable the Mali workaround for Outrun's water, too. * Logic op fix, min filter fix. Also remove some unnecessary indentation. Fixes the water on Adreno (no logic) * Log the screen tag when logging scissor errors. * Add tags to all our UI screens. Useful to debug UI problems. * Fix const pointer conversion error for RISC-V * D3D9 crashfix (flare doesn't render correctly though) * Copy the texels directly in LoadCLUT * Small simplification * Address feedback, change roles of the two dynamic clut fbos to eliminate the need for state (see next commit) * Seems Need for Speed: Shift has exactly the same lens flare, enable the same compat settings. * OpenXR - Better variable/methods naming * OpenGL and D3D11 fixes * OpenXR - Add code comments * Log improvements * Ridge Racer fix * Get depal-from-dynamic-CLUT working * Set texcache entry status flag if CLUT needs to be dynamic * Add way to bind cached textures to a DrawContext * Allow binding "native" texture objects to thin3d * Start implementing ApplyTextureDepal * Cleanup in ge_constants.h, add virtual CLUT8 buffer format * OpenGL fix * Comment * Force low resolution for effects in Burnout Dominator. Fixes lens flare at high res * Enable depth uploads on render-to-clut-buffer. Esoteric but needed for #11100. Compat flag for now. * Enable DownloadCLUT and ShaderBitmask for Burnout Dominator * Detect the CLUT8/8888 situation * Buffer copy matching workaround * OpenXR - Ensure the head pose is locked during frame rendering * OpenXR - Vulkan support in progress * Switch multiple bools as parameters to DecodeTextureLevel to a flags enum. * Fix regression in Tantalus games. See #15914 * GE Debugger: Allow fb copies while stepping. * GPU: Fix simulating logicop with blend and shader. * OpenXR - Move skyplane compat flag into compatvr.ini * Unify CLUT texture size at 512 to reduce complexity. Worth the extra bytes. * Extract function GetReinterpretPipeline * Savedata: Return errors more correctly on load. * softgpu: Force correct alignment on 32-bit. * Common: Fix some type compare warnings on 32-bit. * softgpu: Remove mostly unused screen offset state. * softgpu: Cache texture bufws at 16 bit. * softgpu: Reduce size of VertexData texture coords. * OpenXR - Initial work on Vulkan support * Non-buffered rendering crashfix * OpenXR - Refactor variable name * OpenXR - Crash when using 3D stereo fixed * OpenXR - Requested header change in compatvr.ini * OpenXR - Use per game stereo separation file * Address feedback * Better shader compile logging * Don't start blending in the shader just because there's bitmasks, if blend is disabled. * Debug-name shader modules with their shader desc strings * softgpu: Ignore stencil test mask in ALWAYS mode. * softgpu: Include early Z in func description. * softgpu: Detect longer strips of rectangles. * softgpu: Detect full triangles as rectangles. * softgpu: Refactor triangle cull processing. * softgpu: Store vertex colors as packed RGBA8. * softgpu: Enable early Z tests a bit more often. * softgpu: Reduce some minor bin item field sizes. * README: Move some older releases to history. * GE Debugger: Add some constants to expressions. * GE Debugger: Add fields to register expressions. * Add Rewrite to DrawSyncEatCycles hack, softlocks without it * GE Debugger: Eval breakpoints as if register set. * GE Debugger: Provide addrs in breakpoint conds. * Remove CLUT matching case that shouldn't be there yet. * softgpu: Switch vert continue buffer to members. * softjit: Implement accurate fog color blending. * softgpu: Correct accuracy of fog calculation. * softgpu: Restrict sprite fast path to throughmode. * Shadergen issues found by the test * Switch more texture matching calculations to use bytes for matching. * Texture/framebuffer matching: Do margin check in bytes. * Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit. * Implement shader depal for D3D11. * DownloadFramebufferForCLUT: Apply the fix mentioned in #8590 * CLUT download: Replace the broken block transfer check with a new compat flag. * vertexjit: Use consistent skinInDecode. * softgpu: Check depth test early on simple stencil. * softgpu: Clamp/wrap textures at 512 pixels. * GE Debugger: Correct confusing block transfer size. * D3D11: Prevent crash on larger textures. * TexCache: Allow valid bufw sizes. * Vulkan: Avoid crash if large texture attempted. * GE Debugger: Fix crash on bp before list running. * GE Debugger: Fix crash stepping with large tex. * softgpu: Avoid calling unordered coords tl/br. * softgpu: Avoid over-aggressive rect conversion. * GE Debugger: Fix logging of texture size. * softgpu: Allow almost flat rectangles to go fast. * softgpu: Refactor duplicate rectangle compat check. * Add logging for LoadCLUT from framebuffer. See #15923 . Logs nicely in Burnout Dominator. * GE Debugger: Correct cond break removal warnings. * Vulkan: Wake compile thread when enqueued. * Update version to 1.13.2 * Update README.md for v1.13.2 * CI: make indentation in tarball.yml consistent * CI: also upload release source tarball on tag push * GPU: Dirty params when converting viewport state. * softgpu: Correct morph weight updates. * Add Emulator to Categories in ppsspp.desktop.in * Vulkan: Declare gl_Position as invariant. See #11583 * readme link * D3D9: Correct viewport offset sign. * D3D11: Correct viewport offset sign handling. * Remove a per-audio-frame allocation in sceAudio * Initialize a bunch of Dialog structs * Font: Correct uninitialized values. * Atrac: Avoid accessing uninitialized stream status. * Atrac: Avoid an uninitialized value. * softgpu: Correct bad munmap() size. * atrac3: Apply the overallocation workaround in a couple more places. Fixes #15788 . * Atrac3+: Allocate some extra bytes for the data buffer to workaround decoder bug. * atrac3: Apply the overallocation workaround in a couple more places. Fixes #15788 . * Warning fix * atrac3: Allocate some extra bytes for the data buffer to workaround decoder bug. * OpenXR - Compile fix * OpenXR - Do not mashup Common/GPU * OpenXR - Refactor * Match FragmentShaderFlags definition with the other PR. * Some more debug names to vulkan objects * UI: Resize after visiting developer settings. * GPU: Make NotifyConfigChanged() calls consistent. * Build: Another attempt to fix libretro. * Fix compiler warnings * Assorted cleanup * Fix for desc struct * Vulkan: Improve tagging of pipelines for debugging purposes * Extend lifetime of ShaderModule objects since we might need to recreate pipelines for different render passes * Fix pipeline lifetime issue, misc. * Correct merging of render passes. However, we have lifetime issues. * Lifetime fixes, cleanups * Fix shader caching. * Also create renderpass variants on demand * Create framebuffer variants on demand * Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType). * Another attempt at fixing libretro, this time the win build failed * OpenXR - Use fog color to replace the sky * OpenXR - Refactor VR compat integration * GE Debugger: Show imm prim flag detail in disasm. * GPU: Handle more flags on imm prim command. * softgpu: Use vertType prim override for flags. * GPU: Allow usage of texturing in immediate verts. * GPU: Handle immediate prims more accurately. * GE Debugger: Count imm prims as prims. * softgpu: Fix immediate rendering crash. * GPU: Fix crash on overlap copy w/o cur target. * GPU: Fix CanDepalettize() missing false paths. * Build: Add additional zstd file for libretro. * d3d9: Correct decode of 16-bit textures. * Add Lubos to credits list * GE Debugger: Add more missing GE disasm. * softgpu: Implement matrix data wrap-around. * Ge: Read matrix num/data back like hardware. * Build: Include all zstd files in libretro. * GE Debugger: Add conditions to cmd breakpoints. * GE Debugger: Add address breakpoint conditions. * GE Debugger: Allow expressions for goto address. * Remove impossible check * Buildfix, warn fixes while at it * NFS speed effect: Improve framebuffer choice logging, tighten up stride checks. * Correct libretro buildfix (hopefully) * OpenXR - Config for stereo separation added * GE Debugger: Add a table of register metadata. * OpenXR - Stereo matrices fixed * libretro build fix, see #15968 * Remove reference to non-existent file from Common.vcxproj * The Darkstalkers subpixel check should be == 0. Fixes #14953 again * OpenXR - Fixing FOV better * Fix for ARM 32-bit. * Fix case problem in libretro make file, see #15964 * Remove the assembly implementation of 4x4 matrix mul, in favor of intrinsics. * Disable BlueToAlpha mode when logic op is present. Re-enable for Outrun and DiRT. * Vulkan: Update to latest VMA. * Build: Update xxhash to v0.8.1. * Build: Update to zstd v1.5.3. * Build: Split ppsspp_common out for Android bins. * Water effect fix #2: If ForceLowerResolutionForEffects, don't upscale textures participating in small-resolution passes. * Water effect fix #1: Force "Lower resolution for effects" on in Outrun and DiRT 2 * Fix "Lower resolution for effects" in Ratchet & Clank. Bad option for this game though. * Fix the new logic-op-in-shader on OpenGL and D3D11 * OpenXR - Mismatch in stereo and normal uniform fixed * OpenXR - Do not include lens projection in nonVR builds * OpenXR - Split projection matrix for color and depth buffer * Shader unit test fix * Preserve alpha in shader logic op emulation. Include logic op in check for packUnorm4x8. * OpenXR - Mismatched call order fixed * OpenXR - Multipass rendering fixed * OpenXR - Stereo without multiview added * Turn on logic ops in shader when shader bitmasking is used. * Shader bit setup and code generation for logic-ops-in-shader * UI: Only force ASCII messages if they're ASCII. * headless: Fix startup on latest Android versions. * arm64jit: Handle branch/jump in branch delay slots. * x86jit: Refactor and fix jump in branch delay slot. * irjit: Handle branch/jump in branch delay slots. * Fix dialog rendering (PPGe). Fixes #15954 * spaces->tabs * Fix GLES check * Additional cleanup * Add log functions to state structs * Move the computation of simulate-logic shader type earlier * Some more renaming and refactoring, extracted from a future PR * Channel mask refactor * Correct LogicOp API support detection * Minor refactor with pipelines in QueueRunner (makes more information available for easier debugging) * Don't parallelize shader compiles in debug mode, sync in debug allocator kills performance. * interp: Handle jumps in branch delay slots better. * softgpu: Correct texture check in fastpath. * softgpu: Validate alpha test properly for fastpath. * softgpu: Avoid rect fast path with subpixel offset. * Kernel: Use PSPPointer for status objects. * Io: Use PSPPointer instead of struct temps. * Font: Remove needless ReadStruct(). * Ge: Switch from ReadStruct to PSPPointer. * Psmf: Use PSPPointer instead of WriteStruct. * Net: Remove usage of Memory::WriteStruct(). * HLE: Remove misc usage of WriteStruct(). * PPGe: Cleanup memory writes for clarity. * Fix lying comment, log level reduction * Promise: Add SpawnEmpty (couldn't come up with a better name), fix bug with multiple waiters * Switch Vulkan pipelines to use promises for synchronization * VS 2022 warning fix * More buildfixing * Buildfix * Buildfix * Fix silly logic, fixes the shader leak. * Work towards finding the leak * Don't block on shader creation until it's time to create the pipeline. * Use shader module promises as keys in pipeline cache instead of the actual shader modules. * Create shader modules (and compile GLSL) on worker threads * minor sv translation fix * Use promises to hold shader modules, for later asyncification * Remove confusing resetFramebufferRead flag from secondary framebuffer binding * Remove setting "Disable slower framebuffer effects" * Remove unused function * langtool: Run fmt, remove wrong comments * langtool: Add easy command to remove a key. * unitest: Correct wrong free, initialize data. * vertexjit: Update unit test, oops. * Avoid recomputing the shaderblend setup in ComputeFragmentShaderID. * Small steps * Some reordering * More renaming * Plumb the computed pipeline state into ComputeFragmentShaderID. * Some renaming. Store the BlendState/MaskState. * OpenXR - FBO intialization better * vertexjit: Remove unused ReadUV() cases. * vertexjit: Remove unused ReadPos() cases. * vertexjit: Clamp through float pos during decode. * Replacement: Fix reload of replaced textures. * Replacement: Detect OOM even with replacements. * Vulkan: Prevent saving tex during replace load. * Revert "Merge pull request #15930 from sum2012/kernel-minor" * compile fix * OpenXR - Viewport init better * OpenXR - Emulate mouse cursor * Fix image format when dumping textures. * Fix texture saving for Vulkan * Display paths with backslashes on Windows. Show texture path when saving. * Shrink VkRenderData from 88 to 64 bytes. * Another buildfix attempt * libretro buildfix * Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. * Remove a per-audio-frame allocation in sceAudio * Shrink the DeferredDrawcall struct, because why not. Assorted cleanup * Shrink the TransitionRequest struct, use TinySet * TinySet bugfix, add "append" * fbtex matching: Shrink the matching struct, use TinySet instead of vector to avoid an allocation. * Stricter checks for negative framebuffer offsets. Fixes #15937 * Merge GetFramebufferCandidates and GetBestCandidateIndex into one function. * Much faster framebuffer matching (no more ToString every time there's more than 1 candidate, etc). * Rename Slow Framebuf effects to Shader Blending (might remove). Reassign readbacks to BlockTransferGPU. * KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect. * Extract the split code to a function * Quicker way to update the through projection matrix with the split framebuffer offset * Cleanup (more to do, though) * Allow signed texture offsets on framebuffers * Offset the draws properly. Now just some texel clamping left to fix * Check X coordinate of through-mode drawcalls to figure out which of the splits to render to * Force clearing framebuffer for GTA games * Tweak ForceMax60Fps to work for Killzone * Split the framebuffer in Killzone, with a compatibility flag. * Small tweak in texture matching. Fixes #15927 * Fix sceKernelUnlockMutex timing * Remove "DisableReadbacks" compat flag. MotoGP no longer needs it after BlockTransferAllowCreateFB was added. * Fix race condition in replacement texture loading * Implement shader blending for D3D9 * Clean up mip size calculations * GE Debugger: Improve display list disasm. * Address feedback * Add support for reading depth buffers to the PackFramebufferSync function. * OpenXR - Multiview refactor to make it optional * Add another stat, for self-tex * Remove the reinterpret compat flag, now always on * Fix OpenGL bug when framebuffer fetch is available. Add two new stats. * Better framebuffer checks, remove all ways that framebuffer formats can change. * Use better pattern for enum switches * Some Vulkan renderpass load/store optimizations. * Depal: Set scissor tightly around processed area. * OpenXR - Compile fix * OpenXR - Swapchain acquiring fixed * UI: Validate UI scissor inside bounds. * GPU: Make Spongebob hack checks more readable. * GPU: Recheck depth/stencil after Spongebob hack. * GPU: Add a way to defer dirty rechecks. * GPU: Fix possible shift truncation. * Update the Spongebob workaround check to work with MX vs ATV: Reflex. See #15907 * riscv: Add a simple unit test. * OpenXR - Flag to easily disable multiview shaders added * OpenXR - Keep using GLES2 headers for now * More spongebob check tweaks, assert fix * Remove irrelevant stencil state checks * Address additional feedback, thanks! * Safer spongebob depth inverse check, includes color check and depth func * Unify the spongebob depth inverse check * riscv: Emit compressed instructions. * riscv: Improve sign reduce/immediate readability. * riscv: Emit ADD/SUB/etc. for ADDW/SUBW/etc. on R32. * riscv: Include an LI helper in the emitter. * Comments and fixes * Block transfer bug fix * OpenGL graphics fixes * Comment fixes * Reinterpret is the proper fix for God of War's shadows. * OpenXR - Dummy integration compile fix * OpenXR - OPENXR ifdef removal * Fix UV offsets in 16->32 reinterpret. Better, but something is still not quite right. * GL bugfix, log cleanup * Enable reinterprets and create-buffer-on-copy for the Tantalus games * Fix problem matching framebuffers for reinterpret * Logging improvements * Remove some old logging that's not very interesting anymore * OpenXR - Enable performance mode * Log improvement * When cloning framebuffers for reinterpret, adjust width according to bpp * Framebuffer texture matching: Remove heuristics other than seqCount * Accept color textures as reinterpretable between 32 and 16-bit formats * Implement the stencil/alpha reverse trick for all backends * Fix bug in reinterpret float impl * Comment fix, cleanup * Minor D3D11 refactoring * Fix Katamari * Bugfix, better logging * Quick hack to widen the depal texture if 0x200000 swizzle is needed * More successful swizzle impl. Not perfect * Unsuccessful swizzle implementation * wip * Initial implementation of 32/16-bit color reinterpret blits. * Refactor reinterpret to prepare for 16/32-bit * Prepare for 16/32 reinterpret * Detect need for 16<->32-bit reinterprets * Work in bytes in the framebuffer matching algorithm for block copies, avoid margins * Finish the depal refactoring. * Fix shader compilation error in depth->565 * riscv: Emit CSR manipulation instructions. * riscv: Validate FixupBranch usage better. * riscv: Emit float instructions. * riscv: Emit atomic operations. * riscv: Emit mul/div instructions. * riscv: Emit fence and 64-bit instructions. * riscv: Emit 32-bit 3-op instructions, validate GPR. * riscv: Emit 32-bit load/store and imm ops. * riscv: Emit standard B/U/J type ops. * riscv: Add initial emitter shell. * Remove support for framebuffers changing stride (already unreachable). * Revert minimum stride * Add missing terminator to VR settings array. Better logging. * More comment fixes, cleanups * Comments * Comment updates * Merge the two find FindTransferFramebuffer* methods * Additional renaming * Rename variables to make the two functions match * Split up FindTransferFramebuffers * Assert removed * Tighten the check a bit more * Reorder some parameters. Detect buffers in stride gaps. * Remove unused function decl * Fix smoothed CLUT lookups. Shouldn't go beyond the mask's reach. * Add floating point version of reinterpret shaders * Fix BlueToAlpha together with reinterpret. Add back fake reinterpret for now. * Reimplement texture format reinterpretation * Fix smoothed depal on GLES. Don't enable filtering if not using. * Fix checks for depth texture support, GLES syntax errors * OpenGL: Fix regular depal (shader depal still worked) that broke recently * Remove duplicate uniform queries * Fix wrong width/height values being stored in thin3d textures * Drive-by texture slot management cleanup * OSD: Scale large multiline messages to fit better on screen (like shader logging) * GPU: More consistently clear ptrs on DeviceLost(). * GPU: Correct Draw2D::DeviceRestore(). * GE Debugger: Fix bad read on step at start of VRAM. * GE Debugger: Add separate step based on vsync. * GPU: Centralize SetDisplayFramebuffer(). * GE Debugger: Record 1 flip if no display calls. * Vulkan: Very minor chnages after checking Best Practices with new validation layer * Use Draw2D for depal shaders (except the actual blit, for now) * Break out Draw2D in a class * Switch reinterpret shaders over to the Draw2D framework. * More Draw2D refactoring * Small Draw2D refactor * Rename VirtualFramebuffer->format to fb_format to line up with fb_address and fb_stride (fundamental parameters) * Rename fmt->fb_format * D3D9: Correct viewport offset sign. * D3D11: Correct viewport offset sign handling. * Copy color from overlapping framebuffers on bind, under certain conditions. * Implement smoothed depal for the "old" depal path as well. * Better checks for smoothed depal * Remove SmoothedDepal compat setting, instead detect the ramp directly. * Special case depal lookups for Test Drive's strange usage. * More renaming. Fix shader view for Vulkan * DepalettizeCommon -> TextureShaderCommon. Simplifications. * Convert TextureShaderApplier to a member function in DepalCache. * Simplify depal shader apply code a bit. * Replacement: Read files only within time budget. * Replacement: Be more consistent about base level. * Vulkan: Cleanup minor logging. * Config: Default PSP model to SLIM on all platforms. * Linux: Consider Vulkan if OpenGL init fails. * GLES: Correct preview of mip levels > 0. * GPU: Share CLUTs if no extended CLUT. * Headless: Set softgpu config flag. * Headless: Fix comparison for oversized buffers. * UI: Show return address for exec crashes. * Core: Show exception on misaligned jump. * irjit: Validate alignment in slow memory mode. * irjit: Add constructs for validing mem access. * More D3D9 work on depth textures. Something still missing. * Address more feedback, cleanup scale parameter * Remove leftover resolutionScale depal config parameter * Compatibility check * Use a DX9-compatible method to pass texwidth and height. the effect doesn't work on DX9 yet though. * Fixes for D3D11 * Remove debug code, cleanup * Fix glitch when changing render resolution * Really not sure how we can detect whether a depth deswizzle is needed :( Hopefully temporary flag... * Texture bind channel fix. Still need to figure out a way to decide to swizzle or not. * Fix graphics in Ratchet & Clank. WIP * Fix naming of temp fbos to be in PSP pixels * Allow binding depth as 565 by going through depal. * softgpu: Correct morph weight updates. * softgpu: Flush on transfer to pending tex read. * softgpu: Restrict CLUT to proper size. * GE Debugger: Include extended CLUT in frame dumps. * GPU: Restrict mip CLUT enhancement a bit. * GE Debugger: Correct 16-bit CLUT display. * GPU: Correct depal CLUT texture for 5551/565. * GPU: Purify ConvertViewportAndScissor(). * GPU: Dirty params when converting viewport state. * Address feedback to PR #15858 * Restore the clearing optimization, avoiding unnecessary depth copies * Fix deferred-depth for bezier/spline. Move updating of last_frame_depth_render to GPUCommon. * Minor fixes. Everything seems fine now. * Implement copying color to depth on load. However, weird stuff is happening.. * Extract depth copies to CopyToDepthFromOverlappingFramebuffers * Remove the color-to-depth mode * Defer depth copies until depth buffer is actually used. * Texture bind channel fix * More consistent handling of lack of depth texture support. Small log improvement. * Fix bug in framebuffer matching where the wrong format was checked for depth matching. Fixes #15867 * Update ko_KR.ini * OpenXR - Step closer to identify multiview FBO issue * OpenXR - Use OpenGL ES 3 and ensure FBO pair calls * OpenXR - Initialization errors fixed * Update ko_KR.ini * Update ko_KR.ini * Update ko_KR.ini * OpenXR - Multiview in progress * Initialize a bunch of Dialog structs * Fix dependency of RISC-V targets on common JIT code * Update ko_KR.ini * Bias towards the most recently written framebuffer * Remove restrictions on VRAM addresses for depth and color * Always attempt to match both depth and color * Pre-reject DXT formats, Misc * Show seqCount in candidate list * Stride fix in matching * Framebuffer matching simplification * OpenXR - Multiview uniforms working * OpenXR - Refactor display framerate * Fix the raster depth blit again, which I recently broke. * Typo fix * Silverfall: Add the US game ID too * Add Silverfall to [AtracLoopHack]. At least we're gathering a good list of test cases once we have an idea for a real fix... * Use sequence numbers instead of a tracking array for depth buffers * Revise comments according to feedback * Oops, remove wrong comments * Comment updates * Clean up and comment framebuffer struct better, add bind sequence numbers * After recording a GE dump, open an explorer window pointing at the file * Remove the DX9 namespace, for consistency with the other backends * Vulkan: Restore a minor old forgotten optimization * More removing redundant stuff * OpenXR - Disable multiview for now * Add a newline to "Leaving main" message. * Refactor 2D pipeline creation * OpenXR - GL and OXR logging added * OpenXR - Resuming renderer fixed, haptics support added * Minor cleanup in reinterpret * Rely on refcounting for stencil upload shader modules * thin3d: Properly AddRef and Release shader modules from the pipeline in backends that need it * add bin and elf to picker as they now work * Remove some unused code in FramebufferManagerD3D11.cpp/h * remove storage fileloader and storage folderbrowser * Remove deprecated function (mostly) * Remove some unnecessary bool returns. * Move out the reinterpret stuff to ReinterpretFramebuffer.cpp. Draw2D refactor. * Assorted minor cleanup * Revert "Pause the debugger on TRANSFERSTART (treat that as a prim)" * remove unneeded switch case as un broken cases fall through * OpenXR - Recenter changes pitch of the 2D screens * OpenXR - Ensure PSP aspect ratio for 2D content * OpenXR - Option to set canvas distance added * OpenXR - 2D mode hack mappable (using screen keycode) * GPU: Avoid using depth buffers for blending. * GE Debugger: Fix crash on 0 count prim. * GE Debugger: Correct base accounting in playback. * GPU: Skip fb create upload when clearing. * GE Debugger: Save tab configuration. * GE Debugger: Cleanup duplicate dlist redraws. * GE Debugger: Correct tab updating for right panel. * GE Debugger: Actually allow swapping tabs. * GE Debugger: Add context menu to control tabs. * OpenXR - Integrate multiview into system * GE Debugger: Show/hide tabs if empty. * GE Debugger: Track tabs per panel. * OpenXR - Config for stereoscopic vision added * OpenXR - Default config values fixed * OpenXR - Unused parameter removed * OpenXR - VR renderer adjustments * OpenXR - Framebuffer multiview used * Move the display list view to its own column on the right * Add plain Create method to CtrlDisplayListView * Pause the debugger on TRANSFERSTART (treat that as a prim) * Add a second set of tabs to the Windows GE debugger. Also reorder stuff. * oop * oop * oop * Use compat.ini instead * Add atrac hack setting * Net: Cleanup initialization syntax. * GLES: Correct some variable shadowing. * libpng: Correct func pointer type warning. * Global: Cleanup some unreferenced warnings. * Font: Fix bad memory read on invalid font data. * Assign value to version where appropriate * Font: Correct uninitialized values. * Atrac: Avoid accessing uninitialized stream status. * OpenXR - Support for multiple projection matrices in the scene * OpenXR - Rotation mirroring fixed in a few games * Update * A better way to get property * Build: Correct ccache keys. * Atrac: Avoid an uninitialized value. * softgpu: Ensure TCs are initialized. * softgpu: Correct bad munmap() size. * x86jit: Avoid an instruction form Valgrind hates. * Headless: Correct bad pointer without gfx context. * Core: Correct shutdown on late init failure. * Try to fix shader compilation error on Adreno reported by Lubos * OpenXR - Remove OPENXR ifdef from UI * OpenXR - Better detecting of 2D menus * Debugger: Bump GE dump version to ignore bad flag. * Debugger: Correct GE frame dump VRAM dirty flag. * Debugger: Fix crash on bad request. * GPU: Avoid stencil force pass when writing depth. * GPU: Write stencil fail to alpha is RGB masked. * Fix feature checks * Enable framebuffer depth blits through raster. Fixes games like Jeanne D'Arc on D3D9. * Some enum renaming, move RasterChannel to GPU.h. * Careful with mipmaps on old OpenGL ES. Lost this check in the refactor, made it clearer than before at least. * Texcoord attrs must be called a_texcoord0, this should be fixed. Oh well. * Convert depal shaders to use the ShaderWriter. Add tests for depal shaders. * Cleanup * OpenXR - Detect 3D content better * Warning fix * Remove BGRA color swap in depal for D3D, no longer needed (and breaks Simpsons) * Update zh_CN.ini * Headless: Cleanup unused/leak warnings. * OpenXR - Detecting UI mode improved * Change indentation to tabs. * UI: Show better warning on MAC reset. * Lang: Fix some mismatched lang keys. * Build: Remove no-format. * Common: Avoid format warning with log timestamp. * GLES: Correct alpha check for depal framebuffers. * Add -Wformat (see issue #15792), no idea if ok. * Oops, this iOS check was still required. * More framebuffer blit fixes. * Improve the NPOT check * Forgot these... * Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff * Remove optimization in BlitUsingRaster that shouldn't have been there (redundant, lacked feature check) * Reimplement bicubic upscaling. * GLES: Correct semantic name for Draw2D. * GPU: Clarify new framebuf stencil upload. * Dialog: Add missing header for MSVC 2017. * GPU: Skip alpha stencil upload when safe. * GPU: Cleanup remnants of GLES-only stencil upload. * Fixed infinite loop and crash which could occur when using "Import from cheat.db". * Fix feature check for wrapping of non-pow-2 textures * Feature detection fix on old GL, more compiler warning fixing * D3D9: Fix a lot of stuff * More cleanup, fixes. * More cleanup * Buildfixes * Lock out shaderDepal from D3D for now, will implement later. * Feature detection fixes * Delete all the duplicate implementations of ApplyTextureFramebuffer * Remove Vulkan2D * Move the depal cache instance ownership to TextureCacheCommon * Compiles on Vulkan, but doesn't yet work. * Switch over D3D9 as well. Buggy, will debug after unification * Works with D3D11, except the depth texturing case * Simplify * Fixy fix * D3D11 prep * Move the TextureShaderApplier out to DepalettizeCommon * Move more stuff to Common * OpenGL: Fix shader depal too. * Move to Common * Mostly works for OpenGL. * Port the OpenGL depal path to thin3d * Fix some compiler warnings * ShaderWriter: Fix GLSL 1.0 output * Fix corrupted colors when using software upscaling with OpenGL. * Use safe_string when printing %s with Memory::GetCharPointer. * Prefer using "%04x" over "%04hx". * State handling reordering in D3D11 and D3D9 backends. * Fix logging warning issue. * Update /lang/ru_RU.ini * OpenXR - 72Hz support added * OpenXR - Unused variable removed * OpenXR - HUD is enabled based on gstate * Fix include issue. * Updated copyright's year. * Replace the dummy PSN name with Nickname on sceNpInit. * Moving sceNpMatching2-stuff to sceNp2.cpp/h. PS: Register_sceNpMatching2 not being added to HLETables because currently the callback didn't work properly yet and could crash the game. * Implement NP Signin Dialog (faked signin) * Updated NP Library PS: Some of registered modules should probably moved to a separate files (ie. sceNp2.cpp). * Added a FunctionWrapper used by sceNpService * UWP: Fix missing font file causing missing text fields. Fixes #15771 * Delete more unused code * Fixes, state invalidation * Delete unused stuff in all backends * Remove the D3D9 and Vulkan BlitFramebuffer functions * Replace D3D11's BlitFramebuffer with the common one * Convert FramebufferBlit from the GL backend to use thin3d * D3D11: Remove more custom drawing * Fix upscaling in Vulkan. Fixes #15779 * OpenXR - Forgotten file added * OpenXR - Introduce VR tweaks * UWP buildfix * Reimplement filtering in DrawActiveTexture * Delete the OpenGL implementation of DrawActiveTexture. * Delete the Vulkan implementation of DrawActiveTexture, fixups to shader gen * Delete the D3D9 impl of DrawActiveTexture * Move to common (todo: merge with above) * Convert the D3D11 DrawActiveTexture to thin3d * Draw2D * Need a separate cap bit for stencil blits to prevent misuse on D3D9 * Cleanup and testfixes * Unit test, comment * Rebind the framebuffer only if we're in the blit path. * Bufferless path for D3D11/Vulkan * Get D3D shaders to build (though not working correctly) * Switch to ShaderWriter. Works in OpenGL * Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation). * Implement DrawUP for D3D11 * OpenXR - HUD support added * GLES: FramebufferBlit: Don't blit if the target is the current framebuffer. * Clean up blit/copy feature detection. Don't need fast GPU flags for these. * Fix crash in shader upscaling. This variable shadowed the one that now lives in Common. * OpenXR - Estimate world unit scale * OpenXR - Head orientation in some games fixed * OpenXR - Refactor the common math methods * Use BlueToAlpha in more games instead of ReinterpretFramebuffers/ShaderColorBitmask * Fix Vulkan as well * Fix for D3D11 and GL, but not Vulkan for some weird reason * Avoid upscaling textures used for color-to-depth. * Disable texture filtering when drawing color into depth * D3D9 fix * OpenGL fix * D3D11 fix * Implement color-to-depth for Vulkan, start implementing for D3D11 * Add logging for some non-traditional uses of framebuffers. * Fix small breakage in Vulkan texture decoder * Fix Macross glitches. * Vulkan: Don't try to auto-mipmap 3D textures in max quality filter mode * OpenXR - 6DoF head movement support added * Fixes UWP building issue after Retargeting Solution to a different SDK version. PS: This won't work when selecting the "latest installed version" tho, so a specific version need to be selected when retargeting. * OpenXR - Renderer support for axis mirror added * OpenXR - Use a build variant instead of a module * CI: fix tag regex to match also shorter tags like v1.13 * Address feedback * Check for color/Z clashes * Track depth buffers separately from framebuffers to track previous use for copies * Give the mip bias its own uniform flag. * Possible flicker fix for Macross * Revert mistaken change in D3D9 fragment shader gen * Support 3D textures in OpenGL ES, add feature check * Testfix, cleanup * Implement 3D texturing in the OpenGL backend too. Assorted fixes. * Remove some dead code * Implement 3D textures for D3D9 as well * Implement 3D textures for D3D11 * Some safety checks to avoid bad combinations, probably not really needed in practice. * Quick attempt at fixing the Macross glitch * Fix the mip bias to take the texture depth and sampling offset into account. * Implement new discovery of a larger CLUT than we thought, plus non-shared CLUTs for 8-bit indices. * Initial implementation of 3D texturing through equal-size mips (see #6357) * CI: make indentation in tarball.yml consistent * Reporting: Disable when debugger methods used. * GPU: Small scaling variable cleanup. * CI: also upload release source tarball on tag push * Revert debug change * Unify the GLES LoadTextureLevel with the D3D ones. * Prepare to convert the GLES functions too * Share LoadTextureLevel between the two D3D backends. * Cleanup * Part 2 of the above * D3D: Part 1 of breaking out the API stuff * libretro buildfix * UWP buildfix * Simplify CPU upscaling code * Vulkan stencil fixes * Make the D3D9 backend handle stencil state in more similar ways to the others. * More thin3d d3d11 fixes * thin3d: Make writeMask and compareMask dynamic in all backends. D3D11 needs emulation. * thin3d: Remove dual sided stencil, not supported by all backends anyway * Remove some indentation * Use PrepareBuildTexture from the Vulkan backend too * Change from maxLevel to levelsToLoad, for better readability. Cleanup. * Define texture loading plan semantics better, pre-port some from Vulkan * Vulkan: One step closer to using PrepareBuildTexture * Update PrepareBuildTexture * Use PrepareBuildTexture from DX9 backend * Use PrepareBuildTexture from D3D11 backend * Break out the preparation part of BuildTexture from GLES * Additional cleanup * Get the GLES BuildTexture slightly closer * Make the BuildTexture of DX9 and D3D11 backends more similar * Remove indentation, useless code * Remove the DX API access from LoadTextureLevel * Remove fake-mipmap logic from LoadTextureLevel * Minor code simplification * Remove unused parameters to some conversion functions * Remove unused useBGRA parameter * Remove the ReplacedTextureFormat enum * Remove support for 16-bit replacement texture formats * Update ru_RU.ini * readme link * Windows: Add a simple window message to get the base pointer. * Update assets/lang/ru_RU.ini * OpenXR - Switching between 2D/VR fixed * Update version for 1.13.1 * Update README.md for 1.13.1 * Replacement: Cleanup leak on replacement reload. * Replacement: Clear cache on disable. * irjit: Correct another PurgeTemps case. * irjit: Clarify PurgeTemps, guard a couple ops. * Add confirmation dialog when generating a new Mac address * OpenXR - VR settings added, better UI detection * better pt-pt translation * Fix bug in blue-to-alpha - alpha blending could be on when it shouldn't be. * Reporting: Avoid crash if socket connect fails. * Some zero init, add a null check in TextureReplacer. See #15730 * OpenXR - Move VR folder under Common * OpenXR - Static added to global variables * OpenXR - Version info refactor * OpenXR - Integrate SYSPROP_HAS_FILE_BROWSER * OpenXR - Automatically switch between fullscreen/VR * Update version for 1.13 release * README.md update for the 1.13 release * Simple hack to hide the search button in settings on small screens. Needs a better solution. * OpenXR - FoV fix for Quest 1 * OpenXR - Basic look around implementation * Build: Update to NDK r21e. * Switch to using the D3D9 state cache in thin3d, to avoid confusion * Clarity improvement in dx state cache stencil func * Remove unnecessary complexity from the D3D9 state cache * Remove bool that was always true in state mapping. * irjit: Correct initialization warning. * irjit: Add test for double clobber in #15713. * Headless: Ignore __testcompare.png in tree. * irjit: Simplify more arithmetic to Movs. * irjit: Add tests for IR passes. * OpenXR - Enable 6DoF mode when in game * Revert the x-offset bpp fix temporarily. * Add GPU stat for number of depth copies per frame * OpenXR - Code formatting fixed * OpenXR - Disable HW scaler on VR headsets * OpenXR - Default device config added * OpenXR - Hide unsupported menus * OpenXR - VR code formatting fixed * OpenXR - Finalize VR renderer interface * Libretro fix * Windows fixes * Remove unnecessary parameters from MakePixelsTexture * Delete some unused code. * Separate logging for GetPointer/GetPointerWrite * Split GetPointer into two versions, to help with const correctness * OpenXR - Pragma once instead of ifdefs * Allows "merging" render targets that overlap on the Y access. Fixes #7295 (Juiced 2) * OpenXR - Code formatting header removal * OpenXR - Code formatting global variables * OpenXR - Code formatting { * OpenXR - Button repeating implemented * OpenXR - Controller mapping better * irjit: Prevent corruption on purge temps pass. * Add UWP Platform to Issue Templates * (UWP) Update Dummy Manifest * (UWP) Remove Reference to Deleted File. * (UWP) Delete Old Key * (UWP) Building Improvements * Remove redundant file from packages. * Prevent Dummy file from appearing in packages. * Revert "(UWP) Small Building Tweaks." * Remove a redundant mutex lock in logging. * Remove redundant file from package. * Prevent dummy file from being in the package. * Main screen: Display .ppdmp filenames on buttons in grid mode * Remove log noise * Mali driver bug workaround for driver 32+. * OpenXR - Hacky mapping to make the games playable * OpenXR - UI controls integrated * OpenXR - UI scale/resolution fixed * OpenXR - Input class added * Osk: Allow upper/lower for all keyboards. * Debugger: Update to latest web debugger. * Debugger: Fix SVG content-type for proper display. * Use the recent Clone Wars fix for Star Wars: Force Unleashed too * OpenXR - Rendering UI fixed * OpenXR - Rendering into VR framebuffer works * OpenXR - Dummy rendering working * Update zh_CN.ini * Add a simple compat flag to workaround the Clone Wars issue, #12949 * Apply leoxxx's spacing changes in zh_TW.ini * Update zh_CN.ini * Update zh_CN.ini * Add Zettai Zetsumei Toshi 3 bypass for softlock on character select screen * zh_CN translation: Apply spacing rules according to leoxx. See #15660 * Io: Correct access field on dir listings. * Config: Keep recentIsos lock owned by Config. * langtool: Add command move-key to move a line globally from one section to another. Update deps * Update zh_TW.ini * Update zh_CN.ini * Add files via upload * compat.ini for Mali stencil bug: Add the Suikoden game too * OpenXR - Initial version of VR renderer added * Mali workaround - add compat.ini entry for Mahou Shoujo Nanoha A's Portable. * Config: Cleanup recent on a thread. * Config: Move recent ISOs access to accessors. * Io: Show message if files are outside valid ISO. * irjit: Allow unaligned loads by default. * UI: Reduce IO for texture ini on dev settings. * Improve comment, variable name * Vulkan fragment shaders: Don't opportunistically emit "layout (early_fragment_tests)" * Slightly improve logging of failed block device reads * Fixes Kenka Bancho too. * Tweak the Mali stencil-test workaround to work for Surf's Up. See #15016 * Dynamic update * Remove unmotivated check preventing texture ini creation on mobile. (#15647) * Common: add explicit <signal.h> for BSDs after 3ed74350129c * OpenXR - VR mode initialization added * Fix comment * Double quote * Be explicit on the possibility of failure * Use hashtag for RGBA format * OpenXR - VR framebuffer class added * OpenXR - Hide options which are not relevant for VR * OpenXR - SDK added * Change theme endianess * Update zh_CN.ini (#15657) * Add check that makes PPSSPP work on Xbox through the debugger * Replace Win32 file IO with UWP safe variants and add support for getting drives to UWP build (#15652) * OpenXR - Quest target into Android Studio project added * compat.ini: Add R-Type games to IntraVRAMBlockTransferAllowCreateFB. * Compat: Fix backwards check. * UI: Add small deadzone for analog speed. * UI: Clamp analog speed to 0 on opposite value. * Update zh_CN.ini * Update zh_TW.ini * UI: Reset views when analog speed mapped. * UI: Allow cancel from analog speed mapping. * Change comment based on new findings. * UWP: Skip pad name lookup. * UI: Add analog speed limit mapping. * Core: Track names of connected pad devices. * interp: Fix constant typo. * Compat: Add setting to skip compat flags. * Reporting: Log when vertex count truncated. * Updated wiki page key in all translation INIs. * Remove left over * Change hack names and edit comments based on feedback. * Improve the vortex hack to make it safe and slow it down * Test hack that breaks the vortex timer, it's still wrong * Add 30 fps version as an option, doesn't suffer from softlock * oops * Updated text on AdHoc wiki page button. * Updated "Use original port" tip message. * Add Fixed60FPShack for GOW, should work smoother than the ForceMax60FPS. Also more stable than it's CWCheat version, unfortunately because of that, still causes softlock in GOW:GOS vortex stage. * Disable ForceMax60FPS for GOW:GOS to avoid softlock * Show a tip message when enabling "UPnP use original port" option. * Update zh_TW.ini * Update zh_CN.ini * Update th_TH.ini * Hide Hostname progressView when not showing any message to get a better view of the list. * Slightly reduce Hostname progressView's margin as it took too much space. * Added psp.gameplayer.club public Adhoc Server. * Additional game IDs for The Simpsons Game * Apply the mali workaround for The Simpsons Game. * Merge pull request #15629 from Halo-Michael/lang * Add ARM64_NEON compile arch flag * ffmpeg: fix compile bug * Mask some part of public IP in the logs for security reason. * Update zh_CN.ini * More translation key * Add numpad enter as a confirm * Update all * Remove driver version check for Mali stencil/discard bug. See #13833 * Update eng lang * Oops, revert debugging commit * Workaround for strange driver hang on Raspberry Pi 3. * Keep ye olde else case * Avoid including signal.h from CommonFuncs.h * Allow to repeat a "single" button * Out of performance paranoia, limit the Mali workaround to known affected games * Work around the Mali stencil discard bug the same way as the Adreno one. * Show detected GPU driver bugs in system info * Increase the difficulty of the GPU driver test * Build: Use cinttypes not inttypes.h. * Update zh_TW.ini * Update zh_CN.ini * Update gamecontrollerdb.txt * Update zh_CN.ini * Update zh_TW.ini * Fix-ja_jp.ini * Fix-ja_jp.ini * Small struct layout optimization (stencil is never more than 8 bits, can sneak in next to the load actions) * Rename Vulkan attachment operation variables. Prep for supporting specifying store op. * Inline the CoreParameters accessor (eliminates a function call for each access) * Shaun White Snowboarding: Use compat flag to eliminate a readback per frame * Echochrome lines: Remove UV offsets, avoid reading the destination (much better codegen) * Update zh_CN.ini * Update zh_TW.ini * Update zh_CN.ini * Add centered line drawing for Echochrome. * Take the absolute value when measuring pixel size for line expansion. * Bump gradle again, .gitignore update for VS 2022 * Add TODO to see if we can make better choices of time sources * add additional rescaps * fix indentation * add runFullTrust, broadFileSystemAccess and expandedResources rescaps * Add guard * Update zh_CN.ini * Add search on SDL * Update id_ID.ini * Update zh_CN.ini * Small Change * Update zh_TW.ini * Update * Indonesian Translation Update * Fix commending wrong lines * GLES: Fix sw transform flip in skip buffer mode. * Update defaultshaders.ini * Add files via upload * Update upscale_spline36.fsh * Return by copy * Log missing lines on shutdown, update lang files * Fix CpuCore select * Merge update into master * Savedata: Allow no key when not using SECURE modes. * Osk: Fix fullscreen check. * UI: Abandon focus movement on returning from pause. * Update zh_CN.ini * Config: Don't save --fullscreen unless changed. * Fix themes as well * Postshader: Avoid treating directories as files. * Update th_TH.ini * Update zh_TW.ini * GPU: Fix skip buffer effects rendering. * GPU: Hook Sol Trigger func to flush texture. * Crash: Recover from unaligned CPU access. * Update pt_BR.ini * Add files via upload * Update zh_CN.ini * Detects connection establishment to AdhocServer by combining select and getpeername to increase accuracy. * We might be missing this in the past. * Fix sceNetAdhocPtpConnect issue on Windows (ie. Tales of VS) due to getpeername on Windows can return a success when the other side haven't Accepted the connection yet. * Fix sceNetAdhocPtpConnect issue on non-Windows (ie. Taiko no Tatsujin Portable DX on Linux) due to select can flags an unconnected socket as writeable & readable on Linux. * Added a note regarding SO_NOSIGPIPE * Avoid compilation warning * Avoid a possibility of fatal signal on non-Windows * Added a note regarding select on Linux. * (libretro) Add option to detect and notifiy frontend of internal frame rate changes (60 <-> 30 <-> 20 fps, etc.) + restore 'Duplicate Frames in 30 Hz Games' core option * Update zh_CN.ini * Limit minimum timeout to [0, 100, 200, ..., 5000] * Fix missing GPU and run tools * For Libretro -DUSE_DISCORD=1 is not added in CMakeLists.txt * Let port offset cover the entire range in steps of 1k * Remove options for network chat, since these only work for standalone * Make MAC address configurable and randomize when not set * Fix update of chat screen position * Disable UPnP by default * Correct indentation and some strings * Expose networking options in libretro core * Unused lang tool * Update Russian translation * Display: Ignore lagsync when auto frameskip on. * Tweak -latomic preconditions in CMakeLists.txt. See comments on 14e9aab96e111 * softgpu: Correct stencil debugging. * softgpu: Fix viewport flag clean/dirty. * Lang: Remove some duplicate lines in German. * uptated German Translation * Enable -latomic on Linux. Fixes build on Raspberry Pi 3b for me. * Update .gitignore * Replacement: Allow texture dump without replace. * Fix shader blending regression (Vulkan) * libkirk: Set Segher Boessenkool's original copyright notice * Fix discrepancy in how the LMODE flag is calculated between VS and FS * Vulkan: Correct size for tex mip level readback. * Vulkan: Fix depth transition barrier. * Remove the rather problematic limit on framebuffer copies * Remove log output * Combine barriers before blits/copies * Convert some barriers to use the new barrier framework. * Add utility class VulkanBarrier * Combine renderpass "pretransitions" for barriers. * Vulkan: Follow sampler best practices with auto max quality. * Bump vulkan headers to SDK 1.3.211 * Bump gradle * Better default control config for the Retroid handheld Android console * Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret. * Oops, gotta update the cached framebuffer format in the other drawing paths too * Finish BlueToAlpha functionality * BlueToAlpha hack to avoid clearing the envmap in split/second :( * Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF. * Move framebufFormat to gstate_c, so we can override it * Dirty more state after reinterpret * Minor cleanups in framebuffer manager * Detect ISO files from file contents if extensions are wrong. * Allow to set InternalScreenRotation per game * Logs unimplemented syscalls as error * Partially fixes SenseMe app (will need HTTP/HTTPS support to be fully working) * Vero4k doesn't report its NEON support - so check for underlying Arm Cortex-A53. * GLES: Reverse alphamask when comparing to CLUT. * Simplify alphasum checking for DXT textures, and fix a regression * Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second * Fix lazy loading of metadata * UWP: Fix loading the default theme. * Fix regression with CLUT16 textures. See #12188 * Minor cleanups * Fix mip level bug in Vulkan texture cache. * Make UI a bit more descriptive * Add key bind to hotswap internal screen rotation * Fix checks for the "fake mipmap" situation. * UI: Prevent save textures if not replacing. * Vulkan: Save textures using a memory copy. * Replacement: Avoid recheck saving within 5s. * Replacement: Move IO checks to saving thread. * Vulkan: Allow saving const tex levels. * Add the slow comment to one more place * Save textures on background tasks when texture dumping is enabled. * Fix hang when choosing "Skip" in first-time init. Warning fix, comment add. * Disable the compat.ini workaround for Crash Team Racing. Reported by Panderner to not be needed anymore. * Add contributed data about a couple of prototypes to auto-expand memory to 64MB * UWP crashfix - serialize accesses to each loader * Crashfix * Fix typo and optimize locking pattern in Event, make it the same as LimitedWaitable. * Buildfix * Try a clang pragma to avoid overeager auto-vectorization * Buildfixing, correct NEON type usage * SIMD-optimize CheckMask16 / CopyAndSumMask16 * Delete a lot of specialized alpha checking code. * Address feedback * One more NEON optimization * Quick NEON optimization of CheckMask32 * SSE optimize a common case for video * Yet another bugfix * Debug log (remove before merge) * Bugfixes, handle the rest of the cases * Simplification and some cleanup * Remove redundant line * Fix DeIndexTexture * Comments * AND together colors while decoding, and then check against fullAlphaMask. * Fix some NEON code that had bad compile-time checks (and some didn't compile) * ARM32: Remove a lot of non-NEON fallback paths * Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs. * Remove more function defines * Merge separate NEON functions into the normal functions. * Avoid creating a fileloader during shutdown. * Make the number of threads flexible in the threadmanager test. Increase to 9, just because. * Replacement: Avoid potential destructor crash. * ThreadManager: Improve waitable destruction. * Fix race condition in LimitedWaitable between Notify and Wait * Fix misuses of cond.wait (should return true when you want to stop waiting!) * OK, this does crash * Time the stress test * Add a scheduling stress test to TestThreadManager.cpp. * Bump Android target version to 12L. * Gradle bump * Net: Ignore SIGPIPE errors on POSIX systems. * Switch: Fix GL build typo. * NetAdhoc: Fix warning. * Switch: Avoid loading Vulkan. * Detect number of cores in build script * Allow to change atlas per theme * Increase the timeout when the connection to the AdhocServer is already in progress, avoids cutting off the connection if it took longer than expected but almost completed. * Added a function to get SO_ERROR on a socket. * Updated getLocalIp function to detects local IP better. * Use the most recent posix socket id during blocking simulation, since there is a possibility for the socket id to changes after recreated. * Recreate the socket before attempting to connect again after ECONNREFUSED/ENETUNREACH error, since reusing the socket only works on Windows. * Caches IP-specific Port Offset to avoid recalculating them. * Use reference when possible to avoid copying. * Initialize some socket-related structs to avoid unexpected behavior. (May fix Unknown Source Port issue) * Shouldn't return as soon as possible when a blocking PtpConnect is getting ECONNREFUSED error, since it should be treated as ETIMEDOUT on non-Windows platform * Ignore disconnected error on PtpFlush. Fixes disconnection issue on some games (ie. R-Type Command) * Debugger: Keep separate tag dirty for RAM. * Debugger: Fast path write tag lookup. * softgpu: Combine memcpy into single. * Debugger: Improve tag on copies. * softgpu: Avoid unnecessary clearMode checks. * Manual generate Android APK * Add a check to the elf loader, preventing a crash on bad module info addr * softgpu: Plug bad leak of bin queue data. * softgpu: Reduce memory usage on 32-bit. * softgpu: Enure aligned bin queues. * softgpu: Avoid some unaligned access on x86_32. * Loaders: Fix 64-bit conversion warnings on 32-bit. * Global: Fix some int/size_t conversion warnings. * Fix grid align * Add version to game screen * Short circuit the texture replacement code * Don't track small wide-stride block transfers * softgpu: Fix build with basic logging. * Windows: Correct root vol handling for UNC paths. * Windows: Create SYSTEM directory early. * Show game crashed * GLES: Remove old invalidation code. * GLES: Add asserts for correct blend usage. * GLES: Use EXT not GLES3 for dualsrc blend support. * Debugger: Track unchanged VRAM to avoid copy. * Also delete vulkan_funcs.hpp, oops * Debugger: Improve drawing range in softgpu. * softgpu: Use region as a second scissor. * softgpu: Correct accounting for pixel center. * samplerjit: Correct nearest negative texture clamp. * softgpu: Directly implement rectangle drawing. * softgpu: Prepare dedicated rectangle path. * softgpu: Cleanup some now unused state. * softgpu: Remove incorrect offsetting for X/Y. * softgpu: Use a const for subpixel screenpos factor. * softgpu: Remove offset from screenpos. * Upgrade to Vulkan 1.3 headers (and remove the .hpp files) * Gradle upgrade again. Remove some redundant version checks * Allow to set default background color in a theme * Fix live update * Make the untextured uniform buffer the same size. * Disable darkening background, also allow to over saturate up to 2 * Add UI Tint/Saturation settings * samplerjit: Fix non-SSE4 bugs in jit. * samplerjit: Fix non-AVX three-op shift. * Unhide "Cache ISO in RAM" on ARM platform. Not the right block level. We should probably check for available RAM instead. * More fixes for themes * Merge item and button style, remove hightlighed and few other fixes * Fix disabled bg * Allow translation * Add themes to assets * GE Debugger: Highlight changed matrix values. * GE Debugger: Highlight changed state values. * GE Debugger: Track last gstate on stepping. * Debugger: Allow custom draw and generic lists. * Debugger: Avoid scroll on breakpoint add. * Debugger: Cleanup some header pollution. * softgpu: Track dirty vs really dirty per buffer. * softgpu: Allow tri -> rect in transform. * softgpu: Turn more tri strips into rects. * softgpu: Combine tris to rects with ignored z too. * softgpu: Cleanup todos on perspective correctness. * softgpu: Avoid modifying source vertex data. * Adress feedback * remove more prebuilt stuff and huge rapidjson testsuite (unused) * also delete pre-built ffmpeg windows libraries * Keep comment up to date * fix version string generation * fix version number display * try 2: remove pre-built ffmpeg and vulkan libraries * remove pre-built ffmpeg and vulkan libraries * fix mime type of xz tarball * rename action title * rename to tarball.yml * use recursive submodules and checkoutv2 * Forgot pragma, silly me * Allow custom UI themes * GE Debugger: Avoid crash on Step Draw with flush. * Debugger: Improve memory search result draw speed. * Debugger: Search scratchpad/ram/vram consistently. * CI: add github action to build source release tarball with submodules * GE Debugger: Correct icon list cleanup on shutdown. * Add missing Config.h include * GE Debugger: Optimize slab lookup. * GE Debugger: Skip overhead without breakpoints. * Generate dockerfile in GHA * Vulkan: Avoid crash on double DeviceLost. * Android: Correct truncation behavior. * GE Debugger: Add filter to skip prim calls. * Debugger: Avoid write tag lookup on small alloc. * Debugger: Use detailed meminfo with breakpoints. * GE Debugger: Allow modify/breakpoint on matrix. * GE Debugger: Cleanup right click on state. * GE Debugger: Allow setting secondary values. * GE Debugger: Add breakpoint icon in state. * GE Debugger: Cleanup vertex list redraw. * GE Debugger: Flush downcount when changing lists. * GE Debugger: Reduce playback command noise. * samplerjit: Precalculate DXT1/3/5 offsets. * Delete pauth_tool, useless since pauth keys known * samplerjit: Reduce DXT5 decode code size a bit. * samplerjit: Optimize DXT calc using BMI2. * samplerjit: Avoid RCX gymanstics with BMI2. * samplerjit: Decode colors with BMI2. * softjit: Use PEXT to downsample colors. * softjit: Use BMI2 to speed up dst color loads. * softjit: Use BMI to simplify some masking. * x86jit: Use BMI2 for variable shifts. * softgpu: Avoid flush on END. * Remove double flush in GE_CMD_END * GPUCommon: Remove misleading flag FLUSHBEFORE. * HLE: Fix some type convert warnings. * Global: Reduce includes of common headers. * Global: Fix some type conversion warnings. * Common: Remove some unused files. * Core: Skip stats reset while stepping. * Display: Account for stepping time in graphs. * Display: Move core counters/stats to HW file. * Display: Move listeners to separate HW file. * Headless: Improve total test time on Windows. * Headless: Improve test init time. * Debugger: Encourage better meminfo accounting. * Build: Fix Windows unit tests. * Kernel: Adjust timings of LwMutex and EventFlag. * Build: Ignore nullable completeness on Android. * UI: Cleanup some reference warnings. * samplerjit: Fix non-shared CLUT on Linux. * samplerjit: Validate compile in a unit test. * samplerjit: Correct level lookup in nearest. * samplerjit: Fix reg corruption in DXT funcs. * samplerjit: Compile sampler funcs together. * softjit: Add tests for compile success. * Common: Avoid assert hang in CI. * softjit: Fix stencil bug running out of regs. * Build: Enable ccache for GitHub Actions. * Build: Run unit tests after build. * Headless: Remove stack corruption workaround. * Headless: Add flag to run failing tests. * unittest: Skip D3D shader compile on non-Windows. * unittest: Correct Windows-specific Path tests. * softgpu: Skip new CLUT if identical. * unittest: Use more consistent output executable. * unittest: Correct failing unit test. * samplerjit: Reduce register waste. * samplerjit: Avoid frac uv transfer to gen regs. * Added another attempt to detect GETIFADDRS availability, which is more common on newer OS * We might be missing the SIOCGIFADDR * Added logs for error within SIOCGIFCONF section. * Change a confusing variable naming * Expose 2xBRZ texture filter option. * Mp3: Delay low level init. * Mp3: Output PCM data using even/odd buffer slot. * Mp3: Allow decode with NULL out pointer. * Mp3: Cleanup AuCtx constructor. * Kernel: Fail threads with invalid priority. * UWP buildfix * Quick hack attempt around build failures * Rtc: Fix day of week stack bounds issue. * Savedata: Fix indeterminate timing of field update. * Ge: Fix sceGeBreak error case. * softgpu: Cull no-pos and through s8 pos verts. * softgpu: Fix cull in throughmode. * Vulkan: Add support for listing all the available surface formats in system info. * samplerjit: Reduce transfers in nearest texel calc. * samplerjit: Better vectorize UV linear calc. * samplerjit: Reuse XMM reg for sizes. * softgpu: Fix pixel ID for invalid blend factors. * softjit: Fix src blend factor handling. * GE Debugger: Allow GPU stepping while CPU stepping. * GPU: Allow relative jumps and calls. * GPU: Log and report when region1 is non-zero. * Common: Fix conversion of 4444 to BGRA. * softgpu: Correct clear mode dither. * softgpu: Correct simple rectangles with mipmaps. * samplerjit: Optimize texenv blending a bit. * softgpu: Correct UV rotation for transformed rects. * softgpu: Reuse transform state. * softgpu: Add dirty flags for rasterization state. * softgpu: Use dirty flags for render overlap checks. * softgpu: Fix state race on screen offset. * softgpu: Add a table and initial dirty flags. * GE Debugger: Add option to auto flush. * GE Debugger: Cut down on primary buttons. * GE Debugger: Add a menu to the GE debugger window. * samplerjit: Oops, forgot about 64 unpack. * samplerjit: Fix Linux stack corruption. * Build: Fix some minor warnings. * Headless: Return an exit code on test failure. * Common: Print assert failures to stderr. * softgpu: Define constexpr var for older C++. * x86jit: Check CALL dist for safe memory funcs. * samplerjit: Fix some Linux register issues. * Headless: Fix font tests on Linux. * Build: Speed up macOS actions build a bit. * Headless: Update passing tests. * Clean up hardware tasseletion setting * Show the software rendering option on all platforms * softgpu: Avoid flush texturing from stride. * softgpu: Flush framebuf only on change. * softgpu: Remove bin asserts. * softgpu: Use persistent bin task state. * softgpu: Pack vertexdata a bit better. * Reducing MatchingEvents processing delays. Fixes timing issue on a few games (Super Pocket Tennis, Thrillville Off the Rails, Lord of Arcana, Gundam: Senjou No Kizuna Portable, StarWars The Force Unleashed) * Report sceNetAdhocMatchingInit to find out a list of games that use AdhocMatching library to be tested with. * Discard HELLO Events when in the middle of Joining * Updated notifyMatchingHandler comments * Updated MatchingArgs comment * Added comment related to EVENT_HELLO * samplerjit: Reduce prolog/epilog spill. * softjit: Simplify constant writes. * softjit: Centralize some common funcs from sampler. * softjit: Switch to constant pool. * samplerjit: Simplify AVX shift-copies. * UI: Reset ZIP install errors for new ZIPs. * softgpu: Guide more SSE light factor handling. * softgpu: Simplify mask check. * softgpu: Reduce copying during clipping. * Debugger: Fix crash in software renderer. * softgpu: Fix block transfer flush detection. * softgpu: Use SSE in lighting param computation. * softgpu: Precompute some of screen space multiply. * softpu: Premultiply matrix transforms. * softgpu: Precompute state for vertex transform. * softgpu: Correct texsize flush annotation. * softgpu: Heuristic to avoid over-draining. * softgpu: Reduce wasted memory. * softgpu: Precompute lighting parameters. * softgpu: Tune some queue sizes for perf. * softgpu: Expose flush reasons/times in debug stats. * softgpu: Reduce flushing for smaller textures. * softgpu: Flush block xfer only on overlap too. * softgpu: Decorate some stats for flushes. * softgpu: Avoid texture/CLUT flush unless overlap. * softgpu: Flush on offset changes. * softgpu: Track CLUTs as states for binning. * softgpu: Allow binning across prim calls. * softgpu: Fix alpha blend with one/zero. * softgpu: Correct dither matrix lookup. * softgpu: Correct logic op state update. * softgpu: Fix off-by-one size limit on bin queues. * softgpu: Tune queue push/pop to reduce overhead. * Debugger: Avoid flushing meminfo on write lookup. * softgpu: Use cached state for screen offset. * softgpu: Cache CLUT params in sampler state. * softgpu: Move texenv color into sampler state. * softgpu: Move tex size to cached state. * softgpu: Remove z from DrawingCoords. * softgpu: Move c++ tex func to sampler. * softgpu: Use cached sampler state outside jit. * softgpu: Cache line drawing state. * softgpu: Use cached state for clear write mask. * softgpu: Move fixed blend factor to draw pix state. * softgpu: Cache colortest params in draw pix state. * softgpu: Cache alpha/stencil test masks in state. * softgpu: Cache logicOp in draw pixel state. * softgpu: Use cached write mask in draw pixel. * softgpu: Cache minz/maxz in draw pixel state. * softgpu: Cache strides in draw pixel state. * softgpu: Cache fog color draw pixel state. * softgpu: Remove disable of cached pixel state. * softgpu: Avoid double calculating screenpos. * softgpu: Cleanup push/pop atomic handling. * softgpu: Remove old task. * softgpu: Stop storing model pos. * softgpu: Stop storing normal/worldnormal/worldpos. * softgpu: Enqueue batches of prims when binning. * softgpu: Adjust binning thresholds. * softgpu: Avoid thread ordering hazard. * softgpu: Move threading into BinManager. * softgpu: Handle scissor/range in BinManager. * softgpu: Add class to manage and enqueue for bins. * Fix buffer overflow issue on GameMode. * GameMode Scheduler should only runs when there are active Master. * Prevent creating another GameMode Master, since we don't support more than one Master data, and there is no ID related to Master. * Fix an issue where more than one GameMode Scheduler can be scheduled. * Fix an issue where sceNetAdhocGameModeCreateReplica blocked current thread for initial sync while Master data hasn't been created yet. * Debugger: Cache list PC for softgpu tagging. * softgpu: Centralize more prim drawing state. * Updated sceNetAdhocGameModeUpdateReplica (Fix Bomberman Panic Bomber) * Fix invalid argument issue of sceNetAdhocPtpAccept on Bomberman Panic Bomber. * softgpu: Move tex filter setting check to state. * softgpu: Move texture addresses to prim state. * softgpu: Prepare more state per prim call. * softgpu: Use func IDs instead of gstate more. * softgpu: Compute func IDs once per batch of verts. * Avoid confusion for translator * Add files via upload * Vulkan: Avoid crash on bad shader. * softgpu: Output normals to GE debugger. * Use System_GetPropertyInt to report the keyboard layout * UI: Mention SDL in the credits when it's being used alongside Qt * Update pt_BR.ini * softgpu: Correct decal doubling without alpha. * samplerjit: Skip processing alpha if unused. * Add files via upload * samplerjit: Fix alpha for 565 in linear lookup. * softgpu: Skip threading when rendering to self. * softgpu: Draw top left of rectangles first. * GPU: Allow gcc/clang/icc runtime SSE4 usage. * UI: Use comparison screenshot as frame dump icon. * Headless: Fix compare of smaller buffers. * softgpu: Use some SSE4 in triangle interpolation. * softgpu: Limit minX/maxX per line. * softgpu: Avoid rsqrt path for normals. * softgpu: Clarify internal matrix multiply usage. * Remove QWEmct from credits as requested * softgpu: Retain floats in diffuse/specular. * softgpu: Cleanup -NAN and diffuse factor. * softgpu: Correct NAN spotlight exponent/direction. * softgpu: Correct handling of NAN attenuation. * softgpu: More closely match PSP light rounding. * softgpu: Reuse SSE/NEON matrix code. * softgpu: Use common SIMD matrix multiplies. * softgpu: Separate calculation of S/T. * UI: Fix some sign/size comparison warnings. * samplerjit: Fix standard bufw check. * samplerjit: Fix DXT compilation. * samplerjit: Correct linear compile failure. * softgpu: Correct mirroring in fastpath+nearest. * softgpu: Improve usage of SSE for lighting. * softjit: Keep mip S/T calc in SIMD. * softjit: Use RIP access in color/depth off. * softjit: Optimize depth range checks. * softjit: Add describes here too. * samplerjit: Remove old linear nearest paths. * samplerjit: Avoid gather if overread could crash. * samplerjit: Use VPGATHERDD for all types. * samplerjit: Apply gather lookup to all CLUT4. * samplerjit: Use VPGATHERDD for simple CLUT4 loads. * samplerjit: Avoid a couple more copies in AVX. * softgpu: Skip sample lookup if masked. * softgpu: Stop specializing on miplevels. * softgpu: Separately profile verts and lighting. * samplerjit: Use nearest func in fast path too. * softjit: Avoid const temp registers. * sofjit: Correctly poison memory. * softjit: Small bloom optimization. * softjit: Optimize common case bloom blending. * softgpu: Add code for tracking GPU writes. * samplerjit: Decode colors in parallel. * softgpu: Reduce interpolation if not needed. * samplerjit: Implement nearest in jit. * samplerjit: Refactor and reuse constant pool. * samplerjit: Update nearest args, temp disable jit. * softjit: Small optimizations. * samplerjit: Create a separate fetch func. * samplerjit: Refactor sampler ID calculation. * softgpu: Correct off-by-one scissor mask. * softgpu: Cleanup min/max tri range handling. * GPU: Avoid spline crashes on bad data. * softgpu: Skip processing scissored triangles. * samplerjit: Correct wrong bufw at mip levels. * samplerjit: Oops, fix Linux mipmap handling. * PPGe: Disable dither in UI drawing. * softjit: Fix regcache error when clearing. * GPU: Fix bone matrix CALL opt corruption. * Debugger: Correct delayed symbol listbox updates. * samplerjit: Tiny dependency optimizations. * samplerjit: Small AVX optimization to modulate. * softgpu: Skip zero size triangles. * samplerjit: Use SSSE3/SSE4 in linear filtering. * x64jit: Add AVX2-only instructions. * x64jit: Add AVX-only instructions. * x64jit: Add AVX/AVX2 encodings. * samplerjit: Pass funcs as an argument. * samplerjit: Add an alternate profiling method. * samplerjit: Correct level lookup offset. * samplerjit: Minor SSE4 optimizations. * samplerjit: Set stackArgPos_ early. * samplerjit: Move texture function into jit. * samplerjit: Lookup both mip tex values. * samplerjit: Use regcache for linear filtering. * samplerjit: Calculate mip level U/V/offsets. * samplerjit: Take texptr/bufw as arrays. * samplerjit: Handle mipmap width/height in S/T calc. * samplerjit: Move S/T calculation into jit. * samplerjit: Add more bits for S/T, skip multiply. * softgpu: Correct non-SSE T clamp. * softgpu: Reduce mipmap fraction to 4 bits. * softgpu: Correct nearest filtering too. * softgpu: Remove no longer possible report. * softgpu: Make linear filtering more accurate. * samplerjit: Handle unswizzled offsets too. * samplerjit: Calculate texel byte offset as vector. * samplerjit: Blend linear using integers. * samplerjit: Accumulate results in an XMM. * samplerjit: Pass u/v coords as vector. * Debugger: Don't try to hash invalid RAM. * Missing stdarg.h include * Vulkan: Update profiler formatting for this. * Make the Vulkan GPU log profiler a runtime developer setting. * Add format string support to Vulkan log-profiler * jit: Use a hash for invalidate/clear all. * Vulkan: Disable profiler by default again. * Improve the check for "slow" GPUs (with regards to tex scaling). See #15238 * Path: Check for PSP case insensitively. * Vulkan: Be more restrictive about texture upscaling on "slow" devices. * GPU: Remove explicit rect/line depth cull. * Fix text wrapping on PromptScreen by improving the layout * Vulkan: Don't generate mipmaps for huge textures (probably menu backgrounds). Other minor fixes. * Oops, accidentally enabled the logging GPU profiler by default. * Address feedback (preserve alpha-ignoring equality checks) * Minor fixes * Turn video upscaling off. * Optimize the xBRZ texture scaling shaders by 30% on Adreno, less on Mali * Add hardcoded bool toggle for upscaling video, fix log, remove a comment, minor opt * fmt * Add a 2x2 downsampled version of 4xBRZ as 2xBRZ (save memory bandwidth) * Make a copy of tex_4xbrz * Debugger: Debounce updates to disasm text. * Debugger: Never wait inactive on window update. * Debugger: Remove double debug window updates. * Debugger: Debounce list control updates. * Debugger: Fix crash on ill-timed breakpoint update. * Debugger: Debounce redraws using timers. * Bump gradle version again * Fixes when profiler is disabled. * Switch to macros to easily disable the new profiling. Add missing scope * Add a simple GPU profiler to profile individual events, rather than full passes. * Build: Correct AppleClang warning handling. * softjit: Fix a function arg template warning. * softjit: Fix an enum type comparion error. * Build: Avoid compiler flag warning. * Build: Fix some format truncation warnings. * interp: Correct vrndf2 range. * Vulkan: Ignore VMA nullability warnings. * UI: Clarify error message. * Build: Remove old-style android/assets/. * softjit: Skip a common case CMP. * softjit: Throw away regs allocated in conditionals. * Split the atlas into three, well two, but two different cases for the fonts. * Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. * Fix an ordering issue causing us to hit some asserts * Vulkan: Document lifetime for desc set pool. * Vulkan: Fix use-after-free on shutdown. * Vulkan: Use new desc sets in Draw and VulkanUtil. * Vulkan: Refactor common desc pool handling. * Vulkan: Avoid desc set error in tests. * samplerjit: Fix DXT1/DXT5 register releasing. * Vulkan is strict about scissor rect, so let's clamp centrally. * FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync. * Fix Tekken 5 Dark Resurrection Multiplayer * ThreadManager: Check for exchange failure. * Updated GetPtpStat * Updated GetPdpStat * Added a note regarding FIONREAD behavior on different platforms. * Discard PDP packets from an IP that can't be resolved to Player's MAC address (simple version) to prevent confusing the game, since the source MAC won't be updated and may contains invalid MAC. Added TODO to handle unresolvable packets properly. * Added another returned error code on PdpCreate * Allow Sending PDP to non-existing MAC address (except invalid mac address). Fixes an issue on NBA Ballers Rebound where players unable to enter Multiplayer Menu again after getting connection issue. * Vulkan: More scissor dimension checks. See #15207 * Vulkan: Correct the max level to generate mipmap calculation * Very minor logging improvement * Detect and specify the max available Vulkan version, up to 1.2. * (libretro) Force enable g_Config.bRenderDuplicateFrames + minor audio buffer tweaks * Use system headers when building with system miniupnpc * ThreadManager: Use separate pool for IO blocking. * ThreadManager: Make TaskType a property of a Task. * Android: Optimize content URI exists check. * softgpu: Correct alpha on add + invalid texfuncs. * softgpu: Match texenv blend texfunc accurately. * softgpu: Make decal tex func more accurate. * softgpu: Correct accuracy on fast path modulate. * softgpu: Correct accuracy of MODULATE texfunc. * (Libretro) Reimplement audio - * Move audio callback to the main thread (fixes the longstanding hang issues when using OpenGL) * 64ms on desktop isn't enough due to excess buffering going on in this emulator. Set default to 128ms instead. * Different audio approach is necessary due to the following: it sets a fixed framerate of 60, then sends either too many or too few audio samples per frame in order to force the frontend to run at the correct speed (.e.g. making the frontend run in slow motion for games that run at 30fps) - this is undesirable for libretro, we want a consistent amount of audio samples per batch. See further comments in libretro.cpp for more information * softgpu: Template away uncommon mip usage. * softgpu: Remove useless switch by UV gen mode. * softgpu: Avoid texlevel check when maxlevel is 0. * softgpu: Keep arguments in vectors for sampling. * Debugger: Reduce meminfo block check hazard. * Debugger: Speed up GetFunctionSize(). * samplerjit: Refactor nearest using reg cache. * Common: Correct shm_open() call. * Psmf: Check for invalid stream/EP map entry counts. * Vulkan: Cleanup pipeline var shadowing. * softjit: Make it an error to unlock a temp. * softjit: Get rid of pointless AGE00 tests. * softjit: Normalize some stencil test patterns. * softjit: Avoid tests for greater than 0. * softjit: Reduce ditherMatrix to 8-bit. * softjit: Oops, correct allocation typo. * Update Tagalog (tg_PH) with new translations by Gamemulatorer. Fixes #15189 * Display the graphics API on logoscreen on more platforms * ext: Update vulkan headers * ext: Allow use system glew with system ffmpeg (macOS) * ext: Support building with system miniUPnPc * cmake: Generate git-version.cpp in the build dir * ext/SPIRV-Cross-build: Update cmake version * softjit: Fix locked stencil reg. * headless: Enable softgpu jit for tests. * softjit: Centralize argument register allocation. * softjit: Fix fog typo causing locking bug. * jit: Lock around changes to the jit pointer. * softjit: Fix PixelFuncID arg on non-Windows x64. * Math3D: Allow construction from NEON vectors. * sofjit: Move common types to reg cache header. * softjit: Rename reg cache so it can be reused. * softjit: Cleanup, add other arch types to regcache. * softjit: Disallow use of register after unlock. * softjit: Simplify regcache usage as purpose only. * samplerjit: Allow disabling linear too, oops. * softjit: Decide stack offset on compile. * softjit: Ensure all regs are released. * softjit: Manage args in the register cache. * softjit: Fix disabled cache. * ThreadManager: Protect against teardown hang/leak. * ThreadManager: Lock notify on global queue add. * ThreadManager: Use atomic task optimistically. * SDL: Respect inflight frames setting in GL. * jit: More atomically update pointer. * Make CRT animation speed configurable * softjit: Reduce jit pool size a bit. * softjit: Precalculate write mask and dither. * softjit: Log any failed compiles. * softjit: Keep color 16-bit when useful. * softjit: Optimize common blend inverse alpha case. * softjit: Add alpha blending factors. * softjit: Cache zero vector to avoid recreating. * softjit: Prefer easier to refill regs. * softjit: Minor tweak to reg order for XCHG. * softjit: Implement min/max/absdiff blending. * softjit: Use SSE4.1 for fog and dither a bit. * softjit: Fix dithering bug. * softjit: Optimize typical alpha/depth test. * softjit: Apply logic ops. * softjit: Apply color write mask. * softjit: Refactor color conv to dedicated funcs. * softjit: Add config setting to enable/disable. * softjit: Initial color write. * softjit: Add dithering. * softjit: Keep x and y args for dither. * softjit: Depth and stencil testing. * softjit: Optimize some imm sizes. * softjit: Add helpers to get framebuf offsets. * softjit: Add levels of register locking. * softjit: Add color test. * softjit: Add alpha test. * softjit: Initial depthrange, fog. * softjit: Add register cache for softjit. * softjit: Switch to the __vectorcall convention. * softjit: Add stubbed DrawPixel for x64. * softgpu: Correct alpha blend subtract on negative. * softgpu: Use KEEP for any invalid stencil ops. * vertexjit: Optimize 5551 read a bit on x86/x64. * sofgpu: Disable alpha blend for invalid equations. * softgpu: Accurately alpha blend. * softgpu: Use 0 alpha for 565 alpha blending. * softgpu: Correct tagging of vertexjit. * softgpu: Fix stencil DECR on 5551. * softgpu: Use ALWAYS for alpha/depth test in clear. * Add review suggestion. * Destroy backbuffer when shutting down vulkan conext. * PPGe: Prevent special ampersand handling. * Build with correct preprocessor flag * Remove the old allocator visualizer. Keep the setting but hide it. Other feedback * Buildfixes * Fix bugs in deletion. Delete redundant functions. * Switch framebuffers to use VMA for allocation as well * Convert the PushBuffer to use VMA. * Change the PushBuffer API a bit to not take explicit memory types. * Remove the VulkanDeviceAllocator * More integration, use VMA in VulkanTexture * Start integrating VMA * Add VMA to ext/ (AMD's Vulkan Memory Allocator) * Minor refactor * Comment improvement, restore accidental deletion * Add a hidden setting to turn off the shader cache, for shader compile performance work * softgpu: Fix PixelFuncID size. * Vulkan: Add a single background thread for pipeline creation * VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread) * softgpu: Add func to tersely name pixel funcs. * softgpu: Template draw pixel on fb format. * softgpu: Move draw pixel code to separate file. * Vulkan: Fix crash on shutdown after device lost. * softgpu: Clamp and round fog by mantissa bits. * softgpu: Confirm mask doesn't hit stencil REPLACE. * softgpu: Force off alpha blend if uselessly on. * softgpu: Specialize sprite based on pixel func ID. * softgpu: Use pixel func ID to draw pixels. * softgpu: Add func to calculate pixel func ID. * Threading: Remove a level of indirection from Promise and Mailbox. * On desktop, change an empty current directory to "/" on startup. * Prevent chat menu touch to fall throght * Fix crash on close content after cached GPU pointer cleanup. * UI: Switch to font texture for debug stats. * softgpu: Clear by dividing out subpixel first. * softgpu: Add some comments and cleanup. * softgpu: Tune thread minimums better. * sfotgpu: Use threads to apply clears. * softgpu: Combine sliced rectangles. * softgpu: Split out rectangle path for combining. * softgpu: Fixup range cull for fans and fast path. * softgpu: Fast path rectangles as fans. * softgpu: Use range loops for sprite fast path. * Vulkan: Don't cache vulkan_ with draw context. * GPU: Cleanup some extra pointers in fb managers. * softgpu: Check flat z in fast path. * softgpu: Fast path triangles without textures. * Debugger: Fix crash on stepping/break. * softgpu: Fix leaked range flag on cull. * Add shortcut for content_uri and native paths in CleanRecent. Saves 150ms. * Also delay-load the VFPU dialog, just because * Windows debugger: Load the dialogs on demand. * Common: UWP buildfix. * Buildfix * Use the "new" API SetThreadDescription to set thread names on Windows. * Last update (id_ID.ini) * Minor fixes * Update id_ID.ini * Update es_LA.ini * Update zh_CN.ini * Update id_ID.ini * Id * id_ID.ini * Display: Prevent lock around listener calls. * Update *id_ID.ini* and some fixes * On Android 11 and later, let's not fallback to OpenGL at all. * Add tip to Lazy texture caching button. Replaces #14183 * softgpu: Correct scissor for pixel centers. * Headless: Generate a difference highlighting png. * Headless: Move screenshot compare to class. * Headless: Fix ppdmp compare. * Remove ARM Mali blacklisting for 4xBRZ, works now * Remove unused variable * Comment fix, remove assert * Remove support for 16-bit textures from the upscaling shader, to shorten it for benefit of mobile GPUs * Fix edge conditions in 4xXBZR * Speed up the 4xBRZ upscaler with 16x and the MMPX one with 4x by not doing redundant work * Switch texture scaling shaders to a fixed scale model, preparing for the next change. * Remove the copy-compute-shader path * SDL: Read assets from Resources on macOS like on iOS * UI: Support a second texture for just fonts. * Fix DPAD size calculation * Sun Nov 20 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221119: * Orient Save State / Load State buttons horizontally * Debugger: Combine mem info on duplicates. * irjit: Consistently check vec4 safety. * irjit: Allow VV2Op SIMD with exact overlap. * irjit: Correct VV2Op SIMD check. * GPU: Prefer raster for depth blit if supported. * Typo fixed * OpenXR - Cursor aspect ratio * OpenXR - Accept scrolling from both controllers * OpenXR - Camera adjust issues resolved * OpenXR - Force PSP menu aspect ratio * OpenXR - Better dialog support * OpenXR - Allow higher 2D canvas distance * OpenXR - Use axis integration for camera adjust only * OpenXR - Use mouse control only * OpenXR - Support axis * OpenXR - Support camera adjust using joystick * Update zh_TW.ini * Update zh_TW.ini * Update zh_TW.ini * interp: Support memory breakpoints too. * interp: Centralize memory size handling. * interp: Allow breakpoints in release mode. * interp: Allow resume from breakpoint. * Debugger: Keep flag for any breakpoints. * Twinbee Portable: Add config flag to avoid the system languages the game doesn't work with * softgpu: Use threads on self-render if safe. * UI: Show standard back button on touch layout. * softgpu: Fix off-by-one rendering after half-pixel. * softgpu: Avoid splitting rectangles for fog. * softgpu: Correct tex on fogged rectangles. * GPU: Automatically reduce depth range on == test. * GPU: Remove unused GPU_USE flag. * GPU: Centralize more GPU_USE flags, like depth. * GPU: Add a small error-compensation to depth clip. * Vulkan: Mark Adreno bug resolved on recent driver. * Vulkan: Correct alpha in Adreno workaround. * GPU: Convert alphamask to FF/00 for 5551. * Fix grid align * Sun Nov 13 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221112: * UI: Avoid enum/float comparisons. * VR: Remove unnecessary deprecated header. * SaveState: Switch from deprecated is_pod. * GPU: Correct Marvel copy hook size check. * GPU: Hook US version of Marvel Alliance upload. * OpenXR - Freezing on Pico 4 fixed * OpenXR - Test mirroring over 30 various games * OpenXR - Get all mirroring variants * Revert "OpenXR - Disable range culling properly" * GPU: Correct equal depth checks. * OpenXR - View matrix identity check breaking several games fixed * OpenXR - Don't get mirroring from identity matrix * OpenXR - Do not apply head rotation on identity matrix * GPU: Correct vertex decoder in software transform. * Mpeg: Correct YUV order from decode. * Mpeg: Fix ConvertToYuv420 return value. * GPU: Avoid enabling depth test pointlessly. * GPU: Prefer scaling depth to 16-bit if using 24. * GPU: Avoid clears for non-simple depth values. * TexCache: Cleanup BGRA flag dirtying. * Fix GLSL compilation issues on really old Adreno drivers. * GPU: Avoid self memcpy(). * OpenGL ES: Crash as early as possible if things are bad * Update zh_TW.ini * Space added * TexCache: Correct 16->32 for CLUT4 with shift. * TexCache: Fix 16->32 colors with CLUT start pos. * TexCache: Align expandClut buffer, cleanup sizes. * Restore parallel GLSL builds * Lift length limit on Android logging * Log source code for failed pipeline creations * Avoid drawing with failed-to-create pipelines * Make Mailbox handle null values. Fixes hang. * Output shader descriptions directly in the source code * Improve VkResult logging * Warning fix in VR code * OpenXR - Disable range culling properly * OpenXR - Allow more extreme camera adjusts * OpenXR - GTA Liberty city stereo fixed * Properly buildfix GL/VR again * OpenXR - Camera sliders removed from settings * Fix sky plane fix (broke in my last VR refactor) * OpenXR - Camera adjustment using PSP keys * OpenXR - Keep status of PSP keys * Restore assert * Experiment (Vulkan): Temporarily disable GLSL parallel compilation on Android. For #16341 investigation. * Disable remaining false positive. * Turn off boundSecondaryIsInputAttachment_ when we don't have one. * Vulkan: Use the very same view as input attachment and color attachment, not just the same image * Update zh_TW.ini * Update zh_CN.ini * Remove unnecessary assert * OpenXR - Move configs out of VRRenderer * OpenXR - Move matrix calculation out of VRRenderer * OpenXR - Simplify projection matrix creation * OpenXR - Matrix indexing fixed * OpenXR - Get rid of separate projection matrices * OpenXR - Get rid of ovrMatrix4f structure * Partially rescue translation by copying from Hack Settings * Setting should be reported * Blind libretro fix * Android fix * Blind Qt fix * lang: Remove obsolete keys, add new untranslated ones :( * Change "Simulate block transfer" to "Skip GPU Readbacks". Group the speed hacks together * Change "Rendering Mode" to just a "Skip buffer effects" checkbox. Reuse translations. * libretro fix, more games * GPU: Correct softgpu curve issue. * GPU: Always skin in decode for software transform. * softgpu: Always use software skinning. * GPU: Purify vertTypeIsSkinningEnabled(). * Windows ARM/ARM64 buildfix * Remove now-unused lang keys * Change the "Retain changed textures" option into a compat.ini option. * GPU: Use skinned position always in bounding check. * GPU: Cleanup GetVertTypeID() usage. * Linking fix for normal Android devices * UWP build fix. Had to reshuffle some stuff and compile some Vulkan files. * Add a dynamic loader for OpenXR so the VR code can link. Make it all build on Windows. * Typo fix * Make a lot more code VR build for all platforms * Fix type of predictedDisplayTime * 6dof fix * Rename 6DOF_PRECISE to HAS_UNIT_SCALE * Remove ugly float conversion hacks from VR config * Finish previous buildfix... * Upgrade gradle, specify NDK version in android/build.gradle * Yet another gradle upgrade * Sun Nov 06 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221105: * Comment fixes (feedback) * Fix parsing ampersands in server listings for streaming * Drop some D3D11 screen rotation support (was only used on Windows Phone) * VK/D3D11: Move the rarely used "u_rotation" uniform to the frame uniform buffer. * Switch RenderPassType to be a "proper" bitfield enum. * Support Android file intents with up to 3 dots in path * Code formatting fixed * OpenXR - Get platform flags in runtime * OpenXR - Introduce platform flags * OpenXR - Fix ifdef ANDROID * OpenXR - Add an option to disable 72Hz update * OpenXR - Enable camera movement and stereo in flatscreen mode * [Libretro] Update core options to v2 + add a few new ones * Build: Use Makefile for libretro. * Build: Enable libzip on libretro. * GE Debugger: Respect unchanged VRAM each frame. * GE Debugger: Try harder to identify unchanged VRAM. * GE Debugger: Dump textures only if possibly used. * GE Debugger: Restrict marking of dirty VRAM better. * Vulkan: Fix descriptor set binding in geometry shader generator. Should fix #16315 * OpenXR - Settings code cleanup * Replacement: Avoid issues with c++14 data(). * UI: Install textures as a zip if supported. * OpenXR - Enable stereo for Split/Second * OpenXR - Workaround for not working inputbox * Memory initialization fixed * OpenXR - Let users set the movement length * OpenXR - Option to disable controller mapping * OpenXR - Map controller motions on keys * irjit: Correct prefix validation. * interp: Correct dprefix accuracy for vrot. * irjit: Fix unordered float compares. * Replacement: Don't double count memory usage. * Replacement: Allow use of textures.zip for Android. * Replacement: Lock around shared data access. * Replacement: Cache file data across cache keys. * Replacement: Log only missing explicit filenames. * Replacement: Decimate aggressively with high usage. * Replacement: Reduce IO checks on startup. * Replacement: Avoid needless exists check per tex. * interp: Correct vscl/vmscl t prefix handling. * irjit: Handle vrot overlap more correctly. * SaveState: Restore replacements in only one place. * Debugger: Allow currently-invalid memory reference. * Debugger: Fix input.analog.send validation. * UWP: Avoid some float conversion warnings. * Windows: Avoid compile param conflict warning. * Draw: Correct ambiguous comparison overload. * typo fixed * OpenXR - Add new virtual key for camera adjust * OpenXR - Camera side adjust added * OpenXR - Camera height adjust added * OpenXR - Do not process key actions during camera adjust * OpenXR - Allow updating camera in realtime * OpenXR - Make VR camera parameters floating numbers * Update zh_TW.ini * Update zh_TW.ini * Update zh_TW.ini * Sun Oct 30 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221029: * OpenXR - Stereo support for Outrun 2006 added * Vulkan: Log additional queue command. * armips: Update to latest. * headless: Update tests. * Vulkan: Fixes validation errors with "null" textures * Address feedback * Need to request the proper type of uniform buffer descriptors. * Add some extra checking for valid stereo shader. * Actually bind a global uniform buffer, too. Not yet used. * Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1 * jit: Reduce some include pollution. * Fix UB * Format string fix * Shadergen fix for OpenGL * Crashfix in settings menu (Android only, for whatever reason) * Fix validation issue with clears, remove redundant code * Clean up GPU_Vulkan::BuildReportingInfo a bit * Improve compatibility checks for stereo rendering. * Fix for stereo with textureProj (emulated projection). * Fix depal texture binding bug * Name more image views. Very useful with a little patch to the Vulkan debug layers. * Fix rendering in non-stereo mode * Pass shadergen tests * Address feedback * Stereo now works through shader depal too * Fix more cases, GTA works now. * Use arrays more consistently. * Always use array textures for framebuffers in Vulkan for simplicity. * wip * Minor shaderwriter refactor * Stereo on mobile fixes * Some refactoring of framebuffer views, layer issues, more work. * More work. Things are starting to work now. * Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines * Non-stereo bugfix * Start stereo postshader work * More multiview work * Misc multiview hackery * thin3d: Replace hint at future MRT support with basic multi layer support * OpenXR - Lego Star Wars III stereo support added * OpenXR - 6DoF and stereo in Lego Star Wars II fixed * Build: Fix Android/macOS ccache. * Build: Update deprecated actions. * headless: Update tests. * GE Debugger: Correct UV display with prescale. * Minor ShaderWriter refactor, prep for later changes * GE Debugger: Allow reading tex on D3D11. * Vulkan: Use v2 feature checks, and add check for multiview features. * Testfix * Minor refactor of ShaderWriter flags. Extracted from the stereo PR * softgpu: Better approximate slope mip level mode (#16276) * x86jit: Correct vh2f NAN handling (#16275) * headless: Update tests. * VR: Always pass the bounding box check. * GPU: Account for scissor/viewport in bound test. * GPU: Respect depth clamp in bounding box check. * GPU: Allow/use indices in bounding box check. * GPU: Correct large morph vertex advance. * GPU: Consume cycles in bounding box check. * GPU: Correct bounding box for larger counts. * GE Debugger: List verts on bounding box command. * Sun Oct 23 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221022: * Make it possible to specify extensions for Vulkan in the ShaderWriter * Remove duplicate line in libretro makefile. * OpenXR - Wrong condition removed (#16271) * OpenXR - Refactor compatvr.ini file (#16270) * Apply Kyria's updates to tr_TR (Turkish) translation * Minor refactoring in PresentationCommon * PresentationCommon: Use refcounts to simplify shader module management * Vulkan: Fix frame ordering issue with postprocessing shaders * GPU: Respect matrix and reverse flag w/o normals. * softgpu: Multiply prev normal by world matrix. * softgpu: Respect negate normal flag without norm. * Update zh_TW.ini * Update zh_CN.ini * OpenXR - Camera distance adjust added * OpenXR - Rearrange VR settings * Update zh_CN.ini * Some more codestyle cleanup * Change wrap_mode to clamp for bicubic upscaler * Libretro buildfix attempt again * Remove "attachment" parameter from BindFramebufferAsTexture everywhere. * Libretro buildfix attempt * Vulkan: Correct some enum switch warnings. * Kernel: Fix reported StopThread error. * headless: Update passing tests. * headless: Fix crash running some tests on Vulkan. * headless: Allow screenshot to not be 512x272. * SDL: fix glew on wayland by ignore glx * OpenXR - Use only the first projection matrix in frame for mirroing detection * OpenXR - Ensure scene analyze is called the same way as before * Build/warning fix * Remove newly added dependencies on PPSSPP * Don't use PPSSPP-specific stuff in Common/VR for now. * Buildfixes * Android non-gradle buildfix * CMakeLists.txt fix * Make as much as possible of the VR code build on all platforms * Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere. * Reorder the GPU USE flags a bit * OpenXR - Move VR passes count calculation * OpenXR - Reduce uniform calls * OpenXR - Simplify projection matrix analyze * OpenXR - Get rid of VR tweaks * OpenXR - Move matrix composing out of VR tweaks * Two more renames to make things read better * Rename GPU_SUPPORTS_ to GPU_USE_ * Rename gstate_c.Supports to gstate_c.Use * GPU: Replace logic ops with blend for simple cases. * softgpu: Correct linear interp for uneven positions. * softgpu: Correct drawing outside TL of rectangle. * softgpu: Make triangle fan rect detection generic. * OpenXR - Add VR mode for stereo flat screen rendering * Savedata: Update filelist on file erasure. * Kernel: Stop reporting invalid semaphore names. * Kernel: Stop reporting invalid mutex names. * Code cleanup, optional param renamed: "recreate" -> "remove" * Fix save states * OOP * know unknown in sceMp4Create * Add draft mp4msv module * Kernel: Add reason to reported stop error. * Windows: Improve reporting of WASAPI errors. * Io: Fail open earlier from ms0: w/ no access flags. * jit: Run invalidates immediately. * jit: Consistently check range on invalidate. * jit: Ignore zero byte icache invalidates. * Removed the bugged part of hle.func.scan + new comments * OpenXR - Disable VUlkan for now * OpenXR - Create VR framebuffer for Vulkan * OpenXR - Hookup VR API into Vulkan * Comments updated, default value for parameter "recreate" set to false * Added optional parameter to hle.func.scan, improved code of hle.func.removeRange * OpenXR - Vulkan support in progress * OpenXR - Initial work on Vulkan support * Sun Oct 16 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221015: * D3D9: Correct scissor state cache in Draw. * headless: Update tests. * softgpu: Cull a triangle with all negative w. * softgpu: Fix crash on screenshot w/o display. * Vulkan: fix wayland swapchain size 1x1 * typo * OpenXR - Ensure the app gets unloaded when killed by OS * Revert "Vulkan: Create depth/stencil buffers on demand" * Add ShaderId utility function to be used for some sanity checking. * Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. * GPU: Respect stencil state in shader blend. * Followup to #16205, fix one more instance of the problem. * Removes the option, autodetect instead - only enable if the GPU doesn't support bitwise ops. * ArmJit: Save/restore downcount where needed, we missed a few cases. * Revert "Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194" * Touchpad/mousewheel scrolling acted very weirdly on Mac due to 0 deltas. Make it work better. * Disables "ForceCheck" on jit invalidation on ARM32, introduced in #16194 * Warning fixes * GE Debugger: Display if tex is framebuf. * GE Debugger: Use a modern GL context. * GE Debugger: Remove ancient unecessary GL calls. * GE Debugger: Normalize framebuffer texture preview. * GE Debugger: Centralize current fb tex fetch code. * D3D9: Remove block transfer code overrides. * D3D9: Implement CopyFramebufferToMemorySync(). * Vulkan: Fix initial depth copy w/o existing depth. * MIPS: Fix non standard layout offsets. * GLES: Add debug readback of stencil data. * GLES: Refactor depth pipeline create. * GPU: Rename stencil write pipeline. * GLES: Allow stencil texturing if supported. * it_IT - Italian localization: Apply giona888's latest changes * Experimentally revert "Delete some misguided FPU control code, that we definitely don't want" * Comment about VR uniforms * Don't use fragmentShaderInt32Support as a replacement for checking for bitwiseOps * Don't expand alphaColorRef to 128 bytes on backends where we don't need to. * glslang: Set a missing resource limit. Avoids spurious errors in shader unit test * Revert "Revert "Loader: Validate offsets and truncation in ELF."" * Update elfSize to uncompressed elf size when needed. Fixes infinite loading in Wipeout. * Revert "Loader: Validate offsets and truncation in ELF." * Track min and max GPU time, init time, render CPU time. * Delete some misguided FPU control code, that we definitely don't want * Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. * GLES: Simplify, enable debug depth readback. * GLES: Use Draw for depth readback shader. * GLES: Enable EXT_depth_clamp where supported. * GLES: Refactor depth shader download. * GLES: Depth download cleanup. * Windows: Retain log console on graphics restart. * jit: Defer invalidations made while running. * GE Debugger: Reset on shutdown. * Loader: Get rid of overalloc on module exec. * Loader: Validate offsets and truncation in ELF. * D3D11: Correct depth readback. * Savedata: Cache SFO data during processing. * Savedata: Skip and defer texture exist check. * Savedata: Combine file info and dir listing calls. * Io: Provide directory existence with listing. * Android: Differentiate empty dir from failure. * Savedata: Reduce some duplicate file info lookups. * Font: Reduce internal font loading IO. * Io: Defer GetFileInfo() until it's needed. * Io: Reduce operations inside GetFileInfo(). * Module: Cleanup file read pattern. * GPU: Rename readback and buffer write operations. * D3D9: Correct depth readback. * Depal from dynamic CLUT: When detecting bounds, be more conservative. * Vulkan: Create depth/stencil buffers on demand * Fix depal bounds with dynamic CLUT. Fixes lens flare glitches in Ridge Racer * Remote API: hle.func.removeRange added * GLES: Hook up depth download. * Vulkan: Disable geometry shaders for Mali <= 18. * GPU: Correct sizing account on block transfer. * GPU: Hook Gods Eater Burst avatar read. * GPU: Consider depth buffers in block transfer. * Jpeg: Cleanup debug dump file access. * Jpeg: Encode and decode YCbCr as 2x2. * Jpeg: Correct some logging of return types. * Debugger: Fix off-by-one in func scanning. * GPU: Refuse to set fb_address == z_address. * GPU: Ignore depth when masked and ALWAYS. * GLES: Use GL_LUMINANCE on GLES for indexed tex. * D3D9: Add simple rendered CLUT handling. * D3D9: Correct sampler states for binding 1+. * Jpeg: Correct colorspace conversion funcs. * Jpeg: Decode buffers using configured stride. * Jpeg: Improve error handling for YCbCr decode. * Jpeg: Retain previous width/height. * Jpeg: Improve timing/errors for GetOutputInfo. * Jpeg: Play it safe with load/unload handling. * Jpeg: Validate CreateMJpeg() parameters. * Jpeg: Cleanup Init/Finish error checks. * Fix assertion issue when playing Cars over public adhoc server. * Sun Oct 09 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221008: * OpenXR - Revision of VR rendering * Psmf: Fix save states. * Fix as @hrydgard suggest * Typo fix, thanks iota97 * Shader uniforms (VK/D3D11): Fix issue where we could overwrite the fourth component padding. * GPU: Clip against neg Z even w/o cull support. * GPU: Verify generated shader buffer length. * GPU: Optimize clip distances needed. * Vulkan: Correct clamped Z clip when clipping neg Z. * Vulkan: Avoid max_vertices=12 if unnecessary. * Vulkan: Clip clamped depth in geometry shader. * Forget remove the include * Store crc change to u32 * Reporting: Always report hleReportDebug. * Reporting: Avoid accessing ticks before start. * Vulkan: Generate indices in clipping. * Compat: Remove DisableRangeCulling. * Vulkan: Clip to neg z in the geometry shader. * Improve Freedesktop integration * Move scalable icon install from `${prefix}/share/pixmaps` (`pixmaps` has been deprecated long time ago) to `${prefix}/share/icons/hicolor/scalable/apps` * Add `Keywords`, `Categories`, and `MimeType` keys to `.desktop` file * Add shared MIME-info on [`application/x-compressed-iso`](https://en.wikipedia.org/wiki/.CSO "Compressed ISO") MIME type * Try to build fix * Fix Kurohyou again. See #9576 * GPU: Skip matching a framebuf for RAM. * GPU: Use flags to fix triggered upload/download. * Add crc record to psmfplayer * Add crc record into mpeg module * Add crc calculation in loading module * Vertex decoder: Add fallback for non-SSE4.1 * Fix another crash with non-buffered rendering * More libretro buildfix, thanks stuken * Attempt to fix libretro build * Fix validation error with the GPU profiler * Improve Vulkan profiler (show framebuffer tag for render passes) * Fixed syntax accessing method reviewed by Unknown W. Brackets <checkins@unknownbrackets.org> * softgpu: Minor opt, ignore unused z_stride. * GPU: Normalize framebuf addresses. * GE Debugger: Ignore mirrors for target in record. * GE Debugger: Correct mask in target breakpoints. * GPU: Mask away unused bits in framebuf/zbuf ptr. * Vulkan: Cleanup unused geometry shader vars. * Vulkan: Allow configuring geometry shaders on/off. * Vulkan: Block geometry shaders on older Mali. * Vulkan: Use geo clip distance only where supported. * Vulkan: Enable geo shader for culling. * Vulkan: Correct geometry shader culling. * Vulkan: Cull in geoshader, hack to on for now. * Vulkan: Basic geoshader code generation. * Vulkan: Update shader cache format for geo shaders. * Vulkan: Add geometry shader ID tracking. * Vulkan: Clean up shader module tag. * GPU: Add dirtying for geo shader state. * UI: Prevent rendering during reboot. * assets/lang: translate some key phrases in pl_PL.ini * headless: Update tests. * GE Debugger: Fix memcpy/memset recording. * GE Debugger: Record the Edram translation value. * Ge: Report and save Edram translation value. * Debugger: Fix game.reset by adding a reboot status. * Build: Ignore no symbols link warning. * Build: Fix debug build on Windows 32-bit. * Tighten up some color format checks with displays and copies * Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' * Fixed bug and memleaks * Code readability, vec reserve() and remove excess c_str() * Correct cleaning string and remove unused vars * Forget remove unused include * Change to mpegLibVersion * Trying to improve sceMpegAvcDecodeYCbCr * Sun Oct 02 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20221001: * GPU: Add geometry path for shader writer. * unittest: Cleanup stage/glsl version. * Draw: Add COLOR1 semantic. * ES2 crash fix: Don't draw depth if lacking fragment shader depth write. * Build: Raise macOS/iOS min version for c++17. * armips: Use native std::filesystem on Windows/UWP. * armips: Also update UWP and ARM64, etc. * armips: Update to UTF-8/c++17 armips. * Core: Remove disallowed register. * Build: Update zstd to latest dev. * armips: Update to latest. * GE Debugger: Correct rounded coords in vertex list. * softjit: Fix dst blend shift. * softgpu: Avoid projecting textures in common case. * GPU: Fix missed dirtying when fast loading tgen. * GPU: Restore matrices with dirtying. * Use compat.ini to avoid readbacks in Silent Hill: Shattered Memories as well. * Remove redundant call to SetMenu * Add hidden ini file setting that you can use to hide the menu bar. * Typo fix * Update README.md * OpenXR - Add README.md about the SDK * Update the Vulkan debug names when reassigning depth buffers. * Add Silent Hill: Origins to compatibility setting BlockTransferAllowCreateFB. * If a framebuffer starts using a different depth buffer than before, re-point. * Quiet the Vulkan miniprofiler (for texture uploads etc) a bit * softgpu: Correct matrix value update wrapping. * Ge: Move matrix reading into GPU. * GLES: Fix colortest/logicop uint/int conversion. * Debugger: Add API to scan memory for funcs. * Debugger: Fix doc typo for disasm/assemble names. * OpenXR - Fix FBO colors on Pico * OpenXR - Fix the build on Quest * OpenXR - Support for Pico controllers * Vulkan: Better debug names for RENDER passes. * Remove alpha ignore in xbrz texture shaders. * OpenXR - Initialization on Pico fixed * OpenXR - Code formatting * Better bit scrambling when computing draw call IDs for vertex cache. * softgpu: Handle rectangle texture projection. * softgpu: Implement triangle texture projection. * softgpu: Expand texture coords to include q. * softgpu: Split clippos out of rasterization vert. * GPU: Correct flat normal projection mapping. * GPU: Correct normalized zero normal proj map. * softgpu: Save last tc/normal in vertex reading. * Fix color test. * Add compatibility flag for loading pixels on framebuffer create using nearest filtering * Mpeg: Correct Au update size. * GPU: Apply color test mask as a uint. * GPU: Consistently use uvec3 for colortest. * ivec->uvec, comment fix * ShaderUniforms: cleanup, put every "4-float" on a line for clarity * Shuffle constants around, squeezing them into gaps. Saves another 16 bytes. * Fragment shader uniforms: Pack color mask in 32 bits instead of expand to 128 bits. * Fold the "materialUpdate" flag into the light ubershader part. * Add some recent flags to FragmentShaderDesc * Remove suspicious dirty flag * Prepare for dynamic mat update * Minor debugger fix * Always do the vertex shader part of the fog computation. * GPU: Fix SSE4 Vec3f normalize. * Oops! Also, testfix * Fix light ubershader for D3D11 and OpenGL, GLES unsigned/signed stuff * Experiment: Generate "Ubershaders" that can handle all lighting configurations * Replace faulty layout transition deduplication algorithm. * Vulkan: Add debug names to our command buffers, so you can see which one errored in validation * Minor cleanup in TinySet * (UWP) Remove expandedResources * Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts. * OpenXR - Pico specific code refactor * softgpu: Avoid waiting for a thread to drain. * softgpu: Increase queued prims. * softgpu: Fix triangle strip with partial rects. * softgpu: Simply 5551 blending fast path. * softpu: Refactor out 5551 fast path checks. * softgpu: Avoid fast path in another wrong case. * D3D9: Allow INTZ depth buffers more correctly. * Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc. * Bump the shader cache version * Vulkan: Don't compile pipeline variants that don't make sense given their flags. * OpenXR - Initialize Pico subsystems * OpenXR - Disable performance extension on Pico * OpenXR - Support multiple loaders * OpenXR - Add manifest for Pico * OpenXR - Rename Quest build variant * Sun Sep 25 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20220924: * GE Debugger: Add option to track pixel in preview. * GE Debugger: Copy images optionally with alpha. * GE Debugger: Add a direct copy for preview images. * OpenXR - PreprocessStep function implemented * OpenXR - Simplify skyplane detection in GTA * OpenXR - Get rid of an ugly if condition * GPU: Cleanup unused CheckAlpha() funcs. * softjit: Skip reading dst pixel where blended out. * softgpu: Optimize rectangle sampling/blending. * softgpu: Ignore a needless color test case. * GE Debugger: Tag frame dump replay VRAM writes. * GE Debugger: Fix small tex/clut recopying. * HLE: Fix bad logging without latestSyscall. * Vulkan: Avoid crash on two backbuffer steps. * Remove ill-formed asserts * More tweaks, fix crash on exit (double-join thread) * Small tweak * Can't seem to get around this condition variable... Oh well. * Readback fix * Greatly simplify the thread synchronization. * Flatten the Run function, to make it easier to reorganize. * Make functions private that should be private * Best practices layer warning: Don't pass in unused clear values. (probably zero impact, heh). * Handle depth buffer write-after-write hazards in the queue runner * Fix leak of shader modules from thin3d. * Another uninitialized variable (VAI minihash/hash) * Make valgrind happy * Fix memory leak (of Promise objects) in VK pipeline wrappers * Add Burnout Dominator to list of games that require buffered rendering * GPU: Upload depth only on first usage. * softgpu: Fix self-render detect in Ridge Racer. * softgpu: Cache reused indexed verts. * softgpu: Skip matrix multiply for fog factor calc. * softgpu: Remove unnecessary state param. * Texture/Framebuffer match: Ignore stride if texHeight == 1. Fixes Ridge Racer lens flares. * Use Unknown's idea from #16081 instead of the UploadDepthForCLUTTexture compat.ini flag. * Fix Vulkan regression of #16075 due to silly typo. * Fix corruption of Ridge Racer speedometers with AutoMaxQuality enabled. * Cleanup logic * Fix for render pass merge * If depth or stencil are cleared in a renderpass, set the pipeline flag. * Vulkan: Don't have renderpasses store/load depth buffers when we don't use them * Preserve depth buffer on framebuffer resize, if has been used. * More lenient heuristic for uploading depth buffers. Still behind compat flag. See #11100 * Minor cleanups around dirtying of render state * softgpu: Avoid unnecessary flushing for curves. * GLES: Avoid resizing tessellation data textures. * GPU: Correct neg normal for hwtess texgen. * GE Debugger: Default auto flush enabled. * GPU: Use hardware tess params for texgen. * Dirty more state after depal * Don't try to replace or scale CLUT8-on-GPU textures. * Shouldn't 'floor' there * CLUTs can be loaded from small rectangular textures. Need to linearize. * OpenXR - Stereo mirroring fixed, disable stereo when no world scale defined * Vulkan: Avoid crash in headless on finish. * Kernel: Match index lookup behavior for tls. * GPU: Simplify depth clamped clip planes. * GPU: Clip clamped depth accounting for perspective. * GPU: Account for w properly in lines, fixing width. * softgpu: Narrow blend check for fast path further. * headless: Use display buf for compare screenshot. * GPU: Correct display framebuffer reading. * softgpu: Fix display framebuffer read. * Fix BGRA issue on D3D with GPU CLUT textures * softgpu: Correct clear rect off by one issues. * OpenXR - Compile fix * UI: Fix controller autoconf list result. * headless: Update tests. * Kernel: Disallow partitions 8/10 to match tests. * OpenXR - Support for all headset's IPDs fixed * Kernel: Allow volatile for MsgPipe buffers. * Kernel: Allow volatile for Tlspl objects. * Throw in assorted warning fixes * Kernel: Allow kernel/volatile VPLs as well. * Submit main command buffer before acquire. Fix sync bug. * When taking screenshots, make sure that the readback command happens on the right cmdbuf. * Kernel: Allow allocating FPLs in volatile memory. * Minor code cleanups (hasBegun is now redundant, for example) * Rewrite some present logic for slightly more clarity. Fixes bad logic and a minor race condition. * Various refactoring * Unify depth texture and framebuffer fetch checks * Unify range culling detection * Start unifying setting of the GPU feature flags, now that thin3d has feature detection. * Kernel: Load volatile memblocks from save states. * Kernel: Check sceKernelAllocPartitionMemory args. * Kernel: Fix save states for volatile memory alloc. * GE Debugger: Include rendered CLUTs in frame dumps. * Address feedback * Vulkan: Remove the useThread bool entirely. * Start moving stuff out to VulkanFrameData.cpp * softgpu: Skip flushing on no change. * softgpu: Skip more triangles with equal verts. * Windows: Normalize paths for OpenDirectory(). * GE Debugger: Save current clut in frame dumps. * HLE: sceKernelAllocPartitionMemory volatile memory support (partition 5) * Gamedata: Cleanup install request args/validate. * Fix the UI setting "Buffer graphics commands". Was off by 1. * GPU: Clip depth properly when also clamping. * GLES: Support more clip distances. * softgpu: Correct line early z checks. * GE Debugger: Allow search by state name. * GE Debugger: Show time spent stepping. * softgpu: Fix s8 primitives in throughmode. * headless: Add some new and passing tests. * GPU: Fix crash on imm vert triangles. * softgpu: Correct secondary color on imm verts. * softgpu: Fix state/continuation for imm prims. * softgpu: Support fog and color1 on imm verts. * softgpu: Refactor imm draws to bypass vert read. * softgpu: Simplify vertex reading. * softgpu: Simplify vertex range culling. * softgpu: Explicitly flush on sync and output. * GPU: Minor cleanup of unnecessary virtual. * Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change * Update pspautotest submodule * Update ffmpeg submodule (no big news, just readme updates and a gcc buildfix) * Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug. * Show GPU device ID in system information if available. * OpenXR - Move skyplane compat flag into compatvr.ini * OpenXR - Refactor variable name * OpenXR - Compile fix * OpenXR - Do not mashup Common/GPU * OpenXR - Refactor * OpenXR - Use fog color to replace the sky * OpenXR - Refactor VR compat integration * Force clearing framebuffer for GTA games * Sun Sep 18 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20220917: * headless: Benchmark a test or frame dump. * headless: Add option for MSE pass threshold. * headless: Switch screenshot error to MSE. * Headless: Small cleanup of options handling. * softgpu: Run early Z tests in fast rect path. * UI: Fix some logic dependent on screen tags. * Remove assert (this happens when playing framedumps) * Finish the switch to late acquire, moving the swapchain responsibility to the queue runner. * RunSteps cleanup * Move FrameData out of VulkanRenderManager * Move back buffer rendering to a separate "present" command buffer * Remove splitSubmit setting. Now we submit init commands before the acquire. * Flag shader blending as broken on Adreno for now. * Need to have input attachments in the descriptor pool. * Remove logspam * Show render pass types in GPU profiler * Use subpass dependencies to implement shader framebuffer read in Vulkan. * Add two more extensions to device extension lookup * Careful with min filtering of framebuffer textures only if auto max quality is on. * Increase log level of ppsspp version * Ah, need to enable the Mali workaround for Outrun's water, too. * Logic op fix, min filter fix. Also remove some unnecessary indentation. Fixes the water on Adreno (no logic) * Log the screen tag when logging scissor errors. * Add tags to all our UI screens. Useful to debug UI problems. * Fix const pointer conversion error for RISC-V * D3D9 crashfix (flare doesn't render correctly though) * Copy the texels directly in LoadCLUT * Small simplification * Address feedback, change roles of the two dynamic clut fbos to eliminate the need for state (see next commit) * Seems Need for Speed: Shift has exactly the same lens flare, enable the same compat settings. * OpenXR - Better variable/methods naming * OpenGL and D3D11 fixes * OpenXR - Add code comments * Log improvements * Ridge Racer fix * Get depal-from-dynamic-CLUT working * Set texcache entry status flag if CLUT needs to be dynamic * Add way to bind cached textures to a DrawContext * Allow binding "native" texture objects to thin3d * Start implementing ApplyTextureDepal * Cleanup in ge_constants.h, add virtual CLUT8 buffer format * OpenGL fix * Comment * Force low resolution for effects in Burnout Dominator. Fixes lens flare at high res * Enable depth uploads on render-to-clut-buffer. Esoteric but needed for #11100. Compat flag for now. * Enable DownloadCLUT and ShaderBitmask for Burnout Dominator * Detect the CLUT8/8888 situation * Buffer copy matching workaround * OpenXR - Ensure the head pose is locked during frame rendering * Switch multiple bools as parameters to DecodeTextureLevel to a flags enum. * Fix regression in Tantalus games. See #15914 * GE Debugger: Allow fb copies while stepping. * GPU: Fix simulating logicop with blend and shader. * Unify CLUT texture size at 512 to reduce complexity. Worth the extra bytes. * Extract function GetReinterpretPipeline * Savedata: Return errors more correctly on load. * softgpu: Force correct alignment on 32-bit. * Common: Fix some type compare warnings on 32-bit. * softgpu: Remove mostly unused screen offset state. * softgpu: Cache texture bufws at 16 bit. * softgpu: Reduce size of VertexData texture coords. * Non-buffered rendering crashfix * OpenXR - Crash when using 3D stereo fixed * OpenXR - Requested header change in compatvr.ini * OpenXR - Use per game stereo separation file * Address feedback * Better shader compile logging * Don't start blending in the shader just because there's bitmasks, if blend is disabled. * Debug-name shader modules with their shader desc strings * softgpu: Ignore stencil test mask in ALWAYS mode. * softgpu: Include early Z in func description. * softgpu: Detect longer strips of rectangles. * softgpu: Detect full triangles as rectangles. * softgpu: Refactor triangle cull processing. * softgpu: Store vertex colors as packed RGBA8. * softgpu: Enable early Z tests a bit more often. * softgpu: Reduce some minor bin item field sizes. * README: Move some older releases to history. * GE Debugger: Add some constants to expressions. * GE Debugger: Add fields to register expressions. * Add Rewrite to DrawSyncEatCycles hack, softlocks without it * GE Debugger: Eval breakpoints as if register set. * GE Debugger: Provide addrs in breakpoint conds. * Remove CLUT matching case that shouldn't be there yet. * softgpu: Switch vert continue buffer to members. * softjit: Implement accurate fog color blending. * softgpu: Correct accuracy of fog calculation. * softgpu: Restrict sprite fast path to throughmode. * Shadergen issues found by the test * Switch more texture matching calculations to use bytes for matching. * Texture/framebuffer matching: Do margin check in bytes. * Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit. * Implement shader depal for D3D11. * DownloadFramebufferForCLUT: Apply the fix mentioned in #8590 * CLUT download: Replace the broken block transfer check with a new compat flag. * vertexjit: Use consistent skinInDecode. * softgpu: Check depth test early on simple stencil. * softgpu: Clamp/wrap textures at 512 pixels. * GE Debugger: Correct confusing block transfer size. * D3D11: Prevent crash on larger textures. * TexCache: Allow valid bufw sizes. * Vulkan: Avoid crash if large texture attempted. * GE Debugger: Fix crash on bp before list running. * GE Debugger: Fix crash stepping with large tex. * softgpu: Avoid calling unordered coords tl/br. * softgpu: Avoid over-aggressive rect conversion. * GE Debugger: Fix logging of texture size. * softgpu: Allow almost flat rectangles to go fast. * softgpu: Refactor duplicate rectangle compat check. * Sun Sep 11 2022 pousaduarte@gmail.com - Update to version 1.13.2~git20220910: * Add logging for LoadCLUT from framebuffer. See #15923 . Logs nicely in Burnout Dominator. * GE Debugger: Correct cond break removal warnings. * Vulkan: Wake compile thread when enqueued. * Update version to 1.13.2 * Update README.md for v1.13.2 * CI: make indentation in tarball.yml consistent * CI: also upload release source tarball on tag push * GPU: Dirty params when converting viewport state. * softgpu: Correct morph weight updates. * Add Emulator to Categories in ppsspp.desktop.in * Vulkan: Declare gl_Position as invariant. See #11583 * readme link * D3D9: Correct viewport offset sign. * D3D11: Correct viewport offset sign handling. * Remove a per-audio-frame allocation in sceAudio * Initialize a bunch of Dialog structs * Font: Correct uninitialized values. * Atrac: Avoid accessing uninitialized stream status. * Atrac: Avoid an uninitialized value. * softgpu: Correct bad munmap() size. * atrac3: Apply the overallocation workaround in a couple more places. Fixes #15788 . * Atrac3+: Allocate some extra bytes for the data buffer to workaround decoder bug. * atrac3: Apply the overallocation workaround in a couple more places. Fixes #15788 . * Warning fix * atrac3: Allocate some extra bytes for the data buffer to workaround decoder bug. * Match FragmentShaderFlags definition with the other PR. * Some more debug names to vulkan objects * UI: Resize after visiting developer settings. * GPU: Make NotifyConfigChanged() calls consistent. * Build: Another attempt to fix libretro. * Fix compiler warnings * Assorted cleanup * Fix for desc struct * Vulkan: Improve tagging of pipelines for debugging purposes * Extend lifetime of ShaderModule objects since we might need to recreate pipelines for different render passes * Fix pipeline lifetime issue, misc. * Correct merging of render passes. However, we have lifetime issues. * Lifetime fixes, cleanups * Fix shader caching. * Also create renderpass variants on demand * Create framebuffer variants on demand * Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType). * Another attempt at fixing libretro, this time the win build failed * GE Debugger: Show imm prim flag detail in disasm. * GPU: Handle more flags on imm prim command. * softgpu: Use vertType prim override for flags. * GPU: Allow usage of texturing in immediate verts. * GPU: Handle immediate prims more accurately. * GE Debugger: Count imm prims as prims. * softgpu: Fix immediate rendering crash. * GPU: Fix crash on overlap copy w/o cur target. * GPU: Fix CanDepalettize() missing false paths. * Build: Add additional zstd file for libretro. * d3d9: Correct decode of 16-bit textures. * Add Lubos to credits list * GE Debugger: Add more missing GE disasm. * softgpu: Implement matrix data wrap-around. * Ge: Read matrix num/data back like hardware. * Build: Include all zstd files in libretro. * GE Debugger: Add conditions to cmd breakpoints. * GE Debugger: Add address breakpoint conditions. * GE Debugger: Allow expressions for goto address. * Remove impossible check * Buildfix, warn fixes while at it * NFS speed effect: Improve framebuffer choice logging, tighten up stride checks. * Correct libretro buildfix (hopefully) * OpenXR - Config for stereo separation added * GE Debugger: Add a table of register metadata. * OpenXR - Stereo matrices fixed * libretro build fix, see #15968 * Remove reference to non-existent file from Common.vcxproj * The Darkstalkers subpixel check should be == 0. Fixes #14953 again * OpenXR - Fixing FOV better * Fix for ARM 32-bit. * Fix case problem in libretro make file, see #15964 * Remove the assembly implementation of 4x4 matrix mul, in favor of intrinsics. * Disable BlueToAlpha mode when logic op is present. Re-enable for Outrun and DiRT. * Vulkan: Update to latest VMA. * Build: Update xxhash to v0.8.1. * Build: Update to zstd v1.5.3. * Build: Split ppsspp_common out for Android bins. * Water effect fix #2: If ForceLowerResolutionForEffects, don't upscale textures participating in small-resolution passes. * Water effect fix #1: Force "Lower resolution for effects" on in Outrun and DiRT 2 * Fix "Lower resolution for effects" in Ratchet & Clank. Bad option for this game though. * Fix the new logic-op-in-shader on OpenGL and D3D11 * OpenXR - Mismatch in stereo and normal uniform fixed * OpenXR - Do not include lens projection in nonVR builds * OpenXR - Split projection matrix for color and depth buffer * Shader unit test fix * Preserve alpha in shader logic op emulation. Include logic op in check for packUnorm4x8. * OpenXR - Mismatched call order fixed * OpenXR - Multipass rendering fixed * OpenXR - Stereo without multiview added * Turn on logic ops in shader when shader bitmasking is used. * Shader bit setup and code generation for logic-ops-in-shader * headless: Fix startup on latest Android versions. * arm64jit: Handle branch/jump in branch delay slots. * x86jit: Refactor and fix jump in branch delay slot. * irjit: Handle branch/jump in branch delay slots. * OpenXR - FBO intialization better * compile fix * OpenXR - Viewport init better * OpenXR - Emulate mouse cursor * OpenXR - Multiview refactor to make it optional * OpenXR - Compile fix * OpenXR - Swapchain acquiring fixed * OpenXR - Flag to easily disable multiview shaders added * OpenXR - Keep using GLES2 headers for now * OpenXR - Dummy integration compile fix * OpenXR - OPENXR ifdef removal * OpenXR - Enable performance mode * Assert removed * OpenXR - Step closer to identify multiview FBO issue * OpenXR - Use OpenGL ES 3 and ensure FBO pair calls * OpenXR - Initialization errors fixed * OpenXR - Multiview in progress * OpenXR - Multiview uniforms working * OpenXR - Disable multiview for now * OpenXR - GL and OXR logging added * OpenXR - Integrate multiview into system * OpenXR - Config for stereoscopic vision added * OpenXR - Unused parameter removed * OpenXR - VR renderer adjustments * OpenXR - Framebuffer multiview used * Sun Sep 04 2022 pousaduarte@gmail.com - Update to version 1.13.1~git20220904: * UI: Only force ASCII messages if they're ASCII. * Fix dialog rendering (PPGe). Fixes #15954 * spaces->tabs * Fix GLES check * Additional cleanup * Add log functions to state structs * Move the computation of simulate-logic shader type earlier * Some more renaming and refactoring, extracted from a future PR * Channel mask refactor * Correct LogicOp API support detection * Minor refactor with pipelines in QueueRunner (makes more information available for easier debugging) * Don't parallelize shader compiles in debug mode, sync in debug allocator kills performance. * interp: Handle jumps in branch delay slots better. * softgpu: Correct texture check in fastpath. * softgpu: Validate alpha test properly for fastpath. * softgpu: Avoid rect fast path with subpixel offset. * Kernel: Use PSPPointer for status objects. * Io: Use PSPPointer instead of struct temps. * Font: Remove needless ReadStruct(). * Ge: Switch from ReadStruct to PSPPointer. * Psmf: Use PSPPointer instead of WriteStruct. * Net: Remove usage of Memory::WriteStruct(). * HLE: Remove misc usage of WriteStruct(). * PPGe: Cleanup memory writes for clarity. * Fix lying comment, log level reduction * Promise: Add SpawnEmpty (couldn't come up with a better name), fix bug with multiple waiters * Switch Vulkan pipelines to use promises for synchronization * VS 2022 warning fix * More buildfixing * Buildfix * Buildfix * Fix silly logic, fixes the shader leak. * Work towards finding the leak * Don't block on shader creation until it's time to create the pipeline. * Use shader module promises as keys in pipeline cache instead of the actual shader modules. * Create shader modules (and compile GLSL) on worker threads * minor sv translation fix * Use promises to hold shader modules, for later asyncification * Remove confusing resetFramebufferRead flag from secondary framebuffer binding * Remove setting "Disable slower framebuffer effects" * Remove unused function * langtool: Run fmt, remove wrong comments * langtool: Add easy command to remove a key. * unitest: Correct wrong free, initialize data. * vertexjit: Update unit test, oops. * Avoid recomputing the shaderblend setup in ComputeFragmentShaderID. * Small steps * Some reordering * More renaming * Plumb the computed pipeline state into ComputeFragmentShaderID. * Some renaming. Store the BlendState/MaskState. * vertexjit: Remove unused ReadUV() cases. * vertexjit: Remove unused ReadPos() cases. * vertexjit: Clamp through float pos during decode. * Replacement: Fix reload of replaced textures. * Replacement: Detect OOM even with replacements. * Vulkan: Prevent saving tex during replace load. * Revert "Merge pull request #15930 from sum2012/kernel-minor" * Fix image format when dumping textures. * Fix texture saving for Vulkan * Display paths with backslashes on Windows. Show texture path when saving. * Shrink VkRenderData from 88 to 64 bytes. * Another buildfix attempt * libretro buildfix * Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. * Remove a per-audio-frame allocation in sceAudio * Shrink the DeferredDrawcall struct, because why not. Assorted cleanup * Shrink the TransitionRequest struct, use TinySet * TinySet bugfix, add "append" * fbtex matching: Shrink the matching struct, use TinySet instead of vector to avoid an allocation. * Stricter checks for negative framebuffer offsets. Fixes #15937 * Merge GetFramebufferCandidates and GetBestCandidateIndex into one function. * Much faster framebuffer matching (no more ToString every time there's more than 1 candidate, etc). * Rename Slow Framebuf effects to Shader Blending (might remove). Reassign readbacks to BlockTransferGPU. * KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect. * Extract the split code to a function * Quicker way to update the through projection matrix with the split framebuffer offset * Cleanup (more to do, though) * Allow signed texture offsets on framebuffers * Offset the draws properly. Now just some texel clamping left to fix * Check X coordinate of through-mode drawcalls to figure out which of the splits to render to * Tweak ForceMax60Fps to work for Killzone * Split the framebuffer in Killzone, with a compatibility flag. * Small tweak in texture matching. Fixes #15927 * Fix sceKernelUnlockMutex timing * Remove "DisableReadbacks" compat flag. MotoGP no longer needs it after BlockTransferAllowCreateFB was added. * Fix race condition in replacement texture loading * Implement shader blending for D3D9 * Clean up mip size calculations * GE Debugger: Improve display list disasm. * Address feedback * Add support for reading depth buffers to the PackFramebufferSync function. * Add another stat, for self-tex * Remove the reinterpret compat flag, now always on * Fix OpenGL bug when framebuffer fetch is available. Add two new stats. * Better framebuffer checks, remove all ways that framebuffer formats can change. * Use better pattern for enum switches * Some Vulkan renderpass load/store optimizations. * Depal: Set scissor tightly around processed area. * UI: Validate UI scissor inside bounds. * GPU: Make Spongebob hack checks more readable. * GPU: Recheck depth/stencil after Spongebob hack. * GPU: Add a way to defer dirty rechecks. * GPU: Fix possible shift truncation. * Update the Spongebob workaround check to work with MX vs ATV: Reflex. See #15907 * riscv: Add a simple unit test. * More spongebob check tweaks, assert fix * Remove irrelevant stencil state checks * Address additional feedback, thanks! * Safer spongebob depth inverse check, includes color check and depth func * Unify the spongebob depth inverse check * riscv: Emit compressed instructions. * riscv: Improve sign reduce/immediate readability. * riscv: Emit ADD/SUB/etc. for ADDW/SUBW/etc. on R32. * riscv: Include an LI helper in the emitter. * Comments and fixes * Block transfer bug fix * OpenGL graphics fixes * Comment fixes * Reinterpret is the proper fix for God of War's shadows. * Fix UV offsets in 16->32 reinterpret. Better, but something is still not quite right. * GL bugfix, log cleanup * Enable reinterprets and create-buffer-on-copy for the Tantalus games * Fix problem matching framebuffers for reinterpret * Logging improvements * Remove some old logging that's not very interesting anymore * Log improvement * When cloning framebuffers for reinterpret, adjust width according to bpp * Framebuffer texture matching: Remove heuristics other than seqCount * Accept color textures as reinterpretable between 32 and 16-bit formats * Implement the stencil/alpha reverse trick for all backends * Fix bug in reinterpret float impl * Comment fix, cleanup * Minor D3D11 refactoring * Fix Katamari * Bugfix, better logging * Quick hack to widen the depal texture if 0x200000 swizzle is needed * More successful swizzle impl. Not perfect * Unsuccessful swizzle implementation * wip * Initial implementation of 32/16-bit color reinterpret blits. * Refactor reinterpret to prepare for 16/32-bit * Prepare for 16/32 reinterpret * Detect need for 16<->32-bit reinterprets * Work in bytes in the framebuffer matching algorithm for block copies, avoid margins * Sun Aug 28 2022 pousaduarte@gmail.com - Update to version 1.13.1~git20220826: * Finish the depal refactoring. * Fix shader compilation error in depth->565 * riscv: Emit CSR manipulation instructions. * riscv: Validate FixupBranch usage better. * riscv: Emit float instructions. * riscv: Emit atomic operations. * riscv: Emit mul/div instructions. * riscv: Emit fence and 64-bit instructions. * riscv: Emit 32-bit 3-op instructions, validate GPR. * riscv: Emit 32-bit load/store and imm ops. * riscv: Emit standard B/U/J type ops. * riscv: Add initial emitter shell. * Remove support for framebuffers changing stride (already unreachable). * Revert minimum stride * Add missing terminator to VR settings array. Better logging. * More comment fixes, cleanups * Comments * Comment updates * Merge the two find FindTransferFramebuffer* methods * Additional renaming * Rename variables to make the two functions match * Split up FindTransferFramebuffers * Tighten the check a bit more * Reorder some parameters. Detect buffers in stride gaps. * Remove unused function decl * Fix smoothed CLUT lookups. Shouldn't go beyond the mask's reach. * Add floating point version of reinterpret shaders * Fix BlueToAlpha together with reinterpret. Add back fake reinterpret for now. * Reimplement texture format reinterpretation * Fix smoothed depal on GLES. Don't enable filtering if not using. * Fix checks for depth texture support, GLES syntax errors * OpenGL: Fix regular depal (shader depal still worked) that broke recently * Remove duplicate uniform queries * Fix wrong width/height values being stored in thin3d textures * Drive-by texture slot management cleanup * OSD: Scale large multiline messages to fit better on screen (like shader logging) * GPU: More consistently clear ptrs on DeviceLost(). * GPU: Correct Draw2D::DeviceRestore(). * GE Debugger: Fix bad read on step at start of VRAM. * GE Debugger: Add separate step based on vsync. * GPU: Centralize SetDisplayFramebuffer(). * GE Debugger: Record 1 flip if no display calls. * Vulkan: Very minor chnages after checking Best Practices with new validation layer * Use Draw2D for depal shaders (except the actual blit, for now) * Break out Draw2D in a class * Switch reinterpret shaders over to the Draw2D framework. * More Draw2D refactoring * Small Draw2D refactor * Rename VirtualFramebuffer->format to fb_format to line up with fb_address and fb_stride (fundamental parameters) * Rename fmt->fb_format * D3D9: Correct viewport offset sign. * D3D11: Correct viewport offset sign handling. * Copy color from overlapping framebuffers on bind, under certain conditions. * Implement smoothed depal for the "old" depal path as well. * Better checks for smoothed depal * Remove SmoothedDepal compat setting, instead detect the ramp directly. * Special case depal lookups for Test Drive's strange usage. * More renaming. Fix shader view for Vulkan * DepalettizeCommon -> TextureShaderCommon. Simplifications. * Convert TextureShaderApplier to a member function in DepalCache. * Simplify depal shader apply code a bit. * Replacement: Read files only within time budget. * Replacement: Be more consistent about base level. * Vulkan: Cleanup minor logging. * Config: Default PSP model to SLIM on all platforms. * Linux: Consider Vulkan if OpenGL init fails. * GLES: Correct preview of mip levels > 0. * GPU: Share CLUTs if no extended CLUT. * Headless: Set softgpu config flag. * Headless: Fix comparison for oversized buffers. * UI: Show return address for exec crashes. * Core: Show exception on misaligned jump. * irjit: Validate alignment in slow memory mode. * irjit: Add constructs for validing mem access. * More D3D9 work on depth textures. Something still missing. * Address more feedback, cleanup scale parameter * Remove leftover resolutionScale depal config parameter * Compatibility check * Use a DX9-compatible method to pass texwidth and height. the effect doesn't work on DX9 yet though. * Fixes for D3D11 * Remove debug code, cleanup * Fix glitch when changing render resolution * Really not sure how we can detect whether a depth deswizzle is needed :( Hopefully temporary flag... * Texture bind channel fix. Still need to figure out a way to decide to swizzle or not. * Fix graphics in Ratchet & Clank. WIP * Fix naming of temp fbos to be in PSP pixels * Allow binding depth as 565 by going through depal. * softgpu: Correct morph weight updates. * softgpu: Flush on transfer to pending tex read. * softgpu: Restrict CLUT to proper size. * GE Debugger: Include extended CLUT in frame dumps. * GPU: Restrict mip CLUT enhancement a bit. * GE Debugger: Correct 16-bit CLUT display. * GPU: Correct depal CLUT texture for 5551/565. * GPU: Purify ConvertViewportAndScissor(). * GPU: Dirty params when converting viewport state. * OpenXR - Refactor display framerate * OpenXR - Resuming renderer fixed, haptics support added * OpenXR - Recenter changes pitch of the 2D screens * OpenXR - Ensure PSP aspect ratio for 2D content * OpenXR - Option to set canvas distance added * OpenXR - 2D mode hack mappable (using screen keycode) * OpenXR - Default config values fixed * OpenXR - Support for multiple projection matrices in the scene * OpenXR - Rotation mirroring fixed in a few games * OpenXR - Remove OPENXR ifdef from UI * OpenXR - Better detecting of 2D menus * OpenXR - Detect 3D content better * OpenXR - Detecting UI mode improved * OpenXR - 72Hz support added * OpenXR - Unused variable removed * OpenXR - HUD is enabled based on gstate * OpenXR - Forgotten file added * OpenXR - Introduce VR tweaks * OpenXR - HUD support added * OpenXR - Estimate world unit scale * OpenXR - Head orientation in some games fixed * OpenXR - Refactor the common math methods * OpenXR - 6DoF head movement support added * OpenXR - Renderer support for axis mirror added * OpenXR - Switching between 2D/VR fixed * OpenXR - VR settings added, better UI detection * OpenXR - Automatically switch between fullscreen/VR * OpenXR - FoV fix for Quest 1 * OpenXR - Basic look around implementation * OpenXR - Enable 6DoF mode when in game * Sun Aug 21 2022 pousaduarte@gmail.com - Update to version 1.13.1~git20220820: * Address feedback to PR #15858 * Restore the clearing optimization, avoiding unnecessary depth copies * Fix deferred-depth for bezier/spline. Move updating of last_frame_depth_render to GPUCommon. * Minor fixes. Everything seems fine now. * Implement copying color to depth on load. However, weird stuff is happening.. * Extract depth copies to CopyToDepthFromOverlappingFramebuffers * Remove the color-to-depth mode * Defer depth copies until depth buffer is actually used. * Texture bind channel fix * More consistent handling of lack of depth texture support. Small log improvement. * Fix bug in framebuffer matching where the wrong format was checked for depth matching. Fixes #15867 * Update ko_KR.ini * Update ko_KR.ini * Update ko_KR.ini * Update ko_KR.ini * Initialize a bunch of Dialog structs * Fix dependency of RISC-V targets on common JIT code * Update ko_KR.ini * Bias towards the most recently written framebuffer * Remove restrictions on VRAM addresses for depth and color * Always attempt to match both depth and color * Pre-reject DXT formats, Misc * Show seqCount in candidate list * Stride fix in matching * Framebuffer matching simplification * Fix the raster depth blit again, which I recently broke. * Typo fix * Silverfall: Add the US game ID too * Add Silverfall to [AtracLoopHack]. At least we're gathering a good list of test cases once we have an idea for a real fix... * Use sequence numbers instead of a tracking array for depth buffers * Revise comments according to feedback * Oops, remove wrong comments * Comment updates * Clean up and comment framebuffer struct better, add bind sequence numbers * After recording a GE dump, open an explorer window pointing at the file * Remove the DX9 namespace, for consistency with the other backends * Vulkan: Restore a minor old forgotten optimization * More removing redundant stuff * Add a newline to "Leaving main" message. * Refactor 2D pipeline creation * Minor cleanup in reinterpret * Rely on refcounting for stencil upload shader modules * thin3d: Properly AddRef and Release shader modules from the pipeline in backends that need it * add bin and elf to picker as they now work * Remove some unused code in FramebufferManagerD3D11.cpp/h * remove storage fileloader and storage folderbrowser * Remove deprecated function (mostly) * Remove some unnecessary bool returns. * Move out the reinterpret stuff to ReinterpretFramebuffer.cpp. Draw2D refactor. * Assorted minor cleanup * Revert "Pause the debugger on TRANSFERSTART (treat that as a prim)" * remove unneeded switch case as un broken cases fall through * GPU: Avoid using depth buffers for blending. * GE Debugger: Fix crash on 0 count prim. * GE Debugger: Correct base accounting in playback. * GPU: Skip fb create upload when clearing. * GE Debugger: Save tab configuration. * GE Debugger: Cleanup duplicate dlist redraws. * GE Debugger: Correct tab updating for right panel. * GE Debugger: Actually allow swapping tabs. * GE Debugger: Add context menu to control tabs. * GE Debugger: Show/hide tabs if empty. * GE Debugger: Track tabs per panel. * Move the display list view to its own column on the right * Add plain Create method to CtrlDisplayListView * Pause the debugger on TRANSFERSTART (treat that as a prim) * Add a second set of tabs to the Windows GE debugger. Also reorder stuff. * oop * oop * oop * Use compat.ini instead * Add atrac hack setting * Net: Cleanup initialization syntax. * GLES: Correct some variable shadowing. * libpng: Correct func pointer type warning. * Global: Cleanup some unreferenced warnings. * Font: Fix bad memory read on invalid font data. * Assign value to version where appropriate * Update * A better way to get property * Merge update into master * Sun Aug 14 2022 pousaduarte@gmail.com - Update to version 1.13.1~git20220813: * Font: Correct uninitialized values. * Atrac: Avoid accessing uninitialized stream status. * Build: Correct ccache keys. * Atrac: Avoid an uninitialized value. * softgpu: Ensure TCs are initialized. * softgpu: Correct bad munmap() size. * x86jit: Avoid an instruction form Valgrind hates. * Headless: Correct bad pointer without gfx context. * Core: Correct shutdown on late init failure. * Try to fix shader compilation error on Adreno reported by Lubos * Debugger: Bump GE dump version to ignore bad flag. * Debugger: Correct GE frame dump VRAM dirty flag. * Debugger: Fix crash on bad request. * GPU: Avoid stencil force pass when writing depth. * GPU: Write stencil fail to alpha is RGB masked. * Fix feature checks * Enable framebuffer depth blits through raster. Fixes games like Jeanne D'Arc on D3D9. * Some enum renaming, move RasterChannel to GPU.h. * Careful with mipmaps on old OpenGL ES. Lost this check in the refactor, made it clearer than before at least. * Texcoord attrs must be called a_texcoord0, this should be fixed. Oh well. * Convert depal shaders to use the ShaderWriter. Add tests for depal shaders. * Cleanup * Warning fix * Remove BGRA color swap in depal for D3D, no longer needed (and breaks Simpsons) * Update zh_CN.ini * Headless: Cleanup unused/leak warnings. * Change indentation to tabs. * UI: Show better warning on MAC reset. * Lang: Fix some mismatched lang keys. * Build: Remove no-format. * Common: Avoid format warning with log timestamp. * GLES: Correct alpha check for depal framebuffers. * Add -Wformat (see issue #15792), no idea if ok. * Oops, this iOS check was still required. * More framebuffer blit fixes. * Improve the NPOT check * Forgot these... * Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff * Remove optimization in BlitUsingRaster that shouldn't have been there (redundant, lacked feature check) * Reimplement bicubic upscaling. * GLES: Correct semantic name for Draw2D. * GPU: Clarify new framebuf stencil upload. * Dialog: Add missing header for MSVC 2017. * GPU: Skip alpha stencil upload when safe. * GPU: Cleanup remnants of GLES-only stencil upload. * Fixed infinite loop and crash which could occur when using "Import from cheat.db". * Sun Aug 07 2022 pousaduarte@gmail.com - Update to version 1.13.1~git20220807: * Fix feature check for wrapping of non-pow-2 textures * Feature detection fix on old GL, more compiler warning fixing * D3D9: Fix a lot of stuff * More cleanup, fixes. * More cleanup * Buildfixes * Lock out shaderDepal from D3D for now, will implement later. * Feature detection fixes * Delete all the duplicate implementations of ApplyTextureFramebuffer * Remove Vulkan2D * Move the depal cache instance ownership to TextureCacheCommon * Compiles on Vulkan, but doesn't yet work. * Switch over D3D9 as well. Buggy, will debug after unification * Works with D3D11, except the depth texturing case * Simplify * Fixy fix * D3D11 prep * Move the TextureShaderApplier out to DepalettizeCommon * Move more stuff to Common * OpenGL: Fix shader depal too. * Move to Common * Mostly works for OpenGL. * Port the OpenGL depal path to thin3d * Fix some compiler warnings * ShaderWriter: Fix GLSL 1.0 output * Fix corrupted colors when using software upscaling with OpenGL. * Use safe_string when printing %s with Memory::GetCharPointer. * Prefer using "%04x" over "%04hx". * State handling reordering in D3D11 and D3D9 backends. * Fix logging warning issue. * Update /lang/ru_RU.ini * Fix include issue. * Updated copyright's year. * Replace the dummy PSN name with Nickname on sceNpInit. * Moving sceNpMatching2-stuff to sceNp2.cpp/h. PS: Register_sceNpMatching2 not being added to HLETables because currently the callback didn't work properly yet and could crash the game. * Implement NP Signin Dialog (faked signin) * Updated NP Library PS: Some of registered modules should probably moved to a separate files (ie. sceNp2.cpp). * Added a FunctionWrapper used by sceNpService * UWP: Fix missing font file causing missing text fields. Fixes #15771 * Delete more unused code * Fixes, state invalidation * Delete unused stuff in all backends * Remove the D3D9 and Vulkan BlitFramebuffer functions * Replace D3D11's BlitFramebuffer with the common one * Convert FramebufferBlit from the GL backend to use thin3d * D3D11: Remove more custom drawing * Fix upscaling in Vulkan. Fixes #15779 * UWP buildfix * Reimplement filtering in DrawActiveTexture * Delete the OpenGL implementation of DrawActiveTexture. * Delete the Vulkan implementation of DrawActiveTexture, fixups to shader gen * Delete the D3D9 impl of DrawActiveTexture * Move to common (todo: merge with above) * Convert the D3D11 DrawActiveTexture to thin3d * Draw2D * Need a separate cap bit for stencil blits to prevent misuse on D3D9 * Cleanup and testfixes * Unit test, comment * Rebind the framebuffer only if we're in the blit path. * Bufferless path for D3D11/Vulkan * Get D3D shaders to build (though not working correctly) * Switch to ShaderWriter. Works in OpenGL * Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation). * Implement DrawUP for D3D11 * GLES: FramebufferBlit: Don't blit if the target is the current framebuffer. * Clean up blit/copy feature detection. Don't need fast GPU flags for these. * Fix crash in shader upscaling. This variable shadowed the one that now lives in Common. * Use BlueToAlpha in more games instead of ReinterpretFramebuffers/ShaderColorBitmask * Fix Vulkan as well * Fix for D3D11 and GL, but not Vulkan for some weird reason * Avoid upscaling textures used for color-to-depth. * Disable texture filtering when drawing color into depth * D3D9 fix * OpenGL fix * D3D11 fix * Implement color-to-depth for Vulkan, start implementing for D3D11 * Add logging for some non-traditional uses of framebuffers. * Fix small breakage in Vulkan texture decoder * Fix Macross glitches. * Vulkan: Don't try to auto-mipmap 3D textures in max quality filter mode * Fixes UWP building issue after Retargeting Solution to a different SDK version. PS: This won't work when selecting the "latest installed version" tho, so a specific version need to be selected when retargeting. * OpenXR - Use a build variant instead of a module * CI: fix tag regex to match also shorter tags like v1.13 * Address feedback * Check for color/Z clashes * Track depth buffers separately from framebuffers to track previous use for copies * Give the mip bias its own uniform flag. * Possible flicker fix for Macross * Revert mistaken change in D3D9 fragment shader gen * Support 3D textures in OpenGL ES, add feature check * Testfix, cleanup * Implement 3D texturing in the OpenGL backend too. Assorted fixes. * Remove some dead code * Implement 3D textures for D3D9 as well * Implement 3D textures for D3D11 * Some safety checks to avoid bad combinations, probably not really needed in practice. * Quick attempt at fixing the Macross glitch * Fix the mip bias to take the texture depth and sampling offset into account. * Implement new discovery of a larger CLUT than we thought, plus non-shared CLUTs for 8-bit indices. * Initial implementation of 3D texturing through equal-size mips (see #6357) * CI: make indentation in tarball.yml consistent * Reporting: Disable when debugger methods used. * GPU: Small scaling variable cleanup. * CI: also upload release source tarball on tag push * Revert debug change * Unify the GLES LoadTextureLevel with the D3D ones. * Prepare to convert the GLES functions too * Share LoadTextureLevel between the two D3D backends. * Cleanup * Part 2 of the above * D3D: Part 1 of breaking out the API stuff * libretro buildfix * UWP buildfix * Simplify CPU upscaling code * Vulkan stencil fixes * Make the D3D9 backend handle stencil state in more similar ways to the others. * More thin3d d3d11 fixes * thin3d: Make writeMask and compareMask dynamic in all backends. D3D11 needs emulation. * thin3d: Remove dual sided stencil, not supported by all backends anyway * Remove some indentation * Use PrepareBuildTexture from the Vulkan backend too * Change from maxLevel to levelsToLoad, for better readability. Cleanup. * Define texture loading plan semantics better, pre-port some from Vulkan * Vulkan: One step closer to using PrepareBuildTexture * Update PrepareBuildTexture * Use PrepareBuildTexture from DX9 backend * Use PrepareBuildTexture from D3D11 backend * Break out the preparation part of BuildTexture from GLES * Additional cleanup * Get the GLES BuildTexture slightly closer * Make the BuildTexture of DX9 and D3D11 backends more similar * Remove indentation, useless code * Remove the DX API access from LoadTextureLevel * Remove fake-mipmap logic from LoadTextureLevel * Minor code simplification * Remove unused parameters to some conversion functions * Remove unused useBGRA parameter * Remove the ReplacedTextureFormat enum * Remove support for 16-bit replacement texture formats * Update ru_RU.ini * readme link * Windows: Add a simple window message to get the base pointer. * Update assets/lang/ru_RU.ini * Update version for 1.13.1 * Update README.md for 1.13.1 * Replacement: Cleanup leak on replacement reload. * Replacement: Clear cache on disable. * irjit: Correct another PurgeTemps case. * irjit: Clarify PurgeTemps, guard a couple ops. * Add confirmation dialog when generating a new Mac address * better pt-pt translation * Fix bug in blue-to-alpha - alpha blending could be on when it shouldn't be. * Reporting: Avoid crash if socket connect fails. * Some zero init, add a null check in TextureReplacer. See #15730 * OpenXR - Move VR folder under Common * OpenXR - Static added to global variables * OpenXR - Version info refactor * OpenXR - Integrate SYSPROP_HAS_FILE_BROWSER * Update version for 1.13 release * README.md update for the 1.13 release * Simple hack to hide the search button in settings on small screens. Needs a better solution. * Build: Update to NDK r21e. * Switch to using the D3D9 state cache in thin3d, to avoid confusion * Clarity improvement in dx state cache stencil func * Remove unnecessary complexity from the D3D9 state cache * Remove bool that was always true in state mapping. * irjit: Correct initialization warning. * irjit: Add test for double clobber in #15713. * Headless: Ignore __testcompare.png in tree. * irjit: Simplify more arithmetic to Movs. * irjit: Add tests for IR passes. * Revert the x-offset bpp fix temporarily. * Add GPU stat for number of depth copies per frame * OpenXR - Code formatting fixed * OpenXR - Disable HW scaler on VR headsets * OpenXR - Default device config added * OpenXR - Hide unsupported menus * OpenXR - VR code formatting fixed * OpenXR - Finalize VR renderer interface * Libretro fix * Windows fixes * Remove unnecessary parameters from MakePixelsTexture * Delete some unused code. * Separate logging for GetPointer/GetPointerWrite * Split GetPointer into two versions, to help with const correctness * OpenXR - Pragma once instead of ifdefs * Allows "merging" render targets that overlap on the Y access. Fixes #7295 (Juiced 2) * OpenXR - Code formatting header removal * OpenXR - Code formatting global variables * OpenXR - Code formatting { * OpenXR - Button repeating implemented * OpenXR - Controller mapping better * irjit: Prevent corruption on purge temps pass. * Add UWP Platform to Issue Templates * (UWP) Update Dummy Manifest * (UWP) Remove Reference to Deleted File. * (UWP) Delete Old Key * (UWP) Building Improvements * Remove redundant file from packages. * Prevent Dummy file from appearing in packages. * Remove a redundant mutex lock in logging. * Main screen: Display .ppdmp filenames on buttons in grid mode * Remove log noise * Mali driver bug workaround for driver 32+. * OpenXR - Hacky mapping to make the games playable * OpenXR - UI controls integrated * OpenXR - UI scale/resolution fixed * OpenXR - Input class added * OpenXR - Rendering UI fixed * OpenXR - Rendering into VR framebuffer works * OpenXR - Dummy rendering working * OpenXR - Initial version of VR renderer added * OpenXR - VR mode initialization added * OpenXR - VR framebuffer class added * OpenXR - Hide options which are not relevant for VR * OpenXR - SDK added * OpenXR - Quest target into Android Studio project added * Sun Jul 17 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220717: * Osk: Allow upper/lower for all keyboards. * Debugger: Update to latest web debugger. * Debugger: Fix SVG content-type for proper display. * Use the recent Clone Wars fix for Star Wars: Force Unleashed too * Update zh_CN.ini * Add a simple compat flag to workaround the Clone Wars issue, #12949 * Apply leoxxx's spacing changes in zh_TW.ini * Update zh_CN.ini * Update zh_CN.ini * Add Zettai Zetsumei Toshi 3 bypass for softlock on character select screen * zh_CN translation: Apply spacing rules according to leoxx. See #15660 * Io: Correct access field on dir listings. * Config: Keep recentIsos lock owned by Config. * langtool: Add command move-key to move a line globally from one section to another. Update deps * Update zh_TW.ini * Update zh_CN.ini * Add files via upload * compat.ini for Mali stencil bug: Add the Suikoden game too * Mali workaround - add compat.ini entry for Mahou Shoujo Nanoha A's Portable. * Config: Cleanup recent on a thread. * Config: Move recent ISOs access to accessors. * Io: Show message if files are outside valid ISO. * irjit: Allow unaligned loads by default. * UI: Reduce IO for texture ini on dev settings. * Improve comment, variable name * Vulkan fragment shaders: Don't opportunistically emit "layout (early_fragment_tests)" * Slightly improve logging of failed block device reads * Fixes Kenka Bancho too. * Tweak the Mali stencil-test workaround to work for Surf's Up. See #15016 * Dynamic update * Mon Jul 11 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220710: * Remove unmotivated check preventing texture ini creation on mobile. (#15647) * Common: add explicit <signal.h> for BSDs after 3ed74350129c * Fix comment * Double quote * Be explicit on the possibility of failure * Use hashtag for RGBA format * Change theme endianess * Update zh_CN.ini (#15657) * Add check that makes PPSSPP work on Xbox through the debugger * Replace Win32 file IO with UWP safe variants and add support for getting drives to UWP build (#15652) * compat.ini: Add R-Type games to IntraVRAMBlockTransferAllowCreateFB. * Compat: Fix backwards check. * UI: Add small deadzone for analog speed. * UI: Clamp analog speed to 0 on opposite value. * Update zh_CN.ini * Update zh_TW.ini * UI: Reset views when analog speed mapped. * UI: Allow cancel from analog speed mapping. * Change comment based on new findings. * UWP: Skip pad name lookup. * UI: Add analog speed limit mapping. * Core: Track names of connected pad devices. * interp: Fix constant typo. * Compat: Add setting to skip compat flags. * Reporting: Log when vertex count truncated. * Updated wiki page key in all translation INIs. * Remove left over * Change hack names and edit comments based on feedback. * Improve the vortex hack to make it safe and slow it down * Test hack that breaks the vortex timer, it's still wrong * Add 30 fps version as an option, doesn't suffer from softlock * oops * Updated text on AdHoc wiki page button. * Updated "Use original port" tip message. * Add Fixed60FPShack for GOW, should work smoother than the ForceMax60FPS. Also more stable than it's CWCheat version, unfortunately because of that, still causes softlock in GOW:GOS vortex stage. * Disable ForceMax60FPS for GOW:GOS to avoid softlock * Show a tip message when enabling "UPnP use original port" option. * Update zh_TW.ini * Update zh_CN.ini * Update th_TH.ini * Hide Hostname progressView when not showing any message to get a better view of the list. * Slightly reduce Hostname progressView's margin as it took too much space. * Added psp.gameplayer.club public Adhoc Server. * Additional game IDs for The Simpsons Game * Apply the mali workaround for The Simpsons Game. * Merge pull request #15629 from Halo-Michael/lang * Add ARM64_NEON compile arch flag * ffmpeg: fix compile bug * Mask some part of public IP in the logs for security reason. * Update zh_CN.ini * More translation key * Add numpad enter as a confirm * Update all * Remove driver version check for Mali stencil/discard bug. See #13833 * Update eng lang * Oops, revert debugging commit * Workaround for strange driver hang on Raspberry Pi 3. * Keep ye olde else case * Avoid including signal.h from CommonFuncs.h * Allow to repeat a "single" button * Sun Jun 19 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220618: * Out of performance paranoia, limit the Mali workaround to known affected games * Work around the Mali stencil discard bug the same way as the Adreno one. * Show detected GPU driver bugs in system info * Increase the difficulty of the GPU driver test * Build: Use cinttypes not inttypes.h. * Update zh_TW.ini * Update zh_CN.ini * Update gamecontrollerdb.txt * Update zh_CN.ini * Update zh_TW.ini * Sun Jun 12 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220612: * Fix-ja_jp.ini * Fix-ja_jp.ini * Small struct layout optimization (stencil is never more than 8 bits, can sneak in next to the load actions) * Rename Vulkan attachment operation variables. Prep for supporting specifying store op. * Inline the CoreParameters accessor (eliminates a function call for each access) * Shaun White Snowboarding: Use compat flag to eliminate a readback per frame * Echochrome lines: Remove UV offsets, avoid reading the destination (much better codegen) * Update zh_CN.ini * Update zh_TW.ini * Update zh_CN.ini * Add centered line drawing for Echochrome. * Take the absolute value when measuring pixel size for line expansion. * Bump gradle again, .gitignore update for VS 2022 * Add TODO to see if we can make better choices of time sources * add additional rescaps * fix indentation * add runFullTrust, broadFileSystemAccess and expandedResources rescaps * Add guard * Update zh_CN.ini * Add search on SDL * Tue Jun 07 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220607: * Update id_ID.ini * Update zh_CN.ini * Small Change * Update zh_TW.ini * Update * Indonesian Translation Update * Fix commending wrong lines * GLES: Fix sw transform flip in skip buffer mode. * Update defaultshaders.ini * Add files via upload * Update upscale_spline36.fsh * Return by copy * Log missing lines on shutdown, update lang files * Mon May 30 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220530: * Fix CpuCore select * Savedata: Allow no key when not using SECURE modes. * Osk: Fix fullscreen check. * UI: Abandon focus movement on returning from pause. * Update zh_CN.ini * Config: Don't save --fullscreen unless changed. * Fix themes as well * Postshader: Avoid treating directories as files. * Update th_TH.ini * Thu May 26 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220525: * Update zh_TW.ini * GPU: Fix skip buffer effects rendering. * GPU: Hook Sol Trigger func to flush texture. * Crash: Recover from unaligned CPU access. * Sun May 22 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220519: * Update pt_BR.ini * Add files via upload * Update zh_CN.ini * Detects connection establishment to AdhocServer by combining select and getpeername to increase accuracy. * We might be missing this in the past. * Fix sceNetAdhocPtpConnect issue on Windows (ie. Tales of VS) due to getpeername on Windows can return a success when the other side haven't Accepted the connection yet. * Fix sceNetAdhocPtpConnect issue on non-Windows (ie. Taiko no Tatsujin Portable DX on Linux) due to select can flags an unconnected socket as writeable & readable on Linux. * Added a note regarding SO_NOSIGPIPE * Avoid compilation warning * Avoid a possibility of fatal signal on non-Windows * Added a note regarding select on Linux. * (libretro) Add option to detect and notifiy frontend of internal frame rate changes (60 <-> 30 <-> 20 fps, etc.) + restore 'Duplicate Frames in 30 Hz Games' core option * Update zh_CN.ini * Limit minimum timeout to [0, 100, 200, ..., 5000] * Fix missing GPU and run tools * For Libretro -DUSE_DISCORD=1 is not added in CMakeLists.txt * Let port offset cover the entire range in steps of 1k * Remove options for network chat, since these only work for standalone * Make MAC address configurable and randomize when not set * Fix update of chat screen position * Disable UPnP by default * Correct indentation and some strings * Expose networking options in libretro core * Display: Ignore lagsync when auto frameskip on. * Sun May 15 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220512: * Unused lang tool * Update Russian translation * Tweak -latomic preconditions in CMakeLists.txt. See comments on 14e9aab96e111 * softgpu: Correct stencil debugging. * softgpu: Fix viewport flag clean/dirty. * Lang: Remove some duplicate lines in German. * uptated German Translation * Sun May 08 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220507: * Enable -latomic on Linux. Fixes build on Raspberry Pi 3b for me. * Update .gitignore * Thu May 05 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220503: * Replacement: Allow texture dump without replace. * Fix shader blending regression (Vulkan) * libkirk: Set Segher Boessenkool's original copyright notice * Fix discrepancy in how the LMODE flag is calculated between VS and FS * Vulkan: Correct size for tex mip level readback. * Vulkan: Fix depth transition barrier. * Remove the rather problematic limit on framebuffer copies * Remove log output * Combine barriers before blits/copies * Convert some barriers to use the new barrier framework. * Add utility class VulkanBarrier * Combine renderpass "pretransitions" for barriers. * Vulkan: Follow sampler best practices with auto max quality. * Bump vulkan headers to SDK 1.3.211 * Bump gradle * Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret. * Oops, gotta update the cached framebuffer format in the other drawing paths too * Finish BlueToAlpha functionality * BlueToAlpha hack to avoid clearing the envmap in split/second :( * Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF. * Move framebufFormat to gstate_c, so we can override it * Dirty more state after reinterpret * Minor cleanups in framebuffer manager * Sun May 01 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220430: * Better default control config for the Retroid handheld Android console * Detect ISO files from file contents if extensions are wrong. * Allow to set InternalScreenRotation per game * Fix lazy loading of metadata * Thu Apr 28 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220427: * Logs unimplemented syscalls as error * Partially fixes SenseMe app (will need HTTP/HTTPS support to be fully working) * Vero4k doesn't report its NEON support - so check for underlying Arm Cortex-A53. * GLES: Reverse alphamask when comparing to CLUT. * Simplify alphasum checking for DXT textures, and fix a regression * Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second * UWP: Fix loading the default theme. * Fix regression with CLUT16 textures. See #12188 * Minor cleanups * Fix mip level bug in Vulkan texture cache. * Make UI a bit more descriptive * Add key bind to hotswap internal screen rotation * Fix checks for the "fake mipmap" situation. * Allow to change atlas per theme * Tue Apr 19 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220418: * UI: Prevent save textures if not replacing. * Vulkan: Save textures using a memory copy. * Replacement: Avoid recheck saving within 5s. * Replacement: Move IO checks to saving thread. * Vulkan: Allow saving const tex levels. * Add the slow comment to one more place * Save textures on background tasks when texture dumping is enabled. * Fix hang when choosing "Skip" in first-time init. Warning fix, comment add. * Disable the compat.ini workaround for Crash Team Racing. Reported by Panderner to not be needed anymore. * Add contributed data about a couple of prototypes to auto-expand memory to 64MB * UWP crashfix - serialize accesses to each loader * Crashfix * Fix typo and optimize locking pattern in Event, make it the same as LimitedWaitable. * Buildfix * Try a clang pragma to avoid overeager auto-vectorization * Buildfixing, correct NEON type usage * SIMD-optimize CheckMask16 / CopyAndSumMask16 * Delete a lot of specialized alpha checking code. * Address feedback * One more NEON optimization * Quick NEON optimization of CheckMask32 * SSE optimize a common case for video * Yet another bugfix * Debug log (remove before merge) * Bugfixes, handle the rest of the cases * Simplification and some cleanup * Remove redundant line * Fix DeIndexTexture * Comments * AND together colors while decoding, and then check against fullAlphaMask. * Fix some NEON code that had bad compile-time checks (and some didn't compile) * ARM32: Remove a lot of non-NEON fallback paths * Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs. * Remove more function defines * Merge separate NEON functions into the normal functions. * Avoid creating a fileloader during shutdown. * Make the number of threads flexible in the threadmanager test. Increase to 9, just because. * Replacement: Avoid potential destructor crash. * ThreadManager: Improve waitable destruction. * Sun Apr 10 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220409: * Fix race condition in LimitedWaitable between Notify and Wait * Fix misuses of cond.wait (should return true when you want to stop waiting!) * OK, this does crash * Time the stress test * Add a scheduling stress test to TestThreadManager.cpp. * Bump Android target version to 12L. * Gradle bump * Net: Ignore SIGPIPE errors on POSIX systems. * Switch: Fix GL build typo. * NetAdhoc: Fix warning. * Switch: Avoid loading Vulkan. * Detect number of cores in build script * Sun Mar 27 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220324: * Increase the timeout when the connection to the AdhocServer is already in progress, avoids cutting off the connection if it took longer than expected but almost completed. * Added a function to get SO_ERROR on a socket. * Updated getLocalIp function to detects local IP better. * Use the most recent posix socket id during blocking simulation, since there is a possibility for the socket id to changes after recreated. * Recreate the socket before attempting to connect again after ECONNREFUSED/ENETUNREACH error, since reusing the socket only works on Windows. * Caches IP-specific Port Offset to avoid recalculating them. * Use reference when possible to avoid copying. * Initialize some socket-related structs to avoid unexpected behavior. (May fix Unknown Source Port issue) * Shouldn't return as soon as possible when a blocking PtpConnect is getting ECONNREFUSED error, since it should be treated as ETIMEDOUT on non-Windows platform * Ignore disconnected error on PtpFlush. Fixes disconnection issue on some games (ie. R-Type Command) * Tue Mar 22 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220320: * Debugger: Keep separate tag dirty for RAM. * Debugger: Fast path write tag lookup. * softgpu: Combine memcpy into single. * Debugger: Improve tag on copies. * softgpu: Avoid unnecessary clearMode checks. * Manual generate Android APK * Sun Mar 20 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220313: * Add a check to the elf loader, preventing a crash on bad module info addr * softgpu: Plug bad leak of bin queue data. * softgpu: Reduce memory usage on 32-bit. * softgpu: Enure aligned bin queues. * softgpu: Avoid some unaligned access on x86_32. * Loaders: Fix 64-bit conversion warnings on 32-bit. * Global: Fix some int/size_t conversion warnings. * Sun Mar 13 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220311: * Add version to game screen * Short circuit the texture replacement code * Don't track small wide-stride block transfers * Sun Mar 06 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220305: * softgpu: Fix build with basic logging. * Windows: Correct root vol handling for UNC paths. * Windows: Create SYSTEM directory early. * Sun Feb 27 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220224: * Show game crashed * GLES: Remove old invalidation code. * GLES: Add asserts for correct blend usage. * GLES: Use EXT not GLES3 for dualsrc blend support. * Debugger: Track unchanged VRAM to avoid copy. * Also delete vulkan_funcs.hpp, oops * Debugger: Improve drawing range in softgpu. * softgpu: Use region as a second scissor. * softgpu: Correct accounting for pixel center. * samplerjit: Correct nearest negative texture clamp. * softgpu: Directly implement rectangle drawing. * softgpu: Prepare dedicated rectangle path. * softgpu: Cleanup some now unused state. * softgpu: Remove incorrect offsetting for X/Y. * softgpu: Use a const for subpixel screenpos factor. * softgpu: Remove offset from screenpos. * Upgrade to Vulkan 1.3 headers (and remove the .hpp files) * Sun Feb 20 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220219: * Gradle upgrade again. Remove some redundant version checks * Allow to set default background color in a theme * Fix live update * Make the untextured uniform buffer the same size. * Disable darkening background, also allow to over saturate up to 2 * Add UI Tint/Saturation settings * samplerjit: Fix non-SSE4 bugs in jit. * samplerjit: Fix non-AVX three-op shift. * Unhide "Cache ISO in RAM" on ARM platform. Not the right block level. We should probably check for available RAM instead. * More fixes for themes * Merge item and button style, remove hightlighed and few other fixes * Fix disabled bg * Allow translation * Add themes to assets * GE Debugger: Highlight changed matrix values. * GE Debugger: Highlight changed state values. * GE Debugger: Track last gstate on stepping. * Debugger: Allow custom draw and generic lists. * Debugger: Avoid scroll on breakpoint add. * Debugger: Cleanup some header pollution. * softgpu: Track dirty vs really dirty per buffer. * softgpu: Allow tri -> rect in transform. * softgpu: Turn more tri strips into rects. * softgpu: Combine tris to rects with ignored z too. * softgpu: Cleanup todos on perspective correctness. * softgpu: Avoid modifying source vertex data. * Adress feedback * remove more prebuilt stuff and huge rapidjson testsuite (unused) * also delete pre-built ffmpeg windows libraries * fix version string generation * fix version number display * try 2: remove pre-built ffmpeg and vulkan libraries * remove pre-built ffmpeg and vulkan libraries * fix mime type of xz tarball * rename action title * rename to tarball.yml * use recursive submodules and checkoutv2 * Forgot pragma, silly me * Allow custom UI themes * CI: add github action to build source release tarball with submodules * Sun Feb 13 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220211: * Keep comment up to date * GE Debugger: Avoid crash on Step Draw with flush. * Debugger: Improve memory search result draw speed. * Debugger: Search scratchpad/ram/vram consistently. * GE Debugger: Correct icon list cleanup on shutdown. * Add missing Config.h include * GE Debugger: Optimize slab lookup. * GE Debugger: Skip overhead without breakpoints. * Generate dockerfile in GHA * Vulkan: Avoid crash on double DeviceLost. * Android: Correct truncation behavior. * GE Debugger: Add filter to skip prim calls. * Sun Feb 06 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220206: * Debugger: Avoid write tag lookup on small alloc. * Debugger: Use detailed meminfo with breakpoints. * GE Debugger: Allow modify/breakpoint on matrix. * GE Debugger: Cleanup right click on state. * GE Debugger: Allow setting secondary values. * GE Debugger: Add breakpoint icon in state. * GE Debugger: Cleanup vertex list redraw. * GE Debugger: Flush downcount when changing lists. * GE Debugger: Reduce playback command noise. * samplerjit: Precalculate DXT1/3/5 offsets. * Delete pauth_tool, useless since pauth keys known * samplerjit: Reduce DXT5 decode code size a bit. * Wed Feb 02 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220201: * samplerjit: Optimize DXT calc using BMI2. * samplerjit: Avoid RCX gymanstics with BMI2. * samplerjit: Decode colors with BMI2. * softjit: Use PEXT to downsample colors. * softjit: Use BMI2 to speed up dst color loads. * softjit: Use BMI to simplify some masking. * x86jit: Use BMI2 for variable shifts. * softgpu: Avoid flush on END. * Remove double flush in GE_CMD_END * GPUCommon: Remove misleading flag FLUSHBEFORE. * HLE: Fix some type convert warnings. * Global: Reduce includes of common headers. * Global: Fix some type conversion warnings. * Common: Remove some unused files. * Core: Skip stats reset while stepping. * Display: Account for stepping time in graphs. * Display: Move core counters/stats to HW file. * Display: Move listeners to separate HW file. * Headless: Improve total test time on Windows. * Headless: Improve test init time. * Debugger: Encourage better meminfo accounting. * Build: Fix Windows unit tests. * Kernel: Adjust timings of LwMutex and EventFlag. * Build: Ignore nullable completeness on Android. * UI: Cleanup some reference warnings. * samplerjit: Fix non-shared CLUT on Linux. * samplerjit: Validate compile in a unit test. * samplerjit: Correct level lookup in nearest. * samplerjit: Fix reg corruption in DXT funcs. * samplerjit: Compile sampler funcs together. * softjit: Add tests for compile success. * Common: Avoid assert hang in CI. * softjit: Fix stencil bug running out of regs. * Build: Enable ccache for GitHub Actions. * Sun Jan 30 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220130: * Build: Run unit tests after build. * Headless: Remove stack corruption workaround. * Headless: Add flag to run failing tests. * unittest: Skip D3D shader compile on non-Windows. * unittest: Correct Windows-specific Path tests. * softgpu: Skip new CLUT if identical. * unittest: Use more consistent output executable. * unittest: Correct failing unit test. * samplerjit: Reduce register waste. * samplerjit: Avoid frac uv transfer to gen regs. * Added another attempt to detect GETIFADDRS availability, which is more common on newer OS * We might be missing the SIOCGIFADDR * Added logs for error within SIOCGIFCONF section. * Change a confusing variable naming * Expose 2xBRZ texture filter option. * Mp3: Delay low level init. * Mp3: Output PCM data using even/odd buffer slot. * Mp3: Allow decode with NULL out pointer. * Mp3: Cleanup AuCtx constructor. * Kernel: Fail threads with invalid priority. * UWP buildfix * Quick hack attempt around build failures * Vulkan: Add support for listing all the available surface formats in system info. * Wed Jan 26 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220126: * Rtc: Fix day of week stack bounds issue. * Savedata: Fix indeterminate timing of field update. * Ge: Fix sceGeBreak error case. * softgpu: Cull no-pos and through s8 pos verts. * softgpu: Fix cull in throughmode. * samplerjit: Reduce transfers in nearest texel calc. * samplerjit: Better vectorize UV linear calc. * samplerjit: Reuse XMM reg for sizes. * softgpu: Fix pixel ID for invalid blend factors. * softjit: Fix src blend factor handling. * GE Debugger: Allow GPU stepping while CPU stepping. * GPU: Allow relative jumps and calls. * GPU: Log and report when region1 is non-zero. * Common: Fix conversion of 4444 to BGRA. * softgpu: Correct clear mode dither. * softgpu: Correct simple rectangles with mipmaps. * samplerjit: Optimize texenv blending a bit. * softgpu: Correct UV rotation for transformed rects. * softgpu: Reuse transform state. * softgpu: Add dirty flags for rasterization state. * softgpu: Use dirty flags for render overlap checks. * softgpu: Fix state race on screen offset. * softgpu: Add a table and initial dirty flags. * Sun Jan 23 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220123: * GE Debugger: Add option to auto flush. * GE Debugger: Cut down on primary buttons. * GE Debugger: Add a menu to the GE debugger window. * samplerjit: Oops, forgot about 64 unpack. * samplerjit: Fix Linux stack corruption. * Build: Fix some minor warnings. * Headless: Return an exit code on test failure. * Common: Print assert failures to stderr. * softgpu: Define constexpr var for older C++. * x86jit: Check CALL dist for safe memory funcs. * samplerjit: Fix some Linux register issues. * Headless: Fix font tests on Linux. * Build: Speed up macOS actions build a bit. * Headless: Update passing tests. * Clean up hardware tasseletion setting * Show the software rendering option on all platforms * softgpu: Avoid flush texturing from stride. * softgpu: Flush framebuf only on change. * softgpu: Remove bin asserts. * softgpu: Use persistent bin task state. * softgpu: Pack vertexdata a bit better. * Reducing MatchingEvents processing delays. Fixes timing issue on a few games (Super Pocket Tennis, Thrillville Off the Rails, Lord of Arcana, Gundam: Senjou No Kizuna Portable, StarWars The Force Unleashed) * Report sceNetAdhocMatchingInit to find out a list of games that use AdhocMatching library to be tested with. * Discard HELLO Events when in the middle of Joining * Updated notifyMatchingHandler comments * Updated MatchingArgs comment * Added comment related to EVENT_HELLO * samplerjit: Reduce prolog/epilog spill. * softjit: Simplify constant writes. * softjit: Centralize some common funcs from sampler. * softjit: Switch to constant pool. * samplerjit: Simplify AVX shift-copies. * UI: Reset ZIP install errors for new ZIPs. * softgpu: Guide more SSE light factor handling. * softgpu: Simplify mask check. * softgpu: Reduce copying during clipping. * Debugger: Fix crash in software renderer. * softgpu: Fix block transfer flush detection. * softgpu: Use SSE in lighting param computation. * softgpu: Precompute some of screen space multiply. * softpu: Premultiply matrix transforms. * softgpu: Precompute state for vertex transform. * softgpu: Correct texsize flush annotation. * softgpu: Heuristic to avoid over-draining. * softgpu: Reduce wasted memory. * softgpu: Precompute lighting parameters. * softgpu: Tune some queue sizes for perf. * softgpu: Expose flush reasons/times in debug stats. * softgpu: Reduce flushing for smaller textures. * softgpu: Flush block xfer only on overlap too. * softgpu: Decorate some stats for flushes. * softgpu: Avoid texture/CLUT flush unless overlap. * softgpu: Flush on offset changes. * softgpu: Track CLUTs as states for binning. * softgpu: Allow binning across prim calls. * softgpu: Fix alpha blend with one/zero. * softgpu: Correct dither matrix lookup. * softgpu: Correct logic op state update. * softgpu: Fix off-by-one size limit on bin queues. * softgpu: Tune queue push/pop to reduce overhead. * Debugger: Avoid flushing meminfo on write lookup. * softgpu: Use cached state for screen offset. * softgpu: Cache CLUT params in sampler state. * softgpu: Move texenv color into sampler state. * softgpu: Move tex size to cached state. * softgpu: Remove z from DrawingCoords. * softgpu: Move c++ tex func to sampler. * softgpu: Use cached sampler state outside jit. * softgpu: Cache line drawing state. * softgpu: Use cached state for clear write mask. * softgpu: Move fixed blend factor to draw pix state. * softgpu: Cache colortest params in draw pix state. * softgpu: Cache alpha/stencil test masks in state. * softgpu: Cache logicOp in draw pixel state. * softgpu: Use cached write mask in draw pixel. * softgpu: Cache minz/maxz in draw pixel state. * softgpu: Cache strides in draw pixel state. * softgpu: Cache fog color draw pixel state. * softgpu: Remove disable of cached pixel state. * softgpu: Avoid double calculating screenpos. * softgpu: Cleanup push/pop atomic handling. * softgpu: Remove old task. * softgpu: Stop storing model pos. * softgpu: Stop storing normal/worldnormal/worldpos. * softgpu: Enqueue batches of prims when binning. * softgpu: Adjust binning thresholds. * softgpu: Avoid thread ordering hazard. * softgpu: Move threading into BinManager. * softgpu: Handle scissor/range in BinManager. * softgpu: Add class to manage and enqueue for bins. * Fix buffer overflow issue on GameMode. * GameMode Scheduler should only runs when there are active Master. * Prevent creating another GameMode Master, since we don't support more than one Master data, and there is no ID related to Master. * Fix an issue where more than one GameMode Scheduler can be scheduled. * Fix an issue where sceNetAdhocGameModeCreateReplica blocked current thread for initial sync while Master data hasn't been created yet. * Debugger: Cache list PC for softgpu tagging. * softgpu: Centralize more prim drawing state. * Updated sceNetAdhocGameModeUpdateReplica (Fix Bomberman Panic Bomber) * Fix invalid argument issue of sceNetAdhocPtpAccept on Bomberman Panic Bomber. * softgpu: Move tex filter setting check to state. * softgpu: Move texture addresses to prim state. * softgpu: Prepare more state per prim call. * softgpu: Use func IDs instead of gstate more. * softgpu: Compute func IDs once per batch of verts. * Avoid confusion for translator * Add files via upload * Vulkan: Avoid crash on bad shader. * softgpu: Output normals to GE debugger. * Use System_GetPropertyInt to report the keyboard layout * UI: Mention SDL in the credits when it's being used alongside Qt * Update pt_BR.ini * softgpu: Correct decal doubling without alpha. * samplerjit: Skip processing alpha if unused. * Add files via upload * samplerjit: Fix alpha for 565 in linear lookup. * Sun Jan 09 2022 pousaduarte@gmail.com - Update to version 1.12.3~git20220109: * softgpu: Skip threading when rendering to self. * softgpu: Draw top left of rectangles first. * GPU: Allow gcc/clang/icc runtime SSE4 usage. * UI: Use comparison screenshot as frame dump icon. * Headless: Fix compare of smaller buffers. * softgpu: Use some SSE4 in triangle interpolation. * softgpu: Limit minX/maxX per line. * softgpu: Avoid rsqrt path for normals. * softgpu: Clarify internal matrix multiply usage. * Remove QWEmct from credits as requested * softgpu: Retain floats in diffuse/specular. * softgpu: Cleanup -NAN and diffuse factor. * softgpu: Correct NAN spotlight exponent/direction. * softgpu: Correct handling of NAN attenuation. * softgpu: More closely match PSP light rounding. * softgpu: Reuse SSE/NEON matrix code. * softgpu: Use common SIMD matrix multiplies. * softgpu: Separate calculation of S/T. * UI: Fix some sign/size comparison warnings. * samplerjit: Fix standard bufw check. * samplerjit: Fix DXT compilation. * samplerjit: Correct linear compile failure. * softgpu: Correct mirroring in fastpath+nearest. * softgpu: Improve usage of SSE for lighting. * softjit: Keep mip S/T calc in SIMD. * softjit: Use RIP access in color/depth off. * softjit: Optimize depth range checks. * softjit: Add describes here too. * samplerjit: Remove old linear nearest paths. * samplerjit: Avoid gather if overread could crash. * samplerjit: Use VPGATHERDD for all types. * samplerjit: Apply gather lookup to all CLUT4. * samplerjit: Use VPGATHERDD for simple CLUT4 loads. * samplerjit: Avoid a couple more copies in AVX. * softgpu: Skip sample lookup if masked. * softgpu: Stop specializing on miplevels. * softgpu: Separately profile verts and lighting. * samplerjit: Use nearest func in fast path too. * softjit: Avoid const temp registers. * sofjit: Correctly poison memory. * softjit: Small bloom optimization. * softjit: Optimize common case bloom blending. * softgpu: Add code for tracking GPU writes. * samplerjit: Decode colors in parallel. * softgpu: Reduce interpolation if not needed. * samplerjit: Implement nearest in jit. * samplerjit: Refactor and reuse constant pool. * samplerjit: Update nearest args, temp disable jit. * softjit: Small optimizations. * samplerjit: Create a separate fetch func. * samplerjit: Refactor sampler ID calculation. * softgpu: Correct off-by-one scissor mask. * softgpu: Cleanup min/max tri range handling. * GPU: Avoid spline crashes on bad data. * softgpu: Skip processing scissored triangles. * samplerjit: Correct wrong bufw at mip levels. * samplerjit: Oops, fix Linux mipmap handling. * PPGe: Disable dither in UI drawing. * softjit: Fix regcache error when clearing. * GPU: Fix bone matrix CALL opt corruption. * Debugger: Correct delayed symbol listbox updates. * samplerjit: Tiny dependency optimizations. * samplerjit: Small AVX optimization to modulate. * softgpu: Skip zero size triangles. * samplerjit: Use SSSE3/SSE4 in linear filtering. * x64jit: Add AVX2-only instructions. * x64jit: Add AVX-only instructions. * x64jit: Add AVX/AVX2 encodings. * samplerjit: Pass funcs as an argument. * samplerjit: Add an alternate profiling method. * samplerjit: Correct level lookup offset. * samplerjit: Minor SSE4 optimizations. * samplerjit: Set stackArgPos_ early. * samplerjit: Move texture function into jit. * samplerjit: Lookup both mip tex values. * samplerjit: Use regcache for linear filtering. * samplerjit: Calculate mip level U/V/offsets. * samplerjit: Take texptr/bufw as arrays. * samplerjit: Handle mipmap width/height in S/T calc. * samplerjit: Move S/T calculation into jit. * samplerjit: Add more bits for S/T, skip multiply. * softgpu: Correct non-SSE T clamp. * softgpu: Reduce mipmap fraction to 4 bits. * softgpu: Correct nearest filtering too. * softgpu: Remove no longer possible report. * softgpu: Make linear filtering more accurate. * samplerjit: Handle unswizzled offsets too. * samplerjit: Calculate texel byte offset as vector. * samplerjit: Blend linear using integers. * samplerjit: Accumulate results in an XMM. * samplerjit: Pass u/v coords as vector. * Sun Dec 26 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211221: * Debugger: Don't try to hash invalid RAM. * Missing stdarg.h include * Vulkan: Update profiler formatting for this. * Make the Vulkan GPU log profiler a runtime developer setting. * Add format string support to Vulkan log-profiler * jit: Use a hash for invalidate/clear all. * Vulkan: Disable profiler by default again. * Sun Dec 19 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211218: * Improve the check for "slow" GPUs (with regards to tex scaling). See #15238 * Path: Check for PSP case insensitively. * Vulkan: Be more restrictive about texture upscaling on "slow" devices. * Thu Dec 16 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211214: * GPU: Remove explicit rect/line depth cull. * Fix text wrapping on PromptScreen by improving the layout * Vulkan: Don't generate mipmaps for huge textures (probably menu backgrounds). Other minor fixes. * Oops, accidentally enabled the logging GPU profiler by default. * Address feedback (preserve alpha-ignoring equality checks) * Minor fixes * Turn video upscaling off. * Optimize the xBRZ texture scaling shaders by 30% on Adreno, less on Mali * Add hardcoded bool toggle for upscaling video, fix log, remove a comment, minor opt * fmt * Add a 2x2 downsampled version of 4xBRZ as 2xBRZ (save memory bandwidth) * Make a copy of tex_4xbrz * Debugger: Debounce updates to disasm text. * Debugger: Never wait inactive on window update. * Debugger: Remove double debug window updates. * Debugger: Debounce list control updates. * Debugger: Fix crash on ill-timed breakpoint update. * Debugger: Debounce redraws using timers. * Bump gradle version again * Fixes when profiler is disabled. * Switch to macros to easily disable the new profiling. Add missing scope * Add a simple GPU profiler to profile individual events, rather than full passes. * Build: Correct AppleClang warning handling. * softjit: Fix a function arg template warning. * softjit: Fix an enum type comparion error. * Build: Avoid compiler flag warning. * Build: Fix some format truncation warnings. * interp: Correct vrndf2 range. * Vulkan: Ignore VMA nullability warnings. * UI: Clarify error message. * Build: Remove old-style android/assets/. * Split the atlas into three, well two, but two different cases for the fonts. * Sun Dec 12 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211211: * softjit: Skip a common case CMP. * softjit: Throw away regs allocated in conditionals. * Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. * Fix an ordering issue causing us to hit some asserts * Vulkan: Document lifetime for desc set pool. * Vulkan: Fix use-after-free on shutdown. * Vulkan: Use new desc sets in Draw and VulkanUtil. * Vulkan: Refactor common desc pool handling. * Vulkan: Avoid desc set error in tests. * samplerjit: Fix DXT1/DXT5 register releasing. * Vulkan is strict about scissor rect, so let's clamp centrally. * FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync. * Fix Tekken 5 Dark Resurrection Multiplayer * ThreadManager: Check for exchange failure. * Updated GetPtpStat * Updated GetPdpStat * Added a note regarding FIONREAD behavior on different platforms. * Discard PDP packets from an IP that can't be resolved to Player's MAC address (simple version) to prevent confusing the game, since the source MAC won't be updated and may contains invalid MAC. Added TODO to handle unresolvable packets properly. * Added another returned error code on PdpCreate * Allow Sending PDP to non-existing MAC address (except invalid mac address). Fixes an issue on NBA Ballers Rebound where players unable to enter Multiplayer Menu again after getting connection issue. * Vulkan: More scissor dimension checks. See #15207 * Vulkan: Correct the max level to generate mipmap calculation * Very minor logging improvement * Detect and specify the max available Vulkan version, up to 1.2. * (libretro) Force enable g_Config.bRenderDuplicateFrames + minor audio buffer tweaks * Use system headers when building with system miniupnpc * ThreadManager: Use separate pool for IO blocking. * ThreadManager: Make TaskType a property of a Task. * Android: Optimize content URI exists check. * softgpu: Correct alpha on add + invalid texfuncs. * softgpu: Match texenv blend texfunc accurately. * softgpu: Make decal tex func more accurate. * softgpu: Correct accuracy on fast path modulate. * softgpu: Correct accuracy of MODULATE texfunc. * (Libretro) Reimplement audio - * Move audio callback to the main thread (fixes the longstanding hang issues when using OpenGL) * 64ms on desktop isn't enough due to excess buffering going on in this emulator. Set default to 128ms instead. * Different audio approach is necessary due to the following: it sets a fixed framerate of 60, then sends either too many or too few audio samples per frame in order to force the frontend to run at the correct speed (.e.g. making the frontend run in slow motion for games that run at 30fps) - this is undesirable for libretro, we want a consistent amount of audio samples per batch. See further comments in libretro.cpp for more information * softgpu: Template away uncommon mip usage. * softgpu: Remove useless switch by UV gen mode. * softgpu: Avoid texlevel check when maxlevel is 0. * softgpu: Keep arguments in vectors for sampling. * Debugger: Reduce meminfo block check hazard. * Debugger: Speed up GetFunctionSize(). * samplerjit: Refactor nearest using reg cache. * Make CRT animation speed configurable * Sun Dec 05 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211204: * Common: Correct shm_open() call. * Psmf: Check for invalid stream/EP map entry counts. * Vulkan: Cleanup pipeline var shadowing. * softjit: Make it an error to unlock a temp. * softjit: Get rid of pointless AGE00 tests. * softjit: Normalize some stencil test patterns. * softjit: Avoid tests for greater than 0. * softjit: Reduce ditherMatrix to 8-bit. * softjit: Oops, correct allocation typo. * Update Tagalog (tg_PH) with new translations by Gamemulatorer. Fixes #15189 * Display the graphics API on logoscreen on more platforms * ext: Update vulkan headers * ext: Allow use system glew with system ffmpeg (macOS) * ext: Support building with system miniUPnPc * cmake: Generate git-version.cpp in the build dir * ext/SPIRV-Cross-build: Update cmake version * softjit: Fix locked stencil reg. * headless: Enable softgpu jit for tests. * softjit: Centralize argument register allocation. * softjit: Fix fog typo causing locking bug. * jit: Lock around changes to the jit pointer. * softjit: Fix PixelFuncID arg on non-Windows x64. * Math3D: Allow construction from NEON vectors. * sofjit: Move common types to reg cache header. * softjit: Rename reg cache so it can be reused. * softjit: Cleanup, add other arch types to regcache. * softjit: Disallow use of register after unlock. * softjit: Simplify regcache usage as purpose only. * samplerjit: Allow disabling linear too, oops. * softjit: Decide stack offset on compile. * softjit: Ensure all regs are released. * softjit: Manage args in the register cache. * softjit: Fix disabled cache. * ThreadManager: Protect against teardown hang/leak. * ThreadManager: Lock notify on global queue add. * ThreadManager: Use atomic task optimistically. * jit: More atomically update pointer. * softjit: Reduce jit pool size a bit. * softjit: Precalculate write mask and dither. * softjit: Log any failed compiles. * softjit: Keep color 16-bit when useful. * softjit: Optimize common blend inverse alpha case. * softjit: Add alpha blending factors. * softjit: Cache zero vector to avoid recreating. * softjit: Prefer easier to refill regs. * softjit: Minor tweak to reg order for XCHG. * softjit: Implement min/max/absdiff blending. * softjit: Use SSE4.1 for fog and dither a bit. * softjit: Fix dithering bug. * softjit: Optimize typical alpha/depth test. * softjit: Apply logic ops. * softjit: Apply color write mask. * softjit: Refactor color conv to dedicated funcs. * softjit: Add config setting to enable/disable. * softjit: Initial color write. * softjit: Add dithering. * softjit: Keep x and y args for dither. * softjit: Depth and stencil testing. * softjit: Optimize some imm sizes. * softjit: Add helpers to get framebuf offsets. * softjit: Add levels of register locking. * softjit: Add color test. * softjit: Add alpha test. * softjit: Initial depthrange, fog. * softjit: Add register cache for softjit. * softjit: Switch to the __vectorcall convention. * softjit: Add stubbed DrawPixel for x64. * PPGe: Prevent special ampersand handling. * Sun Nov 28 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211127: * SDL: Respect inflight frames setting in GL. * softgpu: Correct alpha blend subtract on negative. * softgpu: Use KEEP for any invalid stencil ops. * vertexjit: Optimize 5551 read a bit on x86/x64. * sofgpu: Disable alpha blend for invalid equations. * softgpu: Accurately alpha blend. * softgpu: Use 0 alpha for 565 alpha blending. * softgpu: Correct tagging of vertexjit. * softgpu: Fix stencil DECR on 5551. * softgpu: Use ALWAYS for alpha/depth test in clear. * Add review suggestion. * Destroy backbuffer when shutting down vulkan conext. * Build with correct preprocessor flag * Remove the old allocator visualizer. Keep the setting but hide it. Other feedback * Buildfixes * Fix bugs in deletion. Delete redundant functions. * Switch framebuffers to use VMA for allocation as well * Convert the PushBuffer to use VMA. * Change the PushBuffer API a bit to not take explicit memory types. * Remove the VulkanDeviceAllocator * More integration, use VMA in VulkanTexture * Start integrating VMA * Add VMA to ext/ (AMD's Vulkan Memory Allocator) * Minor refactor * Comment improvement, restore accidental deletion * Add a hidden setting to turn off the shader cache, for shader compile performance work * softgpu: Fix PixelFuncID size. * Vulkan: Add a single background thread for pipeline creation * VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread) * softgpu: Add func to tersely name pixel funcs. * softgpu: Template draw pixel on fb format. * softgpu: Move draw pixel code to separate file. * Vulkan: Fix crash on shutdown after device lost. * softgpu: Clamp and round fog by mantissa bits. * softgpu: Confirm mask doesn't hit stencil REPLACE. * softgpu: Force off alpha blend if uselessly on. * softgpu: Specialize sprite based on pixel func ID. * softgpu: Use pixel func ID to draw pixels. * softgpu: Add func to calculate pixel func ID. * Sun Nov 21 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211120: * Threading: Remove a level of indirection from Promise and Mailbox. * On desktop, change an empty current directory to "/" on startup. * Prevent chat menu touch to fall throght * Fix crash on close content after cached GPU pointer cleanup. * Fix DPAD size calculation * Wed Nov 17 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211115: * UI: Switch to font texture for debug stats. * softgpu: Clear by dividing out subpixel first. * softgpu: Add some comments and cleanup. * softgpu: Tune thread minimums better. * sfotgpu: Use threads to apply clears. * softgpu: Combine sliced rectangles. * softgpu: Split out rectangle path for combining. * softgpu: Fixup range cull for fans and fast path. * softgpu: Fast path rectangles as fans. * softgpu: Use range loops for sprite fast path. * Vulkan: Don't cache vulkan_ with draw context. * GPU: Cleanup some extra pointers in fb managers. * softgpu: Check flat z in fast path. * softgpu: Fast path triangles without textures. * Debugger: Fix crash on stepping/break. * softgpu: Fix leaked range flag on cull. * Sun Nov 14 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211114: * Add shortcut for content_uri and native paths in CleanRecent. Saves 150ms. * Also delay-load the VFPU dialog, just because * Windows debugger: Load the dialogs on demand. * Common: UWP buildfix. * Buildfix * Use the "new" API SetThreadDescription to set thread names on Windows. * Last update (id_ID.ini) * Minor fixes * Update id_ID.ini * Update es_LA.ini * Update zh_CN.ini * Update id_ID.ini * Id * id_ID.ini * Display: Prevent lock around listener calls. * Update *id_ID.ini* and some fixes * On Android 11 and later, let's not fallback to OpenGL at all. * Add tip to Lazy texture caching button. Replaces #14183 * softgpu: Correct scissor for pixel centers. * Headless: Generate a difference highlighting png. * Headless: Move screenshot compare to class. * Headless: Fix ppdmp compare. * Remove ARM Mali blacklisting for 4xBRZ, works now * Remove unused variable * Comment fix, remove assert * Remove support for 16-bit textures from the upscaling shader, to shorten it for benefit of mobile GPUs * Fix edge conditions in 4xXBZR * Speed up the 4xBRZ upscaler with 16x and the MMPX one with 4x by not doing redundant work * Switch texture scaling shaders to a fixed scale model, preparing for the next change. * Remove the copy-compute-shader path * SDL: Read assets from Resources on macOS like on iOS * UI: Support a second texture for just fonts. * Sun Nov 07 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211106: * GLES: Explicitly enable ARB_cull_distance. * Update (id_ID.ini) translation * Update CMakeLists.txt * Update CMakeLists.txt & zh_CN.ini * softgpu: Fix depth cull in softgpu. * softgpu: Clip full weighted Z without truncating. * Remove the vertex cache from the OpenGL backend. * softgpu: Improve accuracy of line drawing. * Headless: Indicate HAS_DISPLAY=0. * GE Debugger: Record until some drawing. * Fix zimtool compilation. * GPU: Sort line verts to correct bias. * New update translation id_ID.ini * Update id_ID.ini * Build: Add missing bundle identifier to macOS builds * Lang: Fix some Indonesian strings. * Lang: Fix CRC value formatting in id_ID and pt_BR. * Lang: Indonesian translation. * GPU: Keep diagonal lines the same width. * Vulkan: Remove wide line handling. * GPU: Expand lines to triangles. * GPU: Correct point width/height. * Vulkan: Disable large points feature. * GPU: Expand points into triangles for higher res. * GPU: Refactor out rectangle expansion. * GPU: Skip cull for lines and points. * vmulq_laneq_f32 not supported on ARM32 * GPU: Cleanup comments on swtranform cull. * Optimize the rotation a bit (limit to VK/D3D11, mat2 instead of mat4) * NEON/SSE-optimize some matrix multiplications used by software transform * Sneak in a gradle bump * Don't forget to check for bufferedRendering before enabling screen rotation in the shader. * GPU: Implement cull behavior in sw transform. * GPU: Rename pos/uv w for clarity. * GPU: Correct w on immediate prim. * GPU: Remove buggy rectangle culling. * D3D11: Fix fog in software transform. * GPU: Correct software transform projection. * GPU: Add fog separately for swtransform verts. * GPU: Restore rotation handling in sw transform. * GPU: Process proj matrix in sw transform. * GPU: Set projection matrix per backend. * GPU: Update viewport params before sw transform. * GPU: Move swtransform flippedY to params. * Sun Oct 31 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211029: * Build: allow using system zstd library * GPU: Fix missing newline in shader. * Make sure to not leave cull distance uninitialized in other paths, if we do write to it in some path. * GLES: Skip assert if no buffer. * Fix analog resize * Replacement: Allow starting a texture at budget. * Replacement: Correct budget on later frames. * Replacement: Add ini setting to disable pop-in. * Replacement: Tweak some thread safety. * Replacement: Ensurely orderly stop on reset. * Replacement: Use a thread to load tex replacements. * Replacement: Avoid rebuild until ready. * Replacement: Avoid clash with X define. * Replacement: Centralize lookup logic. * Replacement: Delay load texture data. * Replacement: Purge old cached decoded textures. * Replacement: Add structure for delayed loading. * Sun Oct 24 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211024: * Debugger: Add reason to cpu.stepping event. * Debugger: Track reason for entering stepping. * Sun Oct 24 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211023: * GPU: Allow range cull on Mali/etc. * Core: Fix unused variable warning. * Update ffmpeg submodule with new linux arm64 build compiled with -pic * GPU: Enable new guardband culling again. * Compat: Ignore DisableRangeCulling with clip/cull. * Path: Avoid adding a double slash from root. * Adhoc: Drop useless pointer check * Update Italian (it_IT) translation, thanks Vecna * macOS: Correct open memstick with space. * UI: Correct filtering message without keyboard. * UI: Add more keyboard sysprop checks. * libretro: Expose bool system properties. * UI: Add a sysprop for if the device has a keyboard. * UI: Add search filtering to settings. * UI: Add a way to disable tabs in tab strips. * UI: Add game settings tabs in a consistent way. * Debugger: Add APIs for GPU stats. * Core: Allow forcing debug statistics collection. * Display: Allow threadsafe listeners. * Debugger: Add initial GPU stats shell. * UI: Add button to show memstick folder. * Windows: Switch to preferred file selection method. * macOS: Allow opening game folder. * Qt: Allow opening game folder. * We don't use primitiveRestart for anything, let's not enable it. It has costs on some hardware. * More best-practices adjustments * Ran the "Vulkan best practices" layer, fixed some stuff. * Tue Oct 19 2021 pousaduarte@gmail.com - Update to version 1.12.3~git20211019: * Update version to 1.12.3 * Update README.md for 1.12.3 * CwCheat: Remove assert on TempAR type codes. Seems weird that we had this. * HLE: Add a few syscall names. * Update Turkish translation (tr_TR), thanks Kishira Darken. * compat.ini: Add Valkyrie Profile: Lenneth to [MpegAvcWarmUp], works around ending crash. * GPU: Blit framebuf depth on create too. * GPU: Refactor framebuffer depth blit for reuse. * GPU: Fix matrix uvgen in software transform. * Windows: Pause from menu shouldn't affect Break. * GLES: Re-enable vertex cache. * Io: Remove setting to disable I/O on thread. * Reporting: Require I/O on thread to be on. * UI: Remove I/O on thread setting. * lang: Cleanup outdated translation key. * Display: Remove frameskip fast-forward mode. * GLES: Support GL_APPLE_clip_distance too. * GPU: Support clip and cull distances separately. * GPU: Move Z/W equal hack to bugs from supports. * GPU: Split clip and cull caps. * iOS: Buildfix bad GLES headers. * D3D11: Support vertex clip/cull planes. * D3D11: Correct clearing samplers. * Vulkan: Cull verts fully outside depth. * UI: Clear textures on Begin. * GLES: Enable/disable clip distance 0. * GLES: Check clip/cull distance support. * Vulkan: Use clip distance only if supported. * Vulkan: Add negative Z clipping. * GPU: Correct depth handling for guardband. * GPU: Verify throughmode for clears/rects. * GPU: Cull rectangles more when depth clamp off. * GPU: Cull rectangles outside valid Z. * Update target Android version from 11 to 12. (API 30 to 31). * Fri Oct 15 2021 pousaduarte@gmail.com - Update to version 1.12.2~git20211013: * Common: Remove MakeUnique.h. * Retraducción * Clear legacy flags * Fix macOS 10.8~10.15 run compatibility * Audio: Correct protection against time skew. * Update version to 1.12.2 * Update README.md for 1.12.2 * Add input device debug info to touchscreen test screen * compat.ini: Add DBZ Tenkaichi Tag Team to [ClearToRam], see issue #14283 * Android: Prioritize PAD devices. * Sun Oct 10 2021 pousaduarte@gmail.com - Update to version 1.12.1~git20211009: * Audio: Protect against time skew. * Audio: Cleanup buffer wrap code. * Update version for 1.12.1 * Update README.md for 1.12.1 * Fri Oct 08 2021 pousaduarte@gmail.com - Update to version 1.12~git20211008: * Consistent sampler modes in UI to make Mali happy * Fix an assortment of minor VK barrier bugs in mostly texture upload * Mip generation: Transition the correct mipmap after blit. * More checks in ParamSFO reader. Only problem left is that the strings are null terminated and can walk off the buffer. * Replaced textures: Don't leak handles on failure, check allocation success * UI: Disable focus movement on game start. * compat.ini: Add Street Riders to [DisableRangeCulling]. * compat.ini: Add NOVA to [DisableRangeCulling]. * Debugger: Keep pop up menus to ContextMenu only. * Debugger: Centralize context menu handling. * UI: Delay between successive mapping in controls. * Draw: Atomically release objects. * Set texture clamp mode for UI drawing. Fixes #14977, hopefully without breaking anything else.. * Add link to Chinese multiplayer wiki page. * Paper over a race condition slightly better. Really need to redo sync here. * Add sanity check to DirectoryFileHandle::Read * Avoid throwing exceptions on bad post shader float parameters * Sanity check string lengths in save state code * Add some basic sanity checks to ParamSFO reader (could add more) * Android: Catch some exceptions * Thu Oct 07 2021 pousaduarte@gmail.com - Update to version 1.12~git20211007: * Debugger: Fix submenu offsets from removing unused. * Vulkan: Handle desc set allocation failure better. * Update AndroidManifest.xml for 1.12 * Fix brackets * Add missing link * More tweaks * Force texture scaling away from the old Auto setting. Some Swedish translation. * KAGE-008's Spanish update * UI: Keep buttons at bottom for savedata. * UI: Add scroll to savedata viewer for long descs. * README: Cleanup duplicates and improve tense. * Windows: Remove UI for auto texture scaling. * Qt: Remove auto texture scaling option. * libretro: Remove auto texture scaling option. * Vulkan: Rework mipmap generation and its image barrier/layout handling. * Fix a couple of typo * Update script to remove old link * Remove the "Auto" texture scale factor. It's a performance trap and not really useful. * Move some old news to history.md * Update script to be more flexible * README.md updates, reorg * Update README.md for 1.12 * Workaround to prevent some games from not retrying to connect on non-Windows system. This will also make a more cross-platform behavior on Windows/Linux/BSD * Minor changes * Remove deprecated jcenter() from build.gradle, replace with mavenCentral() * Hide "What's This"? button on Android TV - no browser anyway * Config: Correct cardboard setting ini load. * Fix bug in deleting of directories in memory stick move. Also improve progress reporting. * Fix small mistake in Choice layout with image * Show text on the Browse button * Minor warning fix * Force off the VSync setting on Android (it wasn't actually used right). * Add 4k support to uwp version on xbox * Display: Avoid skipping flips at 60 FPS. * Update zh_CN.ini * Windows: Update copyright year. * Debugger: Implement goto in disasm for memory view. * Windows: Remove some unused constants. * Windows: Remove some old and outdated files. * An attempt to implement AdhocDiscover (can only Cancel the progress for now) * Sun Oct 03 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20211002: * compat.ini: Add Field Commander to MpegAvcWarmUp. * Fri Oct 01 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20211001: * compat.ini: Add Digimon World Re:Digitize to DisableRangeCulling * softgpu: Allow end coordinate at bounds. * softgpu: Avoid fast path for clamp/wrap cases. * compat.ini: Add Megaman Maverick Hunter X to IntraVRAM... and RequireBlockTransfer. * Set compat.ini option DisableFirstFrameReadback for Socom Fireteam Bravo 3. See #11814 * Add a crude way to blacklist post/texture shaders from certain vendors. * Increase few column width for long translation, make control binding a bit taller * Updated translation * UI: Fix Game ID with insets on left side. * oops need to typecast metasocket * Changing most frequently used global vars to atomic to avoid possible multi-threading issue on friendFinder thread which communicates with AdhocServer in background. PS: There are more global vars being used here (too many actually), so we should find a better approach in the future (ie. using PSPThread instead). * Fix threading issue when exiting PPSSPP due to unjoined AdhocServer thread when AdhocServer failed to bind the socket and exited the thread early. * Prevent some games (ie. DBZ SB2) from repeatedly trying to Disconnect Adhocctl when not connected to AdhocServer. * UI: Remove scroll to top on size change. * UI: Keep scroll position on async load. * UI: Have scroll views directly remember their pos. * UI: Cleanup another header misuse. * UI: Use a proper view for touch control borders. * UI: Allow touch control editor buttons to grow. * Remove .s suffix from vwbn disassembly * UI: Allow cancel mapped to a letter in chat. * Debugger: Add web debugger to build packaging. * Debugger: Add web debugger in assets. * Debugger: Serve local web debugger from assets. * UI: Fix game installer extension check. * UI: Fix measuring width constrained choices. * http: Fix timeout mid request. * Update zh_CN.ini * Update zh_CN.ini * Update zh_CN.ini * Update zh_CN.ini * Instance: add missing include after 1bace5558340 * Sun Sep 26 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210926: * Android: Create default folders in custom path. * UI: Handle newlines after ellipsis. * UI: Cleanup ellipsis more. * UI: Correct text wrap with shy or Unicode spaces. * UI: Add unit tests for text wrapping. * UI: Cleanup more ellipsis cases, refactor. * Fix disassembly of vcst * UI: Cleanup double ellipsis issues. * Windows: Improve rect measurement precision. * UI: Avoid math on calculated value width. * Android: Improve precision on text measure. * Fix disassembly of vmfvc and vmtvc * Fix text wrap edge case * UI: Grow chat button based on text width. * UI: Shrink value for all choice variants. * UI: Shrink value display if needed. * UI: Measure width of choice with values properly. * UI: Asynchronously update size and dates on sort. * UI: Cache save size on save buttons. * UI: Reduce IO in savedata manager sorting. * More ForceMax60FPS tweaks.. * Fix possible race condition issue when sending AdhocMatching data * Temporary fix to avoid a crash that happened due to trying to logs a syscall's argument when being Logged from another thread (AdhocMatchingInput thread) * Fix possible crash issue * Update zh_CN.ini * Don't need these strings anymore. Sorry those who spent time translating them :) * Use the structopt crate to add some nice subcommands to langtool. * Add vscode settings file for langtool (format-on-save, etc). * Split langtool into multiple source file. * Remove unused string and update en_US translation * Use icon rather than string for combo key setup * Also add the strings to the other languages. * Add some strings from th_TH to en_US that were missing in the latter * Update th_TH.ini * Fix Translation to Japanese. * Update zh_CN.ini * Update zh_CN.ini * Update zh_CN.ini * And another one * Fix another couple of translation mistakes from the big fixup * Fix another couple of translation screwups * lang: Remove outdated string * Use langtool to sync missing strings from en_US to all the other language files. * langtool: have functions both to delete and comment out unused lines. * Fix mistakes in en_US.ini * More fixes to langtool * Add permission to shm_open * Do not resolve Pro Adhoc Server address when WLAN is turned off * Update zh_CN.ini * Update zh_CN.ini * Fix dpad analog overlap interaction * Fix race condition issue on AdhocMatching * Add a bunch more missing strings to en_US.ini * Remove outdated string * Add a LOT of missing strings to en_US.ini, auto-found by checking thai against English. Thanks Saramagrean. Part 1/2 * langtool: Automatically comment out lines that are not present in en_US.ini. * Use langtool to automatically add missing MemStick section to lots of language inis. * langtool: Fix clippy warnings * langtool: Ignore comments when syncing lines * Remove unused string * Remove misplaced left-to-right-mark character in ar_AE.ini. * compat.ini ForceMax60Fps updates, thanks Gamemulatorer * Update zh_CN.ini * Compat: Remove duplicate entries. * Don't process the README.md * Handle BOM * Add little langtool for copying missing language ini strings * Remove superfluous line from ja_JP.ini * Fix another translation key string * Fix and add some translation strings * Update th_TH.ini * Add italian translation * Move the What's this? translation to the Memstick section * UI: Add a bit of reporting in failure cases. * UI: Use OK instead of Confirm. * Fix typo * Revert a wrong change to Thai * Add Swedish translation of Memstick screen * Remove (GB) suffix from "Memory Stick size", it's now shown as a unit. * Preparations for translating MemStickScreen and related strings. * Browse -> OK. Align buttons. * More tweaks (spacing) * Style fix * Tweaks * Show the path to access PSP data through USB in the settings screen. * Remove "Change" from "Change Memory Stick Folder". Easier to read. * SEO optimization * Undo debug hack * Add image support to UI::Choice. * Show the explanation below each point. * Implement the new MemStick screen experience (rough cut) * New settings icon for later. Derived from the Material Design one. * Radio button assets * Make a little info icon for later. Not in atlas yet. * Always show Help button on memstick screen * Use the new icons * Shrink the folder icons slightly. Not updating atlas right now. * Fix the look of buttons with images. Use one. * Didn't mean to push this * Move the memstick options higher on the System tab. Other minor tweaks * Show the logo screen before the memstick screen on first boot with scoped storage * Some file move process tweaks * Add Help button to MemstickScreen, pointing at a guide on the website. * MemstickScreen: Shrink the right column to leave more space * HLE: Detect video buffer copies. * TexCache: Avoid hashing videos at all in lazy mode. * TexCache: Prevent lazy cache on video textures. * Fix garbled log output in Xcode terminal * Handle Xcode-specific debug arguments on startup * Remove accidental duplicate file * Keep tracks of the sender/source port on GameMode for further communication, in case it was remapped by router or ISP for some reason. * Shows a warning when detecting a different sender/source port on GameMode. * Minor change to AdhocMatching's senderport type * vertexjit: Correct morph flag alpha check assert. * Replacement: Fix a mistake in ZIM texture loading. * Square shape for combo button. Additional shapes (folder_open, warning) too. * Common: Use 0 as unknown size in GetFileSize(). * Fix atlas tool on linux * Keeping track the source port of received data on AdhocMatching to be used for further communication, in the case the port was re-mapped for some reason. * Show a warning if other players detected to have their port being re-mapped, where communication with them might have an issue. * Don't ignores unknown sender/source port, due to a possibility of port re-mapping done by router or ISP the source port might be different. * Minor change to AdhocMatching logging * Little fix to logo screen * Fri Sep 17 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210917: * Try to workaround git tag fetch failure * Update SDL and try faster commit history fetch * Dialog: Allow termination of access thread at ret. * Silence submodule fetch error screaming * Switch to submodules and fix release version generation * Drop bundled SDL2 for macOS * Dialog: Try to recover on double init, report. * Include macOS name in the zip archive * Fix git describe not fetching version tag * Qt as well * Fix chat here position * Fix jumpy resolve while typing * UI: Oops, remove silly mistake. * Windows: Disable auto-enable chat on Ctrl-C. * UI: When enabling chat, recreate views. * GPU: Default vertex cache to off. * Vulkan: Fix faster alt speed with vsync. * Vulkan: Skip flips, not draw, for vsync unthrottle. * Net: Fix various chat threading hazards. * UI: Decouple new chat display and tracking logic. * UI: Track chat log changes more clearly. * Fix freezing issue during GameMode initialization on some games (ie. Hammerin' Hero) * Unix: Use shm_open in case not /dev/shm/. * Fix Socket error 10014 on Windows when hosting a game of Vulcanus Seek and Destroy * Android: Fix UI background on scoped storage. * UI: Correct enable reporting setting resetting. * Font: Cleanup logging for invalid pointers. * Core: Fix some minor gcc warnings. * headless: Fix some Python warnings. * Allow drag over touch DPAD and avoid analog drag to trigger other button * Vulkan: Only force 32-bit if needed. * Vulkan: Expand 16-bit textures to generate mips. * UI: Update flags more correctly in chat. * UI: Cleanup input box for chat. * UI: Move the chat message box to just a view. * UI: Allow UI keys on emuscreen of focused. * TexCache: Correct confusing red/blue var names. * softgpu: Implement DXT5 in samplerx86. * it_IT translation update, thanks giona. * Add FAT support for macOS with automatic GitHub releases * softgpu: Implement DXT3 in samplerx86. * softgpu: Implement DXT1 decoding in samplerx86. * Update libMoltenVK.dylib to support M1 chips * softgpu: Decode DXT texels directly. * TexCache: Correct DXT5 alpha calculation. * Savedata: Respect IO timing method setting. * Edit psp screen a bit * Fix setting info on multi choice * Android: Avoid crash without ext dir. * Auto-fix case of manually specified paths. * Move FixPathCase to Common/File/Path * Fix weird linker problem * Remove another redundant check, comment fixes * SFO return value fix, oops * Wire inflight frames config setting to render managers. * Optimize away a couple of existence checks * Optimize ReadPSPFile (which should probably be replaced with ReadEntireFile anyway) * Minor gradle upgrade, why not * Optimize MetaFileSystem::ReadEntireFile * Feedback * Log the duration of directory size computations too * Add back the dir listing logging. Add hack to avoid confusing Wipeout :( * Fix the Android recursive size computation and hook it up. * Add metafilesystem hook to add optimized implementations of compute recursive directory size * Add untested function Android_ComputeRecursiveDirectorySize * Fix another GetFileInfo loop (GetFilesInDir now does return sizes) * Io: Assume a write may have happened on resume. * Io: Cache SAVEDATA usage between writes. * Cleanup * Also hide SHADERS directory from games * Optimize install data size calculation. * Optimize savedata size calculation * Cleanup * Hide directories games should not know about from them. * VK mip gen: Could end up with a zero dimension in the lowest mipmap, prevent that. * Vulkan: MSVC 2017 buildfix. * UI: Fix non-Android build error. * Add back the ability to manually specify a folder, on Android 9 and earlier. * Hide the folder selector for memstick directory on Android 9 and earlier. * Draw bullet points as circles for a consistent look regardless of system font. * Minor polish to MemStickScreen * Decouple Vulkan context object destruction from retroarch's ContextDestroy call * softgpu: Clip only on -Z, cull if entirely outside. * softgpu: Correct guardband cull behavior. * Support ScrollView for focus position * Moving Background * Vulkan scissor fix (validation errors). * Fix a couple sort comparators for the savedata screen * Keep track of focus position * Fix wave on different dps * More shortcut fixes * Set a couple flags on the ShortcutIntent * Avoid calling into C++ when creating game shortcuts. Use scoped storage-compatible file chooser when possible. * Valiant attempt to fix queryGameName * Fix error message * ThreadManager cleanups * Implement support for new file chooser on Android 11+. * Expose texture shader core option. * Add some antialiasing * Wave animation * Expose new texture filtering option and fix runtime changing texture upscale mode * Double binding fix * No longer need to specify build tools version, gradle now has a default. * Fix typo (and maybe a bug). * Round the location of single-pixel lines to the nearest pixel. * Bezier/Spline: Fix logical error (must flush buffered data before we modify submitType). * VK: Only autogenerate mipmaps for R8G8B8A8 format textures. * Add info check * Don't show CRC button when we can't get it * softgpu: Prevent pixel gaps when drawing sprites. * libretro: Fix typo. * Reporting: Calculate CRC for PSN games. * Core: Use FileBlockDevice for PBPs without an ISO. * libretro: Fix defaults for texture_scaling_level and inflight_frames * Review style fixes. * Expose inflight frames as core option. * Fix capitalization in core option labels. * Move core initialization code out of retro_load_game method * Do not fast forward by default. * Do not skip SwapBuffer() when skipDrawReason set. * softgpu: Avoid overflow infinite loop. * Fix windows menus for the new tex filtering options. * Add new texture filtering "Auto Max Quality" that tweaks texture filtering for best quality. * Update gradle again. * Fix opacity * Configurable analog head size * Thu Sep 02 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210902: * interp: Prevent crash on bad lv.q or sv.q addr. * Wed Sep 01 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210901: * Don't add VIRTKEY_TOGGLE_FULLSCREE in custom key list on mobile device * Wed Sep 01 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210901: * Remove old ouya joystick prompt pngs from source_assets * UI: Fix save state scrollview height. * Tue Aug 31 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210830: * [Libretro] Small core options cleanup + create a new git-version.cpp instead of appending stuff in it * Reuse translation for combo button as well * Reuse translation * Support virutal button in touch gesture * UI: Fix scrollview focus scroll before relayout. * UI: Fix refocus on no control change. * UI: Restore focus on PSP view as well. * UI: Refocus better on control mapping change. * UI: Fix focus persistence in control mapping. * UI: Handle WRAP_CONTENT in flexible scroll views. * UI: Allow scoll views to have specific height. * UI: Fix grids in ScrollViews and adjust gravity. * Handle vertex shader generation failures better. * Basic mappable gesture * Sun Aug 29 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210829: * Debugger: Avoid infinite loop in disasm API. * KeyMap: Simplify UI updates. * UI: Try to keep button visible while mapping. * UI: Allow binding all typically buttons in a row. * UI: Allow rebinding the analog from PSP view. * UI: Allow mapping buttons from visual PSP display. * UI: Add a screen to visualize PSP controls. * Sun Aug 29 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210829: * Increase the range of cardboard setting sliders to 150%. See #14768 * Hack the math better in cardboard VR mode, to avoid issues with very wide aspect ratios. * Experiment: Remove probably-redundant motionevent class check * No R2 on xbox controllers, remove redundant mapping. * Nonsensical to use the Shield pad map for Shield TV. * Tweak defaults some more (no L2 on xbox pads..). Minor code cleanup. * Common: Reduce some log levels. * Add additional autoconf layout for xbox pads on Android. Revert the normal pad layout. * Move keymap defaults to a separate file. Not exactly a clean separation though. * Android: More strict identification of keyboard events. * Fix bug with device IDs on Android, causing the on-screen back button to be misinterpreted. * Update th_TH.ini * Savedata: Use PARAM.SFO constant properly. * Debugger: Fix breakpoints on delay slots. * gason: Allow tagged pointers. * http: Specify expected mime types in downloads. * http: Add Accept header as a parameter in requests. * Store: Display the error code in case of error downloading the json. * Keyboard/gamepad navigation: Change the formula for scoring neighbors. * Fix navigating the analog stick calibration screen with just a gamepad * Bugfix * Android: Remove the old limitation of 3 registered input devices. * Auto-default Sony Bravia TVs to OpenGL. * Don't default to Vulkan on any 32-bit Android devices. * GameScreen: Minor logic cleanup, remove Calculate CRC button when not needed. * Remove unintended whitespace changes * Rename namespace to PPSSPP_VK, remove indentation * Make touch layout accurate * Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so * Allow no chat button and make quickchat settings disabled when chat is not enabled * Fix action button size * Improve touch control layout screen * Fix some comments and a string * Fix some bad translations (used Google Translate...) * Update translations for Unthrottle to Fast-forward * Rename Unthrottle to Fast-forward globally * Fix string comparison for hiding "Unknown" CPU name * (Libretro) Switch back to earlier base_width/base_height values * Set base_width/base_height to sane dimensions (480x272) * Dialog: Lock volatile when the access thread runs. * Ge: Add measured minimal timing for sceGeDrawSync. * HLE: Ignore flip time in syscall stats. * Dialog: Prevent reschedule on shutdown start. * Clean up a string from translations * Fix append mode through OpenCFile, fixing cheat import on scoped storage. * Dialog: Avoid crash with hacked dialog start. * Store: Make description focusable. * UI: Fix typo in using My Documents for data. * Change ffmpeg include headers priority to avoid collission with system ffmpeg * Fix layout opacity * Bump maxrecent default to 60. Don't show CPU name if we don't have one. * If it's a TV and VIRTKEY_PAUSE is not mapped to a pad control, pause on app switch. * Auto-pause on app switch. Will be made conditional in the next commit. * Cleanup * Improve default pad mapping for Android. Hide irrelevant options on Android TV. * Fix some old bugs where we overrode the device ID to 0 wrongly for back button * Narrow the mapping UI, making it a bit less uncomfortable to use. * Scoped storage: recognize "wt" and "rt" modes. Should fix the cheat.db issue * Cleanup * Fix savestate undo consistency * UI: Fix enable/disable of reporting outside game. * UI: Fix reset of alt speed options in settings. * Update ja_Jp.ini for Reverb volume * Thread: set names on BSDs after 062566b67cb0 * Thread: unbreak on BSDs after 50d9d7ea6f2a * Update ja_JP.ini * Sas: Add option to control reverb volume. * Do not call methods on gpu if it is null. Fixes #13412 (sans video rewind). (#14674) * Scoped storage japanese translation fix * UI: Use a UIState for exceptions. * SaveState: Allow loading save state in exception. * UI: Show a reset button on the crash screen. * Core: Ensure exception is reset on reset. * Fix Translation lang ja_JP.ini(File change) * UI: Avoid reselecting on page up at top. * UI: Refactor to reuse distance logic. * UI: Handle focus on page up/down. * UI: Change focus with home/end. * UI: Track page up/down and home/end as focus moves. * libpng: Patch out 100% opaque optimization. * GPU: Use an empty vertex buf for reinterpret. * Headless: Cleanup extraneous output. * Font: Match stingy selection per test. * Font: Limit max references to fonts. * Font: Delay only on first open of internal font. * Font: Reuse alloc when reopening internal fonts. * Windows: Avoid deprecated functions. * SaveState: Validate size matches measured. * Update th_TH.ini * Undo last save * Allow to disable right analog diagonal * Fix some mis-handling of single file URI. Fixes the Load... button. * Propagate errors from file identification upwards better. * If in legacy storage mode from an earlier install, we still might need to ask for permission. * Only pop up the config save error after main and settings screens. * SaveState: Show a warning if saved after savestate. * SaveState: Use default ZSTD compress level. * SaveState: Ask to include xxhash in frames. * SaveState: Add const for save compression. * Tweaks * Improve translatability of memstick screen * Wording fixes for PPSSPP Gold. * Fix indentation * Buildfix, bugfix * A bunch of small scoped storage UX improvements. * Address feedback * Minor improvements on Android 9/10. Let the user reset to root of storage. * Correct the cutoff for scoped storage. Android 9,10 (API 28,29) shouldn't use it. * Handle an empty path in the game browser. * When changing the PSP folder, move the files in a nice background process, showing progress. * Indentation fix * UI message cleanup * Address feedback * Android 28 was the wrong cutoff for oldschool permissions, 29 is correct. * Delete some left-behind lines * Basic flow of setting up and moving the PSP directory works now. * Get the new setup flow going, with a confirmation dialog etc. * Work on the new experience * Enable scoped storage enforcement on Android 11+. * Allow to invert context dimension for combo button * Add ULES00581 to compat.ini for MTX JIT hack * Use horizontal layout * Retraduciendo el archivo * Savestate load undo * D3D11: Use right state in flush before output. * Add savestate undo UI * cmake: use vendor-neutral GL implementation when available; fallback to legacy GL * Update libretro.cpp * GitHub: Update link for translation contribution. * GitHub: Switch to issue form templates. * Make tap to customize translatable * fix overlinking of OpenGL libraries * sceNetAdhoc: fix format specifier for debug log * Update es_ES.ini * Fix get CPU & CPU Brand * Fix ABI * Fix copied mips bugs * Add in bit length check * temporary riscv define fix * No CPU part for RISC-V * RISC-V CPU detect * Clean up unused event * Fix silly filesystem mounting bug introduced in #14638 * Add a missing java function (fix a little merge mistake) * Trim username on join as well * Detect CwCheat file UTF-8 BOM sequence and ignore it * Accept numpad enter as well * Fix further issues when the memstick dir is the PSP dir * Less "Fd x for content URI" logspam * Scoped storage: Make the home button simply go to the root of the current directory tree. * Two more functions * Convert four more functions to allow for error codes. * Change one storage function to use an error code. * Workaround for the /PSP path thing. Needs testing. * Add and hook up Android_MoveFile * Error code support preparations * Couple of minor things, crashfix on deserialization failure * Add support for FILE_APPEND. * Fix English language mapping after recent i18n additions. * Cleanup the ownership model in MetaFileSystem. * Fix lastModified, speed up Android_FileExists. Add Android_CopyFile (unused) * Use a simpler method that actually works to get free storage space from content URI. * Use a DocumentsContract query for single-file GetFileInfo too. * Greatly speed up content URI file listings by using DocumentContract queries. * log fix * OpenGL: Accept "AMD" as a vendor string for, well, AMD. * Fix for new bug in GetDirListing, oops * Forgot to pass the flags to GetFilesInDir to mimic the old behavior * Fix multiple issues preventing in-game saves from working. * Refactor DirectoryFileSystem::GetDirListing to use GetFilesInDir. * Fix assorted path issues * Remove unnecessary slash conversion * Add quick method to check file existence by content URI. * Fix date/time display for savestates * Add handling for Android content URIs to VFSReadFile, fixing savestate thumbnails. * Assorted directory fixes * Add ability to rename content URI files, fixing saving save states. * Hack around #14628. The icon is distorted but at least no crash. * Buildfix * Make GetFilesInDir fully-featured enough to use in DirectoryFileSystem * Warning fix * Just some variable initialization * better formatting * Need strtoull for 64-bit ulongs. * Add i18n inifile load on libretro startup * Audio settings: Move microphone list to the bottom. * Implement the option for auto audio devices switching for Windows too * BlockTransferAllowCreateFB: Remove Ys Seven (thanks LunaMoo). * Add contents of the assets/lang submodule to the main repo. * Remove lang from gitmodules * Added JIT hack for MTX MotoTrax EU (ported from US) * Add support for the PS5 DualSense controller * Better protection against broken viewports. * Revert "Make sure we don't try to set a negative viewport size." * Sort file listings from Android Content URIs. May help #14607 * Update assets/lang * Fix bug in homebrew store with files with "." in their names. * Unify the Vulkan format definitions / swizzles * Make the "Running Slow" warning a bit more lenient. * Update UI atlas * Customizable touch control (rebased with label) * Turn off all 16-bit formats if B5G6R5 format is not available. * Change the default port offset (#14599) * Revert "Merge pull request #14588 from hrydgard/vk-correct-565-format" * Minor cleanup * PathBrowser: Load all types of path asynchronously. Helps with slow scoped storage listings :/ * Path browser: Move special handling of Windows root directory to GetFilesInDir. * Minor cleanup * UWP buildfix * Reorder servers in GameSettingsScreen.cpp * Change default server in Config.cpp * WASAPI: Survive switching to a mono device. Fixes #14591 * HLSL depal simplification * Address feedback * Android buildfix * Implement basic depth texturing for OpenGL, requires depth clamp for now. * Support depth clamping in OpenGL where available. * Minor tweaks * Change some names, add scroll view for analog settings * Analog calibration: Tweak defaults, add reset buttton * Move the raw input data display to the touchscreen tester. Put the output to the left next to the controls. * Move auto-rotation code to ControlMapper so it can be checked using the new screen * Move the setting up a bit * Replace the "Test Analogs" screen with a new screen that lets you directly try the settings. * Hide the calls to ConvertAnalogStick inside ControlMapper. * Move the internal screen rotation compensation to after value mapping. * Merge __CtrlSetAnalogX/Y into one function. Always called together. * Move the joystick deadzone processing until after all the mapping. * Avoid a name collision from previous commit, to be safe. * Buildfix * Break out EmuScreen's key/axis inputs to ControlMapper.cpp/h * Disable analog stick deduplication (#14590) * Revert removal of Teardown call * Fix black screen on multiple libretro content loads. * Vulkan: Use the mandatory-support RGB565 format and not the opposite one. * Somewhat improved error checking in MemArena. * Avoid crash on early input events. * Refactor and unify analog input settings * Fix some Japanese characters position. * [Libretro] Fix analog left direction for FFT * Re-target to merged upstream changes * Swap submodule repo to fork * Include FakeJit in RISC-V build * UWP: Add a missing bounds check from TextDrawerWin32::DrawStringBitmap * Updated Logs on sceNetAdhocDiscover to find more info on games that use AdhocDiscover. * Update CMakeLists.txt * Minor changes to Wrapped Port detection. * Making sure not to get random port when original port is not zero. * Show the returned error code on sceNetAdhocctlCreate/Connect/Join on Debug Log * Implement thread debug id with the syscall instead of gettid(). * Add some PPSSPP's Japanese keyboard * An attempt at cleaning up the checks in ThreadUtil * Fix some Japanese characters position. * Store the OpenSL error in a global to avoid "No context" * Remove asserts from OpenSL init. Expose error inside audio settings * Try a slightly rougher fix for libretro builds * Possible fix for reported problem with gettid() in libretro * Android: Fix logical CPU count. * Core: Correct relocation error check. * Mailbox: Address feedback * Minor cleanups * Address feedback (except the mailbox refcount) * Make use of hyperthreading for worker threads. Still cap to 16 workers. * typo, unnecessary * Untested libretro fixes, misc * un-revert zstd * atomic include buildfix * Draw: Use constants for texture slots. * Simplifiy WaitableCounter. Fixes it on Mac/ARM. * Unittest buildfixes on mac * Kill the pesky goto * ParallelLoop: A bit smarter straggler handling. * Make the minimum items per thread explicit. Found some bugs, optional arguments are evil. * Autodetect number of threads (remove setting). Fix some bugs. * Postshader: Add uniform for delta since last frame. * Postshader: Let shaders use the previous frame. * Postshader: Correct sampler binding translation. * Draw: Assert sampler bindings are in valid ranges. * Font: Prevent a crash on invalid data. * Additional android buildfix * Android.mk buildfix * Fix memory leak * Change the policy for number of threads * Code cleanup * Remove experimental unused stuff. * Rename setCurrentThreadName to SetCurrentThreadName * Fix a way the threadmanager could get stuck. * Get rid of Executor.cpp/h. * Get rid of the PrioritizedWorkQueue. Instead just queue tasks on the ThreadManager. * GameInfoCache: Don't expose the workqueue. Was unused anyway. * Implement new thread manager, port stuff to it. * Minor cleanup * iOS: don't add a slash to the save path. * Io: Correct CreateFullPath() on Linux. * Io: Correct file open error code. * Default to something for now. * Reducing HLE delays on Adhoc-related syscalls that can be called more than once on a single frame. * Reducing HLE delays on socket-related syscalls since we are using real network which already have it's own overhead. * Minor changes to Adhoc's Verbose Logs returning error code. * Address more feedback * Only log slow file listings * Address more feedback, warning fix * Address a bunch of the feedback * Revert "Turn on scoped storage, for the purposes of testing on this branch." * Cleanup, layout fix on memory stick screen, reorder some settings * Split out AndroidStorage.cpp from android/jni/app-android.cpp, move to Common * Simple attempt at libretro buildfix, comment fix * UWP and Android buildfixes * Add missing files that .gitignore ignored... * Fix File::GetFileInfo for Content URIs. Can now load homebrew. * Add content URI support to LocalFileLoader, remove ContentUriFileLoader * Can now install to but not run homebrew from content uri * Add support for writing to file. Basics work now (having memstick on a content path) * Rewrite CreateFullPath to be agnostic of path format. * wip * Cleanup. Add a way to get very early log output on Android. * Route DirectoryFileSystem::Open to Android storage. * Remove more special casing of content URIs * Remove now-unnecessary special cases in PathBrowser * Remove CreateDirIn, not useful enough to keep. * Android content URI support in Path. * Remove AndroidStorageFileSystem. Not useful. * Delete a couple unused constructors of IOFile * Convert GetFileSize to use Path * Start work on supporting Android Content URIs in the FileUtil API. * Assorted plumbing. * More work on AndroidStorageFileSystem.cpp. Fix current directory getting reset. * Implement a "FileSystem" that wraps Android content storage. So far unused. * Implement file filters for Android in PathBrowser * Start experimenting with DocumentsContract (the thing DocumentFile wraps) * Android: Get things playable on scoped storage. Things work except the built-in file browser. * Turn on scoped storage, for the purposes of testing on this branch. * GPU: Clamp DXT texture memory bound. * Io: Don't confuse kernel object with meta handle. * Io: Allow opening tty0: for output. * Reporting: Move message report interface to Common. * Global: Tether wildcard git ignore rules. * Build: Disable NEON png on non-Android too. * Update .gitlab-ci.yml * Transform labels to lower case for armips * Disable NEON optimizations for libpng17 as a try to fix android texture replacement. * Tools: Correct AtlasTool in release builds. * iOS: Guard extended button selector access. * Debugger: Expose API to reset game. * Debugger: Fix websocket read silly mistake. * Debugger: Add replay execute/flush APIs. * Create GameMode's socket after Master and all Replicas have been created so we will know the largest buffer size. * UI: Correct screenshot paths. * Remove the ability to have multiple search paths for config. * Config: Remove the use of multiple search paths. * Remove createdPath_ from Config.cpp/h, seems pretty useless. * iOS: Correct Path assignment on init. * Rename g_Config.externalDirectory to defaultCurrentDirectory - since that's what it was. * Replay: Properly load RTC time on load file. * Debugger: Add stub API for replay functionality. * Update for translation. * Change github link * Update GameSettingsScreen.cpp * Add CRC32 calc * First pass on using Display KHR, needs proper init flags * Code style fix * Rewording * Little improvement * Improve tilt masking * Auto switch option * Allow tilt input on Z instead of X * Sun May 30 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210527: * Common: Zero initialize readlink buffer. * Fix crash in HTTPServer when processing invalid request * Buildfix (debug mode) * Fix UI import cheat crash. * compat.ini: Disable range culling for Star Wars: Lethal Alliance. See #11551 * UI: Move to ScreenManager for mapping. * UI: Ignore duplicate axis events. * GibHub: Prompt build command in issue template. * Replacement: Validate ZIMs are 8888. * Tools: Make ZimTool able to use ZSTD/specify level. * Replacement: Allow loading ZIMs for replacements. * Sat May 22 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210522: * Add gamecontrollerdb.txt entry for Switch controller. * SDL: Ignore commas in joystick names. * Tue May 18 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210517: * Fix FixPathCase bug when constructing the full path. Swap the append order for / and the path component. * http: Show a more standard browser for remote. * http: Improve navigating up within http:// paths. * http: Fix remote disc browsing. * Update to libpng v1.7.0beta90. * Update zstd to 1.5.0. * Reporting: Cancel requests on shutdown. * Sun May 16 2021 pousaduarte@gmail.com - Update to version 1.11.3~git20210516: * Show Port Offset value too when detecting Data coming from incorrect port. * Fix possible crash issue on blocking socket implementation. * Common: Prevent non_path IOFile usage. * Common: Use Path for GetExeDirectory(). * VFS: Use Path for DirectoryAssetReader. * Common: Use Path for GetFileSize(). * Config: Move data path settings to Paths. * Common: Remove File funcs redundant with Path. * Common: Remove File::GetFilename(). * SaveState: Use Path instead of strings. * UI: Correct fallback to screenshots for icons. * Debugger: Simplify symbol map filename build. * Common: Cleanup some Path constructions. * http: Use Path for the download file. * headless: Correct tests. * Revert gradle update (investigating build server issue) * Fix ZipAssetReader file listing. Fixes post shaders on Android * Fix crash in homebrew store after installing game * Fix path bug installing homebrew * Minor error message improvement * UWP iso-loading fix * GameManager: Base isDir off of zipped file name. * Additional feedback. * Remove unused function GetHostPath from filesystems * Address additional feedback * Address all the easy feedback. Some is left. * Clean up PathBrowser a bit * It never ends... * Use Path for fullName in dirlisting. Bugfixes. * Change Copy, Rename to use Path. Remove std::string version of Exists(). * Change parameter of DeleteDir and friends to Path * Load IniFile from Path * Introduce Path, start using it all over the place. * Update gradle again, for Android Studio 4.2 * CPUDetect: Ensure we never get zero cores. * Common: Fix read of special files with fake size. * FileUtil: check for errors after a fread() in ReadFileToString() * CPUDetect: saturate lower bound of CPU count to 1 * CPUDetect: prevent a divide-by-zero when ParseCPUList() fails * Common: Fix dir listing extension filter. * Common: Correct ReadFileToString() with no size. * UWP: Order includes, avoid file attrs to buildfix. * Update libzip to 1.7.3. * Common: Remove OpenCPPFile(). * CPUDetect: Avoid usage of OpenCPPFile(). * Common: Cleanup AssetReader extension filter. * Common: Update path browser extension handling. * Loaders: Look for PSP/GAME/ not /PSP/GAME/. * Loaders: Avoid fileToStart compare with "". * headless: Avoid empty string compares for mountIso. * Loaders: Remove fileLoader->Extension(). * Loaders: Rename Path() to GetPath(). * Cheats: Avoid OpenCPPFile for cheat import. * Cheats: Parse files using C files for Path compat. * headless: Avoid C++ files for Path support. * Windows: Avoid C++ files for consistency. * Core: Fix virtual disc index reading. * Common: Use C FILE for log file output. * Core: Remove some uses of OpenCPPFile. * Core: Leave delay slot when re-entering jit. * Ctrl: Apply analog limiter to real sticks too. * GPU: Minor cleanup duplicate header/conditions. * GPU: Correctly initialize HW tessellation support. * http: Add progress to missing request. * http: Skip processing response body for void. * Store: Retain cancel/speed on resize or switch. * Store: Show a rough speed indicator. * http: Always use/require progress in requests. * http: Always use non-blocking in http. * http: Remove timeoutless requests. * http: Separate out net buffer code from formatting. * Draw: Centralize funcs in ColorConv. * Draw: Optimize GL A1R5G5B5 conversion. * Common: Move ColorConv to a more appropriate place. * UWP: Ignore _CRT_SECURE_NO_WARNINGS in UI. * Common: Cleanup some logging warnings. * Usb: Stub sceUsbstorBootSetCapacity(). * http: Set a more useful user agent. * GameInfoCache: Don't expose the workqueue. * Common: Capitalize setCurrentThreadName(). * Common: Cleanup some mismatched indentation. * Common: Cleanup HTTPServer indentation. * Common: Get rid of Executor.cpp/h. * Core: Fix vrot cos(2) typo. * Savedata: Eat less cycles in savedata init. * Core: Correct thread dependency in relocations. * Common: FileUtil rename buildfix. * Common: UWP buildfix. * Buildfix, and more renaming while we're at it. * Buildfixes * Delete unused function, rename two more. * Merge GetFileInfo/GetFileDetails into GetFileInfo * Rename a couple of functions. * Move remaining FileUtil functions into the File namespace. * Compat: Remove single/double sincos path. * Windows: Reduce focus juggling on game start. * UI: Change background when dangerous settings on. * UI: Show cheats and plugins on exceptions. * Core: Special case 1/-1 for cosine. * Core: Strip off lower bits of sin/cos results. * Core: Switch to double precision VFPU sin/cos. * Core: Apply custom narrowing before VFPU sin/cos. * Core: Cleanup VFPU float bit handling. * unittest: Fix jit harness init. * Update assets/lang * Debugger: Try harder to validate UTF-8. * MemMap: Map 0xC0000000 into virtual memory. * MemMap: Cleanup memory mirror pointers. * Update version to 1.11.3 * GPU: Dirty texparams when cropping a self-copy. * Only consider the actual PPGe texture in kernel ram reliable. * Fri Apr 23 2021 Luigi Baldoni <aloisio@gmx.com> - Update to version 1.11.2~git20210422: * Debugger: Show string in status bar for li, etc. * Io: Prevent error on bad handle for DevType(). * Debugger: Prompt with previous search string. * Debugger: Mark ELF sections as suballocations. * Core: Correct ValidSize outside scratchpad. * Replacing the inconvenient prefix string for indentation with indent number. * Fix missing hex string at the last row when data size is a multiple of 16 bytes * GE Debugger: Keep dump generation deterministic. * Buildfixes * Update our miniupnp fork to upstream. * Reporting: Avoid generated homebrew IDs. * Oops * Don't even bother checking touch.id == 0 for closing popup windows. It's fine to close with any touch. * Remove now-redundant back button * Change pointer ID allocation on iOS. Fixes part of #14240 * UI: Load BG image properly on init. * Io: Calculate memory stick size on a thread. * Module: Speed up module unload. * Core: Init memory on multiple threads. * Module: Process relocations on threads. * Module: Process relocations using unchecked reads. * GE Debugger: Thread dedupe pushbuf lookups. * Common: Set a min size on threadpool work chunks. * Common: Allow threadpool size up to 16. * Umd: Fix thread wakeup. * Fix defaults for io threading and vertex cache * Remove duplicate from hardcoded settings * whitespace nit * Reorder core options * Further core options and defaults * Add defaults and core options * SaveState: Use memmove for the copy. * SaveState: Use SIMD to copy RAM faster. * SaveState: Copy RAM using threads. * Fix libretro build * jit: Increase the cycle cost of div.s. * jit: Increase the cycle cost of VFPU ops. * jit: Count delay slot cycles separately. * An attempt to detects getifaddrs availability properly * Changing warning log to info log on GetIPList * Added additional includes for GetIPList to work on Linux/Unix * Added warning log for testing purpose on GetIPList function * Rtc: Cleanup and simplify date struct handling. * Build: Recompress pngs using better zlib. * UI: Compress atlas metadata. * UI: Compress zim files with zstd. * UI: Load/save compressed atlas metadata. * UI: Add zstd to ZIM compression handling. * GE Debugger: Use zstd for save states. * SaveState: Switch to zstd. * Build: Add libzstd to build. * Enable save encryption to bring libreto in line with standalone configuration defaults. * UI: Remove extern global for UI message. * GPU: Stop using Off as terminator for postshaders. * Reporting: Add more info to libstubend error. * Module: Add a missing error return case. * Kernel: Define most reported missing kernel funcs. * GLES: Always use fragColor0 on GL 3.0+. * Reporting: Log more data about sceIoChStat(). * GPU: Avoid switch on uint. * Shaders: Set vert shaders to mediump by default. * GLES: Handle GLSL 1.30/1.40 better. * Dialog: Reset last status more consistently. * Dialog: Lock volatile on thread. * Dialog: Use a thread to init dialogs too. * Utility: Add a helper for the active dialog. * Utility: Update logging to new syntax for dialogs. * Utility: Move dialog classes to heap. * Debugger: Add APIs to set/list/search mem tags. * UI: Show more detailed load error messages. * GPU: Preconvert light vecs to Vec3f. * Disable spvremapper from glslang by default, we don't use it. * UI: Oops, prioritize PIC1, not PIC0. * Debugger: Provide memory mapping ranges. * Debugger: Return detail for breakpoints in macros. * Debugger: Add simple API to control tagging detail. * Update glslang_UWP.vcxproj * Forgot to return on invalid address, and moving reusable code out of HLE to prevent generating confusing logs * Ooops wrong way to do random range * minor fix * Randomize signal strength between 1%~99% since games like MGS:PW are using signal strength to determine the strength of the recruit * Fix stuck issue when scanning AP for Recruit on MGS:PW * UI: Don't include symbols in recent games anim. * UI: Centralize BG pic choosing a bit. * UI: Add BG animation for recent games. * UI: Flip Y analog direction based on config. * Windows: Normalize left and right analog stick. * UI: Log analog movement at a lower treshold. * Debugger: Maintain atrac data source info. * Debugger: Note atrac/sas reads from memory more. * Debugger: Tag savedata load and info. * Debugger: Memcheck and tag loading savedata to RAM. * Deflt: Correct available input length. * Deflt: Trigger memchecks / log source of writes. * Deflt: Cleanup and refactor to one common func. * Debugger: Note writes from debugger. * Dmac: Invalidate source data before copy. * Debugger: Include src tag in Memory::Memcpy. * Debugger: Include framebuffer in framebuf pack tag. * Debugger: Note GPU block transfer src as well. * Debugger: Include source tag in memcpys. * Debugger: Include filename in file IO memory tags. * Debugger: Make memory tags longer. * Debugger: Add menu to jump to begin/end of alloc. * Fix crashing issue when leaving a multiplayer game room #14337 * revert filename prefix for reducehashranges * Prevent flooding the logs with repeated attempts of Adding/Removing port mapping due to failure in the middle of UPnP initialization, as it needs to be reinitialized. * Attempts to reconnect to Adhoc Server only when Creating/Joining/Connecting to a group or Scanning for groups, instead of on 2 seconds interval. * Shows PSP error code as hex to be easier to find * Show the socket error code when failed to connect to adhoc server * Use a function to check for loopback address * UI: Fix savedata screen sorting. * fix: cleaned up my comment * feat: reduceHash configuration * Set ent_top/ent_size/stub_top/stub_size of SceModule * yet another gradle update * Fix Window size issue #14317 * PPGe: Remove ENTR hack, fix string concat. * Savedata: Always write the file list to the SFO. * Windows: Avoid segfault if memory except on boot. * Core: Limit scan for functions to end of valid RAM. * Core: Unbreak ValidSize limits. * PPGe: Interpret invalid UTF-8 sequences better. * PPGe: Apply overlong handling to wrapped text too. * Add missing rule in .gitlab-ci.yml * (Libretro/Gitlab) Add osx x64 target * Update .gitlab-ci.yml * Update lang submodule * Add a setting for choosing background animation. * Build: Simplify by always including FakeCPUDetect. * Build: Remove "fake" vertex decoder jit. * Add missing -DWITH_UPNP in a couple more places. * Windows: Enable UPNP again after 14304 * UTF-8 PPGe: Remove overlong encodings. Work around a weird issue in Ratchet & Clank. See issue #14297 * Fix build with USE_MINIUPNPC=OFF * VertexDecoderFake: Fix build * CMake: Fix build when ENABLE_SPVREMAPPER=OFF * CMake: Don't include X11 headers when compiling for FBDEV * Disable range culling in Asphalt 2. See #14299 * Module: Correctly handle modules with -1 entry. * Debugger: Ignore small memory info by default. * Fix performance regression from failing to optimize the new mem tracker.. * GitHub: Add multiple issue templates w/checklists. * Fix character's Side Space ltn0.pgf/ltn4.pgf * Android: Fix "Load..." to allow all file types. Change backported from PR #14232 * Fix FlatOut Head On multiplayer. * Debugger: Fix save state compat for slab info. * Debugger: Add header for strlen. * Further std::string removal * Remove static assert on struct size, we don't really care that much. * Buildfix * Remove std::string from memblockinfo * Additional indentation fix (forgot to save file) * Indentation fixes * Android: Add a dependency on the AndroidX appcompat library. * Fix Teenage Mutant Ninja Turtles Multiplayer. Alternatively, changing NET_SHUTDOWN_DELAY_US to 501000 usec or more will also works. * Warning fix, memleak fix * SDL: Fix use after free on shutdown * Only do the workaround in #14273 in Vulkan. May help #14280 * Some homebrew like Triple Triad tries to load flash0:/kd/pspnet*.prx. We better just lie. * Couple warning fixes. * GLSL vulkan: Specify the precision of function arguments. Works around #14269 * Work around crash in texture replacement. See #14252 * PipelineManagerVulkan: Log shader source when pipeline creation fails. * Fix bug in vertex shader generator. See #14260. * Switch: Workaround several missing toolchain defs. * Switch: Disable multi-instance tracking. * Allow polygon upscaling in Boku no Natsuyasumi series via IntraVRAMBlockTransferAllowCreateFB hack. * Update assets/lang * UI: Add search to savedata manager. * UI: Fix L/R tab navigation. * Build: Remove force include CMake line. * GPU: Ignore replacements for framebufs. * Build: More consistently avoid _M_ defines. * Build: Remove old ARM define. * Build: Remove MIPS define. * Build: Remove IOS define. * Build: Explicitly include ppsspp_config.h. * SaveState: Automatically fix duplicate event types. * Fix double space again * Fix typo * Module: Avoid logging bad pointers when no nids. * PPGe: Reload atlas on load state if different. * Only remove tha CMake line for Apple. * iOS: Try a different JIT detection method, thanks Halo-Michael. * Time to remove this line in CMakeLists.txt now. * Tweak to jit detection based on feedback to #14201 * Windows: Stop using 1234 default unused paths. * UI: Wrap long info items. * Core: Handle Disc ID a bit more consistently. * Core: Use homebrew disc IDs/titles when available. * Removing TCPNoDelay option from Networking Settings and always enable it to improve response time. * Replacing the deprecated gethostbyname function with getaddrinfo function to prevent getting deprecated warnings * Making sure there are no warnings related to deprecated inet_ntoa function * Mpeg: Allow full use of the buffer queue. * GPU: Dirty texparams when cropping a self-copy. * Windows: Add missing header for menu. * GPU: Normalize zero consistently in hw transform. * GE Debugger: Correct powered diffuse display. * GPU: Normalize 0 to 1 always in software lighting. * GPU: Look up replaced filtering options. * Replacement: Read in texture filtering overrides. * Windows: Setting for standard/debugger shortcuts. * Dialog: Use dialog type header more consistently. * Comment cleanup, allow file picker as far back as KitKat. * Address feedback, remove probably-misleading comment (had already fixed it). * Dialog: Respect accessThread priority on shutdown. * Screenshot: Provide common params properly. * HLE: Correct helper thread arg handling. * Dialog: Track type id on dialog class. * Savedata: Eat cycles in savedata shutdown start. * Fix exit "race", add persistable permissions * Android: Implement opening ISOs through a file picker and Storage Access Framework * Add a Storage tab to System Information. * mipsjit: Correct inheritance/compilation. * jit: Avoid using mips identifier directly. * UI: Require buttons always have text. * UI: Expose lists better in descriptions. * UI: Omit invisible views from viewgroup describe. * UI: Lock only if mutating views. * UI: Add text description for all views. * UI: Rename Describe() method for logging. * sceKernelFindModuleByName:Add delay for Fake module * Umd: Disallow waiting on status that can't occur. * Umd: Wake waiting threads on eject/insert. * Umd: Delay common wait drive stat funcs. - Disabled tests as per upstream suggestion - Exclude s390x from build as big endian architecture * Fri Feb 26 2021 pousaduarte@gmail.com - Update to version 1.11.2~git20210224: * SaveState: Fix Snappy build error on older clang. * GPU: Revert stencil discard workaround change. * GPU: Update SPIRV-Cross to 2021-01-15. * Fix Size & Position jpn0.pgf/ltn0.pgf/ltn2.pgf/ltn4.pgf/ltn6.pgf * SaveState: Avoid some warnings in Snappy. * SaveState: Update to Snappy 453942b. * GPU: Use stencil discard workaround w/o depth test. * Mpeg: Correct stream buffer wrapping, cleanup. * (libretro) Fix static makefile * Don't even try the hack on iOS 14.4 * Add iOS version detection, turn off JIT on bootup if >= 14.3. * UnitTest: call InitVFPUSinCos() to set vfpu_* function pointers * CMake: enable testing * CMake: add TestShaderGenerators source back to unitTest * Mpeg: Set low latency flag for video decode. * SaveState: Delay restart handling until end frame. * SaveState: Start new events at end properly. * glslang: Update to latest glslang. * Making sure the port is bound to an interface when using bind with INADDR_ANY. Seems to fix #14130 * Minor changes. * Minor AdhocMatching changes. * Making sure src_addr and addrlen args of recvfrom is being set correctly upon use. * Shows a warning on Screen when detecting AdhocMatching data coming from an incorrect port, progressing any further may ended with connection issue. Players will need to wait until the port detected correctly before progressing any further (may takes a few more seconds) * Shows a warning log when bound port is shifted to negative port (may cause port issue when wrapped to 1024 or lower on android) * Hook open season * TexCache: Check for videos rendered as slices. * Module: Block a few network modules already HLE'd. * Debugger: Keep char *s for memchecks. * Mpeg: Assume 29.97 if bad frame rate returned. * Mpeg: Prevent sending flush packets to decode. * Atrac: Update to latest FFmpeg packet pump. * Update the discord-rpc submodule to the latest version. * iOS: Undo app ID change. * iOS: Fix multitouch tracking. * GPU: Rotate screenshot framebuffer per display. * Only consider the actual PPGe texture in kernel ram reliable. * SDL: Init profiler on SDL/Qt. * GPU: Correct more vertex/index endian swaps. * HLE: Swap endian in matrix multiply replacement. * Global: Correct many endian types and casts. * UWP: Disable SDLChecks, which error on deprecated. * Windows: Stop ignoring all deprecated warnings. * Windows: Run OSK/chat input box asynchronously. * Mpeg: Remove request_probe usage in newer FFmpeg. * Mpeg: Update videos to latest FFmpeg packet pump. * Mpeg: Clarify fallback problems. * Mpeg: Correct stream detection in newer FFmpeg. * Audiocodec: Update to latest FFmpeg packet pump. * Mpeg: Use direct pts value checks in newer FFmpeg. * AVI: Update to latest FFmpeg packet pump. * AVI: Avoid deprecated ffmpeg context usage. * Mpeg: Remove deprecated codec register calls. * libretro: Always use CONTINUOUS flipping. * TestVertexJit: fmodf() definition requires math.h * UnitTest: test that the function pointer for vfpu_sincos() is non-null * Fix "Enable chat" in Linux Qt build * Windows: Reduce camera state locks. * UI: Divert background only on change. * UI: Correct tweens repeatedly finishing. * UI: Use atomic to check for events. * UI: Avoid PathBrowser lock with no remote files. * Draw: Auto ref/release bound textures/samplers. * Windows: Enable chat when selecting Enable Chat. * Io: Allow early cancel of CRC calculation. * Reporting: Block for CRC calc on shutdown. * UI: Show CRC on game screen if calculated. * GPU: Prevent memory fault when no framebuf yet. * UI: Add button to show CRC on feedback screen. * Dialog: Unlock volatile without Update call. * CMake: use vendor GL implementations by setting CMP0072 to NEW * GPU: Remove clear framebuf on first use speedhack. * UI: Consider chat for visible UI. * UI: Make chatButton_ a member of EmuScreen. * UI: Avoid audio locks where possible. * Turn funcreplacments on in libretro builds. See #12322 * Debugger: Prevent thread errors on mem alloc info. * Debugger: Correct crash with no alloc tag. * Debugger: Correct merging fragmented blocks. * Debugger: Update status on scroll down. * Debugger: Fix memory lookup in mirrors/uncached. * Debugger: Show memory tag info in status bar. * Debugger: Extend tag background on select too. * Debugger: Highlight memory ranges in memory view. * Debugger: Reorganize memory view painting. * Debugger: Ignore unmarked mem block info in find. * Debugger: Add initial UI for mem info type. * Debugger: Correct search by empty string. * Debugger: Optimize linear marking. * Debugger: Track slabs by end, not size. * Debugger: Defer memory map calculations. * Debugger: Speed up lookup using an index. * GPU: Cleanup comment. * Debugger: Track ticks of allocation/write/etc. * Debugger: Track texture usage too. * Debugger: Mark framebuffers as VRAM allocations. * Debugger: Notate Memcpys directly as well. * Debugger: Notate memset tags directly. * Debugger: Track memory allocations and writes. * Debugger: Specifically tag relocations. * Debugger: Notate more cases of memory clears. * Debugger: Log access reason on memory breakpoint. * Debugger: Add more metadata for memory usage. * Mpeg: Correct incorrect upload size return. * Rename the FuncReplacements setting to effectively reset it for everyone. * libretro: Always use SKIP_FLIP. * Display: Change default unthrottle mode on non-Win. * Dialog: Clear volatile memory on unlock. * Usb: Implement state waits. * Experimenally turn off the debug symbols again - see if this helps the buildbot * Debugger: Cleanup swprintf() usage. * GPU: Correct some field shadowing. * Windows: Prevent some virtual dtor warnings. * Global: Cleanup class init order warnings. * Windows: Correct some variable init warnings. * D3D11: Fail if uniform buffer create fails. * Global: Remove some unused variables. * Windows: Remove unused file. * Thread: Log error waiting already waiting thread. * Thread: Log error when delaying a waiting thread. * Audio: Avoid left shift when resampling. * SaveState: Load misaligned wide strings properly. * SaveState: Make event restoring more obvious. * Mon Feb 15 2021 pousaduarte@gmail.com - Update to version 1.11.2~git20210215: * Headless: Add test paths for CMake on Windows. * CMake: Correct headless build on Windows. * CMake: Correct build on Windows. * Update gradle. Enable automatic debug symbol upload for release builds. * libretro: Remove "Unsafe FuncReplacements" option. See #12322 * Fix many symbols on jpn0.pgf. * Windows: Fix some const type conversion warnings. * Windows: Make InputDevice destructor virtual. * GPU: Fix a type comparison warning. * Windows: Use CommonWindows more consistently. * Windows: Fix some format warnings. * Windows: Add some missing override specifiers. * Common: Include unistd.h before ctime on mingw. * Common: Fix AVX check on mingw/lower targets. * Build: Use ws2_32 and iphlpapi names directly. * Windows: Fix improper case or missing includes. * Debugger: Invalidate when using memory APIs. * Debugger: Option to skip mem hacks in memory dump. * mipsjit: Fix basic compilation. * Jit: Fix compilation of FakeJit. * Savedata: Show save icons with proper aspect ratio. * Savedata: Show corrupted data more clearly. * PPGe: Decimate early if kernel alloc fails. * GPU: Force texture invalidation for ZHP minimap. * Sas: Minor clenaup. * CoreTiming: Ensure we never idle into the past. * Common: Maintain C++11 support in sign extend. * Common: Sign extend w/func not chained casts. * Vertex cache minihash: Round up the starting address to a multiple of 4. * jpge.cpp: Remove malloc.h include * Update ext/jpge * Dialog: Simulate volatile memory lock behavior. * Dialog: Manage status only through accessors. * Power: expose volatile memory lock/unlock funcs. * HLE: Hook Worms text render copy func. * Vulkan: Remove #10097 hack for newer AMD drivers. * Sun Feb 14 2021 pousaduarte@gmail.com - Update to version 1.11.2~git20210214: * Update version to 1.11.2 * compat.ini: GachiTora requires block transfer * Android: Ensure shutdown waits for render. * Build: Cache Qt during Actions run. * Build: Allow on actions test branch. * Don't assert on invalid format in CwCheat. * Io: Truncate reads/writes to valid memory. * Update lang submodule * Add some checks trying to prevent creation of 0 sized textures. * GPU: Force reinterpret off without copy image. * Revert (partially) "compat.ini: Add Split/Second to [ReinterpretFramebuffers]. See #13957" * Some GLSL compilers are very particular about the sign of shift operands.. * Thu Feb 11 2021 pousaduarte@gmail.com - Update to version 1.11.1~git20210211: * Update version to 1.11.1 * Slight simplification in LogoScreen * Update README.md for 1.11.1 * Fix lobby issue on The Warriors, probably also fix similar issue on other games too. * Update zh_CN and zh_TW * Windows recvfrom doesn't support MSG_TRUNC, so we're using dummy buffer with max size as alternative for peeking actual size of the next pending message. * Fix frozen (0 FPS) issue on Kao Challengers and Asterix & Obelix XX (probably also fix other games from the same developer with similar issue) https://github.com/hrydgard/ppsspp/issues/14103 * Assorted paranoid cleanups, inspired by #14082 * Remove a completely unnecessary check in BackgroundAudio.cpp that caused glitching at 44.1khz. * Update lang submodule (it_IT updates) * SaveState: Prevent crash on bad cookie marker. * Rename the new warmup variable from #14091 * Only allow sceMpegGetAvcAu warmup for God Eater Series * Remove now-redundant check * GL: Call CreateDeviceObjects *after* updating render_. * Buildfix * Cause the correct type of exception. Never ignore EXEC_ADDR exceptions. * Handle exec addr errors better - don't let IgnoreBadMemoryAccesses skip dispatcher exceptions. * Add more games to ReportSmallMemStick * PPGe: Decimate text images properly. * Mon Feb 08 2021 pousaduarte@gmail.com - Update to version 1.11~git20210207: * Update version to 1.11 * Do the title screen animation by accumulator instead, to avoid a long first frame breaking it. * Update lang,pspautotests submodules * Run the link script, fixups * Run the link script * Removing hleDelayResult from internal adhoc functions to prevent waking up thread that supposed to be blocked by the outer HLE. * Updated some Logs to help finding the location of the call to debug. * PPGe: Clear text allocations on shutdown. * PPGe: Fallback to atlas text on alloc fail. * Debugger: Populate funcs if disassembly open early. * Fix jpn0.pgf characters position. * Fix possible race condition issue. * Moving hleDelayResult from internal function of SetSocketAlert to prevent waking up HLE-blocked thread * Minor renaming * We don't really need to allocate a buffer when using MSG_TRUNC on recvfrom * More stuff in README.md * More from unknown and sum2012 * List fixed games. Thanks sum2012 * Address initial feedback by iota97 * Update README.md for 1.11 * Sun Feb 07 2021 pousaduarte@gmail.com - Update to version 1.10.3~git20210205: * Windows: Prevent crash on null symbol map. * Core: Reset state properly on CPU init failure. * Make a couple of UI animations refresh rate independent * UI: Correct developer tools test run. * Updated PdpStat to prevent rcv_sb_cc from exceeding the buffer size arg (since we use larger buffer size to prevent micro stutters or disconnection issue due to too many dropped packets with small buffer size). TODO: May need to improve it to be able to calculate the correct size if there are multiple datagram messages * Fix possible lock issue during AdhocMatchingStart * (.gitlab-ci.yml) Add linux-i686 and windows-i686 targets (+ prevent creation of 'null' file when building Windows libretro cores) * Tue Feb 02 2021 pousaduarte@gmail.com - Update to version 1.10.3~git20210201: * Updated PdpStat and PtpStat * vertexjit: Only save extra regs on x64. * Core: Assert debug stats remain positive. * vertexjit: Correct saved registers on x64. * Core: Maintain frame dump disc ID in SFO. * Loaders: Prevent errors on 0 byte reads. * Have the flat shading workaround obey the driver workarounds checkbox * Fix minor rendering glitch in PPSSPP's menus on iOS * Add checkbox to enable/disable driver bug workarounds. * Add a new command in developer tools to list and load framedumps from framedump.ppsspp.org/repro/ * Framedump test screen. Downloads a list of framedumps. * Sun Jan 31 2021 pousaduarte@gmail.com - Update to version 1.10.3~git20210131: * Ge: Restore saved context when ending a list. * Ge: Improve some logging and memchecks. * Mpeg:Only allow firmware >= 6 for warmup * Vulkan: Fix image layout issues after compute shader uploads. * Io: Consistently use LE values of ISO entries. * Only force the log level if it set via an argv * jit: Be very clear on sign extension. * Core: Correct branch analysis truncation. * Fix Apple gpu detection * Attempt to fix #14022 * Fix logging flags * x64Emitter: Fix unaligned store UBSAN errors * Fix left shift of negative value in MIPSCodeUtils * Minimize the Adreno shader compiler bug repro test * Fix connection issue on Dynasty Warriors (Shin Sangoku Musou) games when playing with more than 2 players. * jit: Make branch shift more obvious. * Fix alignment issues in ISOFileSystem * Fix Russian characters ltn8~15.pgf * CMake: Fix UBSAN link error * CMake: Rename USE_ADDRESS_SANITIZER to USE_ASAN * CMake: Add USE_UBSAN * Try to build fix on non-windows * Mpeg:Only allow firmware >= 3 for warmup * (.gitlab-ci.yml) Add windows-x64 target * FindFFmpeg: Fix a few issues * gitlab ci change requested by m4xw * Fix Greek characters ltn0~7.pgf * Specify MaxScale=2 for the new MMPX texture scaling shader * Vulkan: Allow tex shaders to specify a max scale. * Vulkan: Add MMPX upscaling texture shader. * Remove duplicates from ThreadManForKernel * Mp3: Correct logging for init. * Updated GameMode initial data sync, in case remote players aren't listening yet when sending initial data (fix Pocket Pool) * Mp3: Always keep sample rate from original mp3. * Add back XCode TARGETED_DEVICE_FAMILY config line * Mp3: Allow decode without pcm pointer. * Mp3: Correct error handling for newer sdk versions. * GLES: Remove direct khrplatform.h header include. * Add header information * sceMp3Init:Add layerBits and versionBits information * Don't allow ForcedFirstConnect hack when using PtpConnect within PtpOpen to prevent returning result from blocking PtpConnect instead of result of PtpOpen. * Reporting: Expose CRC queue methods for other uses. * D3D9: Don't allow separate alpha clears. * GPU: Respect stencil write mask for 5551 buffers. * GE: Better naming of render passes for color reinterpret * Io: Don't allow async close while async busy. * Fix duplicate shader version in the flat shader test * OpenGL fragment shader gen: Fix precision inconsistency for v_color0/1. * Sun Jan 24 2021 pousaduarte@gmail.com - Update to version 1.10.3~git20210124: * Fix returned error code on PtpSend and PtpRecv when socket is not connected yet. * Do PtpConnect internally during PtpOpen, since some games (ie. The Warriors) seems to do PtpSend immediately after PtpOpen without trying to PtpConnect first. * Fix Greek characters & Roman numbers & all balance on jpn0.pgf * Resample only in 32000Hz * Plugins: Enable by default. * compat.ini: Add Split/Second to [ReinterpretFramebuffers]. See #13957 * PPGe: Scale down by worst of window/internal res. * build fix * Some marks position fixed on jpn0.pgf * Fix Russian (Cyrillic alphabet) on jpn0.pgf. * Resample all mp3 * Oops! I misstook uploading jpn0.pgf. * PGF Fixed Bold & Italic property and camouflage the Font name. * Kernel: Adjust sceKernelGetThreadExitStatus timing. * Debugger: Include all press states for convenience. * Debugger: Broadcast ctrl input events. * Debugger: Add API to trigger buttons. * Compat: Enable reinterpret for Kingdom Hearts. * Vulkan: Prevent scaling shader leak. * GPU: Fix safe size checks when rect offscreen. * Headless: Default to PNG for ppdmp tests. * Headless: Simplify executing a ppdmp via headless. * Headless: Disable http disk cache. * Headless: Allow PNGs and http:// for screenshot. * Headless: Read expected file as a FileLoader. * Headless: Allow screenshot compare without backend. * GL FB readback: Only use "inout" if we actually want to read from the fb. * More GPU test improvements * Compat: Note that 3 LEGO games those are require Buffered rendering * Add texture to flat shaded test. * Adds two new tests to GPU driver test screen: Adreno shader logic test and flat shading * CMake fixes and new --ios-xcode ./b.sh command. * There's little reason to build at O3, so let's just not. Changing to O2. * Vulkan: Delete only created swapchain images. * SoftGPU: Fix sprite provoking vertex in fast path. * Module: Keep the state for each import. * Headless: Allow connecting the web debugger. * Compat: Note that Gradius requires block transfer. * Remove re-test each month * Module: Keep HI16/LO16 in a temp state object. * Module: Reverse a single HI16/LO16 pair correctly. * Fix Stuck issue on some games (Dissidia 012, Full Auto 2, etc) when Failed to connect to Adhoc Server (faked success) * VK: Re-apply the old Adreno driver bug workaround. Fixes #13910. * Make sure we don't try to set a negative viewport size. * Update Template * Enable BlockTransferAllowCreateFB for Gradius Collection * PGF Re-Fixed Euro Characters * irjit: Update clobber flag on inst swap. * irjit: Add disable flag for simplify passes. * Android: Add NEON/SSE funcs into Headless/UnitTest. * Build: Validate unittest/headless on Android. * Android: Fix headless and unittest build. * Fix copy/paste typo causing crash getting tempdirs if an env var had no value * GPU: Correct shader gen with weights as floats. * FixPGF for Euro Characters.(Balance emphasis) * UI: Cleanup Windows header in MainScreen.cpp. * http: Prevent Windows header leak from HTTPClient. * Windows: Handle fullscreen message consistently. * irjit: Fix mtv for INF4. * irjit: Correct flags for SetCtrlVFPUReg. * jit: Fix conditional disable flags. * Improve some i18n things * Enable using the folder browser on Android to select SD card through a gross hack. * Add a file picker (WIP) * Use the same logic of game setting for main menu full screen, add other system * Manually tighten up the layout a bit in the top right corner * Add a fullscreen toggle button to the main screen (Windows-only for now) * Try another method for getting SD card storage paths (env vars). * Reducing AdhocMatching events delay to prevent matchingEvents from piling up on Lord of Arcana. * Send AdhocMatching Data from within HLE whenever possible instead of through matchingEvent Thread. * Prevent access violation when running out of userMemory due to piling up AdhocMatching events. * Add game ID for russian version of Tron Evolution * Add 3 games to ForceMax60FPS * Add more error checking in SD storage detection * add assets to ubuntu build artifact * UI: Prevent self-powerdown check on load new game. * Core: Properly stop on abrupt shutdown. * Android: Minor cleanup. * Remove redundant method from PathBrowser.cpp * Fixes for SD card detection on slightly older devices. * UI tweaks * Use hacky methods to retrieve SD card directory if available. * Add home button on all platforms * Add some new icons. * Fix adding extra new line on checkbox change * Save on game start * iOS: Change iOS 13 check. * Savedata: Reduce some noisy logging. * cmake: Silence warning. * Adding games to RequireBufferedRendering that cause black screen when not enabled * Compat.ini cleanup to add missing IDs and remove unused ones from latest version * Add Missing game IDs for Tekken 6 * Initialize/Deinitialize the shader translation system once globally. * Savedata: Prevent garbage bleeding into save icons. * Revert "Bleach Soul Carnival. Disable the "First Frame Readback" compat setting." * Never pass a null into QueueDeleteImageView (got a report of that). * UI: Use "Details" for upgrade outside Win/Android. * SaveState: Allow rewind on mobile. * Postshader: Improve error reporting. * Bleach Soul Carnival. Disable the "First Frame Readback" compat setting. * GPU: Be careful with color write mask precision. * GPU: Ignore color write mask if unusable. * Windows: Prevent hang on shutdown. * D3D11: Avoid crash if debug/info queue unavailable. * Build: Include Windows ARM64 in builds too. * headless: Fix Windows ARM64 build. * Windows: Fix miniupnpc build on ARM64. * iOS: Expose iOS 12.1+/13/14 buttons. * UWP: Don't try compiling samplerjit. * Build: Run software backend for tests. * GPU: Remove NULL GPU. * Headless: Always use at least software rendering. * SoftGPU: Allow rendering with no backend at all. * UWP: Allow software renderer. * SoftGPU: Update PPGe draw context. * Readme script update * Psmf: Fix a potential leak on shutdown. * GPU: Correct some incorrect deallocations. * Common: Correct some formatting type mismatches. * http: Ignore signals on recv() too. * http: Cleanup excessive logging. * Android: Remove old NDK profiler. * Common: Fix logging shutdown race condition. * Debugger: Fix some type conversion warnings. * Windows: Fix some type conversion warnings. * Net: Remove static declarations from h file. * Build: Remove Travis in favor of GitHub Actions. * Build: Reference test as file on failure. * Build: Auto skip on documentation only changes. * Build: Disable fast fail to see all build errors. * Build: Skip SDL2 dependency for mobile platforms. * Build: Include PPSSPPSDL on macOS for debugging. * Build: Run tests on Linux and macOS. * Build: Install specific Android NDK. * Build: Install SDL2 dependency. * Build: Ensure yml use tabs. * Build: Add CMake to GitHub Actions. * Build: Enable graphics tests. * Build: Explicitly depend on miniupnpc. * Build: Add test execution. * Build: Add GitHub Actions workflow. * Headless: Add specific GitHub Actions logging. * Headless: Cleanup TeamCity handling in test.py. * Euro characters Fixed in jpn0.pgf. * Ipega PG-9118 modified: assets/gamecontrollerdb.txt * If we are reporting a small memstick size, but data is bigger, lie. * Debugger: Correct a type error. * Debugger: Cleanup some syntax. * Debugger: Add helper to read strings. * Debugger: Add API to read/write chunks of memory. * Debugger: Cleanup memory.read/write validation. * http: Prevent assert on bad websocket data. * Corrects the calculation of the return value when the callback of RingbufferPut returns a negative value. * Using MSG_TRUNC along with MSG_PEEK as a precaution of a possible buffer overflow when peeking recv buffer. * Revert "Merge pull request #13807 from unknownbrackets/ios-buttons" * An attempt to add BlockTransferAllowCreateFB for Naruto Shippuden: Ultimate Ninja Impact * Instance: add missing headers more POSIX systems * FileSystems: add missing header * Linux: ignore missing MAP_NORESERVE on FreeBSD * Split the DepthRangeHack compat setting into itself and DisableRangeCulling * http: Treat buffer full flush correctly. * http: Wait less time for IPv6 if IPv4 succeeds. * Fix layout problem on crash screen. Fixes #13808 * Fixed an issue where sometimes a player unable to join a host on Warriors Orochi 2 (should also fix similar issue on other games that use PDP/UDP on Windows) * Close the port immediately when closing a socket. * iOS: Expose iOS 12.1+ buttons. * Revert "Cleaner exit on Windows. Will hopefully help #13325" * Typo * Fix Grand Theft Auto - Vice City Stories * Mpeg: Add warm up staff * Android: Fix text color in dialogs by just inheriting from the DeviceDefault theme. * UWP StorageFileLoader: Remove some excessive logging. * Temporary workaround for Wipeout Pure lens flare flicker. * UWP: Work around another race condition in StorageFileLoader. * UWP: Fix dialog rendering (PPGe). * UWP: Make the home button say "Home" instead of "Browse...". * Forget this one HLE_KERNEL_SYSCALL * Add some ThreadManForKernel nis * Folder browsing on main screen: Prevent navigating "up" when you can't. * UWP: Make the home button say "Home" instead of "Browse...". * PathBrowser: Show simplified version of paths under the memstick dir. * Fix navigation upwards from a pinned game streaming folder. Fixes #13224. * Update ffmpeg submodule to a named (identical) commit, to not confuse some buildbots * Postprocessing shader, GL: Fix shader version bug. Fixes #13779 * UWP buildfix * D3D11: Avoid the debug layer hazard tracker after blits. * Cleaner exit on Windows. Will hopefully help #13325 * Misc logging improvements * Crash screen: Add a very dangerous and inaccurate "Resume" function. * Further improvements to crash screen * Hide touch controls on bluescreen * Fix bluescreen layout on notched phones * Improvements to crash screen. * Fix synchronization bug in StorageFileLoader.cpp (wrong mutex) * XAudioBackend: Limit the number of queued buffers properly. * Reformat and do minor cleanups in UWP/XAudioSoundStream * Linux: Properly avoid committing address space for large mmap(). * Fix PGF a figure. * Fixed "jpn0/kr0/ltn0,2,4,6 * Add stack value in scempeg and scepsmf from jpcsp * Add an iOS-only utility in devtools to copy savestates to memstick root. * Fix background idle animation on iOS when task switching * Apple driver bug workaround. See issue #13451 * Fix check for Android version in whether to display "ignore camera notch when centering" Fixes #13774 * GL: Detect Apple GPUs as a category * Minor cleanups * VK: Restore the ARM Mali Z hack that got lost in the refactor somehow. * Some cleanups in GL feature and shader language detection. * ARM64 buildfix * Minor refactor in sceUtility.cpp, making future changes easier. * Android: Enable fullscreen ("Immersive mode") by default. * Fix regression in Dream Club Portable. Fixes, for OpenGL, #6497 * Minor comment. * Don't display data info as new data when saving done. * Fixes incorrect date of savedata. * Turn off vertex range culling in bezier/spline calls. * Call g_Config.Save() first thing in MainScreen::OnExit. Workaround for #13286 * Assorted drive-by code cleanup * thin3d: Add a way to query the current render target for debugging. * Fix DiRT 2's car reflections. * cmake: Enable the install target for non-linux unix systems. * Use system time format on savedata aswell * Nassau's new fonts. Replaces #13753 * Change the typo * Fix loader * Bundle libMoltenVK * Another Ghosts'n'Goblins game ID. * Specify Target * Add more games to RequireBufferedRendering * Avoid potential crash without storage permissions. * Add games that requires buffered rendering * Do not use x86 for other machine * cmake: Add a desktop file. * cmake: Add an install target. * Use the double precision sincos for Hitman RBA 1 too. See #13706 * Add missing header in Logmanager.h * Fix headers in MIPSCPUDetect. * sz must be longer than target string * Remove superfluous variable from uniform buffer * Why not iOS? * Safer hack to build on M1. * CMakeLists.txt fixes for M1. It sets cpu arch to "arm64", not "aarch64" * M1: Correctly detect core count. * Cleaner way to flush the instruction cache on Mac ARM64 * Mark ARM64 Macs as needing WX-exclusive memory protection * Fix a crash if JIT space failed to allocate * Fix GPU driver test screen * Make universal binary version of ffmpeg work. (#13457) * D3D11: Fix shader module leak in thin3d. * Fixed a PlayStation typo (#13729) * Switch to nassau-tk's latest Korean font. See issue #13190 * Respect stage in BindFramebufferAsColorTexture(). * Change ltn x font (#13721) * Fix Ghosts & Goblins for older backends too. * Two more Ghosts & Goblins game IDs for compat.ini * Better debug names for BlitFramebuffer operations. * Enable color reinterpret for Ultimate Ghosts & Goblins * Need to take renderArea into account when merging render passes. * Update lang submodule * Correctly handle stuffing data of pack header. * Build fixes * Fixes state. * Writes target buffer address in multiple times. * Turn off the MacOS and iOS Travis jobs, they seem to have stopped working. * Only use double precision sincos in Hitman Reborn Battle Arena 2. See #12900 * Partially revert "VFPU: Compute sines and cosines in double precision." * Try to implement some related funcs. * Remember game list scroll * Update jpn0.pgf * Guess at a fix for #13698 - sceKernelThreadGetExitStatus probably takes some cycles. * Clean up. * Mpeg:Checks autual available space before putting data. * Implements sceUsbCamGetMicDataLength. * libretro: Remove VertexShaderGeneratorHLSL from Makefile.common. Fixes #13696 * Clean up psp_color shader * Update jpn0.pgf (manually merged from commit #13683) * Update lang submodule * Add developer setting "Show on screen messages". Uncheck to hide them. * Translation: Fix issue #13685 * Translation: Fix issues #13686 and #13687 * Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668. * Modified "ltn0/1/2/3/4/5/6/7 .pgf" * Makes a distinction between blocking and non blocking modes. * Changes the way of reading microphone data. * Fix some wrong asserts (we don't use <cassert>) * Fix mistake. * Better GLSL version handling. Now specify the latest version supported by the device. * Updated socket's send buffer size as an attempt to fix PSP2i unable to enter dungeon when using RadminVPN issue #13648 * Change socket's MSS based on PSP_ADHOC_PTP_MSS * Making use TCP_QUICKACK (or it's alternative) along with TCP_NODELAY * Fix crash when drag-dropping texture packs. Fixes the main part of #13614 . * Fix scale in FramebufferCommon::GetFramebuffer. Fixes #13644 * Clears didn't always properly set the RenderArea. Should help #13664 * Corrects the number of added packets returned by sceMpegRingbufferPut, especially if callback is called multiple times. * Fix crash in sceusbmic on load old staus then save again * Makes video streams amount meet the expectation of sceMpegRegistStream() not only the mpegheader. * Reads all packets to ringbuffer. * Fix crash on save state. Fixes #13658 * Fix Star Ocean stencil issue with OpenGL. Fixes #13746 * OpenGL: Assorted shader-depal bugfixes and regression fixes. * Fix check for when to generate packUnorm4x8 replacements * OpenGL: Detect Adreno model number * Update gamecontrollerdb.txt * Expose the "Lower resolution for effects" setting in libretro. Fixes #11099 * Don't try to texture from depth if not supported by backend. Works around #13621 * More consistent use of GLSL precision modifiers, now use them in Vulkan too. * Fix bug in the new color writemask code, failing to limit it to Outrun properly. Fixes #13650. * Outrun on OpenGL: Fix weird purple highlight seen on some devices * Fix task switching issue with reinterpret. Fixes #13649 * Minor cleanup in GL backend, fixes #13647 * D3D11: Fix writing to SV_Depth. Fixes #13641 * Linker fix - need to move init_resources along. * Mpeg:Revert part of https://github.com/hrydgard/ppsspp/commit/fa59be7e5db1526d07de75f6d7c14b94e98809e6 * On GLES3, GL_EXT_shader_framebuffer_fetch works a little differently. * Remove support for NV_shader_framebuffer_fetch extension, very old and rare. * Reorganize the end of the fragment shader generator. * Remove ForceGL2 flag. Add comments... hm. * Move ShaderTranslation.cpp/h to Common/GPU. * Fix crashes on exit (Vulkan). Should help #13223 * Fix HLSL shader gen issue * Temporarily disable GL frame-init error checks, see #13639 * Get shader color write masking going on all backends. * Fix AuCheckStreamDataNeeded function * Unrelated warning fixes * Fix some comments * Fix some comments, rename a function. * More work on detangling the concepts and making things make more sense. * ShaderBlend and FramebufferRead are separate concepts. Reflect that in naming. * Simplify shader blend logic in FragmentShaderGenerator.cpp * Address feedback. * Add compat flag for reinterpret shader, also disable on platforms that can't support it yet * Fix reinterpret shader for D3D11 * Cleanup reinterpret shader resources in FramebufferManagerCommon::DeviceLost(). * More work on reinterpret. Get Vulkan running * Reinterpret the data when binding a framebuffer with a different 16-bit format. * Reinterpret code runs, no idea if it works * More shadergen work * More reinterpret shader gen and test work. * Forgot a line in caa960ee8e * Unify FramebufferManager::BindFramebufferAsColorTexture * Start unifying BindFramebufferAsColorTexture * Reorganize the DeviceLost code a little. FramebufferManagerCommon now sees it. * Remove some accidentally added lines * GLSL ES compilers can be very picky about uint/int. Fixes #13628 - for real this time hopefully * Oops, what happened there.. * Some GL error logging improvements * Fix GLSL version detection bug. Fixes #13631 * Fix bugs caused by 44ec286ba4 * Fix off by one * Move shader language feature detection to the draw context. * Framebuffer: Keep the render scale factor around, no need to recompute it. * Partially revert "Remove remnants of an old, no longer applicable readback optimization" * Buildfix * Remove colorDepth property of framebuffers. They're all 8888. * Remove remnants of an old, no longer applicable readback optimization * Fix bug in framebuffer naming * Inline "OptimizeDownloadRange" to make the code more readable * Merge the two ShaderStage enums * Show an error on screen if a shader fails to compile. * Merge the two ShaderLanguage enums. * Move ShaderWriter to Common/GPU, along with some stuff from ShaderCommon.h. * Retry the masked memory experiment on iOS. Turns out it was the shader generator bug that broke things. * GLSL ES: Extensions must go first. Fixes #13620 * Disable masked memory on iOS again. The cure was worse than the disease apparently. * Partially revert "Clarify some logic, improve framebuffer names" * GPU: Correct shader blend equations. * Fix Starting multiplayer issue on DBZ Team Tag * Reducing the delay on GetPeerInfo * Enable masked memory addressing on iOS * Fix/workaround ARM64 with the MASKED_PSP_MEMORY build flag. * Fix a bad check, causing masked memory to fail on non-32-bit platforms even if desired. * Bugfix last commit * Apparently only MSVC can handle the ambiguity. * Buildfix the rest of the platforms * GEDebugger: Use utf-8 internally. * ShaderWriter, a replacement for the sprintf WRITE macro. * Safety, comments * Clarify some logic, improve framebuffer names * Fix vertex shader generator bug. Got caught by the new test * Move the generic vertex shader generator into GPU/Common and rename it. * Delete the HLSL shader generator, switch to the newly generic one. * Another hlsl compatibility fix * Share the uniform buffer declarations between D3D11 and VK. * Fix remaining differences between generated shaders * Start working on getting tess to match * Fix through mode differences * Make the lighting code match * Make the hardware skinning code match * More HLSL work. Some vertex shaders are starting to pass. * Vertex shader merge work * Oops, seems I screwed those #version statements up worse. * Fix #version statement for GLES 2.0 vertex shaders * Fix #version statement in GLES 2 fragment shaders * Remove a redundant bit from vertex shader IDs. * Fix an old inconsistency between D3D9 and D3D11 projection matrices. * Remove inPrefix. HLSL shaders gets slightly longer but probably no biggie. * Fix silly issue in vertex shader gen * UWP buildfix * Move the now-renamed fragment shader generator to GPU/Common. * Just some cleanups that get to tag along * Fragment shader gen: Remove unnecessary allocations * Cleanup * Check for a couple additional GL extensions * Remove the HLSL fragment shader generator. The GLSL one can now do its job. * Switch D3D9 too to the glsl shader generator * Switch D3D11 over to use the GLSL fragment shader generator * Misc cleanup * Minor D3D9 fixes * Test parsing of generated OpenGL shaders too (by using glslang). * Get D3D9 fragment shader generation to parity * HLSL fix * More D3D9 fixes. * Set up the test for D3D9, start fixing stuff. * Evolve the HLSL and GLSL fragment shader generators even closer together. * Change fragment shader output to work the same in GLSL and HLSL. * Make discard work the same way in the HLSL shader generator. * Start adding HLSL support to the GLSL shader generator. * wip * HLSL: Use #define to switch to glsl-like vector types. * Fix loading old savestates. * Modified "ltn0/2/4/6 .pgf" * When stops and unloads self module, make sure that the thread is properly deleted. * Fix significant FPS drops on Hitman Reborn Battle Arena 2 * Updated Blocking simulation of AdhocSocket (especially PdpRecv) * Updated Minimum Timeout workaround settings to use 0 as default (no override) * Remove support for D3D11_level_9 (previously only really used for Windows Phone, probably). * Blocks current thread to synchronize initial GameMode data. Fixes desync issue when GameMode multiplayer mission is being started. * Moving socket creation from AdhocMatchingCreate to AdhocMatchingStart. (Fixes Dissidia 012 unable to see any room issue) * Fixed an issue with AdhocMatching where there is a possibility that some data didn't get sent upon AdhocMatchingStop causing Joined players to get timeout. (Fixed Star Wars: The Force Unleashed) * Implementing Adhocctl Busy state to prevent getting kicked out from Adhoc Server on games that tries to leave the group multiple times in a row. Also Updated Adhocctl behavior. * Updated GameMode API (Fixed Pocket Pool) * Prevent memory leaks when clearing AdhocMatching events. * Fixed unable to see game room issue on Air Conflicts - Aces Of World War 2, should also fix other games with similar issue (due to invalid group mode) * Added delay result to SetSocketAlert for other threads that use the socket to trigger the alert. * Socket alerts can be triggered regardless of the nonblocking flag * Do not clear socket alert flag after signaled. * Prevent Scanning issue after reconnected to AdhocServer, also Updated logging to showing the error code on sceNetAdhocctlScan * Updated validity checking of mac address on PdpCreate, PtpListen, and PtpOpen * Updated Loggings and return value of PdpSend and PdpRecv * Added hleEatMicro (may not be accurate tho) on PdpSend, PdpRecv, and GetPeerInfo. * Updated error code on sceNetGetLocalEtherAddr * Prevent memory leaks when attempting to play GameMode multiplayer again after loading from SaveState in the middle of GameMode multiplayer. * Prevent Port leaks after loading SaveState in the middle of multiplayer resulting to "port in use" error on the next attempt to play multiplayer. * Fix checks for fragment test cache in GLES fragment shader generator * Modified "ltn1/3/5/7 .pgf" * Log the return value. * Fixes mistake. * IMP sceKernelFindModuleByUID and sceKernelFindModuleByName. * SaveState:Don't register the event during Dostate. * Modified "ltn1/3/5/7 .pgf" * Somehow forgot to delete VertexShaderGeneratorVulkan.cpp * Change jpn0 font (#13588) * Use splat3(x) liberally (converts to vec3(x) on GLES, vec3(x,x,x) on D3D) * Complete the vertex shader merge, deleting the Vulkan-specific vertex shader generator. * Additional fixes * More tess fixes * Initial work on fixing tess * Fix additional minor differences * Fix more vertex shader differences * Bridge more vertex shader differences * Time for the vertex shaders. Set up a test, start eliminating differences. * [Android] Retrieve isMicStarted from AndroidAudio state * [Android] Start recording immediately after asking for permission * [Android] Audio record using OpenSL * Fixes savesate for usbmic. * Revert "Android gradle update" * Completes the merge, deleting the Vulkan-specific fragment shader generator. * Fix more tiny differences. The fragment shader generators now match! * Fix additional differences * Fix minute differences between the shader generators found by the new tester * Hack up a test comparing Vulkan fragment haders generated by the GL GLSL generator to the ones generated by the Vulkan generator. * OpenGL: Share the shader version detection. * Cleanup * GLES: Read compat params first, emit code later. * More splat3 * Revert "Try my theory about memory mirrors on iOS 14. See #13451" * Android gradle update * Fix a section of the translatable message * SwicthUMD:Only update Switch UMD item of Windows menu instead of entire UI. * Try my theory about memory mirrors on iOS 14. See #13451 * Remove an unmotivated ifdef. Additional cleanup * OpenGL: Allow texture wrapping on framebuffers if supported * Prepare for more GLSL testing * Rename shader generator functions, a bit of moving around and adding an errorString param. * Add brute force shader generator tester. Tests D3D11 and Vulkan shaders. * Vulkan: remove array indexing for light parameters to match the other backends * Rename vk uniforms to match the other backends * Update gitlab ci for libretro to use cmake * Io: Track initial free space for compat flag. * Headless: Define consistent memstick size. * Psmf: Cleanup logging. * Psmf: Handle older states for delayed state change. * Address feedback about recent changes * Don't need to connect if AdhocServer IP is the same with this instance localhost IP and having AdhocServer disabled * Updated Loggings and return value on PtpSend, PtpFlush, and PtpRecv. * Show a warning just in case an abnormal situation occurred. * Fix disconnection issue due to timeout on blocking PTP Socket * Added Connection Refused error code on PtpConnect * Fixed disconnection issue when multiplayer game started on Shaun White Snowboarding, and improved multiplayer performance on games that use GameMode. * Updated Adhocctl timings based on the timestamp on JPCSP + prx files * DoState. * PsmfPlayer:The status will not be changed until the delay result is finished. * Io: Account for free space on the host device. * Qt: Remove Qt-specific screenshot path. * Error handling fixes * D3D11: Implement depth texturing. Fixes, for D3D11, #6411. * Set up depth buffers to be bound as shader resource views * Libretro: set Memory Stick Size config value. fixes #13552. * OpenGL: Disable auto invalidation of framebuffers, it has somehow broken * retro ci fix * oops, wrong filename * Removing the workaround that was used to fix Gran Turismo in the past but no longer needed. Since zero mac address is an invalid mac we should return an error. * Updated AdhocPollSocket timeout checking. * Increasing Adhocctl timeout to 5 seconds (with side effects of longer freezes when detecting disconnected players), to prevent failure to connect to AdhocServer on time due to some unknown reason where sometimes it tooks more than 2 seconds for Adhocctl Init to connect to AdhocServer on localhost (normally only 10 ms), and sometimes it tooks more than 1 seconds for built-in AdhocServer to be ready (normally only 1 ms) * Make all the Comp_Cache implementations the same. * Add libretro CI. * Prevent AdhocServer Pings from spamming Debug Log * Fix disconnection issue when joining multiplayer on Capcom Puzzle World * 2nd or more instance of PPSSPP should only bind it's own localhost IP for Adhoc Server. Fixes Capcom Classics Collection Remix multiplayer on multiple-instance. * More buildfixes * Removed unused texel info * Added new vertex shader file naturalA.vsh * Removed unnecessary vertex coords * Replaced shader vertex file for naturalA * Libretro: add SYSPROP_DISPLAY_SAFE_INSET* properties. fixes screen frame size. * Yet another one * Another missing header buildfix * Minor cleanups related to #13527 * Add missing include in URL.h * VS 2017 buildfix hack - these parameters are new to Windows. * libretro: Fix screen size problem in Vulkan. * Get Vulkan going again with libretro. Rendering is the wrong size and crashes on exit, but it's a start. * Libretro/VK: Add a README for debugging, so I don't forget. Minor cleanups. * Added 1 new NID of OpenPSID Service, also added Init & Shutdown function * No need to call video_cb if there is no image * fixed issue with: [libretro ERROR] [G3D] glewInit() failed
/usr/bin/ppsspp-qt /usr/libexec/ppsspp/ppsspp-qt /usr/share/applications/ppsspp-qt.desktop /usr/share/licenses/ppsspp-qt /usr/share/licenses/ppsspp-qt/LICENSE.TXT
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Nov 14 00:03:47 2024