Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory
ppsspp
ppsspp.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ppsspp.changes of Package ppsspp
------------------------------------------------------------------- Fri Nov 15 20:19:42 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de> - ppsspp 1.18.1: * IR Interpreter: work on correctness and optimizations * Interpreted Vertex Decoder optimizations * SDL fixes * Improve performance of CHD loading * Many crash, hang and performance fixes around the UI New post proc filter "Sharp bilinear" * 3 new themes * Install save games from ZIP file * More input-mappable actions like Reset, allow mapping Alt key * Fix regression of the AxisSwap feature * Many emulation fixes * Multiple rendering fixes * VR: New immersive mode ------------------------------------------------------------------- Mon Feb 5 05:24:19 UTC 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 08:54:45 UTC 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 5 14:16:37 UTC 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 5 19:50:58 UTC 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 4 20:44:11 UTC 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 21:11:41 UTC 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 09:20:01 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de> - Fix build on Factory: Does not build with FFmpeg 5.0 yet ------------------------------------------------------------------- Wed Nov 23 22:27:31 UTC 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 12:51:43 UTC 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 00:23:00 UTC 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 00:21:33 UTC 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 00:22:09 UTC 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 00:22:37 UTC 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 00:23:54 UTC 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 00:17:05 UTC 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 00:16:36 UTC 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 00:17:05 UTC 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 00:17:45 UTC 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 00:23:17 UTC 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 00:15:34 UTC 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 11:50:45 UTC 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 00:27:22 UTC 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 00:28:47 UTC 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 00:30:25 UTC 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 00:32:10 UTC 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 11:13:12 UTC 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 09:07:34 UTC 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 00:37:27 UTC 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 14:51:41 UTC 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 13:00:24 UTC 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 12:59:10 UTC 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 15:17:24 UTC 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 08:32:10 UTC 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 00:42:19 UTC 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 00:21:52 UTC 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 08:50:38 UTC 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 00:22:49 UTC 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 17:23:44 UTC 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 17:29:06 UTC 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 00:24:09 UTC 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 00:22:27 UTC 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 15:10:33 UTC 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 00:18:38 UTC 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 00:20:17 UTC 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 00:20:34 UTC 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 22:22:06 UTC 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 00:23:56 UTC 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 00:25:44 UTC 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 23:00:42 UTC 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 15:12:29 UTC 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 00:37:18 UTC 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 12:54:03 UTC 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 15:43:26 UTC 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 14:04:25 UTC 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 12:53:38 UTC 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 00:58:09 UTC 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 11:41:22 UTC 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 01:01:49 UTC 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 00:54:45 UTC 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 01:01:16 UTC 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 00:55:21 UTC 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 16:50:29 UTC 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 00:58:18 UTC 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 00:39:23 UTC 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 00:32:20 UTC 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 10:57:52 UTC 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 00:34:05 UTC 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 12:34:26 UTC 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 09:29:23 UTC 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 00:56:26 UTC 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 21:46:57 UTC 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 20:46:30 UTC 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 00:27:58 UTC 2021 - pousaduarte@gmail.com - Update to version 1.11.3~git20211002: * compat.ini: Add Field Commander to MpegAvcWarmUp. ------------------------------------------------------------------- Fri Oct 01 13:38:26 UTC 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 14:27:29 UTC 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 11:46:44 UTC 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 16:14:42 UTC 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 17:00:55 UTC 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 10:41:52 UTC 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 19:32:18 UTC 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 19:16:12 UTC 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 15:28:53 UTC 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 00:11:42 UTC 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 10:23:09 UTC 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 18:32:15 UTC 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 17:59:25 UTC 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 13:17:29 UTC 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 10:11:58 UTC 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 16:46:24 UTC 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 11:06:11 UTC 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 22:08:36 UTC 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 00:59:28 UTC 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 00:39:08 UTC 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 11:13:54 UTC 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 14:59:15 UTC 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 14:20:20 UTC 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 ------------------------------------------------------------------- Thu Oct 15 08:16:11 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org> - Exclude aarch64 and %arm as it never built due to openGL vs openGL ES issue. ------------------------------------------------------------------- Wed Oct 14 13:52:15 UTC 2020 - guillaume.gardet@opensuse.org - Use again system ffmpeg - Update to version 1.10.3~git20201014: * Fix text issue in God Eater Burst. Forgot that games can allocate texture in volatile memory too. * Vulkan: fix stack overflow. * libkirk: fix buffer overflow. * Fix a couple of issues with #13477, found by aliaspider. * VK: Whenever safely possible, shrink the render area. * Fix OpenGL crash introduced in #13536 * Fix GPU profile display on notched screens * compat.ini: Add ID for European version of Car Jack Streets * Track and accumulate pipeline flags for render passes. * Bugfix * VK: Separate layout transitions from renderpasses again. * Remove the USE_GENERAL_LAYOUT_FOR* debug defines. * VK: Copy depth buffer if we can't blit. Some GPUs can't blit to depth. * Workaround for date bug in Car Jack Streets. * Fixed timeout issue due to the latest CoreTiming::GetGlobalTimeUsScaled() have a possibility to get smaller number than the previous one. * Added some network-related missing error codes. * Create a safer variant of BlockTransferAllowCreateFB, enable for FF Type 0 * Fix additional snappy warnings. * Warning fixes. * Avoid a division in time_now_d(). Minor optimizations. * VFPU: Compute sines and cosines in double precision. * Make Qt apply fullscreen change from UI as well * Make --windowed available on all platform and make sure to trigger resize * Add an option to the in-game dev menu to reset counts on limited logging * Change jpn0.pgf for a new one generated by nassau-tk * Update gradle, assets/lang * Prevent sceNetAdhocctlGetGameModeInfo from spamming Warn/Info Log on Street Supremacy * Added socom.cc as an alternative Public Adhoc Server, just because they have statistic web page for players to find out which games are being played and how many players are there. * Minor changes. * Return early to reduce indentation on AdhocMatching code * Updated AdhocPollSocket implementation to fix Bleach Heat the Soul 7, Fate Unlimited Codes, Carnage Heart EXA * Prevent getting too many Kernel Errors in the log during a Shutdown cleanups due to kernelObjects already cleared. * Prevent Dissidia 012 from opening too many ports when failed to connect continuously. * Making the workaround that fix Gundam vs Gundam Next Plus to be optional as it can improve connectivity on other games over high latency networks, and fix GvG Next Plus properly. * Updated AdhocSocket struct, and an attempt to reduce stutters by increasing the send buffer a little bit. * Fix Falcom games (ie. Ys vs. Sora no Kiseki, Vantage Master Portable) * Removing ETIMEDOUT from non-blocking socket's error checks * Updated GameMode implementation to fix Bomberman, also improved performance on BattleZone. (+1 squashed commits) * Fix NetconfDialog timings to get a better message transitions. * Fix Apctl and Adhocctl state change timings to works properly. Which fix the stuck MessageBox on Naruto Shippuden Ultimate Ninja Heroes 3 and .hack//Link properly. * Removing the workaround that fix the stuck MessageBox on Naruto Shippuden Ultimate Ninja Heroes 3 and .hack//Link but having a side effect of 0.5 second lag * Fix a recent bug in XinputDevice.h * Sets the maximum memory stick size to 32GB like a Memory Stick Duo. * Savedata:Skips non-directories in LISTALLDELETE mode. * Simulates memory stick size to get fixed free space. * SDL: Apply patch from issue #13516, fixing issue with Wacom tablets with readonly flags set. * SDL: Implement multitouch support * Buildfix - remove more Qt-specific code in TextureReplacer * Also report a smaller memstick for Street Fighter Alpha 3 MAX (see #10462) * Add compat.ini setting to work around memstick size math problem in Harry Potter - Goblet of Fire * Fix libretro makefile build * Add some recent contributors to the credits list. * Delete useless Qt-specific path in TextureReplacer * Vulkan: Automatically generate mipmaps for replacement textures. * Cap the global thread pool at 16 threads. * Remove Timer.cpp/h. Move various collections into Common/Data/Collections. * Fix Qt build by simply moving the offending file to the native project. No idea why Qt include paths only work there. * Buildfix linux * Windows: Remove the native project. * Complete the eradication of D3DX9 compiler loader * Move text rendering to Common. * Move most GPU things to Common. * KeyMap fix (libretro) * Libretro buildfixes * Move fileutil, net, image loaders, ui to Common. (#13506) * SaveData:Displays all saves like a PSP for LISTALLDELETE mode. * iOS buildfix * Mac/ios buildfix * Move NativeApp.h to Common/System, split into NativeApp.h and System.h * Move Display.cpp/h to Common. * Move the profiler to Common * Common.h shouldn't include Log.h. * Move math and some file and data conversion files out from native to Common. * iOS buildfix attempt * Move native/util, native/data and native/i18 to Common/Data. * Fixed missing cstring include. * Move input utilities from native to Common/Input. * Savedata:Corrects the performances when the data is broken. * Move threading utils from native to Common * Savedata:Supports empty file name for save/load/delete. * Savedata:Improves the deleting functions. * Libretro buildfix * Windows: Correct some stdafx.h paths. * Adnroid: Add back arm32 files for libpng. * Android: Fix include paths. * Global: Add back arm files for libpng. * Merge ext/native/ext/... directly into ext. * ByteSwap.h results in a file name collision on some systems with byteswap.h. Fix this by merging it into BitSet.h. * Additional UWP buildfix * UWP buildfix * retro buildfix * Buildfixes * Remove some TLS. * Remove unnecessary use of thread local storage * Remove some color util functions * Move buffer.cpp/h from base to Common * Buildfixes * Finish getting rid of basictypes.h * Merge base/basictypes.h into Common/Common.h (mostly). * Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. * Remove old define for thread local storage * We no longer use TCHAR. * Remove our usage of ssize_t * Delete more useless math code * Delete unused math code * Delete more old detritus * Delete some unused string functions * Very minor optimization (divisions by constants are faster unsigned) * Delete unused backtrace.cpp * TimeUtil.cpp cleanup * Fix issue with duplicate texture dumps. * Add PSP color shader * SDL: Adjust locale parsing for Ubuntu. * Core: Fix memory size check. * fix #13471 * glcore context switching * Don't cache time in a variable. * Enable BlockTransferAllowCreateFB for Burnout Dominator. * Some GPU code cleanup. Disable some unnecessary reporting. * More cleanup * Cleanup * IndexGenerator::AddStrip: Avoid the fallback by writing a few extra indices if necessary. * Also optimize IndexGenerator::AddStrip for ARM NEON. * Buildfix * SSE-optimize IndexGenerator::AddStrip. Shaves about half a percent from GoW. * Speed up game start under Windows by not filling the symbol listbox until the disasm window is opened. * Windows debugger: Clean out old remains of multi-cpu support * Reduce string allocations in Vulkan memory allocator * Revert a bad optimization in word wrapper * An attempt to improve connection stability. * Fixed returned error code on sceNetAdhocctlDelHandler * Minor fix to sceNetAdhocctlGetPeerInfo * Added more info on some sceNet logs * Prevent sceNetGetMallocStat from spamming debug log on some games. * Remove some reporting that's normally just the result of garbage-as-display-list-execution. * Remove an allocation in the word wrapper. * Fix slowdowns due to careless use of auto * Mark the PPGe font texture as reliable to avoid hashing it. * Minor optimization in wrap_text.cpp * Fixed PdpStat and PtpStat info * Fixed returned error code of sceNetAdhocctlDisconnect * Quick fix for #13459 * Fix regression where Gran Turismo ended up recreating the framebuffer on every frame in the menu. * Update submodule ffmpeg to master * Remove unused lastBoundTexture from Vulkan * Comment fixes. Minor tweak. * Cleanups in/around BlitFramebufferDepth * Remove redundant bind on GL texture build. Improve dirtying of texture state. * Remove dirtying of TEXTURE_PARAMS from ForgetLastTexture, not its responsibility. * Set the texture dirty flags when binding a new framebuffer. * Added alerted flags info on AdhocSocket to be used on PollSocket * GPU debug stats: Show how many bytes of texture data we hash per frame * Simplify NotifyFrameBuffer - only needs one call for both "channels" now. * Share GPUS stats formatting code between the backends (easier to add new stats) * Have to invalidate "lastBoundTexture" when binding framebuffers as texture. * Remove some unnecessary function parameters, improve some comments. * Using REPORT_ONCE to report some of GameMode HLE existance. * Implementing Adhoc GameMode HLE * Minor changes to adhoc timestamps * A couple of D3D11 fixes. * Fixed crash issue when creating/connecting to a null group name. * Minor improvement to gl_debug_log.h * Fix bug in GLES texture filter setup * The new asserts found something. * Unify BlitFramebufferDepth. * Make the implementations of CopyFramebufferDepth more similar. * Unify some GPU_SUPPORT* bits * FPURegCache: The invariant checking is very slow in debug mode. Let's only turn it on when we need it. * More asserts * Use system date format on savestate as well * Buildfix * Help the compiler out a little bit in IndexGenerator::AddStrip. * Some header include cleanup * Add missing asserts after some VK resource creation functions * Don't over-invalidate textures when a framebuffer is created or modified. * Sneak in a fix for a limited memory leak in Vulkan vertex cache * Delete TexCacheEntries that get replaced by a framebuffer * Fix bug in new framebuffer code, reducing unnecessary texture invalidations. * Check whether there may be more than one save file names by mode. * Cache 60 FPS requirement * Fix an issue of major performance drops when using accepted PTP Sockets. * More moves * Also move video filtering override. * Move overrides to the end of GetSamplingParams * Switch to a returned value and rename these functions. * Unify/centralize SetFramebufferSamplingParams. Some include cleanup. * Make the signature of all the SetFramebufferSamplingParams the same * Workarounds for D3D9's very limited mip level control. * TextureCacheGLES: Also share the same sampler calculation for GLES. * TextureCacheDX9: Use the already centralized sampler setup code from D3D11/Vulkan. * Comment fix * Making sure the are no compiler warnings on adhoc code on android * Prevent Client side from forever re-trying to connect to Exited Host on Shin Sangoku Musou Multi Raid 2 * Improve readability of the boolean expression mess in GetSamplingParams * User chain support * Linux: Use MAP_NORESERVE when finding a memory base pointer. See #13187 * TextureCacheCommon::UpdateSamplingParams no longer takes a TexCacheEntry * Always use a linear filter for video, unless forcing NEAREST filtering. * Texfilter: Rewrite some checks in GetSamplingParams to be faster and more understandable. * Remove some outdated debugging code (SetDebugTexture) * Fix libretro OSX build * MemMap: Check for MAP_FAILED in mmap call. * Fix GetCurrentTextureDebug * Try unknown's workaround for clang code gen bug. See #13187. * Further simplify framebuffer matching. * SaveState: Update to latest Snappy v1.1.8. * x64: Fix stack alignment in vertex decoder, just because. * Optimize a couple more single color conversion functions * Optimize the DarkStalkers software rendering path a little more. * Show how many times we evaluate framebuffers per frame in debug statistics. * Re-fix BOF III - accidentally lost the texaddr offset * Mostly fix Katamari by boosting fbs from the same frame * Decouple framebuffers from texcache entries entirely. * Update symbol list of disassembly window when loadexec. * Don't read data more than data size of pgd files. * Remove fbCache_ from TextureCacheCommon.cpp. * Make SetColorUpdated static, reorder some fields * Minor cleanups in CaptureDevice * Fix Failed to Bind already used port issue on Android (and probably linux too). This should fix Dynasty Warrior Strikeforce and Shin Sangoku Musou Multi Raid 2 * Avoid getting Fatal signal 6 (SIGABRT) on linux/android when losing connectivity to the Adhoc Server. * Allows reusing the same port for PtpListen and PtpOpen. This fixes Shin Sangoku Musou Multi Raid 2, and probably other games with similar issue (ie. Dynasty Warrior Strikeforce) * Clients shouldn't try to detects timeout of other clients, because most of the time the client side doesn't have timeout information given, better wait for the host to tells them if a client got disconnected. * Sleep a bit longer, especially when PPSSPP paused. * Prevent spamming the log too much on some games * Fixed sceNetAdhocMatchingGetMembers error return value * Add option for the clear-fb-on-first-use speedhack. See #13295 * Resolve Adhoc Server DNS early and cache it so we don't need to resolve it again later. * Stop waiting for connection on Exit to Menu to prevent causing lags. * Combining PDP and PTP socket's array into a union array. Fixes Hot Shots Tennis that doesn't works well with socketId > 255 * softgpu: Correct cull handling for sprites. * Headless: Setup logman earlier. * GPU: Allow culling in through mode. * Plugins: Schedule plugins before game thread. * Plugins: Oops, typo. * Plugins: Support for loading game-specific plugins. * Module: Split out module start to use externally. * Simulate blocking PtpFlush * Allows blocking socket simulation on multiple threads simultaneously * Making use Adhoc SocketAlert Flags to stop/abort blocking sockets * Fixed return value when using Automatic Wlan Channel. Fixes Ridge Racer 2 and Warriors Orochi 2 * Changing default Wlan Channel to 11 on Automatic to be the same with real PSP * Prevent sceNetGetMallocStat from spamming Info Logs * TexCache: Correct detaching textures. * Net: Fix memory corruption on save old state. * Net: Correct save state from old loaded state. * TexCache: Rename "Invalid" attach to "Inexact". * TexCache: Always apply detach matches if found. * GE Debugger: Include game ID inside dump file. * Debugger: Add formats to breakpoint logging. * Fixed SceNetAdhocctlParameter structure * Added some more info in Debug Log to help debugging * Added another HexData printing with offset and ASCII contents to help dumping some data in the logs * Fixed an issue where the 1st line showing 17 bytes of data instead of 16 bytes like the rest of the lines * Ignore SIGPIPE error on certain system (ie. Linux) * An attempt to implement AdhocSocketAlert * Oops forgot to replace these numbers with const on adhoc socket reindexing PR * Imp sceKernelFindModuleByName * Reindexing PDP and PTP socket using const/var instead of using confusing raw numbers * Fix crash issue due to out of bound when indexing PDP socket * Add draft sceKernelFindModuleByUID (#13380) * Fix Phantasy Star Portable 2 Timeout issue * Fix multiplayer on Valhalla Knights 2 * Fix AdhocMatching P2P Mode. This fix Bleach Heat the Soul 7 * Fix crash in Digimon Adventures. * Minor changes to make sure the output struct/arg have similar value to the one from prx file (based on Kingdom Hearts BBS) * Don't allocate PSP's Memory during DoState * Fix communication issue with Adhoc Server where ping to the Adhoc Server sometimes getting socket error 10053 and disconnected from Adhoc Server * Fix possible stalled thread when PPSSPP closed down * An attempt to reduce the lags/stutters during multiplayer caused by improper blocking behavior. * Increasing the shutdown delay so that there will be at least one "4=sceUtilityNetconfGetStatus()" after "0=sceUtilityNetconfShutdownStart()" instead of directly to "0=sceUtilityNetconfGetStatus()" (just like what happen when using utility.prx file with KHBBS on JPCSP) * An attempt to differentiate adhoc connect, create, and join. * Oops we already have local mac stored in context, no longer need to getLocalMac again * Fix connection issue on games using AdhocMatching due to sometimes events are removed prematurely before being processed. This fix Gran Turismo where some peers could permanently be in "busy data" state. * Fixed possible crash issue due to lingering leftover callback events from previous multiplayer session. * Avoid using hleLog during a Shutdown * An attempt to sort AdhocMatching Member List in order to make a consistent list on all players (based on Host). Also fixed some disconnection issue on other players when a player is leaving the room on Gran Turismo and Patapon 3. * An attempt to make PDP and PTP ID to be unique so they can be polled properly together without getting conflicted ID. This fixes Gran Turismo. * An attempt to fix sceNetAdhocPollSocket to works properly. This fixes one of the multiplayer mode on Bleach Heat the Soul 7 * Making sure the 1st 2-bits on the 1st byte of MAC address' OUI are zero to prevent issue with some games (ie. Gran Turismo) * Default to P2P/Parent's MAC address if the target MAC on sceNetAdhocMatchingSendData is 00:00:00:00:00:00 (need to confirm whether this is correct or an error should be returned instead) * Ignores the 1st byte of MAC address when comparing, since there might be games (ie. Gran Turismo) that tries to tamper/change the 1st byte during multiplayer upon use. * Use >= 0x03080000 instead of 0x0307FFFF * Add a check in sceKernelTerminateThread * Look in the mirrors or not depending on whether the texture's address is in the mirrors (detected as a depth texture). * When going the other way, there can be multiple textures that need updating. * Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). * Reschedule after resuming thread from suspend. * Oops, crashfix for late change * Add some ONCE-reporting of multiple candidate situations * Forgot the if, oops. * Shrink the "Cardboard VR Off" button. * Test Drive: Allow virtual framebuffer copies. This eliminates the hyper expensive readbacks. * Apply the scoring model when creating/updating framebuffers too. * Switch framebuffer matching to a scoring model. * Extract AttachFramebufferToEntry function * GE dump loading: Try to use the correct GameID so compat.ini flags apply. * Add a check in sceKernelTerminateDeleteThread * Remove wrong assert. Should fix #13354 * cmake: Remove outdated ARMV7 define. * Global: Remove ARM64 define. * GPU: Avoid compile error if ARM64=1 specified. * TexCache: Try to avoid wrong texcache usage. * TexCache: Improve quicktexhash by ~1-4% on NEON. * Only clear when initializating kernelMemory and userMemory. * Virtual framebuffer copies: Make a more informed guess on appropriate pixel format. * Actually clear memory when initializating. * Delete an unused buffer, saving 0.5MB of RAM. * GPU: Remove ReliableHash aliases. * GPU: Hash CLUT using XXH3 with replacements off. * irjit: Switch to XXH3. * GPU: Switch vertex/lookup hashes to XXH3. * GPU: Remove neon xxhash implementation. * Vulkan: Type comparison warning fix. * unittest: Fix build on Android. * Common: Update to latest xxhash. * Net: Reduce PortManager log noise. * Throw in a minor simplification in depal. * Address feedback from #13341. * Fix final subpass dependency for depth * Correctly update image layout to the final one after a render pass. * Log validation errors normally as well as using OutputDebugString. * Improve LogSteps further. Break out PreprocessSteps. * Naming fix, better names for temp fbos * VulkanRenderManager: Improve logging. LogSteps output is much better. * Fix longstanding depth/stencil view issue in Vulkan. Cleans up validation. * Vulkan: Minor fix for depth/stencil pretransitions. Used DEPTH_ATTACHMENT_OPTIMAL by mistake in barrier. * AspectMask fix * Vulkan: Silly typo fix in barrier * Exception: Don't trust sigaltstack(). * SavedataParam: Be careful with const char* to string. Might help #13187 * Update lang submodule * http: Avoid logging errors for would block. * TexCache: Force recreate texture on detach. * Framebuffer manager refactor step 1: Split ApplyFramebuffer into Match and Apply steps. * Framebuffer matching: Don't try to match depth buffers with color if the swizzle bits don't indicate it. * Debugger: Check for no texture before debug bind. * GPU: Properly detect clears. * Quick Vulkan crashfix * Some minor logging improvements that get to tag along the previous commit * More explicit invalidation of any cached state in Thin3D. Fixes #13307 * UI: Use standard text wrapping for chat messages. * UI: Allow text to use native fonts. * UI: Split chat lines using Unicode. * GPU: Fix some case warnings. * Kernel: Avoid two different Heap structs. * Avoid using getaddrinfo during initialization as it could blocked the thread if there is no network * Audiocodec: Fix warning on older clang. * native: Minor header cleanup. * Windows: Show instance counter only with peers. * Net: Use locking consistently for instance counter. * Improve JPEG file detection (mainly for background image use) * Small mistake in sceKernelExitDeleteThread * Add a check in sceKernelExitDeleteThread * GL: Re-enable mipmaps for thin3d textures. * Windows: Make the instance counter go by 1, 2, 3. * Windows: Auto-enable GL validation (debug messages) in debug builds * More work on GL state leaks. Some things really need a redesign. * Net: Simplify local IP lookup. * Net: Cut down on local IP aliasing. * Use ppsspp error name * oop * Fix sceKernelExitThread * Add support for the 8Bitdo SF30/SN30 Pro controllers on SDL. See #13034 * Log the first 100 block transfers instead of just the first one. Should make it easier to spot interesting things without hacking the log code. * Some logging improvements. Show more coordinates for block transfers, etc. * Software renderer clipper: Don't clip on the sides. Fixes #4845 and should fix #7124 for the SW renderer. * Global: Unbreak build. * Buildfix * More Log.h cleanup. * Move MsgHandler into Log.cpp/h * More cleanup of Log.h, move AndroidAssert into MsgHandler.cpp/h. * First step of cleaning up Log.h. Plus a few other bits and bobs. * Fix undesired re-builds after runnning CMake * Buildfixes * Address feedback. * Switch to PPSSPP's assert functions (don't use the system's) * Fix newlines in logging before the manager is initialized. * Buildfix * Remove time_now() - time_now_d() is the replacement. Absolute time values can't be stored reliably in floats. * Android.mk fix * Update .editorconfig to match the encoding of the resource files. * Move timeutil to Common. (Experiment to see how much work it is to move these). * Address feedback * UWP buildfix * Vulkan: Fix tex upscaling 4444 swizzling. * Debugger: Oops, fix comment typos. * Finally delete base/logging.cpp/h. Carefully preserve behaviour on Android. * Fix build of ZimTool/AtlasTool. Had to break the ugly backwards dependency from LogManager to g_Config. * Getting really close to getting rid of base/logging.h now. * Even more base/logging.h removal and fixes * More base/logging.h cleanup * Remove base/logging.h in a whole lot more places. * Remove base/logging from a lot more files in native * Remove base/logging.h from a whole bunch of files in native * Remove base/logging from UI and more * Remove most instances of base/logging.h from Common, Core, GPU, more * Replace base/logging.h in VulkanContext and parts of native * Remove ELOG/ILOG/WLOG from the Android C++ code (mostly) * Recategorize some logging, in preparation for what's to come. * Fix menu navigation from axis in linux * Fix build with clang-cl * Fix SSE detection with clang-cl * Fix Windows/CMake build with Visual Studio * Shows AdHoc and Access Point Connecting... Dialog * Making sure std::min/max are not overridden by windows header's min/max * Moving reused adhoc function out of sceNet function to prevent getting extra SCENET log * An attempt to simulate a fake PSN authentication on Patapon 3 * Renaming sceNp* NIDs functions to their proper function names. * Really no need to call clear() in the constructor for AudioChannel. * Disable the instance counter in libretro builds. * Fix some minor issues found by address-sanitizer on Linux * UninstallExceptionHandler: Zero-initialize some structs. I've seen some weird crashes on the free() on Android. * Minor logging improvements * Global: Buildfix for parsers. * Global: Move string number parse to text/parsers. * Global: Reduce ini_file header complexity. * Global: Make stringutil includes more explicit. * Move Section out of IniFile so it can be forward declared. Unlocked further improvements to build speed. * Can't avoid sstream in ini_file.h, it seems. * Buildfix * Remove sstream from stringutil.h. See #13267 * libretro: Buildfix. * SaveState: Rename ChunkFile files to Serialize. * Global: Remove some unused header code. * SaveState: Split out Do types to reduce headers. * Audio: Avoid exposing fixed size queue in header. * SaveState: Add header to other makefiles. * Global: Remove unnecessary includes. * UI: Fix an override warning. * Audiocodec: Silence a known warning. * Global: Cut down on file/string includes. * HLE: Fix some missing error logging. * SaveState: Split Do() into a separate header. * Address feedback * Minor: Initialize a struct. Decrease logging in sceMt19937. * Remove partial comment * Vulkan: Implement depth texturing through depal. * Some fixes * Vulkan/generic: Initial prep for depth texturing * Optimize value conversion in (unused) depth readback. * These convenience overloads don't work in 32-bit builds, remove them. * Set debug names for more framebuffers and textures * Allow passing in an object name tag when creating framebuffers * Vulkan: Start adding object names for easier validation debugging * (Libretro) Buildfix for Windows * Remove double disable function on frame duplication * Enable pixel depth rounding for Nayuta no Kiseki. See issue #8744. * Logging improvement * Remove some unnecessary reporting. * Fix issue where after a backend change restart, the new instance was considered secondary. * Fix #13251 for D3D11. The remaining issue in #7124 should be fixed. * Expand the viewport to cover the scissor region, if it doesn't. Fixes #4845 (bloom in Dante's Inferno). * Viewport state conversion: Move the pixel scaling to after the overage clipping. * Remove the LARGE_VIEWPORTS separate path. The fewer paths the better, all need to work anyway. * Also correct the allocated size. * Correct the alignment size when allocate memory at a position. * UI sound fix * Be a little more aggressive discarding non matching framebuffers when texturing. Enable create framebuffer from copy, fixing #12345 * Texture from framebuffer: Logging improvements * Clarify, but don't yet remove, a perf hack for ES devices. Remove a unused sync parameter from readbacks. * Improve logging of unknown syscall imports. * Rename FramebufferDX9.cpp/h to FramebufferManagerDX9.cpp/h * Rename FramebufferVulkan.cpp/h to FramebufferManagerVulkan.cpp/h * Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency * Move a line to a better place * Expose SYSPROP_SYSTEMVERSION to Libretro Android core. This fixes crashes with targetSdk 29. * Fix Android Libretro build issues. * Fix texture upscaling and per game setting fix/cleanup * Off by default * Add a setting. Various tweaks to sound triggering. * Add a couple of more sounds. Rename some vars. * Hook up a couple more sounds. Unfortunately clickable back buttons now play both back and confirm sounds... * Hook up the first UI sound, make it play. * Read in WAV files for UI sounds * Initial sound effects * BackgroundAudio: Switch to a heap allocated buffer. * Consolidate BackgroundAudio.cpp into a class * libretro buildfix * SaveState: On section version failure, log out the name of the bad section. * Vulkan debug log: Remove some old exclusions, add a new one (for an old issue) * Minor logging improvements * Fix error in sceUsbMic savestate handling (need to accept old savestates without the section) * Fix crashes issue due to 0 is a valid index to types_, using invalid index like -1 should give a better/clearer stack trace * Save&Restore PSP Thread IDs to prevent using the wrong Thread ID after loading from save state, also making sure DoState have default value * UI: Simplify on/off for hardware tex scaling. * Vulkan: Allow custom texture upscaling shaders. * UI: Add setting for texture upload shader. * Lowering minVer of AfterAdhocMipsCall section. * Rearranged network's After PSPAction creation/registration so that newer one have higher value to prevent network's callbacks triggering the wrong after action after loading from old save state. * Update Vulkan headers to the latest, just to keep up. * Add some comments and const-correctness, and a pointer type fix, to the "semaphore" crypto stuff. * Reorganized Networking UI (#13232) * Init parameters in __UsbMicInit to avoid incorrect initial state when you exit to menu from ingame. * Patapon 3 Fix (#13231) * Imp sceUtilsBufferCopyWithRange and sceUtilsBufferCopyByPollingWithRange (#13206) * minor fix * BuildFix * Also partly implement in sceUsbCam. * Flush audio buffer when a transmission is completed. * Do state. * Use UTF-8 code page to get the device names. * Add basic Microphone support on Windows. * Fix alpha channel handling in xBRZ texture filter shader * Add two Kernel_Library's nids (#13218) * Added a fake thread to process Apctl Request Events into Apctl State Changes * Fix some lint warnings, and a "toast" on graphics init failure (instead of previous crashes) * Android: Reduce asserts during startup. * Some renaming and cleanup in the Android audio code * Android: Can't call AlertDialog.Builder.setOnDismissListener before JELLYBEAN_MR1 * GL: Add some paranoid checks. Remove a useless option. * Forgetting "return true" fooled the optimizer into crashing. Fixes #13215. * oop * Add two SysMemForKernel's nids * Add two ThreadManForKernel 's nids * Remove unnecessary vector from thin3d_gl texture handling. * Remove wrong comment * Don't trust the messy error checking in EmuScreen with figuring out what to do with zip files. * Reduce use of multi-byte char switches.. saw this go wrong when stepping!?! * ExceptionHandler uninstall: Don't crash if no exception handler already installed. * Add some threadman's nids * Added more stub for some unimplemented sceNetApctl* functions * Add two ModuleMgrForKernel's nids * Debugger: Add memory.read_*, memory write_* * Attempt to fix an issue when the 3rd player joined causing problem to other players on Patapon 3 (this may also affects other games that use AdhocMatching) * Added more info to AdhocMatching Logs to get a better insight * UI: Fix consistency in vsync setting for iOS. * Locking before changing peer linked list order, just to be safe. * (Libretro Windows) Buildfix * Added target/destination IP & port of sceNetAdhocPtpConnect in the log to get better insight * Fix some logs text * Fix an issue where a player got disconnected when another player tries to join. This should affects games that use AdhocMatching such as Patapon 3 * Small perf optimization in debug mode (surprisingly expensive to do a vector lookup here). * Libretro: Update minimum windows version to Vista. Committed on behalf of twinaphex * D3D11 - don't forget to unbind secondary texture when we need to unbind. * Just to be safe since SO_MAX_MSG_SIZE may not be available on all platform and forcing the definition to what windows use might be a bad idea. * Making mac2str function easier/cleaner/safer to use for logging purpose * Do UPnP stuff on it's own thread to prevent causing stutters/lags during multiplayer game due to blocking socket behavior on miniUPnP * Provides quick IP fill on Adhoc Server IP address setting to makes player's life easier :) * Need to make sure already connected to Adhoc Server before Creating/Joining a group. (Fix GTA VCS failed to join a group and unable to see any room) * Reconnect to Adhoc Server when disconnected while still having the AdhocCtl Inited (ie. due to timeout or network failure) so players doesn't need to reset the game to reconnect. * Fix issue when loading save state created from previous test version * Correct a crash on a missing kernel object. * Fix timeout comparison * Minor fixes * Fix possible crash issue during Networking Cleanup * Fixed PortManager fallback Cleanup issue when exiting PPSSPP due to early WSACleanup * Added an option to Disable Nagle Algorithm (Enable TCP No Delay) * Fixed UPnP port opened by PPSSPP detection, and Updated PortManager to be compliant to general purpose usage * Added a UPnP option to use original port for external port instead of using the shifted port by port offset, to be compatible with real PSP or other PSP emulators * Further libretro buildfix * Making sure there are no warnings on adhoc code when building on android studio * Fixed GvG Next Plus, Phantasy Star Portable 2, and some minor changes * libretro buildfix? * Attempt to fix compilation error on Linux * Fix Blinking game room issue on NFS Most Wanted, this will also fix lobby issue on Ridge Racer 2, Naruto Kizuna Drive, etc. * Backport Mac/iOS buildfix from a later commit * Use the alloc size from real PSP for FONT_OPEN_INTERNAL_STINGY mode. the * Added UI to change WLAN Channel. * An attempt to fix socket's behavior inconsistencies across platforms. * Implement ANR2ME's solution for miniupnpcstring.h * Oops * Create an Android.mk for miniupnp * Windows: Run the upnp string gen script regardless of architecture, and in UWP. * Update the gradle version again. * Add PortManager.cpp to Android.mk * Switch to my miniupnpc fork with a UWP fix * UWP: Unify linker options * Set up Windows UWP project for miniupnpc. * MiniUPNPC: Windows: Try to fix build on VS 2017, add more platforms. * Fix UPnP error detection * Added UPnP Support * Windows: Add command to load up a new identical instance of PPSSPP. * Temporary buildfix * Warning fixes * Backport a macOS buildfix from later * Fix Local IP detection on non-Windows system * Making sure Adhoc codes doesn't have compilation warnings * Enabling KeepAlive on sockets * Increasing the extra delays on Adhoc's callbacks just to be on the safe side, also decreasing the default network's timeout to be noticed sooner * making sure there are no alignment warnings related to member of packed struct on android * Improved multiplayer stability regardless of I/O Timing method * Fix i18n type * Improved multiplayer compatibility on some games (ie. GTA VCS, Naruto Ultimate Ninja Heroes 3, DBZ Shin Budokai 2, Power Stone Collection, .hack//Link, etc) * Another buildfix * Buildfix * Separate each AdhocMatching callback's buffer, since callback aren't immediately executed thus using shared memory address may corrupt previous data * Making sure adhoc callbacks runs on AdhocThread * Silence secondary instances. * PSP kernel: Improve logging when accessing bad kernel object handles. * Make the instance counter global and initialized at startup. * Remove some _XBOX stuff * Apply a few lines from "Added UPnP support", removing extra WSA calls. * Make PPSSPP_ID persistent every reset/changing game thus have persistent localhost IP * Excluding Android from multiple-instance feature because i'm too lazy to learn ashmem :D * Oops forgot to change this also for multiple-instance to work properly * Support multiple instance of localhost Multiplayer on 1 PC * Prevent reporting a bad memory access just because Tekken creates a mutex with a null name. * sceMpegAvcCsc: added range validity tests. * Buildfix * Third part of getting rid of PanicAlert * Step 2 of removing PanicAlert * Step 1 of removing PanicAlert * Remove category from _assert_msg_ functions. We don't filter these by category anyway. * Fix a bug in crashhandler where we could end up disassembling far too much. * EditorConfig: Separate indent style for libretro. * Display: Allow unthrottle to skip only flipping. * Support full VSync control in SDL OpenGL. * Improve some logging, and print the line number from PanicAlerts. * Update lang submodule * Eliminate an unnecessary global g_Vulkan. * Windows/Vulkan: Don't destroy the surface during resize, no need. * More buildfixes * Buildfix * SDL: Avoid destroying the surface on resize. * Cleanup log output on swapchain/surface recreation. * Buildfix. Checking _POSIX_VERSION is not recommended anyway. * Crash: Show disassembly of the instruction causing the crash, and the symbol name. * Split the fault handling from MemMap.cpp to MemFault.cpp. * Update README following unknows markup way * Savedata: Correct AM/PM and time/date settings. * Travis: Don't update python3. * Fix * (Libretro) Buildfix - add missing file x64Analyzer.cpp * Windows ARM fix, cleanup * Refactor MachineContext.h to reduce ifdefs elsewhere. * There's no sigcontext on 64-bit iOS either, apparently. * Yet another iOS buildfix attempt * Another iOS buildfix attempt * Various platform buildfixes * Make fastmem memory exceptions report the exceptions to Core correctly. * iOS buildfix attempt * HandleFault: Add missing nullcheck * Try USE_SIGACTION_ON_APPLE on IOS. * MachineContext, Linux/Android: Try to support android-x86 (32-bit) * Add x64Analyzer to Android.mk. Some minor cleanup * More info on crash screen * Exceptions: A bit more consistency in callback registeration. * Mac/Linux buildfixes * Draw a minimal crash dump on the emu screen after a crash (if bIgnoreBadMemAccess is false). * ARM/ARM64 instruction analysis, hook up to handler * Skip bad reads/writes by the guest executable. * Simple exception handler so we can ignore accesses that happen within the PSP memory space. * Switch to a fence instead for readbacks. Some sources suggest this is better than idling a queue or device. * Readback: Downgrade from vkWaitDeviceIdle to vkWaitQueueIdle. Probably effectively pretty much the same. * Osk: Draw shadows on all the letters. * MsgDialog: Show better error messages. * MsgDialog: Allow text to be wider. * MsgDialog: Add scrollbar when message is long. * PPGe: Draw nicer drop shadows. * PPGe: Handle text shadows more consistently. * Vulkan: Buildfix. * Vulkan: Make sure textures/samplers are unbound at the end of PresentationCommon::CopyToOutput. * Revert "Disable a new compiler warning that doesn't do us much good" * (Libretro) Add MSVC 2019 target * Change libretro.cpp to confirm to libretro code formatting conventions * Disable a new compiler warning that doesn't do us much good * (Libretro) Add optimal input read codepath - bitmasks * Remove irrelevant comment * Move the Vulkan swapchain out-of-date checking to the vkQueuePresentKHR call. * GLES: Invalidate framebuffers bound DONT_CARE. * Kernel: Check thread switch PC in release. * jit: Add some basic checks in armjit/arm64jit. * x86jit: Trigger exec exceptions. * irjit: Add jump crash checks. * UI: Allow non-ascii on crash dump screen. * Core: Track exception on bad jumps. * Core: Reset exception info on resume/reset. * Kernel: Add a bit more thread info on crash. * Add custom GLEW - interfaces with libretro get_proc_address - we need this for compatibility with DRM/KMS and Wayland contexts - otherwise we're limited to GLX context * Travis: Use the default macOS image. * Update v1.10.3 readme link * Expose more information on the crash screen (current kernel thread) * Address some feedback * Draw a minimal crash dump on the emu screen after a caught crash. * Formalize "core excpetions" as a concept * Some code reformatting/renaming * Centralize handling of memory exceptions a bit * Split CORE_ERROR into CORE_BOOT_ERROR and CORE_RUNTIME_ERROR * Update version for 1.10.3 * Update lang submodule * Update README for 1.10.3 * Travis: Disable OSX/iOS until we can fix them * Touch control layout screen: Make the expanded click zone around the controls symmetrical. * Kernel: Add a little paranoia check on chained mipscalls. * Fix decimal part * Touch control layout: Make dragging a lot less "jumpy" * TouchControlLayoutScreen: Reorder functions in the file to make more sense. * Refactor TouchControlLayoutScreen - break out the actual editor into a separate view. * (Libretro) Makefile build fixes * (Libretro) Buildfixes * Change wording of camera notch ignore setting * Update version for 1.10.2 * Update README.md for 1.10.2 * Add some paranoid checks in AfterMatchingMipsCall::run(). * Add automated script for link on readme * Android: Add option to ignore camera notches when sizing the display. * Remove unnecessary logging of preview formats * Link PR and issues in README * Screen: Unlock the inputLock_ mutex slightly earlier in processFinishDialog * Revert "Remove the I/O on Thread option - treat it as always on." * http: Check cancel flag more often. * Sneak in some paranoia in InstallZipScreen.cpp (another one from #13057) * Check that we actually got a preview size. * CameraHelper: Do a better job of choosing an appropriate preview size. * Add a try/catch to Android camera device listing. Might help #13091 and the issue seen in #13057. * Change default rendering resolution on Linux to auto * Fix radio button in "Window size" menu * Update submodule URL * Fix reliability of the CMake generated version * README.md update * Update version to 1.10.1 * Update README, lang submodule for 1.10.1 * SaveState: Prevent edge case on old save state. * SaveState: Make sure to default init net data. * Add some excessive null checks to GameScreen::render(), might fix the crash seen in #13057 * Disable the "Duplicate frames" feature if frameskip != 0. Works around / Fixes #13068 * Some paranoid checks in PPGeDraw. Might help the crash seen in #13047. * Downloader: Join threads in CancelAll * D3D9: Fix a sign mistake generating the projection matrix. Fixes #13063 * Different handling of Download lifetimes. Might help an issue from #13057 (1.10 crash mysteries) * cmake: don't install bundled glslang * Qt: unbreak build without SDL * TextureDecoder: Fix misuse of NEON on all armv7 * Vulkan: Correct secondary texture binding in Draw. * Draw: Allow 2 textures bound in Vulkan. * GPU: Add sampler1 for postshader orig source. * Draw: Fix textures and samplers at an offset. * Draw: Use uniform locs for GLES, add samplers. * GPU: Alternate FBOs for chained postshaders. * GPU: Avoid immediate postshader FBO recreate. * Android: Request stable layout and update on focus. * GLES: Use debug groups for render steps. * GLES: Avoid duplicate state resets. * GLES: Delay buffer use in vertex cache. * GLES: Fix disabled vertex cache code. * GPU: Try a bit harder to determine safe size. * Vulkan: Match safe size behavior on all backends. * Io: Fix LBN timing for virtual discs. * Io: Cleanup access bits for files. * Headless: Handle umd mapping with block devices. * Io: Open sce_lbn references and whole ISO faster. * Io: Account for OpenAsync timing. * Io: Fail without fd on bad device in OpenAsync. * Io: Improve non-async open timing. * Io: Track whether the game is on a UMD or storage. * Io: Simulate VFAT bug only when simulating FAT32. * Io: Improve timing of sceIoOpen(). * Io: Cleanup sceIoOpen errors and logging. * Windows: Make init crash warnings more generic. ------------------------------------------------------------------- Tue Jul 21 07:56:27 UTC 2020 - Michel Normand <normand@linux.vnet.ibm.com> - Add Excludearch for PowerPC ------------------------------------------------------------------- Sat Jun 27 17:39:57 UTC 2020 - pousaduarte@gmail.com - Update to version 1.10~git20200627: * Update version number to 1.10. This required changing the Android version code pattern, but should be ok. * Update lang submodule again * Archive changelog for older versions * Add https://github.com/hrydgard/ppsspp/issues/11974 * Update lang submodule * Partly clean up SDL resize code, should help #11974 * Enable Vulkan validation in SDL debug builds * Update Lang * Minor style * Update readme for v1.10 * Logging improvements and warning fixes. * Finish the Linux part of this change * Vulkan: Recreate the swapchain if we get too many "out of date" frames. * Buildfixes * Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway. * Simplify the validation interface code, bugfixes * Vulkan: Remove support for the old VK_EXT_debug_report extension * Update lang and pspautotests submodules * oop * oop * Fix by @unknownbrackets * oop * Add a sceOpenPSID_driver nid * Add sysclib_strncmp,sysclib_memmove * Reuse some already translated strings * ColorConv: Fix typo introduced in #12882, fixing #13014 * More README updates * More README.md updates * Don't forget rpi4 * Incorporate unknownbrackets' suggestions for the README.md update. * iota97's suggested README.md items. * Android: Fix odd screen centering with insets. * Update lang submodule. * Update README.md for 1.10.0. * Real support Code Geass: Lost Colors chinese patched version * Some work in sceKernelPartitionTotalFreeMemSize,sceKernelPartitionMaxFreeMemSize * Add Kurok (homebrew with a distinctive GameID to compat.ini ForceMax60FPS. Fixes #13025 * Add some ThreadManForKernel nids * Change to @unknownbrackets logic * oop * Add sysclib_strstr * Link to buildbot builds of PPSSPP * Add sceKernelStdout * Kill the log as @hrydgard suggest * Reduce sysclib_memcpy log level * Real support "Hatsune Miku Project Diva Extend" chinese version * Fix logging as @unknownbrackets suggest * Wrap sceKernelUnloadModule in ModuleMgrForKernel * Wrap some SysMemForKernel * Forget HLE_KERNEL_SYSCALL flag * Wrap sceKernelExitVSHKernel * Warp some ThreadManForKernel * Fix some bugs and style for #12994 * rudimentary serch function added for the memory dialog * Code style fix * Revert "Repeat of the experimental commit, was too fast for the build bot." * Repeat of the experimental commit, was too fast for the build bot. * Revert "Experimental commit: Bump up scratchpad size so that Android will act like Windows in #10196 (Spider-Man 3)" * Experimental commit: Bump up scratchpad size so that Android will act like Windows in #10196 (Spider-Man 3) * VFPU interpreter: Improve some error messages, after seeing a bad one in #10196. * We need to check for renderpass change and dirty here too. What a mess.. * Annotate calls to RebindFramebuffer with their cause. * Vulkan DrawEngine: Move the renderstep changed check until after the last place where it can change. * Disable range culling for MGS:PW and MGS:PO. See #12348 * Typo fix. Will hopefully help #12992. * Have DisplayLayoutScreen implemented insets manually. Gave up refactoring it. * Handle insets correctly for the in-game final screen blit. * Minor refactor in PresentationCommon (combine loose coordinates to a struct) * VulkanQueueRunner: Fix some uninitialized struct members (not sure if it has any effect) * oop * Remove log as @unknownbrackets suggest * add raspberry pi 64 bit build files * Experimentally enable pixel-depth-rounding for Tales of Phantasia, tries to work around an Exynos driver bug. * Time to update gradle again (Android Studio 4.0 was released) * Fix minor bug in StereoResampler debug display * UWP: Fix safe insets. * Vulkan: Ensure depth/stencil load match on Mali. * Vulkan: Trivially kill more empty steps. * Travis: Build UWP also. * UWP: Link ChatScreen. * UWP: Stub new inputbox system func. * UWP: Buildfix for controller vibration. * UWP: Add libpng17 include path. * UWP: Include TextDrawer in main MSVC project. * UWP: Fix TextDrawer with latest changes. * Thread: Default to kernel threads from kernel. * GPU: Don't allow step id to decrease at a sync. * Vulkan: Correct viewport flag reset on rebind. * GE Debugger: Fix alignment in GE dumps. * Do a similar thing for D3D (let the backend handle the dirtying). * OpenGL/Vulkan: Rework the contract around dynamic state. Removes some ugly dirtying from the GL render manager. * UI: Lock around removal from dispatch queue. * Remove all those "GLES reset the blend state" comments. * GLRenderManager: Removes some redundant dirtying. Preserves blend state (color mask) across clears. * Vulkan: After binding a new framebuffer, we always need to dirty the viewport/scissor state. * DarkStalkers: Handle the "normal" screen stretch too, not just "wide", to avoid a surprising performance drop. * Exclude a couple more commands from re-execution in ReapplyGfxState. See * GPU: Don't reapply LoadClut each frame. * PPGe: Left align messages in dialogs. * Windows: Workaround for custom build step error. * Windows: Avoid calling git describe 3 times. * SDL: Try to continue if EGL init fails. * Windows: Move git-version update to build event. * Global: Add more other platforms to MSVC project. * Support chain * Memory reading CWCheat * Add postprocessing CWCHEAT ------------------------------------------------------------------- Sun May 24 11:07:43 UTC 2020 - Carsten Ziepke <kieltux@gmail.com> - Add QT5Multimedia as build requirement. Fix building of the Qt frontend. - Add %define _lto_cflags %{nil} to spec file. Fix building for Tumbleweed. ------------------------------------------------------------------- Sat May 23 21:47:35 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200523: * Headless: Fix flash0/font path. * Debugger: Avoid symbol map if deleted. * Debugger: Don't break during startup. * Android: Buildfix. * GPU: Never set safe size larger than the buffer. ------------------------------------------------------------------- Fri May 22 20:12:29 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200522: * [Camera/V4L] Add support for jpeg and multiple buffers * Windows: Ask for a specific device on failure. * Windows: Avoid WASAPI init for a bad format. * Windows: Avoid crash for a mono output format. * Ge: Check stack depth based on args struct size. * GPU: Ignore viewport for scissor of 481. * Vulkan: Label render passes in RenderDoc/etc. * Vulkan: Cleanup some duplicate code. * Correct an issue where reformat didn't work if no renderpass was active due to the use of clear. * Remove a redundant framebuffer bind in CopyDisplayToOutput * Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step"). * Move the check from #12908 into the firmware version check. * Vulkan: Avoid stencilAction != depthAction. * Vulkan: Check driver version for Adreno 5xx bug. * Vulkan: Move Harvest Moon fix to Draw::Bugs. * Vulkan: Stencil initialization: Use the adreno path for Mali as well. * Fix a case of pointer truncation in Vulkan on 32-bit. Fixes #12932 * Vulkan crashfix (pNext was uninitialized) ------------------------------------------------------------------- Tue May 19 09:13:42 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200519: * Vulkan: Fix leak and remove extra allocator. * Vulkan: Create FB compatible pipelines in Draw. * Vulkan: Expand logging of render steps a bit. * D3D9: Avoid clearing color on stencil upload. * GPU: Avoid unnecessary clear on stencil upload. * Revert "Experimental commit that effectively reverts the Vulkan part of #12882." * Experimental commit that effectively reverts the Vulkan part of #12882. * Fix the Windows 32-bit build. * Track scissors like we track viewports (bugfix?). * Show "debug build" on the splash screen, in debug builds. * Vulkan: Switch the framebuffer-rebind-to-clear on reformat to, well, a normal clear instead. * Vulkan: Verify scissor as well. * Vulkan: Add asserts to catch no viewport render. * UI: Take reporting screenshot at frame end. * Vulkan validation: Switch to the new Khronos validation layer shipping with recent SDKs. * Vulkan: Stop merge at clear/touched read only. * Vulkan: Make merge pass a bit easier to read. * GLES: Fix invalidation of backbuffer. * Vulkan: Generalize dependency tracking. * GLES: Add dependency tracking for render passes. * GPU: Centralize framebuffer download. * Buildfix * Remove the Audio Resampling setting (now always on). Having it off is not useful because it'll never sync up perfectly over time. * Revert the loop check in StereoResampler, new one could accidentally keep looping when underrun severely (like if emulation stopped). * Add more debug info in scePsmfPlayerStart * Make the IsValidPBP DISC_ID check a bit more lenient. Fixes an issue where some homebrew would no longer show in the list. * Fix homebrew store button to work even after changing grid layouts (it lost its click handler) * Fix a crash bug in homebrew store * Remove our custom atomics code entirely. * Convert atomic code in core and ConsoleListener to use C++ atomics * Reduce the SDL audio buffer size, 2048 is a bit excessive. Port the changes to the Qt SDL code. * StereoResampler: Make sure the target buffer size is large enough, taking SYSPROP_AUDIO_FRAMES_PER_BUFFER into account. * Rename things to make more sense. * StereoResampler: Use C++ atomics * Add some vaguely interesting stats * SDL: If we get an audio device with a different freq than 44100, that's actually OK. * arm64jit: Track writable and non-writable pointers. * Mp4: Cleanup some parameters. * cmake: Fix rpi4 build on newer gcc. * GPU: Fix an overflow loading old save states. * GLES: Specify buffer type just to be safe. * arm64jit: Minor cleanup. * GPU: Allow each shader in chain to have settings. * UI: Translate shader setting names. * GPU: Keep last output size in chained postshaders. * GPU: Prevent infinite loops in postshader chains. * GPU: Force nearest only for the upscaling filter. * GPU: Move calculating render res to presentation. * GPU: Allow postshaders to have parents. * GPU: Update postshader uniforms for each. * GPU: Process all postshader pipelines. * GPU: Cleanup a comment, we use shorts now. * GPU: Move things around to be per postshader. * Simplify how to get the debug stats from StereoResampler * Fix comment * Qt fix * Only show frames per buffer if the number is available through sysinfo * Oops, need to pass an (invalid) slot number in headless too. * SDL: Show the actually used sample rate in system info. * oop * Fix "Improved compatibility of sceGeListEnQueue: verify that stackDepth < 256" * Display the savestate slot number when saving and loading state through shortcuts. * Very minor optimization in PresentationCommon (don't upload the indices every frame). * Fix per game setting and pack setting in vec4 * Use map for settings * Post shader setting uniform * Thin3D: use 16-bit indices. Fixes #12898. * GPU: Oops, don't skip copy if stride different. * Fix DarkStalkers after the just-merged refactoring. * Draw: Small optimization to callback. * Libretro: Add libpng17 to include flags. * GPU: Take A off RGB565 conversion funcs. * GPU: Use texclamp for postshader/present draw. * GPU: Centralize DestroyAllFBOs(). * GPU: Cleanup presentation flipping a bit. * D3D11: Allow pixel shader uniforms in Draw. * GPU: Cleanup skip buffer texture draws. * GPU: Simplify direct render when skipping buffers. * softgpu: Fix postshader on 5551. * D3D9: Attempt PS/VS 3.0 if it doesn't work with 2. * GPU: Use postshader for direct VRAM draws again. * GPU: Use a texture directly for MakePixelTexture. * softgpu: Avoid RB swizzle when using a postshader. * Vulkan: Allow frag shader UBO reads. * Vulkan: Correct missing offsets in Draw. * Vulkan: Correct postshader sampler binding. * Draw: Actually use the index offset parameter. * softgpu: Enable postshader support. * GLES: Fix reuse of vertex data buffer. * GPU: Cleanup leftover postshader stuff. * UI: Allow postshaders on D3D9. * GPU: Move post shader handling to new class. * D3D9: Enable postprocessing of post shaders. * Draw: Enable backwards compat on D3D11 shaders. * Draw: Add more uniform types. * Draw: Allow specifying a tag on shaders. * GPU: Move a bit more to new display approach. * softgpu: Allow display rotation. * softgpu: Allow configuring Google Cardboard. * GPU: Move cardboard/etc. to PresentationCommon. * Vulkan: Fix Draw usage of framebuffers. * GPU: Split FramebufferCommon into two classes. * softgpu: Fix texture overlap. * GPU: Handle buffer overhead in postshader uniforms. * Android: Oops, fix start with space in filename. * Global: Add some defs for MSVC highlighting. * Temporarily disable YuGiOh save fix (experiment in issue #7914) * Improved compatibility of sceGeListEnQueue: verify that stackDepth < 256 * D3D11: Better set current texture to null first, otherwise we can run into another issue. * Fix a comment * D3D11: Fix a bind ordering issue in depal (only a problem with debug layer enabled) * ColorConv: Fix a few conversions that missed the lower bits of each component. * Vulkan: Don't merge render passes where the second one begins with a clear. * Android: Avoid multiple resizes in a row. * UI: Add more options to touch test screen. * UI: Return to game settings after restart. * Windows: Fix GL reinit on backend switch. * Android: Move a bit more size handling. * Android: Reassert sustained perf when going ingame. * Android: Refactor size maintenance to own class. * GPU: Minor lighting cleanup in software transform. * GPU: Split up software transform into phases. * Windows: Add safety checks to WASAPI code. * GLES: Add safety handling for offset depal. * GPU: Calc framebuf offset with right params. * GPU: Avoid a texture offset change in sw transform. * GLES: Simplify the framebuf offset detection. * Vulkan: Framebuffer manager: Use an allocator for "MakePixelTexture" images. * compat.ini: Turn on ForceUMDDelay for Innocent Life. See issue #2830. * iOS/macOS : set bundle version * iOS : File association * compat.ini: Set ForceMax60FPS for Super Monkey Ball Adventures. See #7674. * Make PPSSPP visible in OUYA launcher * Fix: touchscreen evens on upcomming SDL2 versions which includes the same functionality but inside the library * And another mumbo jumbo game (#12857) * Enable ForceMax60FPS for games published by MumboJumbo. See issue #12857 * Vulkan: Discard negative width/height framebuffer blits. Will likely help #12531. * Address additional feedback from Unknown, finally * Assorted fixes (build and crash) * Use PPSSPP's kernel interface to retrieve Heap objects * Address Unknown's feedback * Change to info log * Attempt to make save status * Fix crash in sceKernelDeleteHeap * Attempt to build fix non-windows * remove comment * Try to Implement SysMemForKernel * Move SysMemForKernel to sceKernelMemory * oop * Wrap some SysMemForKernel's nids * Update <Share> dialog on Android 10 * iOS Share PPSSPP * Travis: Handle new package versions better. * PPGe: Remove half-pixel offset. * http: Fix thread join on enable/disable. * "Unify" the credits screen. Fixes #12844. * Android: Don't cache env in text drawer. * Update gradle again * GLES: Disable range culling on old Tegras, they seem to misbehave (see issue #12838). * update VS projects * D3D11: Always use accurate depth. * Windows: Send resize when adjusting render mode. * Add "Switch UMD" menu point to Linux version * Improve code readability * Implement PPSSPP specific cheats: * Update more Linux version menu points to correspond to Windows ones * Remove leftovers * Add "Record" menu group to Linux version * TextureReplacer: Generate a default value in the ini files for ignoreMipmap. * Add "Enable chat" menu point to Linux version * Auto rotate over a square * Fixes (stage 3) * Update TextureReplacer.h * Update TextureReplacer.cpp * Fixes (stage 2) * #8714 Unified resolution scaling for all platforms. * Add option to prevent Mipmaps from being dumped * Fixes (stage 1) * Turn on [ForceMax60FPS] for "Fat Princess: Fistful of Cake". Benefits loading times etc. * Update "File" menu to match Windows version * Update "Emulation" menu to match Windows version * Update "Debug" menu to match Windows version * Update "Options" menu to match Windows version * Update "Help" menu to match Windows version * UI: Respect insets with on-device debug stats. * GE Debugger: Prevent crash when stopping execution. * GLES: Update shader uniforms after apply state. * Cheats: Fix use in homebrew on start. * Cheats: Cleanup global usage. * UI: Cleanup old specialized checkbox. * UI: Monitor cheat file changes on cheat editor. * UI: Update cheat file more safely. * UI: Use standard back and checkbox in cheats UI. * UI: Prevent changing memstick path in game. * u8_clamp clean up * Squash commit ------------------------------------------------------------------- Thu Apr 09 17:23:54 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200409: * Travis: Cache macOS python build as a bottle. * Audio: Remove latency setting. * GLES: Re-enable non-float depal shader path. * Update gradle again * x86jit: Force INF * 0 to +NAN. ------------------------------------------------------------------- Mon Apr 06 09:08:01 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200406: * Windows: Prevent applying -1 as inset space. * Windows: Ensure we resize after hw transform swap. * Headless: Fix compile on Android. * UI: Small cleanup in touch control layout editor. * UI: General cleanup in layout editor. * UI: Prevent drag drift in layout editor. * UI: Make display layout editor support 1x PSP. * Fix SDK requirements of Atlas and Zim tools. * Net: Correct pool allocation. * GPU: Track HW tess at start of frame too. * GPU: Reset hw transform once per frame. * GPU: Move hw transform decision to draw engine. * GPU: Update uniforms w/ consistent render mode too. * GPU: Use consistent buffered rendering state. * Setting the width and height to 0 made the frameskip unusable on lakka/libretro with a XU4 with a MALI GPU T628. The result was that bad flickering happened when in frameskip mode. Once it reached 60fps, no flickering, below that flickering. This change fixes the flickering and calls video_cb with the correct height and width. * Travis: build libretro android ------------------------------------------------------------------- Sat Apr 04 11:34:37 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200403: * libretro: Fix Android builds * Mouse 4 as back in menu navigation * android: include path fix ------------------------------------------------------------------- Thu Apr 02 10:30:56 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200402: * Android: Change the display length for "toast" message to Toast.LENGTH_LONG * Touch layout clean up * UI: Properly clamp control positioning in edit. * [iOS] Notch support * Additional rendering fixes for notch * Fix landscape/reverse landscape cutout padding issue, see #12779 * Update the lang submodule * Support drawing around notches on Android displays. Fixes #12261 * Target Android SDK 29. * Vulkan: Pick shaders after calling ConvertStateToVulkanKey because it may end up disabling shader blending * Fix duplicate translation ID * PPGe: Slightly reduce the font size, might help #12764 * Windows: Show a message when failing over backend. * Back to ERROR * Remove outdated code that reset the logenabled flags on non-Windows. Fixes #12291 * Minor log improvement in BlockDevices.cpp * Rember cheat scroll position * HLE: Oops, make sure we don't deadbeef mips calls. * macOS: Fix build * SaveState: Correct compat load with OSK changes. * PPGe: Fix dialog button positioning. * UI: Prevent stretching game icons on detail. * Do not apply sensibility of deadzone skip * Fix translation things * Enable chat input for SDL * Skip deadzone option on tilt * HLE: Fix some misleading logging. * Windows: Fix strange build error. * UI: Translate HAT and left analog the same way. * Use 2 different button for CW and CCW * Core: Add argmask for threadhacks to prevent crash. * GPU: Treat negative light exp same as 0. * Android: Reassert immersive after input dialog. * cmake: Improve building with the system libpng. * Osk: Correct UCS2 conversion. * Auto rotating analog * Camera: Fix missing return warning. * Remove some more uint16_t * More correctly handle UCS2 encoding. * Address feedback * Support a few more wstring functions on non-windows platforms, due to the armips assembler. * Text input: Clearly use 16-bit chars like the PSP, don't rely on wchar_t. * PPGe: Avoid crash with missing metadata. * HLE: Make calling mips funcs simpler. * GPU: Assume a scissor of 481x273 is a mistake. * Io: Apply VFAT hack only to dirs <= 8 chars long. * UI: Allow startup without UI assets. * UI: Avoid crash when atlas metadata is missing. * UI: Avoid cached booleans for simple globals. * UI: Disable render dup frames where it can't work. * Font: Prevent crash on game exit. * Android: Fix dismiss of OSK dialog. * Reporting: Log SceIoChstat calls. * GPU: Avoid divide by zero in garbage displaylist. * GPU: Fix memory corruption with bufw > w. * Add more assets directory paths. * Correcting return value of some mipscalls without after action. * Qt: Correct DPI accounting in font rendering. * cmake: Disable discord-rpc for libretro builds. * Fix the logic around postEffectRequiresFlip so duplicateFrames doesn't require a post shader. * Vpl: Correct allocation order when splitting block. * Core: Use full memory for ELF files. * Reset the useAllocCallbacks on font init. * Buildfix. * Display: Update latched fbaddr on immediate update. * Fix states. * No need to manually decide pending or not for mipscalls. * Net: Stub network sign-in dialog. * Net: Support NETCONF_CONNECT_APNET_LAST request. * NetAdhoc: Match init/term behavior better. * Net: Better simulate sceWlanGetEtherAddr timing. * Net: Handle memory allocation better. * Add option to improve frame pacing through duplicate frames if framerate is below 60hz. * UI: Rebind the backbuffer when drawing UI. * Switch: Add EGL interface. * Kernel: Rename conflicting kernel object names. * Font:alloc/free memory for font file and char bitmap. * Vulkan: Blacklist on Switch. * Core: Add some libnx calls for Switch. * Core: Use a lock for i18n categories. ------------------------------------------------------------------- Wed Mar 11 19:09:34 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200311: * PPGe: Clear unused parts of text image buffers. * PPGe: Correct double spacing in some save text. * libretro makefile fix * Camera: Simplify an expression. * Core: Quiet some warnings. * Android: Delay TextDrawer init in PPGe. * PPGe: Show ellipsis for overly long lines. * PPGe: Use TextDrawer for save UI if available. * PPGe: Make some of the API internal only. * PPGe: Support 8-bit text bitmaps from TextDrawer. * PPGe: Allow overriding text drawer DPI scale. * Qt: Cleanup differences in text hashing. * UI: Refactor TextDrawer to provide bitmaps too. * UI: Minor cleanups to chat UI code. * Fix capitalization of mfreadwrite.h include ------------------------------------------------------------------- Tue Mar 10 13:53:01 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200310: * Windows: Warn if Windows Firewall blocks PPSSPP. * http: Show more detailed status when scanning. * http: Correct new thread executor. * Android: Enable native keyboard for OSK. * softgpu: Correct clear/solid rect BR corner. * Android: Fix upside-down joystick navigation (due to an old sin). * New heuristic for getting rid of unnecessary "antialias-lines". * THe proposed Hive Sweeper fix in #11025 looks right, let's just commit it. * Possible fix for libretro build issue. (blind commit, untested) * Osk: Prevent adding highlighted char past limit. * Core: Avoid shadowing a define. * Io: Correct some error handling for OpenFile(). * Android: Avoid translation conflict in translation. * UI: Move Camera settings lower in Graphics. * Android: Process input prompts more clearly. * UI: Make System_InputBox API asynchronous. * Vulkan: Track down another one of those minor resource leaks. * Module: Reinit gpu only on runtime module load. * Android: Reload game config on storage permission. * Android: Ensure we forget the shortcut on next run. * Update lang submodule * UI: Temporary solution to the layout issue: Remove the gear button from the recent screen. * Vulkan: Ensure scaling happens in cached RAM. * Headless: Prevent crash running graphics tests. * Vulkan: Fix minor vulkan resource leak if inflight frames isn't max. * UI: Simple joystick navigation. Fixes #10996. * Comment fix * Also move out the global stuff from view.cpp/h to root.cpp/h * UI: Break out the hierarchy functions into ui/root.cpp/h * Minor cleanups * UI: Ignore invalid PBPs in game browser. * Tweaked chatbox a little bit * Fix chat color formatting * Fix building errors * Update ab.cmd * group chat options and set enabled ptr * Bug fix * Quick Chat * Add virtual key for opening chat * Rebased and fix the update scroll * build fix * chat screen & chat button position and hide ui on show chat * remove pointer and using update() should fix random crash (thanks Uknown) * Add translation of "You're in Offline Mode" * Build fix for Linux QT * Add support OSK for windows * Android chat empty after : fix * pointer and scroll fix * cmake buildfix * Windows CTRL + C Hotkey * Add New Chat Counter * Android Chat Support * Oops it still random crashed destructor do the fix well * pointer fix random crash & better substring logic * Add translation * Enable chat box * PPSSPP early chat feature rebranched ------------------------------------------------------------------- Fri Mar 06 22:15:41 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200305: * Let's wait 5 frames * Fix wheel up/down and additional mouse button * Android: Fix glslang include path. * Force Polar's Puzzles to use accurate UMD timing. Should help #12677 * Add the glslang include path in another place * http: Avoid detach() in webserver code. * Core: Bring over some file related Switch changes. * Another attempt * Fix atlas tool build on linux * Also try to fix the legacy Android build. * CMake buildfix * Update the glslang submodule, fix the build afterwards. * Better smoothing and added missing break on MOUSE_WHEEL * Fix excessive scroll * Warning fix. * Attempt to replace 0 frame width with valid frame width.(sceMpegAvcCsc) * UI fix * GPU: Restart when changing inflight frames setting. * Fix weight * Move clear game list to new menu * Update lang submodule * GPU: Use old frame when presenting a skip. * Address some feedback, thanks unknown * Fix toggle * GPU: Allow choosing number of inflight frames. * Vulkan: Allow alt speed above 60 with vsync. * Rebase on master * GPU: Add setting to control inflight frame usage. * Warning fixes * Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK). * Fix bug in atlas gen. * Switch all images to dynamic lookup in the atlas by string ID. * Get rid of atlas tables. * Update atlas building scripts * Modify atlas generator to output binary metadata * D3D9: Allow vsync change at runtime. * D3D11: Respect vsync setting. * Vulkan: Present using FIFO for vsync. * GPU: Centralize vsync interval logic. * UI: Respect resize flag during graphics init. * Debugger: Stop remote server in full shutdown. * Remove support for "lowmem" UI atlas. Had to regenerate unfortunately. * And 2017 again... * Delete unused support for ETC1 texture compression * And fix it on 2019... * Recreate the VS projects in 2017 * Code cleanup * More VS2017 compat * Reformat the atlastool/zimtool source, fix warnings. * Atlastool/zimtool: Try not to require VS 2019. * Atlastool/zimtool: Make it easy to build these on Windows (prebuilt submodule) * Log shader contents to VERBOSE instead of DEBUG. * Update gradle again * ScanForFunctions: Drastically speed up by only trying to insert the newly found functions into the symbol map. * Rename func. * Check whether the audio is actually played in psmf player * Rename rapid fire touch control * Add toggle flag to combo button * Fixes * Switch mode only if needed * SDL analog mouse input ------------------------------------------------------------------- Sat Feb 29 00:06:59 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200226: * Better align and spacing of UI element * Better UI for game version in list view * Toggle mute button * Go for Abbanon approach * Scale font down a bit * Improve stability on non-jailbroken devices * Add a option for game ID+version as well * Show region on game selection screen * Kernel: Delay better in sceKernelReferThreadStatus. * UI: Separate sleep time in frame time graph. * UI: Show refresh rate on more platforms. * UI: Correct refresh rate display. * HLE: Replace Motorstorm pixel read func. ------------------------------------------------------------------- Fri Feb 14 14:00:29 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200212: * UWP: Update "certificate thumbprint" to one that works * Fix linking issue in the UWP build (add camera files to project) * Add some reference line * Framegraph in devmenu ------------------------------------------------------------------- Mon Feb 10 19:34:00 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200210: * macOS permissions * QT Api for Camera (Linux/macOS) * Core: Use a shared_ptr for i18n categories. ------------------------------------------------------------------- Fri Feb 07 22:15:21 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200207: * HttpClient/Buffer: Just some tweaks/sanity checks * libretro: android: ios: Add stub camera functionality * libretro: android: Do not build in the standalone UI * Modify Info.plist automatically * NativeApp: add System_GetPropertyFloat all the places * Qt/macOS: enable HiDPI ( retina display ) support * Remove unused import. * Use System_GetPropertyInt(SYSPROP_SYSTEMVERSION to retrieve version. * Use ASharedMemory api instead of direct access to /dev/ashmem which is deprecated. * compat.ini: Workaround for timing problem in Hot Wheels, see #12604. * Rapid fire touch control * DX9: Simplify some expressions * GPU: Only GL uses a flipped buffer in non-buffered, reflect that in the SW transform code. * Apply viewport before SoftwareTransform so flipping can be checked * OpenGL: Call ApplyDrawState before SoftwareTransform * DrawEngineDX9: Rename lookup table, cleanup ------------------------------------------------------------------- Fri Jan 31 08:53:15 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200127: * Add new listeners in addition to those present which are deprecated * Core: Future proof CSO support a bit. * Location: add HDOP; change speed to km/h; change altitude from geoid to sea level * Do not stop camera if unnecessary * Android satellites info * Common/Hashmaps.h: add missing <stdint> include * Update macOS system name * Add camera/location support for iOS * Don't shut down camera when exiting games,also re-enumerating devices if * SDL app icon * Avoid divison by 0 * Remove extra newline * Snap resize ------------------------------------------------------------------- Thu Jan 23 13:42:10 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200121: * Partial workaround for #12588. Cameras are now gone from settings though after playing one game... * D3D11: Fix mistake in UI vertex shader for non-textured geometry. Fixes #12587. * Add support for iOS ( completely untested ) * Initial support for vulkan on macOS ( MoltenVK ) * Revert "Android EGL config: Always require 8888, stencil if version >= ICS" ------------------------------------------------------------------- Fri Jan 17 19:38:27 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200116: * Add camera support for linux (V4L2) * Add DEFLATE and MD5 to HLE module blacklist. Replaces #12576, fixes #12570 * Flush other UI element draw before changing to noTex * Fix line rendering in texmode * Render grid * BuildFix2 * Oops * Improve compatibility. * BuildFix * Add camera support for windows. ------------------------------------------------------------------- Tue Jan 14 22:16:32 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200114: * Add another game controller mapping. Fixes #10679 * Loader: If the module range is bad, don't get stuck trying to scan for functions. * Update lang submodule ------------------------------------------------------------------- Sun Jan 12 21:15:26 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200112: * Async I/O: Don't delay on close. Fixes #12549 (MGS:PW crash). * Warning fix * Upload new Gold icon for Windows * PRX Decryption: add pauth decryption * PRX Decryption: add missing decryption keys * PRX Decryption: add support for gzip compressed executables * PRX Decryption: add support for type 0/1/2/5/6 decryption * Windows: Mark PPSSPP as long path aware. * Windows: Make TEMP dir detection long path aware. * Windows: Allow long path for sys directory. * Windows: Support long My Documents paths. * Windows: Allow longer paths in browse for folder. * Windows: Make memory dump long path friendly. * Windows: Allow read only files in load dialog. * Windows: Make open/save dialogs long path aware. * Windows: Resolve module/full paths for long paths. ------------------------------------------------------------------- Sun Jan 05 22:04:24 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200105: * Don't check auAddr. * Check invalid address in sceMpegAtracDecode. * Update submodules assets/lang, ffmpeg * Add headbar icon to Qt * Qt: don't return dangling pointer * Don't use the MAP_32BIT flag on any platform. * Mac: MAP_32BIT is no longer supported in Catalina and breaks. We don't need it anymore anyway. Fixes #12495. * Io: Correct async priority default on async open. * Oops. * fix * Io: Return a better error code for sceIoCancel. * Io: Update async priority more correctly. * Change async priority to current thread'priority if priority = -1. * minor fix * Avoid thread queue out of range by a offset. * Move umd replace to loaders. ------------------------------------------------------------------- Fri Jan 03 09:04:19 UTC 2020 - pousaduarte@gmail.com - Update to version 1.9.3~git20200101: * compat.ini: Add Japanese Game ID for DarkStalkers (Vampire Chronicles) * SDL: Ignore audio switch events in first second. ------------------------------------------------------------------- Sat Dec 28 15:54:06 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191226: * Io: Allow adjusting default async thread priority. * Io: Correct leak on save state. * Just return error if current directory not be setted. * SoftGPU: Convert from 16-bit if unsupported. * Hide "Control" label on top * Disabled grid size if snap is disabled * Fix * Touch controll grid snap * Don't ignore SCE_KERNEL_ERROR_NOCWD in many cases. * IO:Re-grab SCE_KERNEL_ERROR_NOCWD. * IO:Add an extra delay to simulate umd delay in file seek whence. ------------------------------------------------------------------- Thu Dec 19 19:28:40 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191218: * Update build.gradle.. again. ------------------------------------------------------------------- Sun Dec 01 15:52:03 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191201: * vulkan: The GPU profiler could end up writing massive amounts of text, fix some bugs around that. * vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers. * Vulkan: Enable renderpass merging for all games (was introduced in 1.9 for GoW games). A number of other games can also benefit. ------------------------------------------------------------------- Sat Nov 30 12:22:54 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191126: * Update lang submodule ------------------------------------------------------------------- Wed Nov 20 19:04:11 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191118: * Do not assert in Discord::Shutdown ------------------------------------------------------------------- Wed Nov 13 19:11:04 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191110: * Update CMakeLists.txt ------------------------------------------------------------------- Sat Nov 09 17:06:02 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191108: * Make style more consistent ------------------------------------------------------------------- Thu Nov 07 19:29:19 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191105: * libretro buildfix * Update libretro.cpp * Remove the I/O on Thread option - treat it as always on. * Yet another gradle update ------------------------------------------------------------------- Sun Nov 03 15:11:17 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191103: * Fix vcrs disassembly ------------------------------------------------------------------- Thu Oct 31 14:25:59 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191030: * Oops * Isolate most of the softgpu specialization code to RasterizerRectangle. * Fix a backwards check * Remove unused textureswizzle support (we use shaders instead). Universally support presenting 5551 format directly. * Hack around most of the problems with the save/load dialog. Software stretch gets enabled in non-wide mode, so wallpapers work at a cost of speed. * Scissor fix * Even more speed. * More speed * Buildfix * Further specialization. * More specialization work. * DarkStalkers: Fix display on OpenGL ES. * DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. * Darkstalkers: Gross hack to avoid the game's own stretch, and present the raw buffer instead for a sharper image. * More darkstalkers work * Detect sprite drawing (1:1 texture mapping), run a simpler function without the triangle state tracking. * SoftGPU: Detect through-mode rectangles from triangle strips * Software renderer: Use hardware color conversion on Vulkan in 5551 16-bit mode * Start slowly migrating from macros * Add a compat.ini flag for software rendering, use it to force on in Darkstalkers ------------------------------------------------------------------- Sat Oct 26 12:30:13 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191025: * Buildfix * Also rename the config setting to make sure it starts out off. * Cardboard VR: Add an on-screen VR OFF button. Enable Cardboard on iOS. * Revert "Remove Google Cardboard support. Fixes #11668" * Update lang submodule, adding Croatian, thanks to HilmBrala * Text drawing fixes * Correct the wrong GL DataFormat enums * GL: remove another unused format * Reduce GL texture format support to the ES minimum. We have to handle these anyway so let's only have one path. * OpenGL dataformat cleanup - pass Draw::DataFormat to the GLRenderManager. ------------------------------------------------------------------- Wed Oct 23 18:25:46 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191022: * Fix the build - there's a Vec3 name collision, fixed it using a namespace. * Vulkan+SoftwareRenderer: Fix screen rotation on Android. ------------------------------------------------------------------- Mon Oct 21 19:55:05 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191020: * Io: Consistently use error codes with OpenFile(). * Io: Return error code for write attempt to UMD. * Io: Change async thread priority if running. * Io: Destroy async threads on reset. ------------------------------------------------------------------- Sun Oct 20 17:02:02 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191020: * Vulkan: Add checks so we don't try to write NULL objects to a descriptor set. * Change Bloom Hack aggressive detection to include GOW games bloom. ------------------------------------------------------------------- Sat Oct 19 14:24:43 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191017: * Use old jit enablement method if clean method fails ------------------------------------------------------------------- Wed Oct 16 18:16:47 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191015: * Fix fork logic * Replace horrible hack with less horrible hack * Fix name collision on iOS build * Move the viewport clamping back to rendermanager to avoid a struct copy in the common case. * Fix misplaced break * Vulkan: Move viewport/scissor rotation to the QueueRunner instead of RenderManager. Add some checks. * Vulkan blend factor: Bugfix and minor optimization * Update last commit to use IsValidRange instead of IsValidAddress. * Code analysis: Skip invalid code sections. May help #12414. * UI: Better way of showing game/savedata images. Fixes #12408 * WASAPI: Discovered by chance that pwstrDeviceId can be null. Treating it as a new device. ------------------------------------------------------------------- Wed Oct 09 20:56:30 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.3~git20191008: * SDL: Switch audio device when plugged in. * SDL: Add UI to reset audio device at runtime. * SDL: Use a configurable output device. * SDL: Use SDL2 audio API for output. * cmake: Ignore if madbundle.sh fails. * cmake: Remove old qmake options. * [iOS] Resolve SDK 13 Generation * Move window to center * MainScreen: Prevent grid game buttons from becoming too wide if the png has the wrong dimensions. * Vulkan: Always write gl_PointSize, fixes #12364. Remove unnecessary predeclaration of gl_Position. * Android: Setup UI callback earlier if possible. * UI: Allow pinning remote ISO paths. * UI: Handle remote browsing asynchronously. * UI: Cleanup browse button check. * UI: Allow remote paths to be pinned. * http: Use relative paths for remote isos. * http: Don't treat http:// as a relative path. * 1.9.3 commit * Android: Finally fix our display sizing problems for good, hopefully. * Android: Preparation for future cutout (notch) support * Increase max aspect to 2.4. Fixes #12349 * Logging improvements * Android: Setup UI callback before settings change. * Fixes * Make use of OnSystemUiVisibilityChangeListener to check whether navbar is hidden. Affects DPI calculations. * Vulkan: Compile compute shaders only if enabled. * Vulkan: Add a setting for hardware scaling. * Vulkan: Initial 16-bit texture shader decode. * Vulkan: Add 4xbrz texture shader. * Make the barrier a bit more focused. Up some limits. * Need a barrier on Mali. Strange that validation didn't warn... * In the computeUpload path, use a shader intrinsic to unpack the color. * Fix build error on 64-bit android * Vulkan: Check coherent bit. * Also experiment with a "copy shader" that just does raw data manipulation into GPU local memory, then copies to image from there. * Use a plain compute shader for RGBA8888 texture uploads, as a proof of concept. * Vulkan: Add simple manager for compute shaders that upload data to images. * SaveState: Handle compression thread better. * UI: Join downloads on destruct. * UI: Cleanup install threads from UI thread. * Io: Join loading/manager threads more explicitly. * http: Ensure webserver shutdown on exit. * Core: Avoid detach for game loading thread. * http: Avoid detaching threads, join instead. * Reporting: Use a single message posting thread. * Switch: Configure base paths. * Switch: Cleanup some includes. * Switch: Disable IPv6. * Switch: Add basic defines for checks/reporting. * Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers. * Io: Correct result on async file not found. * Io: Wait async thread on IO completion. * Io: Cleanup some logging. * Io: Check callbacks in sceIoWaitAsyncCB(). * Io: Handle open async in a thread. * Io: Use async for read/write/seek/ioctl. * Io: Prepare HLE thread handling for async. * Psmf: Cleanup finishThread save state handling. * Io: Cleanup some error handling. * Io: Store sceIoChangeAsyncPriority value. * Psmf: Use kernel memory for helper thread stack. ------------------------------------------------------------------- Sat Oct 05 10:54:10 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.2~git20191003: * Improve the touchscreen test screen with some numbers. ------------------------------------------------------------------- Thu Oct 03 12:07:35 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.2~git20191003: * Upgrade gradle version again * SDL: ensure swap interval is set correctly for SDL2 kmsdrm driver * Touchscreen: Apply weihouya's fix, add a touchscreen test screen. See #12381. * Don't assert if Discord not shut down properly. Possible workaround for #12140. ------------------------------------------------------------------- Sun Sep 29 17:32:27 UTC 2019 - pousaduarte@gmail.com - Update to version 1.9.2~git20190929: * UI: Stop caching the draw context in coreParam. * UI: Minor assert fix. * GPU: Generate normals for curves with lighting. * Core: Fix memory range guard check. * Workaround for a crash found in #12358 on older devices * Fix nasty race condition with menu background audio. Fixes #12365 * Add a comment. See issue #12365 * Assorted cleanup * Blind attempt at fixing an OpenSL ES crash * Add memory range checks to a few little-used sysclib functions. Might help #12359. * Fix crash in Zip UI. Make another crash happen earlier. * Fix crash in zip handling * Symbolic commit for 1.9.2. Making another submission attempt to Google play so have to increment the version. * Debugger: reset step counter on game stop. * Listed additional UMD serials for GTA titles * Symbolic commit for 1.9.1. * Symbolic 1.9.0 commit * Android: Fix crashes on Android versions < 11 due to mCameraHelper being null * Silence a few warnings. * Update lang submodule * Vulkan: Update API headers. * Refer to AkiraJkr's new issue * Add patch note about MGS:PW as suggested by AkiraJkr * Additional README updates * More readme updates * README.md: Lunamoo's additions * More README.md updates * Update README.md a bit more * Update README.md for 1.9.0 ------------------------------------------------------------------- Mon Sep 23 20:49:35 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190923: * Update default adhoc server to one that works * Another fix for AnalogTestScreen rendering (it broke again somehow?) * Case fix for previous commit * Hacky workaround for #12339 (Amazon FireStick 4k issue) * Android audio: Turns out the initial queue operation queued up too little data anyway (sizeof on dynamic buffer.. sigh). * Remove some legacy * Android OpenSL: Fix bug where we should have enqueued two buffers on startup. * Vulkan: Fix shutdown crash accidentally caused by #12324 * Fix issue preventing video to work correctly in Digimon. Fixes #12186 * Remove some logging, add a comment. * We had an old fallback to the EGL GL loop in the Vulkan init. Remove it. * Don't let a delayed config load mess with the GPU backend option. Fixes #12284. * Vulkan: Just some extra logging. * Vulkan: Clear caches when deleting shaders. ------------------------------------------------------------------- Mon Sep 09 19:47:45 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190909: * Fix a comment * Vulkan: Slim down and rename the Mali hack. * Vulkan ARM mali Z hack: Modify the matrix instead of the shader. * Workaround ARM Mali depth hardware bug. Fixes #11937 * Update lang submodule * Improve Mali driver version detection ------------------------------------------------------------------- Wed Sep 04 11:55:39 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190904: * Vulkan: Move scissor/viewport rotation into the VulkanRenderManager. Fixes #12303. * Analog test screen: Fix drawing of the X marks * Create a default keymap for the MOQI:I7S gamer phone (with builtin controls) * Windows: Kill the mouse wheel release timer after it's used to prevent spamming keyup events. * Remove an old special case * Android: Be slightly more aggressive at defaulting to Vulkan (from Android 8.1 / 27) * Android: Remove the popup message when falling back to OpenGL. Fixes #12284 . * Vulkan/PowerVR: Make another blind fix attempt for #12296. Can't find my PowerVR device :/ * Bump up the descriptor pool size for the UI. Should fix #12299. * Vulkan: Even more logging in VulkanMayBeAvailable. * SDL: Add back a couple of lines that should have been copied, not deleted. Thanks [Unknown] * Vulkan: Prepare for adding a second init path for VulkanContext. ------------------------------------------------------------------- Sun Sep 01 20:06:19 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190901: * Attempt to work around the PowerVR bug again (pretransform undid the old workaround in landscape). See #12276 * Linux: Port the proper memory base finding over to MemArenaPosix.cpp. * SDL/Vulkan: Fix scale problems when maximizing/restoring the window. * Oops, fix the last commit, it got a little restrictive. * VulkanMaybeAvailable: Bail earlier in some cases where there's no surface extension. * [iOS] Resolve Cmake warning ------------------------------------------------------------------- Wed Aug 28 19:45:23 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190826: * (Libretro) Buildfix - update Makefile.common * Remove deleted GE dumps from Recent. Fixes a part of #11904 (the recent list wasn't updated properly). * sceUsbCam: Fix some bugs my last commits introduced. * MJPEG in sceJpeg: Notify the framebuffer manager that there's been a picture written to memory. Fixes part of #8521 * Improve some logging (%08x for addresses) * sceUsbCam: Heap-allocate the buffer. * http: Remove web server restart handling. * http: Show recent games in same order. * http: Improve EBOOT.PBP handling. * [Android] Fix code style * [Android] Updates for camera * Missed this in the last commit, sigh * Improve an assert message that AkiraJkr saw. Fix a silly bug in the last commit. * Default to Vulkan on Android Pie or later. Fixes #12228. * Android: Update the gradle version again. * Fix display of memory view window on high-DPI displays. Fixes #11913. * Revert "GPU: Download CLUTs when loading at 256 stride." * SasAudio: Cap the cycle estimate at 1200 to prevent crackling in FFT. Fixes #9956. * Add a few more checks. * Vulkan profiling vis bugfix: Restore font scale after drawing. * Vulkan: Prevent some bad merging of renderpasses. Thanks Unknown for writing it up. * Stop renderpass merging at readbacks. * Minor optimization * Vulkan: Automatically merge render passes to the same target when possible. * Improve renderpass profiling descriptions a little * Vulkan: Profile individual render passes/steps. * Get rid of numQueries * Vulkan: Disable some bad validation. Things are right and work fine. * Decided to end the practice of #ifdefs in Config.h. Led to bizarre miscompilations when reading config with inconsistent ifdefs set. * Bugfixes to VK gpu profiling. Properly get the valid bits. * Vulkan: Implement basic integrated GPU profiling. * removed the sceUsbMic checks * Add sceUsbMic.cpp/h to the UWP project * Update PowerSaveModeReceiver (again) * Fixes delete button for downloaded games from homebrew store in UWP * UI: Fix crash with no buttons in popup. * UI: Validate address entered in settings. * configure QT to get a higher version for opengl * IO: Use TextEdit for hostnames on more platforms. * UI: Cleanup hostname entry to use a dialog. * UI: Make IP/hostname dialog more generic. * UI: Respect loop info for menu music. * Core: Fix a format type error. * iOS: Ignore gl3stubInit() on iOS, to avoid warnings. * Vulkan: Check default case with an assert. * GPU: Avoid some unused var/func warnings. * Android: Get our base pointer in a saner way than YOLO, if possible. Should help #12249. * Simplify openIniFile to use ShellExecute so .ini files get opened in an associated text editor * More extreme paranoia in VulkanMaybeAvailable * Vulkan: Re-enable the blacklist. * Vulkan: On Android, only try to load libvulkan.so, not libvulkan.so.1. Plus more paranoia. * VulkanMayBeAvailable: Add more logging, disable blacklist check for testing (see #12093) * Vulkan loader: Fix the SHIELD Tablet blacklist string. * Rename "Immersive Mode" to Full Screen. We can reuse the FullScreen translation from desktop. Fixes #12229 * Update PowerSaveModeReceiver * Cleanup * Android: NativeApp.Init: Log the device name. * Vulkan: Simple blacklist of device names that are not allowed to check for Vulkan. Will help #12093. * Typo fix * Minor code cleanup * Micro-optimize the Vulkan loader: Load more device-specific function pointers to avoid a bounce in the device loader, reorder things a little. * Vulkan: Reduce the amount of redundant stencil parameter sets * Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method. * MakeUnique.h in the CMakeLists.txt * Init GlobalThreadPool in a thread safe manner * Start as many worker threads as actually used (used to start more) * Store std::thread in worker thread class by value and explicitly start it up, and don't use shared_ptr in thread pools * Cleanup mutex usage in worker threads * Remove 'started' bool from worker threads, as fixes for spurious wakeups made it obsolete * Handle spurious wakeups on worker thread condition variables properly * Use move semantics for worker thread functors * Clean up ThreadPool and WorkerThread constructors with C++11 features, * Add MakeUnique.h so make_unique is available without C++14 * Windows: Allow write-only files to be read later. * WASAPI: Add some missing error checks. May help #12081? (but will result in silence) * Apply the same Mali range culling "fix" in OpenGL. * Vulkan: Set all four coordinates to NaN instead of just W. Fixes range culling on ARM. Fixes #11999. * Set DrawSyncEatCycles for Patapon 2, recommended by pamford45 ------------------------------------------------------------------- Thu Aug 08 20:17:13 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190808: * Vulkan: Add missing barrier when rendering to a target that's already in COLOR_OPTIMAL layout. * Some changes and asserts. * Vulkan: Improve the Metal Gear Acid 2 performance hack. * Move NKCodeFrom*.h into the relevant platform folders * Address feedback * VFPU-Int: Add a few fast-paths to ReadMatrix/WriteMatrix. Should gain back part of the speed lost in #12217 * Buildfix (oops) * Memchecks: Avoid taking the mutex lock if no memchecks active. Possible minor speedup in GoW and other block-copy-heavy games. * Compat: Add more Tekken game IDs to leg shake fix. * Compat: Option to use accurate dotprod for VMMUL. * interp: Implement software inverse square root. * interp: Oops, fix vdot bug with subnormals. * interp: Implement software sqrt to match PSP. * interp: Use vfpu_dot for vdet as well. * interp: Use software dot in vcrsp/vqmul. * interp: Fix adding infinity in software dot. * interp: Handle rounding in software dot. * interp: Correct INF * 0 during dot. * interp: Use an integer multiply for dots. * interp: Handle NaN better in vfpu_dot. * interp: Use vfpu_dot for vavg, vfad, vhdp. * interp: Use software dot for better accuracy. * Fix the indirect postprocessing path. Fixes #12133 (but see the issue for a secondary bug). * Update lang submodule * sceUsbMic ------------------------------------------------------------------- Sat Aug 03 17:30:02 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190801: * Workaround for DJ Max Portable's clumsy copy protection. Fixes #9477. * Vulkan: Actually fix #12202, an array was out of scope where it was used, causing garbage flags. * Vulkan: Using VK_DEPENDENCY_BY_REGION on the backbuffer subpass causes tearing, let's not do it. Fixes #12202. * Move WM_MOUSEWHEEL back to WndProc to fix wheel events not working in Win 7. * libretro: don't fail on missing SDL * GPU: Allow upload to temp resized framebuf. * Add Hori Fighting Stick VX to gamecontrollerdb.txt * UI: Support zip files with deep folder structures. * Android: Disable building HLSL support in glslang, works around #12105 * Add a little reminder to self with a link to an interesting article. * Upgrade gradle again * Make things clear for people that never saw real PSP. * Add right analog for touch controls. ------------------------------------------------------------------- Fri Jul 19 13:00:04 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190718: * Config: Specify/save game title on load too. ------------------------------------------------------------------- Tue Jul 16 07:23:56 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190716: * UI: Fix zip leak in error case. * UI: Allow custom button to toggle fullscreen. * Replace mouse control with device ID mouse check for threshold. * Reduce in-game axis bind threshold for mouse control. * Update all values for mouse axis. * UI: Allow installing texture packs from zips. * Replacement: Allow region-specific settings. * UI: Fix type comparison warning. * Config: Don't save empty sections. * Config: Add game name to game-specific inis. * Ignore mouse mappings for UI ------------------------------------------------------------------- Sun Jul 14 14:51:25 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190714: * Address review feedback, thanks unknownbrackets * More GameManager improvements. * Fix build error on non-windows * Pre-check the contents of ZIP files before allowing install. * GameManager: Actually allow installing ISOs from zip files. Refactor. * Start refactoring GameManager zip handling to easier support ISOs in zips ------------------------------------------------------------------- Wed Jul 10 20:40:55 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190708: * interp: Correct vsbn instruction. * Kernel: Shutdown when module load fails. * GPU: Forget pause signal on new list. * Experimentally revert a small part of #12094, ios external display support, that seemed to break exit. See #12140. * cmake: Automatically detect raspberrypi 4. * GPU: Download CLUTs when loading at 256 stride. * Travis: Build Windows on Travis too. * SDL: Use whatever display SDL gives us for EGL. * Replay: Attempt to ignore reads in PSP/GAME. * Replay: Add file header handling. * Travis: Update to NDK r18b. * Travis: Update config to reduce timeout errors. ------------------------------------------------------------------- Sat Jul 06 10:39:27 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190705: * [Libretro] Fix some default config values -iAltSpeedVolume -iFirmwareVersion -iPSPModel Fixes #12144 * Audio: Quick SRC resampling experiment. * Audio: Track SRC frequency. * Audio: Correct sceAudioChRelease return value. * Audio: Improve error messages for sample counts. ------------------------------------------------------------------- Wed Jul 03 19:31:23 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190703: * Simplify synchronization model in InputDevice.cpp - replaced volatile flags/mutex/condition variable with joining on thread and one atomic flag * Remove KeyboardDevice which was essentially useless * Support falling back to xinput9_1_0.dll if neither xinput1_4.dll or xinput1_3.dll are present. This can happen on a Windows XP, Vista or 7 PC without DirectX End-User Runtimes installed. * Windows: Properly check for hidden files when enumerating files * Windows: Fix an exit crash by not destroying the window in CGEDebugger destructor - this window (and displayList) have already been destroyed and freed at that point ------------------------------------------------------------------- Wed Jul 03 12:26:26 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190702: * Update lang submodule * Remove Google Cardboard support. Fixes #11668 * Windows: Fix Vulkan out of process check. ------------------------------------------------------------------- Sat Jun 29 09:35:32 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190629: * Enable right analog stick for libretro ------------------------------------------------------------------- Thu Jun 27 20:45:11 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190627: * Windows: Fix leak on folder browse. * Comment some confusing code * Warning fix * Android: Add DPAD_CENTER as an accept button. Fixes menu navigation on Mi Box and Shield Remote. * UWP: Fix overscan on Xbox One * Update lang, pspautotest submodules * Vulkan: An additional check during init. May help #12131 * For the non-vulkan backends, zero display rotation settings just to be sure. * GE Debugger: Split playback into a separate file. * GE Debugger: Cache decompressed frame commands. * fix indent * GLES: Update proj matrix on viewport change. * GPU: Improve a 5551 stencil emulation case. * Debugger: Fix subtexture readback crash. * UI: Add a note for HTML link parsing. * Audio: Add volume for alternate speed. * http: Support redirects for load URL too. * http: Support relative redirects too. * http: Support redirects for downloads. * SaveState: Fail load on decompression error. * UI: Clear queued events on Event destruct. * Audio: Better errors on Output2/SRC reserve. * Audio: Correct errors on Output2/SRC release. * Debugger: Fix connection in Firefox. * Travis: Fix build cache for macOS/iOS. * Common: Fix some unused ident and case warnings. * Travis: Install python3 via brew. * Address feedback, delete some unused code. * Core: Keep number on setting for translated. * Core: Ignore case of GPU backend setting. * Core: Save GPU backend as identifier. * Core: Allow for disabling graphics backends. * Core: Use readable names for failed backends. * Don't ask for TRANSFER_DST for swapchain surface. No reason to. * Avoid rotating the image when DrawActiveTexture is used for other things than drawing to the backbuffer. * Fix the 270 degree rotation case * Vulkan: Apply the desired pretransform when drawing to the backbuffer. * Vulkan: Log supported pretransforms. * Disable external display by default * Fix invalid mode on iPad Pro 2018 * Ignore mute switch when connected to external display * Fix shutdown because of Discord deinitializer * Simple dpi scaling * Fix overscan compensation (Hack) * Do some clean up * Fix iPhone won’t switch to external display * Auto switch between internal and external display * Show root view controller on external display ------------------------------------------------------------------- Sat Jun 22 11:14:51 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190620: * Buildfix for cmake builds * Update SPIRV-Cross * Upgrade glslang to latest * Vulkan: Upgrade to latest headers * Fix mouse scroll by releasing with a delay using timer(16ms) Also moved WM_MOUSEWHEEL to DisplayProc where it works fine now. * Fix some further static analysis warnings * Fix a bunch of inconsequential uninitialized variables * Fix static analysis warning about access outside array (d[ins] = s[ins * 4] * t[0]) * interp: Fix dumb mistake in vtfm. ------------------------------------------------------------------- Sat Jun 15 22:06:02 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190614: * Implement and test clz32, use it in the MIPS interpreter cores. ------------------------------------------------------------------- Tue Jun 11 12:25:01 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190611: * Fix build error * SDL: Adjust EGL config choice heuristics. ------------------------------------------------------------------- Mon Jun 10 11:01:58 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190609: * UWP: white space fix * fix unintended line removal from rpi platform * UWP: Full screen support, config save fix * TextDrawerUWP: oops, forgot to release the objects used. * adding arm64 platform to libretro makefile * UWP: fix prebuild commands * UWP: fix && in English UI labels * TextDrawerUWP based on DirectWrite * UWP: enable SYSPROP_LANGREGION * UWP: project filiter update, add assets to other architectures * Update submodules lang, pspautotests * libretro: Add SpvPostProcess.cpp to the static makefiles * Revert "ARM64 vmmul experiment: Disable if S and T matrices overlap." * UWP: fix prebuild commands * ARM64 vmmov experiment: Reduce precision by using FMUL+FADD instead of FMADD. May help #12082 and thus also #11179 and #9843. * ARM64 vmmul experiment: Disable if S and T matrices overlap. * Add space to new setting name * Fix avi dump via render buffer instead, with an option to use output buffer since recording with post process effects will often be desirable. * JIT: Split VFPU_MTX disable options. To help with #9843 * arm64jit: Tweak matrix vfpu overlap detect, etc. * armjit: Fix avoidLoad handling for fpu regs. * arm64jit: Fix avoidLoad handling for fpu regs. * GPU: Correct Danganronpa hack. * Windows: Fix some warnings. * Fix minor oversight * Style fix * JitDisable: Add option to disable regalloc across instructions (flush after every instruction) * Silence robocopy error codes * Edited version of #12031, without the ISO/CSO ability. * Oops, tab fix to previous commit * Add d3d9_d3dcompiler_loader to libretro's makefile. Probably helps #12071 * Update lang submodule * Improve WordWrapper: * Block savestates OSM when video frames are dumped. Also make the dump messages shorter, especially dump start since it will be recorded. * Fix avi dump feature by using output buffer. ------------------------------------------------------------------- Mon May 27 12:51:55 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190527: * GLES: Use fragColor0 in GLSL 3.30 float path. * Windows: Add ResolvePath fallback if symlink fails. * SoftGPU: Implement dithering. * Fix spurious unit test failure. ------------------------------------------------------------------- Fri May 24 14:05:28 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190523: * Improved Show in Folder: * Update gradle yet again * Vain attempt to make the Windows buildbot happy, after LunaMoo's comment in #12052 * Oops, this was left for debugging. * VS2017: Add hack to automatically select the newest installed Windows 10 SDK. VS2019 already does this by default if you specify 10.0. * Compat: The Transformers games perform much better with Force 60fps. * Qt: Implement clipboard support * SDL: Implement clipboard support ------------------------------------------------------------------- Thu May 16 18:18:21 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190516: * D3D11 init: Release pFactory at the appropriate place. * D3D11: Also properly check for the no-adapters case. * Add a missing error check to the D3D11 device creation. May help #12039? * Remove base/arch.h * Windows: Workaround buildbot failure. * Fix d3d11_loader on x86 * Use D3DCompiler_47.dll for D3D9 context. ------------------------------------------------------------------- Mon May 13 14:59:34 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190513: * ArmCPUDetect: close the registry key when finish * fix git-version-gen on normal commits (without tag) * UWP: Use default (latest) toolset and remove dependency to 16299 SDK * Proper device type detection for UWP * UWP Window resizing support * Fix typo which disabled GEDebugger * Remove the related #include * Android: Display measurement fixes * Delete 2 unused i18n category pointer declarations * Add CPU string in Windows ARM * Fix issue with D3D9 vs UWP * Spacing fix * Oops, fix the D3D9 fallback * Oops, missed these two * Assorted warning fixes * Clean up some more ifdefs * Remove DbgNew.h forced include in ARM debug builds, doesn't work for some reason. * Add WindowsSDKDesktopARM64Support to vcxproj files * Fix #12023, accidental disabling of the GL backend on non-Windows ARM platform caused by #12013. * Revert "Remove default SDK version from project files" * UWP: Update the temporary-key with a new one generated by dominater01 * Remote ISO: Fix bugs from issue #12018 and probably #12019 * Game server: Reject bad URLs * Add Test Drive Unlimited to depthRangeHack to disable range culling * Report: Add Windows ARM identifiers * update ppsspp-ffmpeg to current master * Toolchain for nvidia jetson linker tegra lib. * Update lang and ffmpeg submodules * Fix D3D11 context on Windows ARM Debug * Remove unnecessary ifdefs * Fix UnixTests and HeadlessHost on ARM * Update ffmpeg to support Windows ARM64 * UWP: add missing files for ARM64 * Update UWP project files for ARM64 * Update .gitignore * Fix a crash on DirextX 11 with Feature Level <= 9_3 hardware * Update ppsspp_config.h for Windows ARM * Disable features not available on Windows ARM32/ARM64 * Fix ssize_t in libzip for Windows ARM64 * Add Crash() for Windows ARM64 * Enable ArmCPUDetect on Windows Desktop * Fix GetWindowsSystemArchitecture() * Fix neon headers for MSVC ARM64 * Update Visual Studio project files for Windows ARM32/ARM64 * Enable PNG screenshots for all platforms * UI: Make the screenshot key configurable. * Mp3: Set as inited only after success. * Mp3: Correct seek to specific frame. * Mp3: Fix ID3 tag handling. * Mp3: Properly flush the buffer on reset. * Mp3: Always output data in decode, except at end. * Mp3: Use a vector for the temp buffer. * Mp3: Correct delay on decode. * Mp3: Loop correctly from an offset. * Mp3: Reset sum decoded on loop. * Mp3: Correct sum decoded sample count. * Mp3: Return total frame count in sceMp3GetFrameNum. * Mp3: Fix loop func errors, clamp to -1. * Remove some unused code. * Add missing variable reset fixes #12002 * Remove default SDK version from project files * Fix VS2019 builds and remove _xp dependency (drops Win XP support, allows latest SDK etc.) * Hopefully fix the annoying LR. * Remove "sound speed hack". * Mp3: Correct sceMp3GetMaxOutputSample. * Mp3: Fix errors for a bunch of init getters. * Mp3: Detect offset headers, reject invalid data. * Mp3: Apply offset to stream read buffer. * Mp3: Align CheckStreamDataNeeded with InfoToAdd. * Mp3: Don't change buffer accounting until add. * Mp3: Fix errors on sceMp3NotifyAddStreamData. * Band-Aid for libretro Savestate load Proper would be using PPSSPP's Queue. This will need frontend extensions to do it sanely. Fixes #11429 (mitigate for now) * Mp3: Improve handle releasing behavior. * Mp3: Better errors in sceMp3GetInfoToAddStreamData. * Mp3: Allow allocating two mp3 handles. * Mp3: Fail to reserve if resource not inited. * Mp3: Better match resched on resource init/term. * Update gradle stuff again * Fix typo again * Oops, got these backwards. * Update ffmpeg and lang submodules * Fix typo * Masked PSP Memory support for the AArch64 Dynarec * Power: Match reschedule timing better. * Power: Correct hz on update and improve resched. * Added IO Timing Method option. * Update controller data base ps3 clone controller * GPU: Improve non dual source stencil replace. ------------------------------------------------------------------- Sat Apr 06 13:04:17 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190404: * interp: Handle vtfm/vhtfm prefixes properly. * interp: Correct prefixes on vfad and vavg. ------------------------------------------------------------------- Wed Apr 03 19:04:52 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190402: * interp: Cleanup prefix/size in vcrsp/vqmul. * interp: Handle invalid swizzle for vmin/vmax. * interp: Correct vwbn and vlgb size behavior. * interp: Better prefixes for vdiv/similar ops. * interp: Correct prefixes on vdot/vhdp. * interp: Handle prefixes on matrix init ops. * interp: Correct vsgn out of swizzle bounds. * interp: Handle vsgn prefixing. * Jit: Ignore high bit in vmfvc/vmtvc. * interp: Ignore high bit in vmfvc/vmtvc. * interp: Handle invalid swizzle in vsge/vslt. * interp: Implement vcrs prefixes and sizes. * interp: Correct simple vmov variant prefixing. * interp: Correct vdet prefix handling. * interp: Correct prefixes in vsrt ops. * interp: Correct prefixes for vsbn/vsbz. * interp: Cleanup vsocp size handling. * interp: Correct size handling for vi2x ops. * interp: Correct swizzle on vx2i ops. * interp: Don't write lane 2 on single colorconv. * interp: Correct some negative invalid zero cases. * interp: Force vscmp result of invalid to zero. * interp: Correct vfim for -inf and similar. * interp: Correct vmfvc register behavior. * interp: Handle wrong sizes of vf2h/vh2f. * interp: Correct vrnd prefix handling. * interp: Match actual vdiv prefix handling. * interp: Mask moves to vfpu ctrl. * interp: Handle NAN more correctly in vscmp. * interp: Handle flush prefixes slightly better. * interp: Handle prefixes for Vmmov/Vmmul/Vmscl. * interp: Handle vrot prefixes mostly correctly. * interp: Use a helper to generate prefix consts. * interp: Properly apply mask on single lane ops. * interp: Generate constants using prefixes. * interp: Correct vscl prefix handling. * interp: Fix vbfy prefix handling. * interp: Mask value in vpfxd. * interp: Confirm vi2f/vf2i prefix handling. * interp: Apply T prefix to D in vcmov. * interp: Correct behavior for matrixes with size=1. * interp: Handle abs/neg on nan values better. * IR: Use interp for unhandled prefix cases. ------------------------------------------------------------------- Sat Mar 30 14:38:58 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190327: * Disables iOS exit animation to prevent freezing. Selective PTRACE sys call. ------------------------------------------------------------------- Tue Mar 26 20:01:10 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190326: * Address feedback from #11936 (support memory types without CACHED as a backup) * Add texture dump/replace hotkeys. * Vulkan: Request cached memory for readbacks. First try coherent too but also support non-coherent cached memory. ------------------------------------------------------------------- Mon Mar 25 13:46:08 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190325: * TexCache: Align bufw properly even for VRAM. * Debugger: Prevent saving a -1 sized func. * Vulkan validation: INFO level has gotten too spammy, turn it off. * Fix invalid argument string for kuKernelLoadModule. Fixes #11895. * MSVC project files: Fix silly search/replace error from #11883 * IR: Correct vmmul optimizations. * Android: Allow less common sample rates. * Kernel: Kernel threads can beget kernel threads. * SDL: Make it clear Vulkan check is not an error. * cmake: Automatically disable Wayland for Raspbian. * SDL: Fix compile error when not using FBDEV. * http: Fix warning on compare in url decode. ------------------------------------------------------------------- Fri Mar 22 13:28:35 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190322: * UI: Allow deletion of GE dumps from UI. * Update lang (with ES spelling error fix, etc). Fixes #11912 ------------------------------------------------------------------- Wed Mar 20 21:44:17 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190318: * GPU: Respect stencil write mask on clear. * SoftGPU: Apply color doubling only to RGB. * Vulkan: Narrow down buffer usage flags a little bit. * Windows: Change FP model to Precise. See #11384 * UI: Pass touch/button releases to all screens. ------------------------------------------------------------------- Sun Mar 17 19:04:36 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190317: * UI: Avoid using game info cache in savedata sort. ------------------------------------------------------------------- Thu Mar 14 21:39:22 UTC 2019 - pousaduarte@gmail.com - Update to version 1.8.0~git20190314: * Finish up the fix attempt for #11882 * Correctly handle memory types in VulkanPushBuffer. Should help #11882. * Update the version number in AndroidManifest.xml (pretty sure we don't really still need to do this, but whatever). * Update the lang submodule * Add last minute fix mention * Update README.md for 1.8.0. * Android (and libretro): Turn off -ffast-math. Fixes #11880. * Revert "Temporary commit to get CalcCullRange logging into a buildbot build" * Temporary commit to get CalcCullRange logging into a buildbot build * On game load error screens, print the filename. May help diagnose issues from screenshots of the error (commonly sent by end-users) * Vulkan subpass dependencies: Handle VK_IMAGE_LAYOUT_UNDEFINED without debug-asserting. * Fix apparent bug in #11094, fixes #11878 and likely #11798 * Fix a VK validation failure when opening the homebrew menu * Survive pipeline creation failure on Vulkan. Makes Burnout playable on Pocophone... Sigh. * Update to a new gradle version again ------------------------------------------------------------------- Mon Mar 11 13:33:59 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190311: * sceFontLib: Don't call the callback if double-free. Should fix one part of #6627 * GLES: Fix stencil buffer upload at > 1x PSP. ------------------------------------------------------------------- Mon Mar 04 13:44:41 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190304: * UI: Update more browser links to https://. * Windows: Link to https://. * Windows: Clear help menu correctly. ------------------------------------------------------------------- Sun Mar 03 15:33:54 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190303: * DPI fixes in the old Win32 debugger. Fixes #11856. * Update gamecontrollerdb.txt * Hori Minipad S * GLES: Correct cull range offset in unbuffered. * GPU: Handle cull range properly drawing at offset. * Add the other gameIDs for euro tony hawk * Hardcode the cheats that work around the Tony Hawk jit issues. Temporary, horrible hack working around #3854. ------------------------------------------------------------------- Fri Mar 01 17:35:39 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190301: * Use MSG_NOSIGNAL for some more send() calls. Didn't fix anything though. * UWP: Restore the Load button. Fixes #11855. * compat: Enable 60fps limit and warning for wrong clock freq for Tekken 6. * Remove old resolution hackery that didn't fix anything. ------------------------------------------------------------------- Wed Feb 27 15:23:38 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190227: * Fix some minor things found looking at Valgrind output * Add missing line to SDL EGL init (no way this path could have worked anywhere?) * EGL errors should cause us to bail. Also downweight alpha in the EGL config chooser. See #11839 * Silence a compiler warning, fix an uninitialized variable * Disable vertex range culling when the depthrange hack is enabled. Temporary workaround for #11576. * Ignore DisableAccurateDepth on Adreno as well. Fixes #11557 * Disable more texcoord math on terrible-precision PowerVR (it's really awful). Fixes #9189. * EGL: Avoid HDR mode. Uses unknownbrackets' changes from #11839. * Better place for CloseHandle * Found the handle leak! Doh. * Avoid trying to create a FileLoader for empty filenames * Rename the lag sync config ini setting to reset it for all users. See #10195. * Back out wrong change. Leaving better error handling for later. * VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly. * interp: Implement vsbz and vlgb. * Jit: Correct VFPU prefix eating flags. * interp: Correctly handle vsocp prefixes. * Jit: Correct vocp prefix handling. ------------------------------------------------------------------- Sat Feb 23 19:23:23 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190223: * Travis: Remove old clang cache workaround. * Android: Default screen rotation to auto landscape for new users. Fixes #11832 * Make window resize work with Vulkan. Seems more stable now. * Bundle libSDL inside app on macOS, fixes #11830 * Log why the config is being saved (we seem to do it a bit much at times) * SDL/Qt: At least quit properly when switching backends * Disable GLEW on macOS * Linux: Draw the graphics API on the splash screen, like most other platforms. * ARM/ARM64: Ignore invalid immediate addresses in delay slots, which may be conditional. ------------------------------------------------------------------- Fri Feb 22 20:05:00 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190222: * Fix postprocessing shader support on macOS * interp: Correct vocp prefix handling. ------------------------------------------------------------------- Thu Feb 21 21:01:31 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190221: * Add more games to RequireBlockTransfer. Plus, for whatever reason we seem to have a separate compat.ini for UWP, update it. * PPGe: Correct text wrap without height. * Add a large number of missing Game IDs to compat.ini. May help various Phantasy Star and SOCOM issues, in particular. * Another GOW game ID. See #11815 * compat.ini: More IDs to lists of games requiring default CPU freq and buffered rendering. * A lot more GoW game IDs. * Followup to last commit: Also add IDs for GOW demos. * Fix one instance of #11815. Hope there aren't a lot more missed GOW IDs. * Android: Allow using custom storage paths. * Core: Remove some now unused variables. ------------------------------------------------------------------- Tue Feb 19 20:53:26 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190219: * Core: Fix lag sync on game start / after pause. * Update pspautotests submodule, not that it matters, just for convenience. ------------------------------------------------------------------- Mon Feb 18 16:09:48 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190218: * SDL: Allow PauseWhenMinimized to work. * Qt: Cleanup indentation. * Windows: Hide accelerators when they are disabled. * Qt: Correct text bind on first draw of string. * Windows: Browse for folder like Qt. * Qt: Correct Browse... handling for multithreaded. * Qt: Re-enable Load button to browse for file. * SDL: Force fullscreen desktop for USING_FBDEV. * SDL: Prevent mouse capture on macbook trackpad. * Savedata: Truncate detail if it's too long. ------------------------------------------------------------------- Sun Feb 17 00:07:28 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190216: * Windows: Detect Vulkan in separate process. ------------------------------------------------------------------- Sat Feb 16 21:11:37 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190216: * GPU: Better typesafety for shader bits. ------------------------------------------------------------------- Fri Feb 15 13:42:53 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190214: * Enable BlockTransferAllowCreateFB for Ys Seven as discussed in #11669 * CwCheat warning fixes * Update pspautotest submodule * add controllers * Lie about success of loading flash0:/kd/audiocodec_260.prx, just like we already lie about audiocodec.prx. * GLES: Disable range culling on VideoCore/Vivante. * Android: Update gradle to 3.3.1 * OpenGL: Disable the mapped buffer strategy for Adreno (Qualcomm). * Android: Add some logging * GPU: Correct depth clamp range in range cull. * Fix issue where too long filenames could wreck the Install Zip dialog layout. * Naruto 3: Probably a better fix for the video hang issue. ------------------------------------------------------------------- Sat Feb 09 14:05:15 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190209: * Make "Show FPS Counter" in the Windows menu actually show fps, not just speed * Gate fewer effects behind "Disable slow framebuffer effects". * Only gate really expensive block transfers behind the setting. * The block transfer setting should not affect clearing memory behind a render target, especially since that's already gated behind a compat flag. ------------------------------------------------------------------- Fri Feb 08 13:24:43 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190207: * Update lang * VK code cleanup: Just a little helper for handling dedicated allocation for images. * Disable vertex range culling on old NVIDIA. Should help #11638 * Detect PCI device ID where available (not in GL?) * Add missing break statement fixing bizarre language menu issue from #7929 * Enable the FPS limit for F1 2006, too. * Partially revert #10456 (avoid limit FPS without a clear). * Remove iForceMaxEmulatedFPS and replace with a compat setting for the two games that really need it. * Qt: Apply suggested keyboard shortcut fix. Fixes #11735. * Qt: Remove keyboard shortcut for buffered rendering. Mitigates #11725 although not a proper fix. * Compat: Force realistic UMD timing for F1 2006. Fixes #9193 but not the game, since there's also #11177. * Remove unused API, assorted cleanup. * Further improve VK extension loading. Switch to VK_EXT_debug_utils (but fallback to VK_EXT_debug_report if only that is available). * Update glslang to latest version * Add code to enable a couple more extensions I anticipate using eventually. * Properly use VK_KHR_dedicated_allocation to make some drivers extra happy * Minor refactor of physical device property/feature detection, to allow for more extension use. * More Vulkan validation fixes * Android .nomedia: Don't hide everything under PSP, too harsh. * To avoid strange images in Android gallery, pre-create TEXTURES with a .nomedia, and add .nomedia to the PSP directory. ------------------------------------------------------------------- Mon Feb 04 19:36:29 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190204: * Vulkan: Fix typo, bump shader cache version. * Fix checkbox bug introduced in #11758. Fixes #11761. * Add simple UI for JIT feature disable flags * Reporting: Disable when jit flags are disabled. * UI: Add bitfield checkbox. * Jit: Respect flags for jit types and features. * Core: Add flags to disable jit features. ------------------------------------------------------------------- Fri Feb 01 14:44:39 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190131: * VK: Load the dedicated allocation extension properly (but don't use it yet). * VK: Minor cleanup, turn off unfinished and probably wrong use of dedicated allocation feature * Load a function from VK_EXT_external_memory_host * Update Vulkan headers to SDK 1.1.97 * Reorder stuff to make the compiler happy. * Minor cleanup * Improve the check for Vulkan to check for surface extensions first. * If we lose the Vulkan device, recommend the user to switch to Direct3D11. * Fix silly mistake editing the vulkan image code * Also buildfix for libretro * Remove some unnecessary vkDestroyImage calls. * Fix SDL build * Better handling of swap chain size, add PowerVR hack. Fixes #11743 * Fixes for issues found by Vulkan validation layers, including a common non-harmful perf warning (doesn't fix all cases, but does fix the most common one). * DeleteDirRecursively: Don't leak the find handle on failure (win32) * CMakeLists: fix EGL detection for ARM devices ------------------------------------------------------------------- Thu Jan 24 21:19:19 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190123: * Additional logging * VK device allocator: Support separate memory type per slab. * Fix for weird Xbox B button behavior, see #10948. A simpler change was tested to work by Ruler. ------------------------------------------------------------------- Tue Jan 22 13:26:33 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190122: * Update armips submodule with bugfix. Also lang. ------------------------------------------------------------------- Fri Jan 18 13:57:13 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190116: * Update build-x64.cmd * Added " guards to if not exists * Update to latest gradle, update lang submodule. ------------------------------------------------------------------- Tue Jan 08 20:15:21 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190108: * Remove usage of deprecated function readdir_r (and ugly Blackberry hack diren_large) * Qt: Temporary workaround for #11721 - simply remove the load button (you can still load games from the Games tab) ------------------------------------------------------------------- Mon Jan 07 13:25:34 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190106: * Address feedback * Try to support Qt keyboard input directly. Partially fixes #11653 (nickname crash on mac) ------------------------------------------------------------------- Sun Jan 06 18:10:24 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190106: * Check that allocations in SplineCommon succeed. Attempt at #11660 but not optimistic. * Remove the duplicate * Update Launch Screen.storyboard * Typo * Removed the premade picture * Changing it to import some logo files on the iOS port. * Removing a now unused file. * Added a check to the pointer for memcpy ------------------------------------------------------------------- Fri Jan 04 19:36:47 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190103: * GLES: Detect Vivante GPU, disable vertex range culling ------------------------------------------------------------------- Wed Jan 02 16:24:27 UTC 2019 - pousaduarte@gmail.com - Update to version 1.7.5~git20190102: * Update lang submodule * I don't know why i included it there haha * The new Launch Screen ( to include the logo ) * A new logo file * Configure CMake to include the new logo ------------------------------------------------------------------- Sun Dec 30 22:56:57 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181230: * UI: Check for step debugging on unthrottle. ------------------------------------------------------------------- Sun Dec 30 19:55:38 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181229: * http: Correct typo. ------------------------------------------------------------------- Fri Dec 28 13:21:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181227: * http: Report errors reading discs. * Loaders: Refactor chaining to avoid dup code. * http: Add timeout on no response. * Update lang submodule * GLES: Remove FBO_UNUSABLE bug check. * GLES: Move some vendor bug checks to Draw. * GLES: Remove spurious semicolons in shaders. * GLES: Correct fragment precision check. * GLES: Specify glsl version precisely in depal. * GPU: Move dual source blending bug check to Draw. * Vulkan: Limit stencil workaround to Adreno 5xx. * GPU: Track draw in shader manager. ------------------------------------------------------------------- Mon Dec 24 20:13:17 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181223: * GE Debugger: Minor fix step count dialog. * [spline/bezier]Remove unused stuff. * Avoid breaking any alpha-stencil emulation in Adreno bug workaround * Vulkan/adreno: Apply workaround for Harvest Moon issue #10421 ------------------------------------------------------------------- Sun Dec 23 14:01:03 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181222: * http: Check for available discs before connecting. * http: Parse port in ipv6 addresses. ------------------------------------------------------------------- Fri Dec 21 18:56:44 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181220: * Minor tweak to the test * GE Debugger: Improve step count dialog. * GE Debugger: Add step count dialog. ------------------------------------------------------------------- Thu Dec 20 12:11:55 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181220: * Update lang * Don't leak the new pipelines * This should finally repro one of the Adreno bugs ------------------------------------------------------------------- Thu Dec 20 00:24:45 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181219: * Android EGL config: Always require 8888, stencil if version >= ICS * Android EGL: Add logging of depth and stencil bits * GPU driver test: Add a third test with depth completely disabled, and rename the others to match. * Display some important information on GPU test screen to make screenshots more useful * Build system updates * Finish up the test * thin3d: Make the stencil ref value dynamic state (all APIs support this directly). * Write rough framework for GPU discard test screen ------------------------------------------------------------------- Wed Dec 19 15:38:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181219: * Delete some unused DNS code, just because. * GLES: Simplify depth download shader. * Fix bug in #11681 * Add check for GL_FRAGMENT_PRECISION_HIGH for GLES in stencil code. * thin3d: Remove unused shader language support * Fix ridiculous bug in thin3d.h. Only worked by accidental matchup between shader IDs.. * GLES: Download depth values via shader. * GLES: Move depth packing code to dedicated file. * GLES: Actually support depthless FBOs. * GLES: Use depth textures where possible. ------------------------------------------------------------------- Tue Dec 18 13:41:26 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181218: * Additional raw string shaders * Remove unused and unfinished SPIRV disassembler * Use raw strings for more shaders * ActivateTopScissor doesn't belong in UIContext::Begin. * Remove no-op DrawBuffer::End() ------------------------------------------------------------------- Tue Dec 18 12:03:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181217: * TWo warning fixes ------------------------------------------------------------------- Mon Dec 17 14:33:07 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181217: * SoftGPU: Fix crash on garbage index data. * SoftGPU: Respect stencil write mask on test fail. * GPU: Fix curve breakage due to cull flipping. ------------------------------------------------------------------- Sun Dec 16 13:48:11 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181215: * Remove the DisableShaderCache setting, rename the other * VK: Add INI options to disable some vendor checks, and to disable the shader cache. ------------------------------------------------------------------- Sat Dec 15 13:55:37 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181214: * Oops, x2 * Remove outdated TrueColor setting. * Remove "Timer Hack" setting. Untested, probably low usage and unclear utility. * Remove the "Disable stencil test" hack. Doesn't seem to serve much purpose anymore. * Disable precompiled header for all configurations of Armips * Disable SDL check with armips dependency * Update UWP port ------------------------------------------------------------------- Tue Dec 11 13:34:03 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.5~git20181211: * GE Debugger: Fix dump replay ticks accounting. * Windows: Hide Vulkan/D3D11 if not available. * Revert 6fd1c0e3d and eba6c00 which experimentally disabled dual src on Adreno. * Just make the optimized (non-release) android build debuggable. * Attempt to improve Discord Rich Presence * Update to 1.7.5, update lang * cmake: Fix CMP0077 policy warnings. * cmake: Remove the unused RASPBIAN define. * GL: Realized we need another sanity check in the readback code * Have to increment the build number due to a mistake, so make it 1.7.4 * Update readme for 1.7.3 * 1.7.3 * Revert "Android: Fix Vulkan immersive startup." * VK: Fix sometimes-missing images in GameScreen. Can't load textures from update(). (should probably make that possible though.. later). * Attempt to fix the last very common issue of #11493 by being paranoid * VK: Add extra safety checks around font texture creation. Motivated by some Play crashes. * Core: Fix spurious error on Linux/Unix paths. * Coldbird server moved, so change the default. * ManagedTexture: CreateTextureFromFileData should not return a ManagedTexture object if it fails. * Comply with new Google Play policy that is not happy with "Support PPSSPP" leading to the PPSSPP Gold app in Play * Windows: Check for devices on Windows events only. ------------------------------------------------------------------- Fri Dec 07 12:59:48 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181207: * Disable "Edit & Continue" with VS debug mode. ------------------------------------------------------------------- Mon Dec 03 18:05:47 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181203: * SDL: Allow toggling fullscreen for GLES2 on desktops. ------------------------------------------------------------------- Mon Dec 03 14:31:58 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181203: * GPU: Ignore light params for shade mapping. * Bump shader caches * GE Debugger: Allow relative prim counts. * Vulkan: Avoid using Vulkan by default. * Vulkan: Avoid OpKill workaround with no stencil. * GPU: Avoid stencil emulation if possible. * GPU: Dirty stencil on stencil mask change. * GPU: Avoid a missing virtual destructor warning. * GE Debugger: Allow jumping to a specific prim. * GE Debugger: Track a counter of prims. ------------------------------------------------------------------- Sun Dec 02 09:52:51 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181201: * Madcatz Fightpad SFvTekken / Hori Mini Wired 4 * Io: Ensure sign extension for error codes. * Update lang again * Headless: Fix compare for 16-bit output. * Headless: Allow startup using NULL core. * GPU: Force use of indexes on cull mode flip. ------------------------------------------------------------------- Fri Nov 30 13:28:08 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181130: * Update lang * GPU: Maintain a bit more state in inner-prim loop. * GPU: Properly flip cull on simple triangle lists. ------------------------------------------------------------------- Thu Nov 29 13:28:05 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181129: * Windows: Define menu item text in menu only. * Windows: Translate all items by id, not position. ------------------------------------------------------------------- Wed Nov 28 21:56:42 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181128: * Use compat setting instead * fix ifdef vs if defined * Avoid possible compile error: conflicting defs * yugioh save fix tool ------------------------------------------------------------------- Mon Nov 26 13:50:44 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181126: * SoftGPU: Calculate texcoords in transform. * GPU: Correctly flush on cull mode change. ------------------------------------------------------------------- Sun Nov 25 22:07:23 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181125: * UI: Allow sorting saves by date too. * SaveState: Retry failed state screenshots. * Attempt to fix glsl depal error reported in #11588 (ATI/AMD) * D3D11: Correct shader bounds apply. * D3D9: Correct shader bounds apply. * D3D11: Allow shader blend to self. * GL: Realized we need another sanity check in the readback code ------------------------------------------------------------------- Fri Nov 23 21:42:15 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181123: * SoftGPU: Oops, properly apply pixel mask in 16-bit. * GE Debugger: Fix display of raw normals. * GPU: Use provoking normal for lighting with flat. * SoftGPU: Correct clipping for flat shading. * VK: Fix sometimes-missing images in GameScreen. Can't load textures from update(). (should probably make that possible though.. later). * GLES: Fix render-to-self detection. * GPU: Correct specular exponent zero. * GPU: Skip specular on negative diffuse factor. * GPU: Correct powered diffuse with exp=0. * GPU: Handle spot light with 0 exp or length. * GPU: Skip specular on powered diffuse. * Reporting: Ignore link error with bad shaders. * Attempt to fix the last very common issue of #11493 by being paranoid * VK: Workaround for validation bug (will be fixed in the next Vulkan SDK) * Assert even in release mode if preset shaders fail to compile. This is just to help track down a Play crash. * VK: Add extra safety checks around font texture creation. Motivated by some Play crashes. * SoftGPU: Fix pixel mask on rectangle clear. * handle cullface, help to #10597 ------------------------------------------------------------------- Tue Nov 20 13:57:42 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181120: * Coldbird server moved, so change the default. ------------------------------------------------------------------- Mon Nov 19 13:33:42 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181119: * ManagedTexture: CreateTextureFromFileData should not return a ManagedTexture object if it fails. * SoftGPU: Cleanup lighting code a bit. ------------------------------------------------------------------- Sun Nov 18 15:57:33 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181118: * GE Debugger: Support record for more render types. * GE Debugger: Avoid writing 0 sized packets. * GPU: Correct shade mapping with 0,0,0 light pos. * SoftGPU: Normalize 0,0,0 as 0,0,1 for shade map. * GPU: Fix shade mapping in soft transform. * GE Debugger: Fix display event record timing. * GE Debugger: Avoid overwriting in softgpu playback. * GE Debugger: Preserve VRAM textures in dumps. * Vulkan: Allow pre-transition from undefined. * GE Debugger: Fix type conversion warning. * GE Debugger: Fix handling for framebuf changes. * GE Debugger: Record block transfer too. * Core: Fix spurious error on Linux/Unix paths. * Debugger: Prevent invalid address on syscall. ------------------------------------------------------------------- Tue Nov 13 21:36:28 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181113: * [spline/bezier]Unify SubmitSpline/Bezier. ------------------------------------------------------------------- Mon Nov 12 20:53:29 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181112: * Take care of most cases of render-to-virtual-readback-buffer, I think. * Support virtual readbacks for detected-memcpy framebuffer copies, delete MotoGP hack. * Add compat flag to allow virtual framebuffer readbacks (auto-create fb from readback destination). Does not yet work outside VRAM but should fix Digimon Adventure. * No need for fb_normalized_address * Get rid of MaskedEqual * Only mask away Z mirrors if inside VRAM * Remove constraint that virtual framebuffers have to represent VRAM. ------------------------------------------------------------------- Mon Nov 12 13:59:39 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181111: * New spline stuff seems to need bigger storage buffer pools ------------------------------------------------------------------- Sun Nov 11 12:36:25 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181111: * UI: Fix incorrect 3D API. * Discord: Attempt to explicitly cleanup on exit. * Discord: Add cmake option to disable. ------------------------------------------------------------------- Sat Nov 10 16:46:31 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181108: * F-droid lite version - create stubs for Moga Controller * GPU: Dirty frag shader on depth write. * Io: Add missing error code on file open. * CMake: Fix linking X11 when using EGL and not fbdev ------------------------------------------------------------------- Tue Nov 06 19:38:21 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181106: * CMake: Link against OpenGL when using EGL but not GLES2 * CMake: Allow disabling Wayland support with USE_WAYLAND_WSI ------------------------------------------------------------------- Mon Nov 05 13:42:46 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181105: * Framebuffer blit: Clip src rectangle as well ------------------------------------------------------------------- Sun Nov 04 20:20:34 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181104: * Move comments in function to be more relevant * TexCache: Round DXT5 alpha up. * TexCache: In DXT3, don't swizzle alpha. * TexCache: Respect color order in DXT3/5. * TexCache: Mix DXT colors using 2/3 not 3/8. * TexCache: Decode DXT1 zero alpha as black. * TexCache: Don't swizzle DXT1 colors. * Fixes for Unknown * Update lang * Comply with new Google Play policy that is not happy with "Support PPSSPP" leading to the PPSSPP Gold app in Play * Fix database comments ending the cheat import. * MRFIXIT2001: This patch adds a second frameskip setting, one for setting the # of frames to skip, one for setting the % of frames to skip based off fps * GLES: Fix to delete subimage data since #11447. * [spline/bezier]minor fix * [spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer. * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]Get rid of duplication call of Flush(). * [spline/bezier]Surround with namespace Spline. * [spline/bezier]Remove comment. * [spline/bezier]Improve basic spline/bezier structures. * [spline/bezier]oops * [spline/bezier]minor fix(referenced to c1f0e981). * [spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing. * [spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders. Add changing the quality of HW tessellation. * [spline/bezier]Fix to build for Android(clang). * [spline/bezier]Modify ControlPoints and fix VertexPreview. * [spline/bezier]Put the control points stuffs all in one structure. * [spline/bezier]Modify the weights cache variables to a template variable. * Math3D: Something wrong with hand simd optimization in vec2<float>, so it causes very slow down. However, compiler optimization is faster enough, so removed it. * [spline/bezier]Put the output buffers all in one structure. * [spline/bezier]Improve TemplateParameterDispatcher class macro to a real class. * [spline/bezier]Extract an if-check in the hot loops to the template parameter. * [spline/bezier]Expand loops in the shaders. * [spline/bezier]Precalculate weights in the shaders using the outer product. * [spline/bezier]Sharing textures to avoid heavily textures creation/deletion in one frame. At least, it occurs about 1000 and very slow down in Pursuit Force. * [spline/bezier]Fix around vertex type flags. * [spline/bezier]Improve shader uniforms a bit. * [spline/bezier]Reduce multiplications in the shaders from 16 to 4. * [spline/bezier]Get rid of wasted if-checks at Graphics Processors. * [spline/bezier]Move whole tessellation logic in the shaders into a subroutine. * [spline/bezier]Fix spline weights calculation and get rid of using next patch position in hwtess. * [spline/bezier]Unify hardware tessellation of bezier and spline. * [spline/bezier]Improve hwtess to use cached weights. * [spline/bezier]Unify software tessellation of bezier and spline. * [spline/bezier]Improve HW tess on Opengl to combine 3 textures into a single texture and use it. * thin3d: Add support for texture subimage to GLRender. * [spline/bezier]Fix to build for GE debugger. * [spline/bezier]minor cleanup * [spline/bezier]Fix about quality. * [spline/bezier]Improve template parameter dispatch method. * [spline/bezier]Improve spline tessellation using same as bezier tessellation method.(performance improvements, at least 10 FPS or more) * [spline/bezier]Fix normal generation flag and some minor stuffs. * [spline/bezier]Improve tessellator more generic. * [spline/bezier]Improve bezier tesselator more. * [spline/bezier]minor cleanup * [spline/bezier]Fix bezier texcoord generation. * [spline/bezier]Improve bezier tessellator more. * [spline/bezier]Improve bezier tessellator. * [spline/bezier]Implement weights cache system. * [spline/bezier]Make a spline weights calculation class and precalculate all spline weights at the beginning. * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]Make a bezier weights calculation class and precalculate all bezier weights at the beginning. * [spline/bezier]Improve bezier weights calculation. * [spline/bezier]Move bezier patch loops into the function and pre-convert control-points. * [spline/bezier]Move SIMD optimization of vector operations to Math3D.h. Needs rebuild to avoid a dialog confirmation on Visual Studio. * [spline/bezier]Use real tessellation in low-quality with "fixed to 2" tessellation factor. * [spline/bezier]Pre-convert control-points for the accumulation of SIMD optimization, and avoid conversion in hot loops. * Fix namespace Vec2f. * Modify IndexConverter class to functor. * [spline/bezier]minor fix * [spline/bezier]Make a function to build indices. * [spline/bezier]minor cleanup * [spline/bezier]Improve the logic of copying control-points. * [spline/bezier]Make a function to copy control points. * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]minor fix * [spline/bezier]Managing buffer allocation. * [spline/bezier]Add spline derivative calculation for normal generation. * [spline/bezier]Get rid of divisions in spline weights calculation. ------------------------------------------------------------------- Sat Nov 03 01:43:15 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181102: * Fix libretro Windows build * Libretro d3d11 build fix * Add texture replacement option * add texture filtering core option * Squash of a few libretro makeile fixes * Core: Format CMakeLists.txt consistently. * Qt: Add GLES defines if USING_GLES2. ------------------------------------------------------------------- Fri Nov 02 13:36:31 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181102: * Windows: Check for devices on Windows events only. * Core: Wait for background CPU load on exit. * GLES: Correct invalid scissor handling. * GLES: Add disabled code to run GLES on desktop. * GLES: Detect ARB aniso and cull distance. * Update OpenGL Extension * Fix whitespace * Readability improvements * Implement drawing of offset scale * Implement saner making space for offsets * Make space for offsets (dirty implementation) ------------------------------------------------------------------- Thu Nov 01 23:30:08 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7.1~git20181101: * Update AndroidManifest.xml to 1.7.1 * Update README for 1.7.1 * Update lang yet again * GPU: Cancel shader preload on shutdown/lost. * GLES: Skip freeing program if not allocated. * Vulkan: Wait for GPU ready on shutdown. ------------------------------------------------------------------- Tue Oct 30 14:05:40 UTC 2018 - pousaduarte@gmail.com - Update to version 1.7~git20181030: * Update lang submodule * Savedata: Write only one secure entry. * Address feedback, thanks! * Make more lines translatable in credits * Improve sanity checks for framebuffer readbacks * native: enable backtrace on some BSDs * Update AndroidManifest.xml for 1.7.0 * On older Android versions, densityDpi can't change and is thus not present in the Configuration objects. * Update lang submodule again * Minor README update * Update lang submodule ------------------------------------------------------------------- Thu Oct 25 23:19:49 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181025: * Update lang submodule * Just fix some gradle build warnings. It's using platform 16 anyway (but somehow it all still works back on -9) * Update lang * Update README.md for 1.7.0 ------------------------------------------------------------------- Mon Oct 22 18:14:21 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181022: * Yet another try at taking care of the GPD crashes in #11063. * Disable triangle range culling on D3D9 on Intel. Should fix #11477 * GL: Also skip gl calls in ThreadEnd during shutdown on Android. May help #11063 * Turn off gl debug logging again * Fix issue where skipGLCalls_ wasn't respected. May help #11063 * Revert two accidental minor changes * Workaround for bad int behaviour on Adreno / GLES. (no problems in Vulkan). * Fix minor bug in natural.vsh, which caused a gl_error that I ran into when tracing another bug ------------------------------------------------------------------- Wed Oct 17 19:56:48 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181017: * Fix undefined MSG_NOSIGNAL * Ignore SIGPIPE signal receiving data to avoid crash * Added 8Bitdo SN30 Pro (Switch Profile) controller ------------------------------------------------------------------- Fri Oct 12 17:51:32 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181011: * Oh, another gradle update. Why not. * Vulkan validation: Fix issue where we forgot to transition image mip levels past 0 away from TRANSFER_DST_OPTIMAL during creation. * Make sure to save the config while changing backends using the menu bar. Should help #11465 ------------------------------------------------------------------- Wed Oct 10 12:45:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181009: * Windows: Detect DirectInput devices after launch. * Disable CheckFailedGPUBackends() in debug builds, for convenience * Android: Fix Vulkan immersive startup. * Android: Avoid race on surface destroyed. * Android: Consistently use version constants. * http: Allow pbp and ppdmp files too. * Display: Resched interrupt before vblank threads. * GPU: Reduce log noise while stepping. ------------------------------------------------------------------- Sun Oct 07 14:10:01 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181007: * Instead of the last commit, don't enable the dual src extension at all on Adreno. ------------------------------------------------------------------- Sat Oct 06 23:24:22 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181006: * Experimental commit trying to solve #10421: Blacklist dual src blending on Adreno/Vulkan * Address additional comments. * Avoid calling any GL calls during shutdown on Android. Should help #11063 * Use androidgitversion version 0.4.5 * Remove duplicate library; use the existing one * Disable Android HW scale on TV type devices. * Android build: Enable AAPT2 ------------------------------------------------------------------- Fri Oct 05 11:43:20 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181004: * Replacement: Show a warning for bad texture names. * Replacement: Note filename restrictions in ini. * Replacement: Refactor ini template generation. * UI: Implement a glowing border touch control style. ------------------------------------------------------------------- Wed Oct 03 20:21:21 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181003: * Vulkan: Apply Themaister's patch, removing illegal pre-transitions of swapchain images. Fixes #11417 * GE Debugger:Step to curved surface. ------------------------------------------------------------------- Tue Oct 02 13:06:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20181001: * Windows: Support WASAPI default device switching. * Windows: Support non-extensible float in WASAPI. * Listen to WASAPI events * Cleanup: Split out the WASAPI code into its own file. * Remove redundant minSdkVersion and targetSdkVersion settings from AndroidManifest.xml * UI: Ask for restart when changing graphics device. * Windows: Oops, backwards. * Windows: Detect Windows 10 using kernel32.dll. ------------------------------------------------------------------- Sat Sep 29 18:15:50 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180929: * Core: Report disc read errors to the user. * Android: Update deps; Cannot reproduce #11420 * Android: Remove obsolete files: eclipse * Reduce the number of build variants ------------------------------------------------------------------- Wed Sep 26 18:20:34 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180925: * Fix: prevent linkage error if EGL and GLES is not in one big blob ------------------------------------------------------------------- Tue Sep 25 12:59:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180925: * GLES: Properly parse GL extension names. * GPU: Fix a shader unit typo. * Patch up small UI bug on credits screen. ------------------------------------------------------------------- Mon Sep 24 18:15:10 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180924: * Update ffmpeg submodule ------------------------------------------------------------------- Sun Sep 23 20:54:48 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180923: * Update assets/lang submodule * UI: Maintain aspect better on screenshots. * UI: Keep report image at right aspect ratio. * GPU: Dirty more correctly for cullrange params. ------------------------------------------------------------------- Fri Sep 21 12:58:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180921: * GLES: Refactor out duplicate code. * GPU: Cleanup outdated flushbefore code. * GE Debugger: Fix tex preview race condition. * GPU: Correct handling of large viewport scaling. * Fix: should close on spec #11404 ------------------------------------------------------------------- Wed Sep 19 18:14:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180919: * D3D11: Enable depth clamping. * Android: Buildfix for CMake 3.6. ------------------------------------------------------------------- Tue Sep 18 23:28:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180918: * Throw in very minor fix (apply readonly to buffer used in tesselation). * Vulkan: Only apply the depth workaround on Qualcomm devices (adreno) * Fix small and scary Vulkan bug (leftover from skinning-removal revert) * UI: Fix occassional issue starting second game. * GPU: Refactor cull range calculation together. * Vulkan: Avoid depth clamp with clip range. * Add: some helpers to compile on ODROID-XU4/XU3 * Vulkan: Implement verex range culling. * D3D9: Implement vertex range culling. * GLES: Implement vertex range culling. * Android: Don't use "hw scaling" on modern devices by default. * Add some links to Discord where appropriate. * Add: allow touch screen events on fullscreen ------------------------------------------------------------------- Fri Sep 14 12:57:37 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180914: * Add TSX Extension * Add some extension * x86: Use OS for cores on Mac OS X too. * x86: Use OS to detect core count. ------------------------------------------------------------------- Wed Sep 12 13:16:35 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180912: * Add: -ffast-math compiler option to anything other then Intel * GPU: Handle bad fog params as large signed vals. * SoftGPU: Support fog on 3D rectangles. * GPU: Apply fog before color test. * GPU: Clamp after color doubling. * GPU: Apply color test after doubling. * SoftGPU: Preserve stencil inside logic op func. * SoftGPU: Avoid extra lookup of old stencil. * D3D11: Fix pow(0, 0) lighting handling. * GPU: Clean up some shader id flag usage. ------------------------------------------------------------------- Sun Sep 09 10:15:38 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180909: * D3D9: Set alpha mask reference in uniforms. * D3D11: Split color test out by component. * TexCache: Fix texture alignment in GLES. * Mpeg: Avoid reading outside available bytes. * Add: Touchscreen event support for SDL2 * Replacement: Cut down on parsing for large inis. ------------------------------------------------------------------- Sat Sep 08 11:43:01 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180907: * Core: Reset working graphics backend on restart. * Core: Don't consider graphics failed on shutdown. ------------------------------------------------------------------- Thu Sep 06 07:33:59 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180906: * Core: Log more on graphics backend failures. ------------------------------------------------------------------- Wed Sep 05 12:23:35 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180905: * Debugger: Fix crash in softgpu with no texaddr yet. * UI: Automatically forget pinned deleted paths. * Core: Add flag to prevent graphics cycling. * Core: Track graphics startup failures and cycle. ------------------------------------------------------------------- Tue Sep 04 13:22:44 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180903: * Android: Buildfix for CMake. ------------------------------------------------------------------- Mon Sep 03 18:59:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180902: * TexCache: Optimize DXT5 alpha lerp. * Core: More consistently use directory constants. * Android: Add .nomedia files to system and textures. * TexCache: Avoid masking out alpha for DXT3/DXT5. * TexCache: Optimize DXT3/DXT5 decode to single pass. * UI: Fix state screenshot size on pause screen. * Savedata: Show confirm save without faded icon. * Add: Get user-preferred locale from OS (linux only) ------------------------------------------------------------------- Sun Sep 02 18:42:22 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180902: * Core: Match up NOEN define usage a bit more. * Qt: Buildfix with removed debugger methods. * UI: Move debugger checkbox outside texture area. * Debugger: Add an event for GE dump recording. * Debugger: Refactor to allow simpler broadcasting. * Debugger: Prevent record with no commands. * GE Debugger: Refactor out stepping callback. * GE Debugger: Factor out host calls some. ------------------------------------------------------------------- Sat Sep 01 10:54:54 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180901: * UI: Load post shader names on non-Windows early. * GPU: Clear alpha more consistently from 565. * Set a minimum of 1x1 for Android text bitmap measurement. * Add: EGL info for GLES on Linux * glslang options for vulkan * Debugger: Fix texture readback in GLES. * TexCache: Keep maxSeenV on clut variants in sync. ------------------------------------------------------------------- Mon Aug 27 13:07:24 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180826: * Untested attempt to fix ios/mac discord * Allow choosing to use the system snappy or not. * GPU: Fix typo with wrong type. * UI: Use a larger buffer for realpath(). * Android: When using the hardware scaler, round the size to divisible by 4. Might help #11151 * Enable Discord integration for Mac and Linux. ------------------------------------------------------------------- Sun Aug 26 16:57:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180826: * Update gradle version again * add BTP-BD2F joystick gamecontroller map * Ge: Keep jump/call optim when fast memory on. * Ge: Avoid executing invalid pointers. * GPU: Download safe size on next create, too. * GPU: Fix texture handling on framebuf detach. * GPU: Apply logic op in more cases. * GPU: Refactor logic op simulation for better reuse. * SoftGPU: Apply pixel mask for clears. * Headless: Fix graphics compare tests. ------------------------------------------------------------------- Thu Aug 23 20:39:11 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180823: * Core: Fix logging of SCEGE category. * UI: Delay game config/discord until game info load. ------------------------------------------------------------------- Mon Aug 20 13:01:50 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180818: * GLES: Fix direct shader depal on GLES. * Windows: Correctly buildfix Windows XP. ------------------------------------------------------------------- Thu Aug 16 13:27:15 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180815: * Add sceUsbAcc stubs, improves EyePet(fixes endless loop on boot) * Harmonize some VS project settings. * Properly fix the iterator bug, oops. * Fix crash bug when cleaning duplicates of recent files * Revert some of the sln and vcxproj changes, hoping to appease Travis * Discord: Translated some messages * Don't forget to update the other build systems and try to fix the builds. * Basic Discord presence integration. * Add submodules, namespace json to prepare for the addition of rapidjson (sigh) ------------------------------------------------------------------- Mon Aug 13 19:05:40 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180813: * Io: Fallback to long/full path on Windows XP. * Io: Linux buildfix. * GLES: Enable shader depal with Vulkan fixes. * Io: Prevent cur/parent dir in listing of root. * UI: Resolve symlinks when adding things to recent. ------------------------------------------------------------------- Sun Aug 12 21:46:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180812: * Update README.md with discord link ------------------------------------------------------------------- Sun Aug 12 11:41:16 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180812: * Savedata: Also validate icon/subdata size. * Savedata: Use size, not bufSize, for icons. * Savedata: Return error when bufSize is too small. * Savedata: Return error codes on WRITEDATA/MAKEDATA. * GE Debugger: Rename depth clamp more places. * SoftGPU: Oops, correct rounding to make sense. ------------------------------------------------------------------- Mon Aug 06 16:27:25 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180806: * SoftGPU: Fix some minor rounding on viewport cull. * GE Debugger: Arrange matrices properly. * SoftGPU: Always clip, without special neg z case. * SoftGPU: Drop verts only when depth not clamped. * GE Debugger: Fix preview crash. * GPU: Rename clipping flag to depth clamp. * Update glslang again. Might fix #11276 ------------------------------------------------------------------- Sat Aug 04 20:47:22 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180801: * add libretro hooks for memory pointers to allow usage of new retroarch cheat code searching and rumble-on-memory change features ------------------------------------------------------------------- Mon Jul 30 11:34:36 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180730: * GPU: Optimize > 0 alpha test using discard rules. * Headless: Fix graphics tests for Vulkan/Direct3D. * GPU: Restrict alpha test to zero for dest blend. ------------------------------------------------------------------- Sun Jul 29 11:46:32 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180729: * Savedata: Reset data size when retrying hash. * OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV. * GPU: Allow skipping discard when write disabled. * GLES: Avoid discard when we can blend. * Vulkan: Avoid discard when we can blend. ------------------------------------------------------------------- Sun Jul 22 19:57:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180721: * Be extra careful about never ever binding null textures when drawing backgrounds. See #11243 ------------------------------------------------------------------- Tue Jul 17 18:52:42 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180716: * Update SPIRV-Cross to a fresher version. * Vulkan validation: Ignore the depthreplacing error for now * Update glslang to latest as of 2016-06-26 * Reduce the estimated transform cost of an additional light from 10 to 7 cycles, see #5530. ------------------------------------------------------------------- Wed Jul 11 13:02:37 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180711: * Debugger: Add force resume/kill thread API. * Debugger: Add backtrace API. * Debugger: Add function symbol add/remove API. * Debugger: Add APIs for texture and CLUT. ------------------------------------------------------------------- Tue Jul 10 08:06:59 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180709: * max res x2 ------------------------------------------------------------------- Sun Jul 08 12:40:39 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180707: * Just a quick fix for a typo made in last big rewrite of cheat engine. ------------------------------------------------------------------- Fri Jul 06 13:21:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180705: * Don't cut below 2 * SaveState: Fix stale state threshold. ------------------------------------------------------------------- Sun Jul 01 21:14:09 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180701: * Debugger: Update to latest armips. * Savedata: Use file hash to validate hash mode. * GLES: Include shader compile status in log/report. * GLES: Specify unsigned shift for Adreno bug. * GLES: Read compile/link errors consistently. ------------------------------------------------------------------- Fri Jun 29 18:43:49 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180629: * GPU: Use hw tess only for hw transform. * GPU: Use HW transform for flat spline/bezier. ------------------------------------------------------------------- Wed Jun 27 18:16:01 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180627: * Made X11-Vulkan default. Provided explanatory toolchain file as overriding is more complex. * Changed cmake option to exclude X11 rather than Vulkan itself. * Added Vulkan disable and forced CPU detection options * Restore the vertexCount to 32-bit, needed in some tesselation situations * GE Debugger:Fix indices memory allocation of bezier. * [spline/bezier]Modify D3D11 hwtess texture buffer to structured shader buffer. * Moved from using enum to enum class * Update AndroidManifest.xml * Update build.gradle * Update gradle-wrapper.properties * Update build.gradle * Added "oldest save" and "slots 1-5" as options for "auto load savestate" * [spline/bezier]Fix tex coords. ------------------------------------------------------------------- Mon Jun 25 17:19:08 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180625: * Savedata: Upgrade secureVersion by default. * Savedata: Map secureVersion modes correctly. * Savedata: Add validation on secureVersion param. * Savedata: Return result codes from Save/Load. * Vulkan: Assert on some creates failing. * thin3d: Cleanup some unused/uninitialized warnings. * UI: Keep rendering UI even while stepping. * UI: Disable stepping on unthrottle touch button. * UI: Fix leak in control visibility screen. * UI: Make touch control visibility more consistent. * UI: Sort touch control visibility better. * UI: Show custom speed toggle buttons. * UI: Refactor touch control config handling. * Core: Allow toggle between 2 custom speeds. * UI: Make sliders able to show disabled. * Core: More consistently use config enums. * Core: Move config enums to separate file. * UI: Add a virtkey for holding alt speed. ------------------------------------------------------------------- Sat Jun 23 20:02:45 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180623: * Debugger: Use Break instead of Stop. * Windows: Separate Pause and Break actions. ------------------------------------------------------------------- Sat Jun 23 12:04:06 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180623: * UI: Interpret "unthrottle" to mean leave stepping. * CoreTiming: Reset CPU mhz on reset. * SaveState: Initialize some memory that is saved. * http: Don't crash on unclean client disconnect. ------------------------------------------------------------------- Wed Jun 20 20:26:16 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180620: * Vulkan: Workaround Adreno discard bug. (#11197) ------------------------------------------------------------------- Tue Jun 19 22:55:15 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180619: * Make HideSaveWarnings global (#11196) * Android: Allow desktop GL if available. * Android: Fix C++ EGL code path with threaded GLES. * GLES: Cut down on use of USING_GLES2. * Vulkan: Workaround stencil upload bug on Adreno. * GLES: Add missing semantics for stencil upload. * GLES: Cleanup stencil upload w/h handling. * native: Avoid an absolute value error. * Jpeg: Avoid signed shift warnings. * GPU: Avoid a switch case warning. * Vulkan: Fix some missing switch warnings. * GPU: Remove some unused fields. * Debugger: Fix some format warnings in udis86. * http: Check fread() result to avoid warning. * Debugger: Update to latest armips. * SDL: Avoid alpha on Mali/ARM devices using GLES. * SDL: Buildfixes for EGL lookup. * SDL: Allow more EGL configs. * GLES: Restore stencil/depth readback for debugger. * Debugger: Add some docs for new APIs. * Debugger: Add APIs to retrieve render image. * Debugger: Allow GPU actions while stepping. * GPU: Screenshot output in BGRA if that's native. * thin3d: Fix requesting BGRA buffers. * http: Discard output buffer on disconnect. ------------------------------------------------------------------- Sun Jun 17 17:15:13 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180616: * Added Gioteck VX2 detection ------------------------------------------------------------------- Sat Jun 16 19:44:33 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180616: * SaveState: Show only after 4 hours. * SaveState: Use latest version if initial missing. * SaveState: Add a setting to ignore warnings. * SaveState: Show warning on old / long use state. * UI: Show warning when in a temporary dir. * UI: Make button padding configurable. ------------------------------------------------------------------- Fri Jun 15 23:09:38 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180615: * GLES: Use accurate GLSL ver in postshader convert. ------------------------------------------------------------------- Thu Jun 14 18:06:17 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180614: * MediaEngine: adjust for AVStream.codec deprecation * GE Debugger: Stall less liberally on GE dump exec. * GE Debugger: Use a class for dump execution. * GE Debugger: Fix asserts when reading debug tex. * GE Debugger: Prevent hang on shutdown. ------------------------------------------------------------------- Mon Jun 11 22:37:45 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180610: * SDL: Start with window hidden. * SDL: Use UpdateScreenScale(). * Qt: Allow for larger screen sizes. * Qt: Toggle fullscreen like on all other platforms. * Qt: Return correct refresh rate. * triangles * fx * triangle fan * cullmode fallback * flush back cull mode * handle cull mode by indices, improve performance for GVGNP, refer to #10172 ------------------------------------------------------------------- Sun Jun 10 11:02:26 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180610: * Vulkan: Properly transition stencil/depth for read. * Debugger: Prevent infinite loop on dead socket. * Debugger: Fix bounds warnings in debug mode. ------------------------------------------------------------------- Sat Jun 09 22:50:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180609: * Qt: Use Roboto Condensed like on other platforms. * Qt: Remove bundled assets reader. * Debugger: Ignore invalid branches. * Debugger: Add func name and data symbol to disasm. * Debugger: Allow conditions on threadID/moduleID. * Debugger: Allow stepping based on thread. * Debugger: Avoid some lock ordering issues. * Debugger: Add HLE API funcs. * Debugger: Add debug interfaces for threads. * Debugger: Use a lock for memory reallocs. * Debugger: Add some missing memory locks. * Debugger: Add memory breakpoint management. * Debugger: Initial breakpoint APIs. * Debugger: Disasm search API. * Debugger: Avoid asserts in disassembly. * Debugger: Add thread safety to breakpoints. * Debugger: Fix resume not skipping breakpoints. * Debugger: Include assembler API. * Debugger: Poll frequently after stepping. * json: Optimize writing a bit. * Debugger: Use fragments for long chunks. * Debugger: Add stepping to WebSocket API. * Debugger: Add cpu.evaluate method. * Debugger: Prevent crazy disasm range. * Debugger: Add additional encoding/symbol info. * Debugger: Initial disasm API. * Debugger: Lock during startup/shutdown. * Debugger: Add version event for future proofing. * Debugger: Include PC and ticks in stepping events. * Debugger: Add current game info. * Log: Use a separate field for the timestamp. * Debugger: Disconnect on shutdown/disable. * Debugger: Add checkbox to enable remote debugger. * Debugger: Add config for remote debugger on start. * Debugger: Use a counter when entering stepping. * Debugger: Allow pinging current status. * Debugger: Name the WebSocket debugger thread. * Debugger: Add cpu.stepping and cpu.resume. * Debugger: Reorganize state handling. * Debugger: Cleanup, add initial API docs. * Debugger: Allow setting regs to inf/nan. * Debugger: Improve JSON number parsing. * Debugger: Initial register get/set APIs. * Debugger: Minor cleanup in MIPSDebugInterface. * Debugger: Synchronize error events using tickets. * Debugger: Organize WebSocket event handling. * Debugger: Serve a simple log listener WebSocket. ------------------------------------------------------------------- Fri Jun 08 17:51:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180608: * Add missing include * net: Use WSAAddressToString for Windows XP. * http: Move web server to core and use flags. * thread: Add a simple thread executor. * http: Correct WebSocket close when code missing. * http: Use a buffer for WebSocket output. * http: Allow selecting a WebSocket subprotocol. * http: Allow fragmented data for WebSocket. * http: Add a simple WebSocket server class. * http: Add some operations to avoid blocking. ------------------------------------------------------------------- Thu Jun 07 18:55:18 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180607: * jit: Remove unused breakpoint code. * armjit: Enable breakpoints. * arm64jit: Enable breakpoints. * Debugger: Run memory breakpoints on mobile. * Core: Remove sleep on stepping. * Core: Wake up inactive waits on game exit. * Debugger: Fix initialization issues. * Core: Process stepping on other platforms. * Core: Refactor stepping and locking. * json: Switch to gason instead of vjson. * json: Avoid encoding inf/nan in JSON. * json: Be precise by default. * json: Fix formatting of nested arrays/objects. * json: Allow formatting read json back to writer. * json: Actually include in build. * json: Escape strings in the json writer. * Debugger: Add assembler to build. * net: Listen on ipv6 and ipv4. * net: Support local ipv6 formatting. * net: Support ipv6 lookups. * Core: Remove some unused coreState funcs. * UI: Use UISTATE_PAUSEMENU while game still running. * Debugger: Consistently handle invalid addresses. * Debugger: Add mutexing to disassembly manager. * Debugger: Lock startup/shutdown for threadsafety. * Debugger: Track a counter when entering stepping. * Debugger: Allow multiple clients more properly. * GLES: Removed unused skip copy code. * GPU: Use unordered_map for tempFBOs. * GPU: Minor framebuffer code cleanup. * D3D9: Reuse BGRA conversion code. * D3D9: Use an unordered_map for offscreen. * thin3d: Convert BGRA8888 to RGB888 for screenshots. * GPU: Remove some unused code. * GPU: Dirty tex when clearing or rendering to self. * SDL: Fix EGL build. ------------------------------------------------------------------- Wed Jun 06 18:44:56 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.3~git20180606: * UI: Quit sorting when done. * UI: Add option to sort saves by size. * Sas: Correct calculation of VAG end. * Sas: Correct delay in playing samples. * GE Debugger: Cleaned repetition in spline preview. * GE Debugger: Show bezier/spline in preview. * Qt Debugger: Remove texture viewer. * Qt Debugger: Remove memory viewer. * Qt Debugger: Remove display list debugger. * Qt Debugger: Remove disassembly. * Qt Debugger: Remove VFPU dialog. * Qt: Fix build on Mac. * Qt: Mark git-version.cpp to skip automoc. * Qt: Load texture replacement images. * Reporting: Fix typo. * Reporting: Provide suggestions on negative reports. * UI: Show compat rating radios next to each other. * Headless: Default memory stick inserted. * Ctrl: Always mark non-user buttons released. * GPU: Use software transform for flat shading. * GPU: Correct sw flat shading color on Vulkan/D3D. * D3D9: Implement flat shading via state. * D3D11: Implement flat shading in shader. * Rename device choice config options as requested. * D3D11: Allow the user to select rendering device. * If there are multiple Vulkan devices, show a setting to allow the user to choose. * SDL: Move EGL init code into SDLGLGraphicsContext. * SDL: Use fullscreen for mobile/GLES. * SDL: Properly try multiple GL versions. * Update to 1.6.3 * Android: Reformat Java files. * cityhash: disable SSE 4.2 optimization on x86 * Update default firmware version to 6.60. * Savedata: Respect secureVersion parameter. * OpenGL: Similar to NvOptimusEnablement, use AmdPowerXPressRequestHighPerformance. ------------------------------------------------------------------- Tue Jun 05 13:10:37 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.2~git20180604: * Update lang submodule again ------------------------------------------------------------------- Mon Jun 04 18:58:55 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.2~git20180604: * save cache before clear ------------------------------------------------------------------- Sat Jun 02 11:34:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.2~git20180602: * UI: Reinit UI texture during game when used. * Fix a GL error when taking a screenshot in non-buffered. May help #11056 * Vulkan image readback: Fix a couple scary cases of wrong argument order in image transitions, leading to transitioning 0 mips * Better return the right pointer. * When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height. * Never bind a NULL image view in Vulkan no matter what. ------------------------------------------------------------------- Fri Jun 01 17:18:08 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.2~git20180601: * Update lang submodule * fx depal int precision for opengl es ------------------------------------------------------------------- Thu May 31 10:09:48 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.2~git20180531: * D3D11: Fix crash on screenshot. * Update to 1.6.2 * Fix another of these pesky GL task switching bugs. * More (disabled by default) gl error logging.. * Add a missing virtual destructor, fix a warning ------------------------------------------------------------------- Wed May 30 13:00:22 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.1~git20180529: * sprintf->snprintf. Don't think any of these are likely overflows though. * Thin3D: Handle binding a null texture better. * GLES: Properly restore the pointer to the render manager in more places ------------------------------------------------------------------- Tue May 29 12:37:09 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6.1~git20180528: * Update to 1.6.1 * Vulkan: Update shaders/state when dirty properly. * Vulkan: Don't merge render passes if read from. * Minor cleanup * GLES: Refresh the draw context in DrawEngineGLES on DeviceRestore. How did we miss this? * More paranoia from Google Play * Add some paranoid checks guided by stack traces from Google Play * Change some log levels to verbose * Check for a valid screen manager in NativeIsAtTopLevel ------------------------------------------------------------------- Sat May 26 17:13:26 UTC 2018 - pousaduarte@gmail.com - Update to version 1.6~git20180526: * Update version to 1.6 in AndroidManifest.xml * Update lang * Android immersive mode: Fix display size stretch and touch screen inaccuracy when toggling immersive mode * Android: In v21 and later, make the navigation bar black using styles.xml * Improve README for 1.6 * Update README.md for 1.6 ------------------------------------------------------------------- Mon May 21 12:30:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180521: * SaveState: Fix rename when undo disabled. * Core: Shutdown properly on load failure. ------------------------------------------------------------------- Tue May 15 12:46:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180514: * GLES shader depal fix. Again, this is disabled by default so should not affect anything. * Minor code simplification ------------------------------------------------------------------- Mon May 14 12:23:33 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180513: * GLES depal (currently disabled): Use high int precision. * Always specify GLSL version 450 when compiling Vulkan shaders. * Let's try to update the sustainedperformancemode in yet another place... See #11018 ------------------------------------------------------------------- Fri May 11 23:46:29 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180510: * Another directory, plus no need to use c_str * Create vital directories on Android storage permission grant. Should help #11020 ------------------------------------------------------------------- Thu May 10 12:41:21 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180510: * Allow showing version only for Qt * Allow showing version only for SDL ------------------------------------------------------------------- Wed May 09 23:50:19 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180510: * Win32: Not really appropriate to call exit() on a bad filename. Fixes #11030 * Call updateSustainedPerformanceMode from surfaceChanged as well. May help #11018 ------------------------------------------------------------------- Wed May 09 12:50:26 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180509: * Display: Prevent delaying flips inside interrupts. * Io: Prevent error when file locked for writing. * Android: Only keep the screen bright ingame. * Call updateSustainedPerformanceMode on app focus changes. Should help #11018 * Update to the current gradle version, 4.4 ------------------------------------------------------------------- Mon May 07 12:53:31 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180507: * Minor optimization * Shader depal (VUlkan): Apply a half-texel offset when bilinear filtering, fixing #11008 * Io: Cleanup file not found error codes. * D3D11: Use a dedicated slot for the depal texture. * GPU: Prevent temp FBOs from overwriting each other. ------------------------------------------------------------------- Sun May 06 10:39:39 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180505: * Correct compatibility server link. ------------------------------------------------------------------- Sat May 05 09:58:02 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180504: * Buildfix. * Update lang submodule * Fix regression caused by the new depal code for Vulkan. Fixes #10993 * softgpu: remove RIP addressing from SamplerX86 ------------------------------------------------------------------- Fri May 04 12:41:56 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180503: * D3D11 CopyFBToMemory: Clamp rect to fb size. Last-minute style fix, should really debug where the bad parameters came from. * Windows: If neither OpenGL nor D3D9 is available, offer an escape route into D3D11. * Vulkan: Leave removed commands in render passes. * Vulkan: Keep state on Clear cmds when used later. ------------------------------------------------------------------- Thu May 03 12:13:36 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180503: * Vulkan: Discard draws immediately before clear. ------------------------------------------------------------------- Wed May 02 12:16:29 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180502: * Revert "Limit the flip delay in the other direction to try to work around #10763." ------------------------------------------------------------------- Sun Apr 29 22:38:23 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180430: * UI: Cleaning loading handling and use tags. ------------------------------------------------------------------- Sun Apr 29 19:43:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180429: * Android: Properly reset home on config reload. * thin3d: Report unsupported format conversion. * GLES: Fix game screenshots. * Vulkan: Fix use-after-free crash on shutdown. * Savedata: Report secureVersion param usage. ------------------------------------------------------------------- Sun Apr 29 14:01:02 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180429: * Remove misleading log * Limit the flip delay in the other direction to try to work around #10763. ------------------------------------------------------------------- Wed Apr 25 15:21:49 UTC 2018 - pousaduarte@gmail.com - Restore SDL build ------------------------------------------------------------------- Mon Apr 23 12:21:13 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180422: * Depal: Reapply texture when bounds change. ------------------------------------------------------------------- Sun Apr 22 16:23:36 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180422: * README: Add more to the issue template. * README: Cleanup and move some out to history. * Android: Add missing graphics shutdown calls. ------------------------------------------------------------------- Sat Apr 21 16:07:25 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180421: * Fix build with ffmpeg 4.0 ------------------------------------------------------------------- Sat Apr 21 11:16:31 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180421: * Update UWP.vcxproj * Fixed Certification and img issues ------------------------------------------------------------------- Fri Apr 20 12:15:27 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180420: * Oops, meant to commit this. * Disable the loading state string display, creates too much translation work for 1.6 * Android: Buildfix. ------------------------------------------------------------------- Thu Apr 19 12:24:00 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180418: * Conditionally revert "Remove the bad orientation hack. Seems the Nexus 5X bug is fixed." ------------------------------------------------------------------- Tue Apr 17 18:41:42 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180417: * Replay: Skip recording virtual disc reads. ------------------------------------------------------------------- Mon Apr 16 12:47:56 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180415: * add support for File app on iOS 11 ------------------------------------------------------------------- Sat Apr 14 22:43:26 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180414: * Vulkan: Fix shutdown crash when device lost called. * Android: Avoid overload shadowing. * GLES: GlPushBuffer was a little too friendly. * Vulkan: Fix cache file error handling warnings. * Vulkan: Fix a log formatting issue. ------------------------------------------------------------------- Sat Apr 14 11:12:59 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180414: * Fix glitch in MGS: Acid perf hack. yeah, slippery slope.. * Shader depal: fix bilinear filter coord * Implement shader depal for GL as well, but disabled by default. * Let's try it on SR2 as well. * Add a queue processing hack for Sonic Rivals too. Now it's fast. * Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid. * Fix various bugs. * Shader depal: Implement bilinear filtering. * Implement shader depal for Vulkan. See #10908. Bilinear filter not yet implemented. ------------------------------------------------------------------- Fri Apr 13 12:16:31 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180413: * Just add some constants for the GL texture slots. * Vulkan/D3D11: Make some space in the base uniform buffer by consolidating the spline parameters into one variable. ------------------------------------------------------------------- Thu Apr 12 12:59:25 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180412: * Avoid some GL errors on older devices * GL: Add a lot of conditional error checks (normally not enabled) * Some comment fixes and cleanup. * Don't forget to dirty some state after depal. May help #10906 ? * Replay: Fix a silly typo applying analog. * Android: Do the same file_offset_bits checks for pread64 as before. Should help #10901 * Temporary workaround for another IR interpreter crash. See #10897 * IR Interpreter: Add some missing instruction metadata. May help part of #10897 ------------------------------------------------------------------- Tue Apr 10 22:46:15 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180410: * Update lang submodule (restore software skinning option) * Buildfix. ------------------------------------------------------------------- Tue Apr 10 13:10:44 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180410: * Inner interpreter safety check - in hw skinning mode, we need to flush if any part of the vertex format changes. * Remove some obsolete checks - software skinning is now supported even if morphcount isn't 1. * Revert "Start removing support for hardware skinning." * Revert "VertexLoader: Remove now-unused weights translation code" * Revert "Oops, fix hardware tess in Vulkan (after removing hw skinning, we need to adjust the binding number)" * Revert "Remove further remains of hardware skinning." * Revert "Remove gstate_c.deferredVertTypeDirty" * Revert "Comment fixes, reindentation." * Fix DecFmt bug * Revert "Further cleanup after the removal of hardware skinning." * Revert "Remove some remains of software skinning" * Module: Fix function hashing typo. * UI: Assert on invalid permission status. * Android: End GLES renderer after emu thread join. * GLES: Defrag using deleter off render thread. * Use tabs for indentation * fix “crash on exit” * allow padding specification, remove NSLog * add updated Obj-C version of SubtleVolume * Android: Avoid pread64 for > 2GB offsets. * Replay: Handle long button presses correctly. * Replay: Initial file handling and control funcs. * Replay: Track replay of file operations. * Replay: Prep side data structure. * Replay: Initial structure for replay functionality. ------------------------------------------------------------------- Sat Apr 07 15:57:28 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180407: * UWP: Fix (or patch up...) a race condition in StorageFileLoader. Might help #10882, fixes some other freezes. * UWP: Remove the rendering backend picker. Fixes #10883, sort of. * UWP buildfix * Update lang submodule * Vulkan: Ease off on the allocator "slab pressure" if texture scaling is enabled.` ------------------------------------------------------------------- Sat Apr 07 10:34:53 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180407: * Vulkan: Increase base slab allocation size. * Vulkan: Report old allocations when enabled. * Vulkan: Add tags to UI textures too. * Vulkan: Track tags on emu textures. * Vulkan: Allow reusing memory more aggressively. * Vulkan: Decimate when there are many slabs. * Vulkan: Add code to track allocator usage info. * Assorted cleanups. Don't assert on no clear mask. ------------------------------------------------------------------- Fri Apr 06 11:17:34 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180405: * Vulkan: Remove the wrapper struct around VulkanTexture ------------------------------------------------------------------- Thu Apr 05 21:49:40 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180405: * Fixes to in-game GPU shutdown/switching. Fixes #10860 * Fix issue in TextureCacheGLES::DeviceRestore * Auto unregister push buffer on deletion. * Auto register new push buffers on creation * Move pushbuffer deletion to the render manager. * Also take control over Begin/End * Minor refactoring moving creation/deletion of GLPushBuffer to GLRenderManager * OpenGL debug log: Filter out some buffer mapping info from the NV driver * More GL shutdown fixes. Partially fixes #10868 ------------------------------------------------------------------- Thu Apr 05 12:45:08 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180404: * arm64jit: Fix reg size in jr delay slot path. * Change to int to allow higher supersampling scale. * Add SSAA flag for post process shaders, enforces 2x auto resolution, to be used with blurry effects Also includes a perf. friendly example using simplified gauss filter ------------------------------------------------------------------- Tue Apr 03 09:53:20 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180403: * GPU: Fix s8 norm with skin and morph. * Add "--pause-menu-exit" option. ------------------------------------------------------------------- Mon Apr 02 10:54:49 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180402: * Android: Fix initial start from shortcut. * GLES: Show post-shader compile errors to user. * Vulkan: Show post-shader compile errors to user. * GLES: Show post-shader translate errors to user. * jit: Apply hasSetRounding at compile time. * arm64jit: Update rounding mode on thread switch. ------------------------------------------------------------------- Sun Apr 01 10:41:50 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180401: * arm64jit: Fix a case of R() on unmapped. * arm64jit: Update some comments. ------------------------------------------------------------------- Thu Mar 29 23:23:32 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180329: * Oops, fix mistake in #10834 ------------------------------------------------------------------- Thu Mar 29 14:11:58 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180329: * Include renderpass definition in Vulkan shader cache entries, should make it more effective again. * When binding a framebuffer to a texcache entry, delete its texture. Should help #10823 ------------------------------------------------------------------- Thu Mar 29 10:08:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180329: * Libretro needs core staticly linked even on Android * Fix libretro compile for gles platforms * OpenGL: Fix texture wrapping of render targets. ------------------------------------------------------------------- Wed Mar 28 11:02:33 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180327: * Android: Properly restore screenshots on the Pause screen on task switching away and back. * GCC buildfix (can't use things without definitions in templates). * Make sure the renderpass cache hashmap is never accessed from the main thread at runtime. Should help #10811 ------------------------------------------------------------------- Tue Mar 27 11:04:07 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180327: * Fixed the new shader error on OpenGL ES (#10799) * Libretro: update Makefiles. * Libretro: style nits. * Libretro: set cache_context to true, fixes GL and D3D11 context reset. * Libretro: msvc build fix. * TexCache: unit test the quick tex hash. * Libretro: add experimental D3D11 support. * Libretro: update libretro.h * Headless: Quick update to use render thread. * SDL: Fix shutdown ordering. * SDL: Use wstrings in Windows API calls. * Libretro: Declare TARGET_ARCH for ARM before the include flags * libretro: msvc build fix. ------------------------------------------------------------------- Mon Mar 26 12:58:40 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180326: * Don't leave "reduceHash_" uninitialized. Probably won't help #10796 though.. * Don't forget to initialize.. fixes #10802 ------------------------------------------------------------------- Sun Mar 25 20:49:32 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180325: * Headless: Add simple GL thread handling. * Quick try on fixing new shader for mobiles that are less forgiving. * PPSSPPSDL: Throttle refresh rate when in menu. Fixes #10445 * Remove the bad orientation hack. Seems the Nexus 5X bug is fixed. * Show chosen postshader display name properly, plus some additional bugfixes. Fixes #10790 * Android: Have haptic feedback ignore the global setting, but default to off. * Remove the last remains of the idea that textures can be efficiently updated instead of recreated. Accidentally fixes #10697 somehow. ------------------------------------------------------------------- Sun Mar 25 12:59:02 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180325: * When listing post-shaders, use the "name" specified in the ini as default, when looking up translations. * Redirect the user to download the D3D9 runtime if D3D9 is not available and they don't want to switch to OpenGL. * Fix updating light constants when light type changes (we handle dir/pos lights differently). Fixes #10132 * Added new Natural Colors PP shader (removed blur) (#10782) * GPU: Count clears during frameskip. ------------------------------------------------------------------- Sat Mar 24 17:49:45 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180324: * Remove "experimental" tag from Hardware Tessellation ------------------------------------------------------------------- Sat Mar 24 16:01:52 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180324: * Remove some unnecessary logging. Fixes #10753 * nits. * Android: Reload the config after getting storage permission, and ask immediately. Should help #10670 * remove all usage of __LIBRETRO__ * Libretro port. * add missing include. * Windows/Vulkan: use the width and height arguments in ReinitSurface when provided. ------------------------------------------------------------------- Sat Mar 24 10:36:10 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180324: * set _WIN32_WINNT to 0x0601 in stdafx.h * Android: Prevent a text bitmap size from becoming 0 on '\r\n'. Fixes #10764 (unless there are more platforms where it's broken...) * Win32 textdrawer: Fix rare crash affecting Patapon 2 in savedata manager. See 10764. * fix most write-strings warning. * remove unnecessary NULL assignment. * fix mingw and msvc cmake builds. * prevent reads of uninitialized memory. * vulkan: perform delete callbacks first since they can also queue deletes. * add missing inclues. * fix return value / plug leak. * prevent use-after-free. * fix va_list reuse without a va_copy. * SaveState: Default undo slots off on mobile. * SaveState: Show undos in save data manager. * SaveState: Keep an undo for each slot by default. ------------------------------------------------------------------- Wed Mar 21 20:11:30 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 1.5.4~git20180321: * Revert "Update glslang to the latest version" to fix #10748 * Enable FlushInstructionCache on UWP, it's been allowed finally. * Landscape Auto for Android * Map SDL controller's `back` button to Sony DualShock 4 V2's share button ------------------------------------------------------------------- Tue Mar 20 14:25:46 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 1.5.4~git20180319: * Android: Restore auto screen orientation. * Buildfix * Vulkan: Improve handling of shader compile failures (don't crash) * Vulkan: Workaround for bug in Adreno shader compiler affecting color tests. ------------------------------------------------------------------- Mon Mar 19 15:01:54 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 1.5.4~git20180319: * Delete some mistaken logging code * Minor improvement in pipeline-to-string (debug) * Vulkan: De-duplicate pipelines when storing cache * Vulkan: Minor logic fixes in the transition elimination * Vulkan: Use finalLayout to optimize away barriers before framebuffer copies. * Vulkan: Get rid of more explicit barriers by merging the finalLayout color transitions into renderpasses. * Add a super focused workaround for the Mali bug, see #10723 * Vulkan: Fix a barrier to be more permissive, there's no outstanding writes from the GPU to wait for. * Merge framebuffer layout pre-transitions into render pass subpass dependencies. * Vulkan Clear-renderpass merging: If a copy step is found that reads from the affected buffer, don't merge the clear into the later renderpass. * Shrink the vertexCount field in DeferredDrawCall to the 16 bits required. * Inner interpreter: Add support for the Gran Turismo hack. * Add another SDL game controller config, fixing #10724 * Pass new vulkan validation layers. Fix math in FindTransferFramebuffers. * Module: Clarify insertSymbols usage. * Module: Hash functions only once during loading. * Maybe slightly safer vulkan detection code. Might help #10732 * Vulkan: Load shaders/pipelines on thread. * OpenGL task switching fix * Do more detailed checks for Vulkan availability. Should hopefully solve #10729. * Remove some unused tracking of whether lighting is used by a shader * Update Vulkan headers to 1.1. Might as well keep up. * Bump GL shader cache version * Don't allow wrapping on framebuffer textures. Fixes GTA on old NV Shield * Update glslang to the latest version * Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs. * Remove some remains of software skinning * Vulkan pipeline: Merge a few property fields to a flags field. * Update lang submodule * Vulkan: Fix bug where we didn't always reset dynamic state after readbacks. * Oops, remove logging * Vulkan: Also check for empty clearing renderpasses later in the frame. * If the first renderpass is an empty clear, merge it into the next one that touches the same framebuffer. Works around #10723 in Wipeout. ------------------------------------------------------------------- Thu Mar 15 15:30:30 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180315: * Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues ------------------------------------------------------------------- Wed Mar 14 18:42:55 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180314: * GL: Fix bug where we could crash if a readback happened at the same time as a buffer expansion. * Fix a typo extra " in some header ------------------------------------------------------------------- Tue Mar 13 18:57:46 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180313: * Tiny unification of code. Save the GL shader cache a bit less often. * Fix the loading status. Prettify the loading screen by putting the status and spinner along the bottom edge. * UI: Show more detailed loading status. * Fix crash happening with glGetFloatv on GPDXD devices * Fix VSync on Windows. Should fix #10711 * Sort Vulkan function pointers by use. Might save us a cacheline or two during command submission.. ------------------------------------------------------------------- Mon Mar 12 13:46:38 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180312: * Combine the lightAngle and spotCoef float uniforms into one float2. Saves 64 bytes from the light uniform buffer, making it an even 512. ------------------------------------------------------------------- Sun Mar 11 18:18:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180311: * Let's not do immediate flips in non-buffered. Should help #10395 * Fixes to vulkan restart logic on Android. Should help #10696 ------------------------------------------------------------------- Thu Mar 08 18:17:35 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180308: * Fix #10692 (crash when starting games from command line). Throw in some minor Vulkan fixes as well. ------------------------------------------------------------------- Tue Mar 06 14:24:04 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180305: * MOVUPS to be safe. * Minor simplification in X86/X64 vertex decoder jit * Optimize the "inner interpreter" for God of War character drawing. Speeds the games up by 4% or so. * Move the vertTypeID calculation out of DrawEngine. Need to shorten SubmitPrim as much as possible. ------------------------------------------------------------------- Mon Mar 05 15:55:11 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180305: * Oops, fix hardware tess in Vulkan (after removing hw skinning, we need to adjust the binding number) * Fix indentation mistake, minor cleanup. * Further cleanup after the removal of hardware skinning. * Comment fixes, reindentation. * Remove gstate_c.deferredVertTypeDirty * Remove further remains of hardware skinning. Fixes #10661 * VertexLoader: Remove now-unused weights translation code * Start removing support for hardware skinning. * Remove checks that disabled software skinning if there was morph. * Add necessary decode functions to support morph+skin * Small refactoring in VertexDecoderCommon * Minor cleanup * GLES: Support more buffer mapping strategies. * GLES: Fix force alignment on buffer map. * GL: Use AllocateAlignedMemory to make sure localMemory is always aligned. Fixes #10666 * GLES: Buffer handling cleanup. ------------------------------------------------------------------- Sat Mar 03 12:22:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180303: * Qt: Set window title asynchronously. Should fix #10674 * Split out QtHost.h from HostTypes.h * Android: Fix fallback from Vulkan to GL. ------------------------------------------------------------------- Fri Mar 02 13:39:49 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180302: * Turn off the inner interpreter when stepping in the GE debugger. Fix comment. * Fix custom UI backgrounds again by initializing lazily (turned out to be the cause of #10662) ------------------------------------------------------------------- Thu Mar 01 13:41:47 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180301: * Buildfix, warning fixes * Some error handling and assert improvements, trying to understand #10662 ------------------------------------------------------------------- Thu Mar 01 10:51:50 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180301: * D3D9/D3D11: Fix GPU feature detection. Enforce accurate depth on nVidia as well, they no longer seem to support reverse depth so it's needed as a workaround. Fixes #10655 * inner interpreter: support skipping regular nops * Qt: Don't call SDL_PumpEvents from the emu thread. Fixes #10660 * b.sh: Add --qtbrew as a shortcut to use a Qt installed by homebrew. * Fix something found by -fsanitize=undefined * Buildfix, oops * GL: Fix depal issue where we forgot to set vp/scissor properly. Update some asserts. * Don't use the inner interpreter when debug recording * Execute_Prim: Add a smaller "inner interpreter" to avoid going back to the runloop during long sequences of PRIM commands. ------------------------------------------------------------------- Wed Feb 28 14:03:34 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180228: * GL: Filter away redundant glEnable/Disable(GL_STENCIL_TEST) * Add an extra check to FindTransferFramebuffers to avoid misdetecting fb blits that end up out of bounds when we perform them. * Add comment trying to clarify shutdown of GPU_GLES, restore the wipe, minor tweaks. Should help #10652 * UWP buildfix? * Minor code/logging cleanups. ------------------------------------------------------------------- Mon Feb 26 17:49:58 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180226: * GL: Don't wait-for-idle when shutting down the PSP GPU, it's the wrong place. Should fix #10652 * Remove duplicate declaration of GPUCommon::CmdFunc * Avoid the most common virtual call when possible. * Unify FramebufferDirty()/FramebufferReallyDirty() for the hw backends * Unify FastRunLoop for the hardware backends. * Unify UpdateCmdInfo * GPU: Unify command table (cmdInfo_) * Virtualize CheckGPUFeatures * Unify DispatchSubmitPrim as much as possible * Unify Execute_LoadClut * Unify Execute_Prim * Unify all the DrawEngine::SubmitPrim ------------------------------------------------------------------- Mon Feb 26 14:36:29 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180226: * Improve a bunch of Vulkan copy-rect asserts by adding more debug info * Minor naming and init cleanups in VulkanTexture * Some log level changes. ------------------------------------------------------------------- Mon Feb 26 11:01:48 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180226: * GLES: Disable buffer mapping for non-NVIDIA. * Vulkan: Remove the old method of uploading images. * Try to be more consistent when initializing vulkan structs. * Follow the spec rules about errors when allocating from descriptor pools * Extract RecreateDescriptorPool() ------------------------------------------------------------------- Sun Feb 25 15:31:07 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180225: * Buildfixes * Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases. ------------------------------------------------------------------- Sat Feb 24 22:51:09 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180224: * Vulkan: Need to count allocated descsets per frame separately from the map, since tess isn't even in-frame cached. * Vulkan: Dynamically grow descriptor pools as needed. Should help #10641 and similar issues. * GLES: Fix texture scaling. ------------------------------------------------------------------- Thu Feb 22 18:27:47 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180222: * iOS: fix hang on exit ------------------------------------------------------------------- Tue Feb 20 11:58:27 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180219: * Qt: Remove old texture debug API. * GLES: Fix unpack misalignment, Qt debugger freeing. * GLES: Properly free when upscaling textures. ------------------------------------------------------------------- Sun Feb 18 23:11:41 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180218: * TexCache: Decimate aggressively with many variants. * TexCache: Decimate CLUT variants more often. ------------------------------------------------------------------- Tue Feb 13 13:22:57 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180213: * Fix issue with Vulkan task switching and resolution changes on Android. ------------------------------------------------------------------- Mon Feb 12 21:40:06 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180212: * Postprocessing: Fix bug where scissor cut off the image if render resolution > display resolution * GL: Need to recompile postshaders on Resized() (which is a bit of a misnomer) * Oops, didn't mean to update the submodules backwards (remains from a bisect) * Whitelist mapbuffer usage to NVIDIA only (should maybe add Qualcomm too), it's murder on Mali * GLES: Fix shutdown while stepping. * GLES: iOS buildfix. * GLES: Android buildfix. * GLES: Use buffer storage and explicit flush. * GLES: Free localMemory later. * GLES: Use buffer range mapping where appropriate. * GLES: Use mapped device memory when possible. * Cheats: Fix a debug assertion. * iOS: Attempt to fix shutdown race condition. * GLES: Prevent race condition on shutdown. * GLES: Wait for queue idle properly. ------------------------------------------------------------------- Sun Feb 11 18:13:30 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180211: * GLES: Use aligned memory for textures. * Global: Fix some type comparison/shadow warnings. * Tiny change to work around internal compiler error (!) in 32-bit builds with latest MSVC update * GLES: Prevent crash on screenshot without buffers. * Windows: Allow GL thread on graphics restart. * Windows: Prevent shutdown lag for non-GL. * SDL: Apply shutdown race condition fix. * Android: Fix race condition on shutdown. * Windows: Trigger StopThread() on shutdown. * GL: Fix clearing alpha on stencil uploads. * SDL: Fix issue with vulkan-to-opengl fallback * Windows: Consistently shutdown the main thread after exiting the message loop. * Improve assert messages in VulkanRenderManager (minor) * For some reason we use DrawActiveTexture in the GL stencil stuff, don't want to disable stencil unconditionally.. * Fix another way the scissor test could accidentally get disabled * Remove the confusing "DisableState" across the codebase * GL: Set a plain render state in DrawActiveTexture, without relying on the caller having called DisableState * Add a simple spinner to the game load screen to not look frozen. * Minor Qt cleanup, force OpenGL since we don't yet support Vulkan in Qt * Buildfix * gl-render-manager: Oops, fix scissor tests after clears * Avoid causing a gl error on startup on core contexts. * Another go at the deleter problem. Still not feeling 100% good about how this works.. but it does seem to work fine. * Get rid of an unused codepath (gl rendering is now always threaded) * GL render manager: Fix bug when setting texture sampler if the wrong GL texture slot is active. Will likely help #10583 * GLES: Fix minor memory leak * Qt: Fix emuthread management to exit cleanly without hanging * Cleanup the Windows thread stuff to work like the other platforms. Not quite perfect yet. * Android: Fix emuthread management to exit cleanly without hanging. Helps with task switching on Android. * SDL: Fix emuthread management to exit cleanly without hanging. * Add an option to use the system libzip, to please grumpy package maintainers. * Always use the bundled libzip to avoid compatibility issues. Should fix #10575 * Noticed that the UWP build has been broken for some time, fix it. * Fix another Qt memory leak * Qt: Prevent some race conditions on shutdown by deleting emugl. * Fix further memory leaks * Move SDLGLGraphicsContext.h to the correct location. Minor cleanup * Minor cleanups * Split the SDL graphics contexts into their own files. * SDL: NativeInitGraphics/NativeShutdownGraphics should run on the emu thread. * Qt: Some cleanup and fixes. Still not working correctly with gl-render-manager. * Temporarily disable symbols on Qt, crashes strangely. * Warning fixes * Fix some memory leaks * Revert "Simpler way to deal with the GL deleter" * gl-render-manager: Use properly scaled scissor rectangle, oops. Fixes higher resolutions. * gl-render-manager: Fix postprocessing shaders. Fixes #10566. Live switching is broken though for some reason. * gl-render-manager: Support scissored clears, as used by the GL backend. Fixes GT. * b.sh: Add a build option for address sanitizer. When enabled, we turn on some compatibility options to make it work right. ------------------------------------------------------------------- Wed Jan 31 13:03:51 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180131: * Rough fix for threaded GL for Qt. * Simpler way to deal with the GL deleter * Minor: Make the Vulkan allocator debug visualizer slightly better looking by adding a border. * Buildfixes * Avoid linking error on MacOSX. * Include order fix. Darn X11 headers. * Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour. * Fix readback color conversion * Fix some accidental extra-indentation * Don't crash on missing readback formats. * Enough JNI/threading hackery to get it to run on Android! Broken readbacks make it crash alot though. * Work towards threaded GL on Android. Now TextDrawer barfs on wrong JNI context. * another whitespace fix * one more whitespace fix * whitespace cleanup * disable the iOS thread before shutting down * use GLRenderManager on iOS * SDL: Oops, only start the emu thread for GLES. * Core: Set thread names when possible. * GLES: Fix segfault on GL 2.x. * SDL: Allow running GL on thread. * GLES: Handle glGetString() on GL thread. * GPU: Fix shader blending recopying. * GLES: Correct shader blending. * GLES: Run ThreadFrame until frame complete. * GLES: Fix race crash on shutdown. * GLES: Reintroduce out of memory checks. * GLES: Re-enable texture scaling. * GLES: Add TODO note for shader blend texture. * GLES: Use linear for high-res FBO tex copies. * GLES: Report errors for link failures. * GLES: Keep the GLRShader desc around. * GLES: Avoid using failed depal shaders if possible. * D3D11: Remove potentially misleading rebind func. * GLES: Skip blend reset after stencil upload. * GLES: Reset blend state on clear. * Reintroduce check for GE_LOGIC_COPY * ES2 buildfix - glGetTexImage is not available * gl-render-manager: Fix updating sampler modes when texturing from framebuffer * gl-render-manager: Fix HW tesselation. Remove 1D texture support, likely no benefit. * GLES: Avoid a shutdown race condition. * Debugger: Fix texture preview in GLES. * GLES: Actually stop the thread on shutdown. * Vulkan: Fix alpha clear on stencil upload. * GLES: Consistently reset state on new steps. * GLES: Fix intra-buffer block transfers. * gl-render-manager: Implement logic ops * GLES: Accept a color mask for clears. * GLES: Prevent writing to gutter in readback. * Vulkan: Correct zero stencil upload fast path. * Vulkan: Fix stencil-only clear for stencil upload. * GLES: Document stencil clearing bug. * GLES: Move stencil upload state into render pass. * GLES: Ensure stencil upload clear in render pass. * GLES: Bind texture on MakePixelTexture(). * More work on shutdown, still hanging though. * Fix for deletes, add some debugging stuff * gl-render-manager: Now threaded mode seems to work fine (and fast!). Shutdown doesn't, though, and there are stability issues. * OpenGL: Now run GL on a secondary thread. Sync issues remain. * Fix use-after-free in shader error reporting * TODOs and indentations * StencilBufferGLES: Move SetNoBlendAndMask to the right places. * Fix goof with the stencil buffer drawing * GL render manager: Improve shader error reporting. * Minor fixes, indentation and comments * Vulkan: Use push_back instead of resize(+1) * Truncate the '\n' from GL debug strings before logging them. * iOS buildfix * Move GL sampler state tracking into GLRenderManager/QueueRunner. * More state dirtying, a comment * Fix terrible drawing glitches when we do sync readbacks. * Assorted cleanup * Rip out async readbacks from FramebufferManagerGLES. They should be implemented in GLQueueRunner, differently. * Remove the old CPU threading remains, start redesigning interfaces. * GL render manager: Simple implementation of synchronous framebuffer readbacks. * Remove viewport flipping where it's not needed * GL render manager: Add some more dirty tracking. * GL render manager: Merge BindInputLayout into BindVertexBuffer. * Fix bug, works on Android now. Don't reuse textures. * Run the depal stuff, seems a bit broken. Add some state filtering. * Scissor fix * Fix showing savestate screenshots (needed mips) * Make sure we set GL_TEXTURE_MAX_LEVEL somewhere. * Fix some texture memory bugs (yeah need to make copies..) * gl-render-manager: Need to actually bind newly created textures. * GL render manager: Various fixes and cleanup including a buffered rendering fix, rect primitive fix * Start moving the framebuffer stuff over to the render manager * Fix more gl-render-manager problems * Kill off the GL state cache * Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes. * Initial texture work. Bugfix indexed drawing * More GLRenderManager * Start messing with the draw engine... * Finish the shader manager (almost) * PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers. * Fix clears and textures. Things still broken due to memory overwrites. * First garbage graphics output! * Even more gl-render-manager * More gl-render-manager * More work on gl-render-manager * Begin implementing GLQueueRunner and GLRenderManager * Additional header cleanup * Split Android graphics context implementations into their own files. * Windows: Fix loading files with a long path. * Revert "EditorConfig: Workaround MSVC2017 bug." * Windows: Use sufficient buffer for config file paths. * Windows: Fix a small memory leak. * Experimenally try a new gamecontrollerdb.txt line for 360 wireless receiver on linux. See #10181 * Allow up to 10x window size on Windows. * Windows: Fix extracting UMD block data. * Add taptic feedback on virtual buttons * Don't prevent use of make's long options * Update Inno installer * Check for Vulkan Xlib/Wayland surface support before enabling * Update lang submodule * IR: This optimization is safe when all three regs are consecutive, so avoid disabling it unnecessarily. * Minor cleanup * Use more accurate words * irjit: Remove Comp_ITypeMemLR. * Use more specific words when applicable * GPU: Improve some bezier logging. * irjit: Improve multiple lwr in a row. * irjit: Swap moves when it may allow clobbering. * irjit: Convert lwr and friends to easier code. * irjit: Combine lwl/lwr and swl/swr, like before. * irjit: Handle Left/Right ops in passes. * irjit: Add dedicated ops for lwl/swl and friends. * irjit: Optimize out temp lhs copies. ------------------------------------------------------------------- Tue Jan 09 00:29:43 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180108: * irjit: Skip preloading blocks with jump to 0. * irjit: For debug, return the best block at addr. * irjit: Allow precompiling funcs at start. * jit: Add interface to precompile functions. ------------------------------------------------------------------- Fri Jan 05 16:17:02 UTC 2018 - pousaduarte@gmail.com - Update to version 1.5.4~git20180105: * irjit: Add a safety check for block num overflow. * irjit: Enable more debug UI for block selection. * irjit: Calculate bloat statistics. * Cleanup GetBlockNumberFromStartAddress * Fix that weird unordered compare mode, hopefully * IR: More fixes. Still something wrong with VFPU compares (not caused by this PR). * require iOS 8, add a launch screen * On Linux, can't even include nmmintrin without explicitly enabling SSE 4.2 support. * IR interpreter: Add some braces to allow variable declaration in the switch cases. * Add some more SIMD support to IR interpreter. Mostly just because, but also serves as implementation reference for later code generation backends. * IRInterpreter: Fix bugs in floating point truncation functions * Fix running the CPU test from the UI. * Show IR disassembly in JIT Compare screen * IR Interpreter: Add missing break; to switch case IROp::FSign. * irjit: Encode downcount directly as a constant. * irjit: Embed constant inside IRInst. * Minor fix for previous commit. * irjit: Fix swr typo. * VertexDecoderCommon: A few more cases. * IR Interpreter: Add a comment, minor cleanup, minor SSE stuff. * VertexDecoderCommon: Avoid reading the destination during vertex decode, might be some kind of memory that's not good to read from... * Module: Avoid scanning stubs if possible. * Module: Scan modules with no sections at all. * Module: Correct detection of executable sections. * UI: Fade in loading much slower to avoid flicker. * UI: Actually offset text shadow. * UI: Show PIC1 while loading. * Core: Asynchronously load the main ELF. * irjit: Properly account for delay slots in size. * iOS: ViewController cleanups - delete unused code and properties * iOS: call PROFILE_INIT so we don't crash with USE_PROFILER * iOS: Nix iosCanUseJit and targetIsJailbroken. Move NativeInit call to main so it can take cmd line args. * Remove references to AudioEngine, which isn't used anyway * HLE: Reset latestSyscall on save state load. * irjit: Implement lwl/lwr/swl/swr. * irjit: Add options for compile/optimize steps. * irjit: Add extra temps to make lwl/swl/etc. easier. * irjit: Cleanup some invalid op handling. * arm64jit: Avoid spilling an extra reg for lwl/lwr. * jit: Report blocks with uneaten VFPU prefixes. * Logging: Use AndroidLogger for all mobile devices. * nil out sharedViewController in case bindDefaultFBO is called again * iOS: convert all obj-c source code to ARC * iOS: fix a reference counting bug that may have caused ViewController to never be deallocated * Modernize property syntax and don't use viewDidUnload (deprecated in iOS 6) * Create AppDelegate the standard way instead of in PPSSPPUIApplication init * irjit: Speed up icache block invalidation. * Change iOSCoreAudio from cpp to mm. Explicitly activate the audio session. Always set the same mDataByteSize. * Add AVFoundation to linked frameworks on iOS * Handle iOS audio session interruptions by reinitializing audio * add an include for PPSSPP_PLATFORM * fix cmake when building for iOS in a path with spaces * Fix build on iOS (only iOS 9 and up support thread_local) * Stencil copy: Avoid clearing the depth buffer. * Remove outdated comment. * Oops, forgot these. * Complete the separation of depth and stencil renderpass flags * Start separating depth and stencil renderpass actions, only internally in the Vulkan code so far. * Vulkan: Create renderpass objects on demand. Just a refactoring to prepare for some later features/optimizations. * Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it. * Typo fix * Add a bit of logging to try to figure out #10477 * arm64jit: Negate in ADDI2R/SUBI2R as well. * Debugger: Fix hang when viewing invalid RAM. * arm64jit: Statically allocate ra as well. * Profiler: Show the slowest thread's categories. * Profiler: Fix cat display on small screens. * Profiler: Separately track texture hashing. * arm64jit: Free up W23 for static alloc. * arm64jit: Cleanup method names, temp discard. * UI: Fix dev menu scroll on small screens. * UI: Only default focus visible things. * arm64jit: Enable safe memory for lwl/lwr. * arm64jit: Avoid arithmetic movs. * arm64jit: Fix spilling for more than one temp reg. * arm64jit: Use TBZ/TBNZ for vfpu branch as well. * arm64jit: Use TBZ/TBNZ for fp branches. * arm64jit: Use CBZ/CBNZ for zero compare branches. * arm64jit: Handle more imm compare cases. * arm64jit: Use CMN for CMPI2R if possible. * arm64jit: Avoid temporary on variable shift. * arm64jit: Reuse code in I2R funcs. * Dual source blend: Remove bad #ifdef that killed dual src code on Android... oops. Re-enable on nVidia Shield TV/Tablet. Fixes #10136 properly. * arm64jit: Oops, properly init temp locked flag. * UI: Check existance outside of game info lock. * UI: Use atomic flags in game info cache. * arm64jit: Remove unnecessary address masking. * HLE: Replace starocean framebuf clear func. * GPU: Track stats on uploads. * arm64jit: Avoid flushing when mapping as pointer. * arm64jit: Jit lwl/lwr with proper temp regs. * arm64jit: Fix and enable imm lwl/lwr. * arm64jit: Allow ANDI2R/etc. with zero. * arm64jit: Attempt to reuse imms on sw/etc. * x86jit: Fix safemem on WX exclusive. * jit: Skip unlinking blocks on clear. * arm64jit: Autodetect pointerify support. * arm64jit: Allow reg ptr offsets when unaligned. * arm64jit: Allow ARMREG_AS_PTR to be dirty. * arm64jit: Use reg sum for LDR/STR. * arm64jit: Fix an integer truncation warning. * arm64jit: Reprotect fixed code after icache flush. * arm64jit: Remove buggy icache invalidate. * arm64jit: Avoid MOVK elsewhere without pointerify. * arm64jit: Allow static alloc without pointerify. * arm64jit: Skip storing spilled but not dirty. * arm64jit: Only adjust pointers if pointerified. * arm64jit: Allow disabling pointerification. * Module: Reload imports later in save state load. * Android cmake buildfix * GPU: Reset context version on init. * UI: Trigger view recreate on static sized screens. * Display: Avoid limiting FPS without a clear. * Debugger: Defer active symbol updates. * Vulkan: Allow full depth range with depth clamp. * Vulkan: Use depth clamping, where available. * GPU: Match GE saved context better. * Vulkan: Fix fragment depth rounding. * Qt: Fix OpenGL init. * GPU: Reset GPUBackend on graphics init. * GPU: Remove duplicate BACKEND constants. * Check for Wayland headers in CMake * Remove VULKAN_STATIC * Support Vulkan on any Unix * Add support for Vulkan on Wayland * GPU: Avoid memory corruption on bone matrix > 96. * UI: Remove auto-download options. * GPU: Remove FBO auto-download hack. * irjit: Allow continuing from mips break. * GPU: Add quick method for debugging. * UI: Fix graphics API display on start. * Windows: Track minimize as lost focus. * GPU: Reduce depth blits when not updated. * Software: Execute bounding box tests. * Vulkan: Decimate the texture allocator. * GLES: Allow dual src blend on newer Intel. * GE Debugger: Allow enable/disable of prim preview. * GE Debugger: Keep prim preview on pan/zoom. * GE Debugger: Fix preview when zooming. * GE Debugger: Fix some crashes while stepping. * GE Debugger: Save with alpha for PNGs. * GPU: Cleanup some feature flags usage. * GLES: Improve HW tess requirements validation. * Core: Allow more formats for screenshot. * GE Debugger: Allow image export from previews. * Core: Refactor screenshot saving. * Android cmake fix * SDL: unbreak on more non-Vulkan platforms * GLES: Reduce conversion buf size if possible. * GLES: Avoid buffer on GLES2 for h=1 / CLUT. * Vulkan: Cleanup unused code. * GLES: Pack without stride where possible. * SDL: Fix OpenGL init again. Fixes #10424 * Build Vulkan on all platforms, won't be used if not supported. * Get Vulkan going on Linux * Statically link a vulkan loader on Linux. Use to to init vulkan on X11. Unfortunately, it's broken. * Cleanups in PCMain.cpp * WIP vulkan on linux stuff * SDL: really try lower GL profiles & add GLES context support * Vulkan: Fix bug where we'd do the initial layout transition for an image before binding memory to it. Should help the issue uncovered in #10413 * Add missing includes. Remove some more unnecessary #ifdef _DEBUG checks - the debugger is supposed to work in release mode too. * CMakeLists: relocate EGL library name detection * Move QtMain.cpp and PCMain.cpp to more sensible locations. Native isn't standalone anymore... * Remove more obsolete ifdefs * Some ifdef cleanup. * Get rid of the old custom "Event" sync primitive. * Win32: Use the standard thread APIs to manage the emu thread. * Avoid including platform-specific headers in VulkanContext.h * Implement warning when trying to play Ghost of Sparta with a modified CPU clock, as suggested by unknownbrackets in #7411 * Update vulkan headers, add linux .so loader lib for easy builds, like Sascha does. * Fix annoying name clashes (Status is in X11 headers..) * Just some log cleanup * Fix typo causing #10408 * Another buildfix, sigh. Also extend the safe region a little bit to the thing from a couple commits ago. * Add a tiny bit of safety margin to the RipAccessible check. Should be enough for 128-bit SSE data. * Update lang submodule * Oops, buildfix * Move vulkan debug callback out from WindowsVulkanContext into a file that can be shared with other platforms later. * UI: Properly center storage perm prompt. * UI: Use less space with recent + need storage. * UI: Allow skipping transitions on set current tab. * UI: Fix AnchorLayout size when wrapping content. * UI: Pass UNSPECIFIED through on scroll views. * UI: Give ItemHeaders intrinsic size. * UI: Add flex pressure to tab content. * Update bounds in NativeResized as well to fix glitches on layout screens that use it. * Improve very small display on very large surface, And change some variables to constants. * Limit smallest zoom to match it's slider and well. * Respect sticky edge by center option and make it stick from smaller range * Stick display to edges of the screen/window size * Improve display layout editor for zooming into corners, also limit the scale to 10 to match slider. * GPU: Rename GPUBackend setting to apply default. * GPU: Default to Vulkan if possible. * http: Allow sharing automatically on PPSSPP start. * UI: Always clip tab contents. * UI: Clip scissor to screen. * UI: Transition tab strips on select. * UI: Allow negative left/right for anchor layouts. * UI: Add tween for translating anchor offsets. * Windows: Fix UI text measurements with &. * UI: Reset transitions after too long a time. * UI: Translate API on start screen. * UI: Allow translating system info. * Another driver version check change, should help Galaxy A5 2017 on issue #10361 * Force AccurateDepth on, on older Mali drivers which don't handle reverse Z viewports. Should help #10361 * Make a minor correction to Vulkan driver version display. * Store: Maintain icon aspect ratio. * Store: Highlight active item, reselect on resize. * Store: Wrap item descriptions on small screens. * UI: Transition button and item focus/presses. * UI: Add an event for tween finish. * UI: Add delay to tweens. * UI: Show a few more flags in build config. * UI: Show extensions at full width. * And yet another case of the same problem as the previous commit. * Fix another case where we trusted std::move to clear the origin, which is not guaranteed. * Tweak logging and asserts in VulkanDeviceMemory::Destroy * Don't hold the lock when processing messages, only when taking them off the queue. Fixes #10383 * Display: Only reapply state on load. * Display: Reset cycle counter on load state. * UI: Always apply tweens after restore. * UI: Add threadsafety to cache item file loaders. * Loaders: Depriorize disc streaming queue items. * GLES device lost/store fixes * Apply a fix to the ARM64 emitter ported over from Dolphin * Add a comment, revert a reporting change. * UI: Cancel loaders on shutdown. * Loaders: Add cancelation to all file loaders. * UI: Reset touch controls after config load. * UI: Persist tween data on view recreate. * Add missing IF statement for instance rendering check.. * Minor uniform cleanup * Try to fix build with the old Android build system too... * SPIRV-Cross should build on Android now, so remove another platform check. * Use glslang to translate GLSL 1.x postshaders to GLSL 3.0 or later to appease strict GL Core drivers. Should fix #10362 * Update travis config to use NDK 16b * Also update Application.mk for the old build system. * From NDK 16, libc++ is out of beta and gnustl will be deprecated soon, so switch. * Fix another little inconsistency (two uniforms were merged for bad reasons) * Clean up a small inconsistency * Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. * Recreate views after boot is done, to workaround #10360 . Not the best solution.. * Vulkan: Add facility to auto-generate mipmap levels. Not yet used. * Vulkan: Show samplers in "shader debug" * Avoid multiple flips per frame, fixes immediate flip for God of War * Add mitigation for games like GTA that never call sceDisplaySetFramebuf * Flip immediately if that's OK. This can save up to a frame of graphics latency, in games that display "immediately" instead of latched. * UI: Show loading message while shaders preload. * fixup! UI: Ensure tweens always complete. * GLES: Avoid hanging while precompiling shaders. * System: Allow GPU to have delayed loading. * UI: Apply tweens on Update(). * UI: Reorganize EmuScreen so it renders on loading. * UI: Ensure tweens always complete. * UI: Add a simple tween class. * UI: Add colorBlend() helper. * Display: Correct max FPS limiting skew. * Windows: Request a core profile by default. * SDL: Use core profile, fixing old Mac GL issues. * arm64: Use LDRUH instead of two LDRBs. * Savedata: Show icon for new saves more often. ------------------------------------------------------------------- Tue Dec 05 18:26:05 UTC 2017 - pousaduarte@gmail.com - Update to version 1.5.4~git20171205: * v1.5.4 * Try to fix iOS builds on the Travis buildbot. #10254 * Replacement: Break the mip loading loop if a level is wrong. Also shrink the log output. * Reject texture replacement mipmaps of the wrong size * Just some debug output for future decisions * Update submodule lang * Also disable dualsrc blend on Tegra K1. Should help #10208 * Missing -lEGL when -DUSING_EGL=ON * Android: Warn if PPSSPP fails to save the config file. * RIFF: Add check for truncated files, cleanup a little more. * Try to protect against bad data in RIFF files (used for menu background audio only) * Even more cleanup of RIFFReader * Kill off more unused code in RIFFReader * Remove write support from chunk_file, rename to RIFFReader * Reformat chunk_file. Don't usually reformat whole files, but this was too ugly to work on :P * GE Record: After recording a frame, log the filename of the output file. * Disable "Accurate Depth" in Burnout games, they have trouble with it on Mali (Z-fighting...) * Vulkan: Allow shutdown with init commands. * Android: Fix race condition on lock/unlock. * Android: Reset immersive after native dialogs. * Vulkan: Swap in more forceful asserts. * Global: Silence some unused declaration warnings. * UI: Fix some virtual override warnings. * Windows: Stop input poll before emu shutdown. * UI: When stepping, clear on initial load. * Android: Fix crash on shutdown/restart. * UI: Fix D3D9 half-pixel offset at 1x. * Clip block transfer destinations. Should fix crash in #10011. Stats: Invent some sort of usage metric for device memory allocators. * Revert "Fix memory-scan bug in VulkanDeviceAllocator that probably causes some fragmentation." * Fix memory-scan bug in VulkanDeviceAllocator that probably causes some fragmentation. * Shutdown fix. * Fix bugs in VulkanImage allocator support * Add another assert, which gets hit.. Hm. Something is wrong.. * Change some Crash() to asserts in VulkanDeviceAllocator * Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that. * Vulkan: Only call EndCreate on the texture if it actually exists.. Though not having one would be bad. * UI: Send prompt results even on back/cancel. * D3D11: Change state caches to DenseHashMaps. * Hashmaps: Fix missing maintain calls in non-GLES. * Fix a use-after-free in sceKernelTerminateDeleteThread * Android: Render text with newlines properly. * UI: Wrap text properly with explicit newlines. * UI: Clean up some unused code and flags. * Hashmaps: Another cleanup. * UI: Avoid pushing a screen on top of itself. * UI: Cleanup common message handling. * UI: Avoid navigation with an active dialog. * UI: Send messages to dialog parents by default. * Hashmaps: Reset count on clear. * GLES: Log shader cache filesize error better. * GPU: Minor cleanup. * Hashmaps: Reset state when growing. * Hashmaps: Change some crashes to asserts. * GLES: Validate shader cache filesize on preload. * GPU: Use more typesafe shader IDs. * GPU: Annotate free shader ID bits. * Update AndroidManifest.xml to 1.5.3.0, just in case anyone is still using the old build system where this isn't automatic. * Update lang * Fix bug in Vulkan non-buffered where clears could extend outside the frame, since Vulkan clears do not respect scissors. * Vulkan: Remove misguided assert about backbuffer clearing mode. * Reporting: Oops, fix module load log line. * Add hotkey to toggle audio and video dumping together in sync. * Add a github issue template. Let's see if this works. * Reporting: Use a different link message on preload. * GPU: Add missing shader id to short desc. * Improve reporting for imm buffer exceeded. Reset the immCount_ every frame to avoid getting "stuck" permanently in case some garbage is executed.. * Try a silly workaround for an otherwise unexplainable crash seen in Google Play Console * Reporting: Don't report with locked CPU speed. * Reporting: Improve bezier/spline morph/skin data. * Try to help Mali 400 shader reg alloc by reusing variables. It's still commonly reported. * Comment, minor cleanup * Reporting: Improve no pos verts message. * Reporting: Skip reporting reused depthbuffers. * Module: Cleanup magic number. * Reporting: Remove unused code. * Reporting: Stop reporting module load versions. * Adhoc: Remove incorrect thread create param. * Reporting: Disallow feedback for fake game ids. * Buildfix, oops * Vulkan: Fix crash bug when post processing shaders failed to compile. * Clean up all the FBOs in DestroyAllFBOs. Missing any can have bad consequences after app switching on Android/Vulkan where we recreate stuff. * Checks and paranoia in response to a crash report.. * Check for HW-transform and through when loading GL shader cache. * Minor cleanup. Add a debug assert in shader ID calculation * Oops:] * Despam a sceDmacMemcpy report. Happens in Naruto Shippuden: Ultimate Impact, accordint to reports. ------------------------------------------------------------------- Fri Dec 01 09:47:28 UTC 2017 - pousaduarte@gmail.com - Update to version 1.5.2~git20171201: * Clear postprocess confusion in d3d9 backend by hiding the option:] * Vulkan: Report more info on texture from target. * GPU: Try to avoid FB download without an FBO. * GLES: Report shader errors with shader desc. * Add some debug asserts, useful for debugging shader mismatches locally (though haven't found any..) * Module: Stop reporting bad magic numbers. * Memory::Memset: IsValidRange is a better solution. * Fix minor discrepancy in shader ID calculation, I don't think this will fix anything though. Bumping shader cache version and doing minor cleanup too. * Avoid wrapping when shifting down the audio after scaling by a 20-bit value. Fixes #9967 * Add sanity check in Memory::Memset * Still seeing asserts in this function, weakening remaining to debug-only.. but these really shouldn't trigger. * DX9: Revert a bad optimization, hopefully fixing #10205. Vulkan: Add a missing check. ------------------------------------------------------------------- Thu Nov 30 10:42:23 UTC 2017 - pousaduarte@gmail.com - Update to version 1.5.2~git20171130: * Add some comments. * Oops;p, I always mess this up. * Change some other substr used with cheats and smuggle a fix for another problem * Change str.substr(x, 1) == "y" to str[x] == 'y' * Fix a cheat menu crash with invalid cheat name. Also stop #comments from being removed by cheat menu. * VKRFramebufer: Just some checks to be slightly safer in case creation failed.. * Fix UI crash when keyboard navigating out of popup list. * Can't call functions through known-nil pointers, even if they don't touch local data - LLVM's optimizer might have done something stupid. * Fix a java exception around the GPS stuff * Vulkan: Avoid duplicate image pre-transitions (actually eliminated later anyway, but a small saving) * Vulkan transitions after render: Add a missing case that seems like it could be common? * Avoid an assert in ARM64 emitter, seen in Google Play crash logs * Move pushbuffer map/unmap to the .cpp file to avoid inlining (for stack traces) * Crash in a more appropriate place if missing a drawcontext (happens on really weak devices only) * Fix another possible Vulkan shutdown bug * Loosen up some asserts that seem to trigger unexpectedly... need investigation. * Crash reports from 5% rollout of 1.5: Make some asserts dbg_asserts for now, try to fix an issue with framebuffers when postproc is enabled. * Try to get androidgitversion to behave. It thinks the build is dirty when it's not. * Add privacy policy link to app, as required by Google Play since we use the CAMERA permission now. * Update AndroidManifest.xml to 1.5.0 * Update lang submodule ------------------------------------------------------------------- Tue Nov 28 19:09:54 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171128: * Readme for 1.5: Small rewording * Coldbird's up and running again, restore the proAdhoc default. See issue #9984 * More README updates * More 1.5 README fixes * Update the README for 1.5. * Fix a text overdraw problem on the title screen on very small displays. * Fix the fix for Thrillville. See #7459 * Add ability to simulate a few kinds of Vulkan initialization failures, to test the GL fallback. * Minor error checking improvement * Android: Call setDisplayParameters early with the display w/h in pixels. Without this, was defaulting to 1x rendering on S8 which is silly. * Windows: Avoid UWP for desktop api family. * UI: Fix alphaMul clamping. * Kernel: Fix delete thread null check. * Global: Fix some warnings. * Windows: Fix error formatting with % signs. * GPU: Fix block transfer write breakpoint. * Just reduce some log levels * Unbreak save states, fix other minor issues from review * Fix some comments * Add safety check. * Hack that converts immediate draws to through-mode draws. This won't work correctly in all cases - but it's enough for Thrillville which uses it to clear only. Works around #7459. * Process immediate draw commands. Not yet sending to graphics backends. * Fix D3D11 push buffer overflow * Fix the prefix problems on ARM 32-bit as well. * Core: report Debian GNU/kFreeBSD separately * Common: implement GetExeDirectory on NetBSD * ARM64 JIT: Fix additional VFPU prefix problems * Fix JIT bug in ARM64. Fixes #10183 * Vulkan vertex cache: Fix memory leak * Fix _assert_ on Android to assert properly * Revert "Temporary hack (see #10163): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit." * Temporary hack (see #10163): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit. * UI: Minor pause screen cleanup. * UI: Draw actual, not aligned, text width. * UI: Clear font bitmap after aligning size. * When drawing text using our truetype backends, round coordinates to pixels. Fixes #10180 * Fix text width measurement on Android when there are spaces at the start/end of the string (bounds doesn't handle that). Fixes 10174 * Get rid of collision-prone font cache keys. Stress the font cache a little less on slider dialogs. * Yet another buildfix, sorry :/ * Oops, android buildfix * ARM buildfix * Allow loading graphics dumps (*.ppdmp) through the regular UI. * Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163. Also improve some asserts. * Make our release mode asserts actually fire properly in release mode again... * Android: Use __android_log_assert facility to get pretty message-asserts into crash dumps. * Fix gl scissor rect issue. Fixes #10119 * Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545 * Add a missing break that would explain the odd AUTO mipmap test results on D3D11 and Vulkan... * Disable the DisableAccurateDepth compat flag on AMD/Vulkan, see #9545. Ugh. * Android: Fix #9697 where we'd hang if we lacked permission and got a filename as a command. * Android: Update to gradle 3.0.1 * Workarounds for issue with "accurate depth". See #9545, #10087 * Update armips to latest. See #10161 * The UNKNOWN(3) mip selection mode seems to act like CONST. Keep that working. * Fix message asserts on Android. Add more of them to check things in Vulkan code. * Refactor: Unify DecodeVerts and move ComputeNumVertsToDecode to Common * Vulkan: Break apart DecodeVerts * GL: Compute "availableUniform" when generating shaders instead of by querying. * GL: Compute the attrMask while generating the vshader instead of querying. * Move aniso to the sampler cache key. * Disable anisotropic filtering in headless, screws up mipmap test * Cleanups * Fix headless to work better in vulkan mode * Make test.py python3-compatible, print out command lines better. * Attempt to unbreak D3D9 mipmapping (still disabling SLOPE mode) * Buildfix, update comments slightly * Share UpdateSamplingParams between D3D11 and Vulkan. Support lod bias in Vulkan. * Properly zero samplercache keys before filling them out. * Mipmaps: Disable LOD bias in slope mode as that's not how it works. ------------------------------------------------------------------- Sat Nov 18 20:08:27 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171118: * Remove trailing whitespace from CMakeLists.txt * Vulkan: Fix stencil clears to a specific value. Should help #10150 * Silence travis gcc version errors. ------------------------------------------------------------------- Fri Nov 17 19:49:33 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171117: * Remove wrong comments * GPU: Advance the vertex pointer after BBOX vertices are sent. Fixes #6554, finally! * Win32: Improvements to vulkan init error handling * Temporarily turn off Vulkan threading on AMD, see issue #10097. * Vulkan: Forgot to enable our various depth rounding features. * Vulkan: Flush at display list waits. Fixes #10095 * Minor cleanup, and more terrifying orientation hackery * Android: When creating shortcuts, put the file path in data, not in Extras. * Fix the "vulkan not found" message on android. Fixes #10034 * Make remoteiso_subdir and server editable on Android. Fixes #10142. Really need a better mechanism for these fields. * Workaround orientation bug in Android when unlocking the screen. * Unify RebindFramebuffer, mostly. * Vulkan: Fix bug where shader blend texture overwrote normal texture binding. Fixes #10135 * Update .gitignore for libretro builds. * Fix headless to work better in vulkan mode * Make test.py python3-compatible, print out command lines better. * Vulkan screenshots: Fix R/G swap bug. Thanks unknown. * Make sure the device supports transfers from swapchain images when taking screenshots. * Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though... * Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh. * Vulkan: Show the preferred depth-stencil format in the feature list. * Just more accurate feature flags for Vulkan. * Headless: Prevent segfaults with Vulkan. * Headless: Fix crash with null GPU. * Links from the UI: Change from http:// to https:// wherever possible. * Add missing ID for CTTR compat hack. * Fix Memory Leak :D * spaces->underscores:) * Fixes problem switching between non-through triangles and rects. Helps a small part of #6554 * More duplicate code removal * Small changes. Thx [Unknown] * Change KernelTimeNow to KernelTimeNowFormatted and return nice timestamp. * Requested changes. * Blah;p. Buildfix. * Fix linux build. * Add an option to allow resetting video/audio dump on save/load state. * Use gameID and emulated timestamp for Avi/Wav dump filenames. * Fix texture conversion. * Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ? * Kill off more unused duplicate code * Oops * Delete unused duplicate functions * Fix annoying little flicker when starting a game. * Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines * Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines. * D3D11: Similarly to the last vulkan commit, don't create lots of dupe vertex input layouts * Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats. * DevScreens: In shader viewer tabs, show the number of each shader type. * Unify Execute_Bezier and Execute_Spline * Minor cleanup, fix a comment. * Vulkan: Minor validation error fix * Nitpicking! Correct minor version for non Nvidia. * Win32: Add (debug) to window title in debug builds * Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes #10109 * SoftGPU: Oops, fix silly typo. * Vulkan: Remove experimental warning. * Vulkan: Cut down on asserts during init. * TexCache: Add NEON alpha checks for Vulkan. * TexCache: Simplify CheckAlpha funcs and SIMD. * TexCache: Check alpha before scaling. * TexCache: Remove simple 0/1 alpha check. * Vulkan: Avoid checking texture alpha after scale. * Fix bug where readback buffers would be created too small sometimes. Should help #10098 * Vulkan: Tweak stencil value from clears. * Vulkan: When deriving stencilref from color, don't forget to update the value. ------------------------------------------------------------------- Sun Nov 12 18:31:34 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171112: * UI: Typo fix. * Buildfixes for Android * Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P * Vulkan: Speed up and simplify hardware tesselation by using storage buffers. * hwtess: Shrink Vulkan UV textures * Make the interface to hw tess slightly more flexible. * Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions. * Vulkan: Support wide lines if available on the GPU. * Vulkan readback: Resize the readback buffer dynamically as necessary. * SoftGPU: Add a clear mode fast path. * Debugger: Prevent clear while stepping. * SoftGPU: Thread by width for wide polygons. * SoftGPU: Fix crash when stride is 0. * Vulkan hw tess: Assorted minor fixes. Works on Mali now. * Vulkan hw tess: Use pushbuffers instead of temp images to upload data. * Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe. * Remove unused pointer. * Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead. * Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots) * SaveState: Avoid clearing shaders in all backends. * D3D11: Clear input layouts on shader clear. * D3D11: Avoid clearing shaders on load state. * SaveState: Fix use-after-resize iterator. * Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9. * Android: Cleaner way to avoid double-resizing the backbuffer. * Fix blackscreen when resolution is set to auto. Fixes #10081 * Experimenally disable dual source blending on AMD too for Vulkan, see #10065 * MotoGP: Compat hack to disable framebuffer readbacks. * Buildfix 32-bit * Ditch a silly vertex count limit that only makes sense for GLES, so move it there. * Fix race condition. * Fix a few more device-loss bugs. * Avoid double-initializing the Vulkan backbuffer on startup. * Logging improvements, avoid resetting the Android text drawer unnecessarily * More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same. * Change Android logging ID from "NativeApp" to "PPSSPP" * More logging and tweaking * Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly. * Keep the draw context up to date in a bunch of places. More logging. * Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes. * Fix some ports * Upgrade glslang to a fresh version (used to compile Vulkan shaders). Might help #10065 ?) * Ooops * Vulkan: Disable dual source blending on Intel GPUs, fixes #10074. * Show textual names of Vulkan GPU vendors * Improve Vulkan device selection mechanism to prefer discrete GPUs * Cleanup gradle output. * Cheats: Fix pointer command count offset. * Cheats: Clamp pointer command data to avail. * Fix 0x6 code types * Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup. * Fix some minor things found by running Sizer on PPSSPP * Cheats: Enable for any non-zero number. * Disable lwl/lwr on ARM64 JIT again. Seems b9b2656e9313 broke things, see #10020 * Count readbacks in a frame and show in GPU debug stats. * Cheats: Split parsing and execution. * Try harder to free up memory from the Android native font rendering system. Might help #10069 * Vulkan: If acquiring a frame fails (happens sometimes during window resize), skip swapping the frame. Should help #10063 * Vulkan: Wait for orderly thread stop on resize. * Vulkan: Fix deadlock on resize. * Vulkan: Some error handling improvement. Might get us a clue for #10065 * Vulkan: The validation layers don't like zero-size blits. * Vulkan: Better way to make sure we bind the backbuffer at some point. * Vulkan: Convert depth format on readback. * Vulkan: Show textures in GE debugger. * Vulkan: Add texture image readback. * Vulkan: Fix non-16 bit indexed drawing. * Vulkan: Allow clearing the backbuffer to any color. * D3D11: Show FBO-as-texture in GE debugger. * TexCache: Warning fix. * Use W^X on OpenBSD. * Don't use "threadsafe events" for Ge stuff. * Vulkan: Fix leak in WipeQueue(). * Turn on multithreaded vulkan * Remove/deprecate GPU tick sync * Get rid of GPUCommon's "Internal" functions. * Delete ProcessEvent and the GPUEvent enum * Delete GPUCommon::ScheduleEvent * Get rid of a bunch of sync stuff that's no longer needed. * Get rid of the sync around curTickEst * Delete the mutex in GPUCommon. * Vulkan: Fix framebuffer leak. * Remove the setting to run the display list interpreter on a separate thread. * Vulkan: Correct logicop dirtying. * Vulkan multithread: Fix race condition. * TexCache: Detect textures in FBO gutters. * GPU: Properly Release() FBOs. * SaveState: Correct free on error and uncomp format. * SaveState: Use malloc to avoid Android OOM crash. * Vulkan: Make sure backbuffer is bound for UI. * Vulkan: Resignal unexecuted fences on thread stop. * Vulkan: Wait for queue idle in DestroyBackbuffers. * GPU: Restore initial readback on output. * Vulkan: Refcount framebuffer deletes. * Vulkan: Account inside frame from push side. * Add missing Google Maven repository * Buildfix again. Should fix #10046 this time. * Unify a little bit of depal code. * Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale. * Minor depal state dirtying fix * Add <cmath> include. Will hopefully help #10046 * Cleanups and fixes around Vulkan stencil upload. thx unknown * Should be bufferWidth here, not width. Thanks unknown. * Vulkan: Fix a comment. * Vulkan: Allow sync when using threading. * Vulkan: Fix out-of-sync frames on threading. * Vulkan: Trigger condvar only at frame end. * Vulkan: Fix segfault on swapchain fail. * Fix issue in framebuffer size calculation when viewport is bogus in through mode. Fixes #10043. * Tiny cleanups. * Vulkan: Minor fixes. * Stop leaking framebuffers on shutdown. Fix other shutdown issues. * Minor optimization. * Remove some code duplication * Vulkan: Implement stencil upload (for Star Ocean). ------------------------------------------------------------------- Wed Nov 01 14:46:49 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171101: * Small fix for a bad block transfer in Soul Calibur * Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc. * DenseHashMap: Speed up clearing. Became more important since I had to disable keeping descriptor sets around between frames. * Complete a comment. * Vulkan: Fix colors for low-bpp depal (actually fixing the shadows of ff-type0) * Make VulkanTexture "immutable". * Add some disabled code to submit "init" command buffers separately to the queue for debugging. * Always recreate DrawPixelsTex to avoid inter-frame races. * Use the global curFrame counter. No need for a vector for pushing cmdbufs. * Add a QueueRunner logging facility. Set up a subpass dependency for the backbuffer pass. * Add and update some comments. * Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations. * Decimate descriptors every frame until I find a better solution. Fixes flicker in videos in several games. * Remove disabling of validation warning. It works. * Vulkan: Fix depal and shader blending. * Vulkan depal code now passes validation, but produces black. * Implement the rest of Vulkan framebuffer depal. Not yet working though. * Some reorganization. Start implementing framebuffer depal for Vulkan. * Delete superfluous bind of temporary render target on creation. * Implement GetFramebufferAPITexture for Vulkan ------------------------------------------------------------------- Sun Oct 29 19:28:27 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171029: * Share the conversion code between vulkan and D3D, fixing the missing format thing. * Color-convert directly during the readback, saves a copy. Like we already do in D3D11. * Revert most of the last commit - will do it differently. * Use the CPU color conversion from GLES for readbacks in Vulkan (and D3D11). Fix bug. * Fix Vulkan framebuffer readbacks, as long as they're in R8G8B8A8. * Vulkan: Rough untested implementation of synchronous readbacks. * VulkanRenderManager: Split out BeginFrame and EndFrame from Run * Comment cleanup * Refactor: Split out VulkanQueueRunner from VulkanRenderManager * Forgot to update the Android target version here to 26. * Another buildfix * Fix integer overflow affecting very large draw calls * More buildfixes, warning fix, memory leak fix * 32-bit android buildfix attempt * Bump descriptor set limits, which became insufficient with the addition of tesselation (should really use separate big desc layouts for them) * Remove misguided hack. * Warning fixes * Remove a bad check making us use the wrong way to copy depth buffers. Add a cap so we can try to unify BlitFramebufferDepth later. * Assorted fixes * Fix (some) crashes on blits. Validation issues remain. * Forgot to add the CMakeLists.txt change to the last commit. * Warning fixes, CMakeLists.txt/Android.mk fixes * Fix some resource leaks and excessive logging in VulkanRenderManager * Clean out some obsolete code * VulkanRenderManager: BindPipeline should really be its own command. Tighten up some image transitions. * Improve synchronization, though there are very weird issues. Possibly need to run the swap chain from the thread that created it? * Avoid re-binding pipelines. * Let's try a mutex. Doesn't completely solve the problem though.. * Make sure not to begin and end the init command buffer on different threads. * Vulkan: Don't forget to specify stencil load op in render passes * This makes a little more sense, but still hangs (frameAvailable = true while stuck on condvar) * Synchronization is HARD. need a rethink, methinks. * Move the VulkanRenderManager stuff to thin3d, fits in better there. * Rendering basics now works. * A multitude of fixes. The UI now works correctly, though of course ingame still broken. * It builds! With some shortcuts, of course. * Use RenderManager for thin3d stuff * Initial work on render queue manager ------------------------------------------------------------------- Thu Oct 26 11:00:35 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171026: * Update gradle files to Android Studio 3.0 defaults. ------------------------------------------------------------------- Tue Oct 24 22:15:17 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171024: * Automatically scroll textboxes when the caret ends up outside. Fixes #10026 . * Fix issue with caret position in text boxes caused by a bad hash function. Fletcher is 2-bytes-at-a-time and thus very inappropriate for short strings. * Can't use the camera stuff on Android versions before 11. Fixes #10029. ------------------------------------------------------------------- Mon Oct 23 15:37:55 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171023: * Separate -Bsymbolic Shared linker flag * Ops typo * Better path fix x86_64 android ------------------------------------------------------------------- Sun Oct 22 20:02:03 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171022: * Comment and typo fixes. * Vulkan: Fix silly mistake in blend constant checks, thanks Unknown. ------------------------------------------------------------------- Sat Oct 21 14:09:54 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171021: * Bit more Vulkan barrier cleanup. * Various Vulkan image transition fixes and related * More work towards passing 1.61 Vulkan validation layers * Initial work on passing the latest Vulkan validation checks. * Don't call functions in asserts, they get compiled out in release... * Allow D3D9 context creation to bail if shader compilation fails (D3D9 runtime not installed). * Have GetFramebufferDimensions return the backbuffer size for null in all backends. * Another minor cleanup (DescribeCodePtr) * Unify and move around code to cleanup some debug accessors * Unify GetFramebufferList() (trivial) * Unify DownloadFramebufferForClut * Remove more dummy code from Vulkan backend. * Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager. * Add some safety checks. Fix some inadvertent Y-flips (bit hacky). * Unify some more framebuffer functions. Leave the GL stuff alone for now due to async. * Unify (well, almost) GetOutputFramebuffer (D3D11/GL) * Unify GetDepthBuffer/GetStencilBuffer in GL/D3D11 ------------------------------------------------------------------- Wed Oct 18 17:42:02 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171017: * Minor refactoring of framebuffer readbacks. * Start moving PACK_ALIGNMENT into SafeGLReadPixels * Minor OpenGL refactor. * More format support in thin3d GL * Move GL readback to a Thin3D abstraction * Get rid of BindFramebufferForRead * D3D11: Move to CopyFramebufferToSync where easily possible. * Unify GetFramebuffer in GLES and D3D11. * D3D11: Fix a bug, add depth/stencil support to CopyFramebufferToMemorySync * Will fix Android-x86_64 cmake * restructure some flags x86_64 android * Re-enable gradle x86_64 android build * Address review comments. * Buildfix * Remove comment, add check. * RPI: use new vendor graphics library names * Add a controller profile for X360 controllers on RPI, fixes issue #10019 * Update lang submodule ------------------------------------------------------------------- Sun Oct 15 11:11:45 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171015: * Windows: Fix over/under write for multibyte chars. * Savedata: Handle disk full properly in GETSIZE. * Gamedata: Fix savestates for data install. * OSK: Limit allowed keyboards based on input mask. ------------------------------------------------------------------- Thu Oct 12 16:54:16 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171011: * UWP buildfix. See comments in #9575 ------------------------------------------------------------------- Mon Oct 09 13:26:00 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171009: * Extra safety when switching GPU backends, fix possible Vulkan shutdown issue. Should help #10005 ------------------------------------------------------------------- Fri Oct 06 13:55:05 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171004: * Added default control pad mapping for control pads not found in SDL's game controller database file. * Fix savestates from before 1.4.2-420. Fixes #9998. Unfortunately this also breaks states between 420 and 468, so please save normally before upgrading if you were using one of those. * Add ini-only "Savedata Upgrade" setting. ------------------------------------------------------------------- Mon Oct 02 15:35:55 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20171002: * Add additional button defines. * Finish making extra psp keys mappable. * Remove unnecessary ifdef. Thanks Bracket-. See #9548 comments. * Oops, forgot this one. * Fix typo causing Y axis in joystick tester not to be mirrored correctly if backwards. Should fix #9300 * Add Horipad One config. * gamecontrollerdb.txt: Add 8Bitdo NES30 Pro mappings for Linux * Reorder SDL init a bit, allowing us to read the fullscreen option early enough to fix #9086 * Vulkan: If there are no GPUs available, fail properly instead of asserting. ------------------------------------------------------------------- Thu Sep 28 12:06:47 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170928: * Fix the build on the buildbot by avoiding fancy new Java features. Fixes #9979 * Don't default to coldbird adhoc server, it doesn't run anymore (?) ------------------------------------------------------------------- Mon Sep 25 13:59:21 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170923: * GLES: Add OpenGL 3.x core profile support. * GLSL: Set extension flags for elided core exts. * GLES: Android buildfix. * GLES: Allow hwtess for GL 3.1 w/o shader4. * Update lang submodule ------------------------------------------------------------------- Fri Sep 22 12:54:22 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170921: * Headless: Add support for SDL. * GPU: Reset shader state on shader reset. * Headless: Reduce some duplication. * Headless: Oops, call SDL_Init(). ------------------------------------------------------------------- Fri Sep 15 18:49:23 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170914: * add support for smart keyboard * map '`' to back instad of esc * forget to modify cmakelists * GPU: Dirty viewport on RT width/height change. * Add uniform to make post process aware of videos. And an example effect ~ subtle AA in-game/heavy smoothing for videos. ------------------------------------------------------------------- Wed Sep 06 14:40:28 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170903: * Add Sony PS3 controller mappings ------------------------------------------------------------------- Fri Sep 01 15:46:54 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170901: * Integrate sceUsbGps and sceUsbCam with Android * Integrate sceUsbGps and sceUsbCam with Android - 2 * More mingw patches * More mingw patches pt. 2 * Simplify this conditional * PACK should be defined different for Win32 based on whether we compile with Mingw or MSVC * Revert "PACK should be defined different for Win32 based on whether" * Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 * Remove snprintf compatibility hacks for MSVC versions before 2015 * Remove Globals.h * Buildfix * Linux buildfix * mingw patches ------------------------------------------------------------------- Wed Aug 30 14:41:46 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170830: * Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info. * Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. * Buildfix * Minor cleanups * Fix bug in vulkan init. Add some sanity checks to GL shader cache loading. * Add a hack to override the default framebuffer on non-iOS, to unblock the new RetroArch port attempt (#9936) * Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). * apple buildfix * Patches to make it possible to compile with mingw, pt. 1 * Removed MSVC check * Change this to _MSC_VER * Remove this too - we will use UNICODE and _UNICODE defines for mingw build * SafeMem: Remove the "far" optimization that saves 3 bytes sometimes but is really dangerous and not worth the complexity. ------------------------------------------------------------------- Sun Aug 27 10:01:28 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170825: * Another couple of control mappings, see #9825 * Fix possible crash when loading GL shader caches. Should help #9930. ------------------------------------------------------------------- Fri Aug 25 10:02:54 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170824: * Bump the GL shader cache version ------------------------------------------------------------------- Tue Aug 22 13:05:30 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170821: * Make keys names translatable in pop-up * Reuse some already translated strings * Add a new translation category for the remote ISO feature * Oops, forgot this one * Implement vertex caching for Vulkan. * Vulkan vertex cache: Fix bug with "pure prim" draws (where we avoid the index buffer) * Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions. * Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset. * Minor cleanups * Buildfix for X86 Android * Crashfix on older devices * Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. * FRAGMENT_SHADER needs to be marked dirty if shademode changes. Fixes #9904. * Make control mapping pop-up title translatable * Make dev menu pop-up title translatable * Fixed invalid preprocessor directive * ARM: Delete obsolete comments and check * More vulkan microoptimizations. Add more profiler scopes. * Vulkan: Fix some inefficient command pool usage, might also fix a race condition * Vulkan: Fix bug sometimes causing the wrong renderpass to be ended at exit, causing crashes. * Add hooks for Marvel video copy func. * Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. * SIMD-optimize some data conv routines used in uniform updates. * Include Hashmaps.h in CMakeLists.txt. * Maintain the hashmap from time to time. Fix a bug in count reset on grow. * Optimize uniform uploads for D3D9 and GL as well. * Buildfix * 32-bit buildfix * And yet another buildfix. * Minor optimizations (use the new hashmap in a few more places) * ... And also for the vertex decoder (DenseHashMap) * Switch over the GL shader manager to the new hashmaps. * Buildfix * Fix some missing dirty flags (affects FS_BIT_LMODE) * Keeping descriptorsets around between frames can cause problems if we run out.. Try to prevent that. Need a better method than this though. * Linux buildfix * GPU: Consider bbox failed with zero verts. * GPU: Fix alignment on signal jump/call. * This might not always be 16-byte aligned. ------------------------------------------------------------------- Wed Aug 16 21:38:47 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170816: * Simple micro-optimization in AdvanceVerts * Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled * NEON-optimize bone matrix loads * Vulkan: More minor optimization (avoid pipeline cache lookups when possible) * NEON-optimize CLUT loads * Neon-optimize the audio s32->s16 packing function * Initial work on supporting sustained perf mode * Cleaner Vulkan shutdown * Add controller entries from gabomdq/SDL_GameControllerDB * Oops, forgot to update NativeQueryConfig, thanks unknown * Spacing ------------------------------------------------------------------- Tue Aug 15 09:58:20 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170815: * Ensure everything is dirty on frame start. * All: Only convert blend state if "dirty" * All: Only convert depth stencil state if dirty * All: Only convert raster state if dirty * Dirty RASTER_STATE when switching between rect and non-rect primitives (culling) * All: Only convert viewportscissor state if dirty * Dirty viewport state on framebuf resize. * Add some missing VIEWPORTSCISSOR dirtying. * D3D11: Make better use of the dirty flags to avoid state calls * All: Only recompute the vertex shader ID when dirty * Dirty vertexshader state on hw bezier/spline. * Dirty things on stencil buffer upload. * Dirty-flag the fragment shader ID. * Add some missing fragment shader state changes. * Dirty on various framebuf state helpers. * Oops, broke Vulkan in the rebase somehow. Fixed. * Use dirty-flags more in Vulkan state setting * Dirty-track the current pipeline to avoid many vkBindPipeline calls. * Fix minor blendstate oversight, restore a disabled optimization * Vulkan: Fix some more state dirtying issues. ------------------------------------------------------------------- Thu Aug 10 13:07:18 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170808: * Common: fix MAP_32BIT after 9f24203ef8f6 * Windows: Use system API to toggle fullscreen. * GPU: Correct 1080p/720p crop for ultrawide/similar. * Windows: Support multi-display full screen. * Core: Handle 20-bit volumes in SIMD optimizations. * GLES: Set target w/h in buffered rendering. * Update submodule lang * Make a state object for the Android audio wrapper * Make the OpenSL wrapper an object too, to make sure it's always initialized the same. * Minor GPU disassembler update * Android: Turn off resizability until we can properly fix the sizing logic. Helps #9866 * Android: Fix scaling issue on configuration changes. Why was that division by 2 there?? * Turn g_dpi into a float, because why not * Separate X and Y dpi_scale * Re-enable resizing the window on Android, change onConfigurationChanged flags * More splitting of dpi vars * updateDisplayMetrics was a poorly defined method, removed it. * Consolidate DPI/sizing handling on Android * Buildfixes * Another buildfix * Review fixes, thanks unknown * Android: Add some missing codepaths when using Vulkan, might fix audio/controller issues on task switching * Format string fixes in DPI logging * Misc cleanup * Always shut down audio, regardless of why the task is being destroyed. Might help #9771 * Disable codepath that requires vibration permission which we don't have * Make some decls private * Android: Fix bug where the surface size could be wrong after task switching and automatic recreation * Reset the UI state properly in NativeInit. Fixes #9771 * Disable the x86-64 Android build until it can be debugged. Works around #9814 (all such devices can run the x86 build instead) * Strip spaces from pasted IP addresses. Helps #9795. Fix accidental typo * Fix space stripping in a few more string input methods. Helps #9795 * Update lang, add language name for Laotian ------------------------------------------------------------------- Mon Jul 31 20:30:26 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170724: * Update lang submodule ------------------------------------------------------------------- Mon Jul 17 15:11:32 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170713: * Vulkan debug mode: In case of missing validation layers, warn, don't error out. ------------------------------------------------------------------- Mon Jul 10 15:54:23 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170710: * x64: Use context register to access saved_flags * X64 vertex decoder: Use relative memory accesses when loading matrices. * X86/X64: We have the context register loaded, let's use it more. * X64/X86: Even more use of the context register * Remove more RIP addressing * Buildfix attempt * Some code cleanup. More work towards removing RIP addressing * More RIP removal * Move mscxr_temp to MIPSState * Remove RIP access from some matrix ops, SafeMem * Move another couple of temps into MIPSState * Move tempValues into MIPSState * More RIP elimination * Guess what? More RIP elimination (but keep the fast path too) * Surprise! More. Making many commits for easier bisects. * Access FPU temps through CTXREG * More RIP removal. Also add some comments to make it easy to just search for "M(&" to find remaining offenders. * Get rid of sincostemp global. Solution not tested on linux yet. * Remove some rip addressing in vertex decoder * Get rid of remaining RIP addressing in vertex decoder * X64: Fix bug in a case in the MOVQ emitter : rex byte should be after the 0x66 prefix * x64: Enable non-RIP addressing for FPU registers * vminmax_sreg only needs a single element * Replace vminmax_sreg with mips->temp * RegCacheFPU * Workaround * Fix software skinning * Buildfix for platforms with standards-compliant offsetof (no dynamic indexing allowed)k * 32-bit fixes * Delete some unnecessary loads. These loads are done properly inside trigCallHelper. * x86-64: Linux ABI fix * Turning off the "close memory finder" lets us find more RIP addressing... * More RIP elimination * More RIP addressing in software skinning.. * More RIP fixes * x64: Fix coreState rip checks. * x64: Avoid clobbering jr dest in cases. * Update gamecontrollerdb.txt ------------------------------------------------------------------- Tue Jul 04 16:45:18 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170703: * Fix Windows XP support in LocalFileLoader * D3D11: Fix texture scaling with blank first half. * GPU: Clean up some GLES3 defaults. * UI: Show slow message based on refresh rate. * Minor debugging feature: Show vertex normals in GE debugger * Don't use stat64 unless we need to * Fix build with NDK 15. This does force us to make do with 32-bit file sizes... ------------------------------------------------------------------- Tue Jun 27 15:21:15 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170627: * Fix running slow message , it's always show when game run stable above 98% speed * Oops * Add credit developer * Add 1 line * Fixes * Fixes ------------------------------------------------------------------- Mon Jun 26 18:12:12 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170624: * Make the Loader API thread-safe * Also support atomic windows readAt * Add conservative locking arond Caching/HTTP FLs * Remove use of C file api in LocalFileLoader * Add a note about thread-safety req in FileLoader * Fix windows build * Core: Windows buildfix. * Core: Buildfix. ------------------------------------------------------------------- Mon Jun 19 07:45:17 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170618: * GE Debugger: Buildfix for BSD. ------------------------------------------------------------------- Wed Jun 14 10:42:41 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170613: * Apply a hack to simulate USB created files. ------------------------------------------------------------------- Fri Jun 09 15:37:05 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170609: * Fix UWP build * D3D11: Fix Star Ocean again (wasn't clearing stencil properly) * Port a small simplification to D3D9 ------------------------------------------------------------------- Fri Jun 09 09:00:28 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170608: * Warning fix * Start sketching native text rendering for Android * Fix assorted JNI issues, the calls work now. * Font rendering code runs but it sure ain't right * It works! * Fix vertical positioning, eliminate double-& * Buildfix buildbot * Address comments, make things closer to the Win32 code. Things work better. * Fix some comments * Buildfix qt * We are already shipping Roboto-Condensed.ttf, let's use it * Implemented sceUtilityGetSystemParamInt * Format fix * Fix get/set confusion * Fix minor overallocation during elf loading * Refuse to load truncated ~PSP files. * ELF loading potential out-of-bounds fix * GE Debugger: Gah, fix some pointer size errors. * SoftGPU: Avoid some compile warnings. * UI: Add some missing overrides. * Build: Include Roboto in buildscripts. * Core: Set cwd for non-ms0:/ games on boot. * sceVaudio: Fix typo in constant name. ------------------------------------------------------------------- Tue Jun 06 09:05:04 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170605: * GPU: Refactor common frame dumping code. * Core: Refactor repeating disc id homebrew code. * GE Debugger: Initial structure for GE data dumping. * GE Debugger: Implement basic recording. * GE Debugger: Record memcpy/memset too. * GE Debugger: Simple framework to load dumps. * GE Debugger: Oops, emit transfer/clut cmds. * GE Debugger: Start a module/thread for dump runs. * GPU: Add a debug method to grab list tick wait. * GE Debugger: Initial GE dump replay. * GE Debugger: Oops, don't record if not active. * GE Debugger: Record init state and display buf. * GE Debugger: Clear after replay finished. * GE Debugger: Fix matrix dumping. * GE Debugger: Wait to get the right display buf. * GE Debugger: Load commands more directly. * GE Debugger: Fix memmem and cleanup. * GE Debugger: Implement memory transfer commands. * GE Debugger: Fix recording in softgpu. * GE Debugger: Fix clut command recording. * GE Debugger: Align texture/vertex/etc. data. * GE Debugger: Allocate replay memory smarter. * Jit: Fix syscall outside delay slot. * GE Debugger: Fix replay FPS. * GE Debugger: Run replay using stalling. * GE Debugger: Compress GE dumps. * GE Debugger: Add record button. * GE Debugger: Reduce memory allocation. * GPU: Stall properly on matrix data. * GE Debugger: Add some comments and cleanup. * GE Debugger: Pass filename into dump replay. * GE Debugger: Fix replay timing drift. * Patch unusual way of checking for firmware version. ------------------------------------------------------------------- Mon Jun 05 07:59:44 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170604: * Add "ignoreAddress" to texture replacement. * Expose XXHASH for Texture Replacement * Disable ignoreAddress on quick hash and inform the user about it. * Add reduceHash option, to hash 50% of texture when it's otherwise unreliable. * Fix jpeg's with width not matching psp buffer size. * Needs to be square! O.o * Initialize pspWidth and increase the max size. * UI: Fix Take Screenshot support. * SoftGPU: Support Take Screenshot partially. * GLES: Copy only depth in BlitFramebufferDepth. * Vulkan: Allow blit/copy of depth or stencil only. * SoftGPU: Fix separate mip cluts in linear jit. * Implement software skinning for the Vulkan backend. Fixes #9753 * Fixes for D3D11 postprocessing * UI: Translate AVI start/stop strings. * Some unification in DrawEngine * Unify DecodeVertsStep * Unify ComputeMiniHash * Unify transformed arrays * Unify SetupVertexDecoder * UI: Fix fade-out when editing touch controls. * UI: Enable mouse settings only if checked. * UI: Allow texture ini create only within game. * UI: Remove padding hack for setting info message. * UI: Fix text wrap when kerning adjusts spaces. * UI: Make some tooltips less technical. * Fix reported null pointer error in the Java code * Split TextDrawer into interface and implementation. * Split out DrawTextWin32 into its own file, to be further split later. * Split out the Qt font drawer in its own file. ------------------------------------------------------------------- Thu Jun 01 09:49:57 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170601: * SoftGPU: Move sampler code to a dedicated file. * SoftGPU: Stub a jit for texel fetch. * SoftGPU: Implement basic jit structure. * SoftGPU: Refactor out texture format logic. * SoftGPU: Jit texel fetch for non-clut/non-swizzle. * SoftGPU: Stop calling bufw pixels bytes. * SoftGPU: Jit swizzled texel lookup. * SoftGPU: Jit CLUT lookup. * SoftGPU: Jit 16 bit texel decode. * SoftGPU: Expose jit cache for profiling. * SoftGPU: Reduce overhead in sampler jit. * SoftGPU: Specialize CLUT4 jit. * SoftGPU: Implement separate CLUT in samplerjit. * SoftGPU: Reduce sampler id fuzz. * SoftGPU: Jit the linear sampling too. * SoftGPU: Support separate mip CLUTs with linear. * SoftGPU: Correct linear filter rounding issue. * Android: Just like on Windows, prompt to restart when changing graphics backend. * Simplify some cwc detection code, respect _C2 as activation. * Remove unnecessary \ / conversion. * Vulkan: Fix minor bug when clearing the back buffer (loaded stencil for no reason) * Delete obsolete function ClearBuffer * Fix scaling post-shaders on OpenGL. See #9742 * Update glslang submodule * Update lang submodule * Update submodule SPIRV-Cross, remove workarounds that are no longer needed * Remove obsolete workaround. * Implement sceJpegDecodeMJpeg & sceJpegDecodeMJpegSuccessively * UI: Start a render pass while stepping. * Vulkan: Increment engine version. * GLES: Fix startup crash on desktop OpenGL < 4. * GPU: Block mipmap autogen for matching size. * GPU: Fix negative mip levels with const workaround. * Vulkan: Fix Cardboard rendering. * Fix crash on macOS. Fixes #9751 ------------------------------------------------------------------- Wed May 31 08:30:30 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170530: * Android: Fallback to OpenGL if Vulkan fails to init. * Only show the Vulkan setting if Vulkan might be available. * For now, only check for vulkan availability on Windows and Android. * Fix a bunch of emu features for Homebrew by better identification. * Try using first screenshot as an icon if no icon is present. * Add savestates to the list(with automatic rename) * Add new format to CWC as well, don't think it's worth auto-rename. * Add matching title for savestates. Cosmetic ~ for savestate manager. * Oops, missed this one:]. * Corrections, some %i->%d around other code as well. * Oops. * Postprocessing fix after the Vulkan refactor. Should help #9742. ------------------------------------------------------------------- Tue May 30 08:50:56 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170530: * Reporting: Add compat description to UI. * Reporting: Default better when perfect selected. * Separate BeginFrame from BeginSurfaceRenderPass * Start work on separating frame from backbuffer renderpass * BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) * Draw overlays at the proper time in the frame. * Start refactoring things to be more vulkan-friendly * Thin3D GL: Avoid using external functions internally. * Remove some unnecessary framebuffer binding * Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet. * Further steps towards Vulkan framebuffer support * Silence a perf warning * Further steps towards Vulkan framebuffer support * Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit) * Buffered rendering is starting to work, though still kinda broken. * Vulkan: Use suboptimal clears instead of no clears in buffered * Vulkan: Fix binding framebuffers as textures * Add a way to query the current renderpass (for debug checks) * Fix a number of bugs and stuff affecting Vulkan on Mali * Increase the number of sampler/image descriptors further. * Clearing fix, drawpixels fix/hack * Don't forget to initialize logicop.. * Vulkan: Some barrier optimization * Address a bunch of review comments. * Fix more review comments. * Vulkan: Implement depth buffer copies. Not sure all the barriers are right.. * Vulkan: Implement BlitFramebuffer ------------------------------------------------------------------- Sun May 28 16:04:56 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2~git20170527: * Android: Fix minor typo. ------------------------------------------------------------------- Sat May 27 12:51:23 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.2.0~git20170527: * added ps1controller mapping in gamecontrollerdb for Linux * Remove the Mipmap setting. One step forward for #8171 * Remove "Always Depth Write" setting. One step forward for #8171 * Make extra sure that asserts arrive in the Android log. * Show the Android "board name" in system information. * Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708 * Buildfix * Update README for 1.4.2 * Strncpy doesn't terminate correctly, switch to truncate_cpy. * Switch strncpy to truncate_cpy in a bunch of places. * Buildfix, oops * Should probably stick to the old way here. * SoftGPU: Correct mipmaps for points. * SoftGPU: Support UVGen for points and lines. * SoftGPU: Stop calling bufw pixels bytes. * GPU: Cleanup some gstate accesses. * Slightly speed up booting when there are symbols to load. * Update to v1.4.2 ------------------------------------------------------------------- Thu May 25 08:21:25 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.1.0~git20170524: * SoftGPU: Make sure transformunit.buf is properly aligned. Helps part of #9718 * Some constification in ElfReader, sanity checks in sceKernelMutex. Might help #9718 a little bit, though probably not the Elf issue (and if the workarea pointer is bad, it's not likely the game will limp along for much longer) * Fix crash when pressing F12 in software mode. * thin3d gles: Unbind buffers after drawing. Fixes #9715 * Use InitMemoryForGamePBP also for homebrew(PSP_PBP_DIRECTORY). * Throw in a few more checks in ElfReader * Reset (through renaming) and hide the software rendering setting on Android. Only show it if it's already enabled. * Typo fix, MOBILE_DEVICE ------------------------------------------------------------------- Wed May 24 08:16:46 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.1.0~git20170524: * Init rtcBaseTime.tv_usec to 0 * D3D9: Correct half-pixel offset. ------------------------------------------------------------------- Tue May 23 17:59:44 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.1.0~git20170523: * Update readme for 1.4.1, which will be released soon * README: Add mention of framebuffer blit fix * Update version to 1.4.1 ------------------------------------------------------------------- Mon May 22 07:59:04 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170521: * Add sceKernelLoadExec_28D0D249. * Don't use partial-restart unless debugger is present. ------------------------------------------------------------------- Sun May 21 14:09:37 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170521: * Quick hack to enable analog stick sensitivity on non-windows platforms. * Make sure the analog sensitivity defaults correctly on non-Windows * Windows: Avoid input race condition on GPU switch. * SoftGPU: Use vertexjit for submitted primitives. * SoftGPU: Fix rendering when using Direct3D 9. ------------------------------------------------------------------- Fri May 19 11:58:12 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170519: * gradle: Add a "flavor dimension" to make Android Studio 3.0 happy * Remove unused methods * Minor GameInfo memory handling improvements. Still not great. * When what we need is a shared_ptr, we should just go ahead and use one. * More paranoia * Found a suspicious hang report that makes me think this mutex should be recursive. * Many reported ANRs were from homebrew installs. Make sure installs run on the background thread. * Prevent a deadlock between View::eventMutex_ and ScreenManager::inputMutex_ by locking here so the reverse lock order can't happen. * Move up Software Rendering to Rendering where it belongs. Makes it easier to turn it off if enabled by accident. Also warn if used and it runs slow. * Since we know from #9601 that e9d5eb694b is wrong, at least make it more specific. * Really no need to hold eventMutex_ while dispatching events, only when interacting with the queue. Might fix further deadlocks (see #9698) * Update gpu_features.cpp * Typo fix ------------------------------------------------------------------- Wed May 17 18:47:08 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170517: * Update gpu_features.cpp * Update buildassets.sh * Update copyrelease.sh ------------------------------------------------------------------- Wed May 17 07:43:49 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170516: * Update ab.cmd * Update gradle plugin version * Remove slowness warning if software renderer is enabled, it'll show on almost everything. * Update ab.sh ------------------------------------------------------------------- Mon May 15 10:57:15 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170515: * GPU: Consistently bias const mip levels. * GPU: Flush on mipmap slope change. * SoftGPU: Multiply S/T early via SIMD. * SoftGPU: Improve wsum recip SIMD. * Fix typo in VertexDecoder * SoftGPU: Correct texturing for pixel centers. * SoftGPU: Correct rendering for pixel centers. * SoftGPU: Match GLES lighting better, use floats. * SoftGPU: Correct fog for rectangles. * SoftGPU: Don't wrap negative positions. * D3D11: Fix initialization of mipmaps. * GE Debugger: Fix bias display for auto mip mode. * SoftGPU: Fix texture vertex preview in debugger. * SoftGPU: Avoid rcp due to precision issues. * SoftGPU: Quick hack to fix scissor w/2x2 pixels. * SoftGPU: Implement lines in transform mode. * SoftGPU: Support flat shading for lines. * SoftGPU: Bias bottom right side of line drawing. * SoftGPU: Implement simple mipmapping for lines. * SoftGPU: Implement pretend antialias. * SoftGPU: Clip lines entirely outside early. ------------------------------------------------------------------- Tue May 09 19:09:24 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170509: * Update lang ------------------------------------------------------------------- Tue May 09 08:02:56 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170509: * x86: More optimal 4444 in vertexjit. * x86: Minor memory copy perf improvement. * x86: Minor optimization for s16 through positions. * SoftGPU: Apply clamp/wrap in through. * SoftGPU: Improve texcoord rounding. * SoftGPU: Refactor mask calculation and use SSE. * SoftGPU: Fix separate mipmap cluts. * SoftGPU: Process mipmaps in texturing. * SoftGPU: Round screencoords. * SoftGPU: Calculate mip level based on float bits. * UI: Enable some settings for software rendering. ------------------------------------------------------------------- Sun May 07 18:16:59 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170507: * UnitTest: Correct vertex and jit tests. * GPU: Remove now-unused vertex decoder funcs. * arm: Jit throughmode 16-bit texcoords. * Work towards a clean vulkan shutdown. * More vulkan fixes * More vulkan shutdown fixes * Vulkan: Remove obsolete warning suppressions. Increase descriptor pool sizes. * Windows debug builds: Only break on Vulkan validation warnings if a debugger is attached. ------------------------------------------------------------------- Fri May 05 18:29:35 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170505: * Fix to partial restarts (when switching backends), plus misc. Helps #9666 * Oops again.. sigh * Windows: Initialize WindowsHost in EmuThread. ------------------------------------------------------------------- Fri May 05 09:36:58 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170505: * Handle alt+tab and drop down menu when mouse is confined and game is running ------------------------------------------------------------------- Thu May 04 07:33:00 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170504: * Experiment (#9647): Wipe RawInput buffers * Experiment (#9647): Prevent NaN values from getting into the UI system through TouchInput * Add a constructor to GestureDetector, to see if that fixes initialization * Also memset. ------------------------------------------------------------------- Mon May 01 14:32:56 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170501: * Windows: Fix minor leak in disassembly UI. * UI: Make GPU events more consistent. * D3D11: Free swapchain on graphics reset. * Minor OCD fix;]. * Fix "copy type" pointer cwc * UI: Allow choosing bgs (android) * Remove blank line * Windows: Simplify host shutdown. * Core: Cleanup MAC address handling. * UI: Fix crash on item select with hidden items. * System: Use a separate API for bool props. * Windows: Init with OpenGL 4.5 if possible. * SoftGPU: Implement CONTINUE prim type. * Arg, gcc buildfix. * Add some paranoid checks around touch IDs that probably won't help #9647 * Oops * Fix: in some extreme case on-screen touch controls get stuck on iOS ------------------------------------------------------------------- Fri Apr 28 07:56:49 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170427: * Mouse Control(Windows only for now) * Try on a nicer mapping workaround. * Polish the new workaround, seems to be nice and simple. * Add Tip to inform user how to use mouse control. * Handle more mouse buttons(middle, 4, 5) * Add an option to trap mouse within window/display area. * Fix ALT key mapping. ------------------------------------------------------------------- Wed Apr 26 08:18:23 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170425: * GPU: Rebuild FBOs when they now have storage. * Core: Fix PPGe text drawing with missing icon. * GPU: Attempt recreate of FBOs if failed. * Core: Fix log spam in debug mode. * GPU: Consistently use useBufferedRendering_. * GPU: Centralize fb resize, move to begin of frame. * GPU: Fix black screen on buffered render enable. ------------------------------------------------------------------- Mon Apr 24 15:35:55 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170424: * Fix postprocess shader submenu. ------------------------------------------------------------------- Mon Apr 24 07:47:39 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170423: * Headless: Fix DirectX11 support on Windows. * Headless: Enable mipmaps. * GPU: Correct const mip 0 detection. * D3D11: Approximate AUTO/CONST mip bias. * D3D9: Disable mips when mip filtering disabled. * D3D9: Support AUTO mip bias and approximate CONST. * Vulkan: NULL initialize some handles. * GLES: Support AUTO and CONST mip bias. * SoftGPU: Use texture bufw in bytes. * SoftGPU: Rasterize triangles in chunks of 4 pixels. * SoftGPU: Interpolate through texturing better. * GLES: Avoid MIN/MAX LOD without LOD control flag. * SoftGPU: Grab 4 S/T coords in non-through too. ------------------------------------------------------------------- Fri Apr 21 08:14:57 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4~git20170421: * Windows: Fix buffer overflow on load. * Headless: Fix graphics tests. * IR: Cleanup some invalid ops. ------------------------------------------------------------------- Tue Apr 18 08:37:28 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170418: * UI: Proxy devmenu keypress through an event. ------------------------------------------------------------------- Mon Apr 17 18:59:15 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170417: * Linux: add another PS3 controller GUID ------------------------------------------------------------------- Sun Apr 16 14:37:36 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170416: * Vulkan: Detect swapchain init failure. * Add a restarting flag to NativeInit/NativeShutdown. * Windows: Avoid restarting completely on GPU change. * Core: Remove bRestartRequired config hack. * EditorConfig: Workaround MSVC2017 bug. * SoftGPU: Correct negative coord handling. * SoftGPU: Fix crash on matrix load. * SoftGPU: Force render res to 1x. * SoftGPU: Use common spline/bezier rendering. * SoftGPU: Fix indices starting after 0. * SoftGPU: Simplify index conversion. * SoftGPU: Remove old spline handling code. ------------------------------------------------------------------- Sat Apr 15 17:09:51 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170415: * Remove unused parameter to DestroyAllFBOs(). * Destroy FBOs only on actual resize. ------------------------------------------------------------------- Sat Apr 15 00:47:52 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170414: * Disable pause button when not using touch. Remove per-game status from some settings which shouldn't be per-game. ------------------------------------------------------------------- Thu Apr 13 08:54:57 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170413: * Update lang submodule * UI: Respect the pause button display setting. ------------------------------------------------------------------- Wed Apr 12 10:01:26 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170412: * Windows: Fix mismatch on multitouch finger up. * Windows: Cleanup type conversion in touch. * Fix framebuffer size flopping back and forth. * Fix largest framebuf size in throughmode. ------------------------------------------------------------------- Tue Apr 11 12:50:41 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170411: * Fix issues with software GPU on D3D11 ------------------------------------------------------------------- Mon Apr 10 19:07:51 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170410: * Update lang * Track flags to reduce unnecessary VRAM zeroing. * Cleanup 16-bit VRAM clearing. * Skip downloads of cleared VRAM. * Linux: Added support for Hidromancer gamepad device driver ------------------------------------------------------------------- Sun Apr 09 11:59:20 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.0~git20170409: * Windows: Make the window positioning code slightly saner and more straightforward. * Switch back to using CXSCREEN/CYSCREEN for centering instead of the virtual screen. * Typo fix * When not resetting Y position, clamp Y to 0 early. See #9563 * When resetting Y, make sure we don't end up outside the screen. See #9563 * SaveState: Correct crash on rewind usage. ------------------------------------------------------------------- Fri Apr 07 08:36:15 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.20170407: * Fix out-of-bounds framebuffer blit on color bind. * QtMain: Renamed mis-named variable assets_dir to external_dir * Use the root of the memstick as a tempdir for downloads. Should help #8711 ------------------------------------------------------------------- Thu Apr 06 16:22:05 UTC 2017 - pousaduarte@gmail.com - Update to version 1.4.20170406: * Further fixes to #9554 * Make the gesture detector treat all touches fully individually. Fixes issues with last commit. * Windows: Fix check state after menu translate. * Allow using any touchId to scroll. Should help #9554. * Restore calls to UpdateUI from sceUmd, now that it's faster. * Fix XInput polling in UWP apps. Should help #9555 * Touch on Windows Desktop: Apply the DPI scale *after* ScreenToClient. * Minor cleanup with GOLD define - only use it in System_GetPropertyInt * Operator precedence fix in ifdef * Remove unused code * Make scroll gesture detector compatible with other touches than #0. Should help #9554. * Remove unnecessary disable-buildtime-git-version-creation.patch ------------------------------------------------------------------- Mon Sep 26 14:54 UTC 2016 - pousaduarte@gmail.com - Update to latest git snapshot * use qt build
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor