------------------------------------------------------------------- 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 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