SHA256
1
0
forked from pool/ppsspp
ppsspp/ppsspp.spec

188 lines
5.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package ppsspp
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: ppsspp
Accepting request 579959 from home:xenonpk - Update to version 1.5.4~git20180225: * Buildfixes * Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases. - 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. - Update to version 1.5.4~git20180222: * iOS: fix hang on exit - 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. - Update to version 1.5.4~git20180218: * TexCache: Decimate aggressively with many variants. * TexCache: Decimate CLUT variants more often. - Update to version 1.5.4~git20180213: * Fix issue with Vulkan task switching and resolution changes on Android. - 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. - 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. - 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. OBS-URL: https://build.opensuse.org/request/show/579959 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=21
2018-02-26 14:05:07 +00:00
Version: 1.5.4~git20180225
Release: 0
Summary: PlayStation Portable Emulator
License: GPL-2.0+
Group: System/Emulators/Other
Url: http://www.ppsspp.org
Source: %{name}-%{version}.tar.xz
BuildRequires: gcc-c++
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
BuildRequires: cmake >= 3.6
BuildRequires: Mesa-devel
BuildRequires: libzip-devel
BuildRequires: snappy-devel
BuildRequires: unzip
BuildRequires: fdupes
BuildRequires: pkgconfig(gl)
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libpng)
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
BuildRequires: wayland-devel
#Qt deps:
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5OpenGL)
#ffmpeg deps: (Restore once https://github.com/hrydgard/ppsspp/issues/9026 is closed)
#BuildRequires: pkgconfig(libavcodec)
#BuildRequires: pkgconfig(libswscale)
#BuildRequires: pkgconfig(libavformat)
#BuildRequires: pkgconfig(libavutil)
#BuildRequires: pkgconfig(libavdevice)
#BuildRequires: pkgconfig(libavfilter)
#BuildRequires: pkgconfig(libpostproc)
#BuildRequires: pkgconfig(libswresample)
#Desktop icon deps
BuildRequires: update-desktop-files
Requires(post): hicolor-icon-theme
Requires(postun): hicolor-icon-theme
Requires: %{name}-common
%description
PPSSPP is a PSP emulator written in C++, and translates PSP CPU instructions directly into optimized x86, x64 and ARM machine code, using JIT recompilers (dynarecs).
%package qt
Summary: PPSSPP Qt backend
Group: System/Emulators/Other
Requires: %{name}-common
%description qt
PPSSPP build using the Qt framework
%package common
Summary: PPSSPP assets
Group: System/Emulators/Other
%description common
Required assets for PPSSPP GUI
%prep
%setup -q
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
sed -i -e 's|png17|png16|g' CMakeLists.txt
echo "// This is a generated file.
const char *PPSSPP_GIT_VERSION = \"%{version}\";
// If you don't want this file to update/recompile, change to 1.
#define PPSSPP_GIT_VERSION_NO_UPDATE 1
" > git-version.cpp
%build
#Restore -DUSE_SYSTEM_FFMPEG="ON" \ once ffmpeg bug is fixed upstream
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
mkdir build-qt build
cd build-qt
cmake .. \
-DUSE_FFMPEG="ON" \
-DUSING_QT_UI="ON" \
-DCMAKE_C_FLAGS="%optflags" \
-DCMAKE_CXX_FLAGS="%optflags" \
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
-DCMAKE_SKIP_RPATH="YES" \
-Wno-dev
%make_jobs
cd ../build
cmake .. \
-DUSE_FFMPEG="ON" \
-DCMAKE_C_FLAGS="%optflags" \
-DCMAKE_CXX_FLAGS="%optflags" \
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
-DCMAKE_SKIP_RPATH="YES" \
-Wno-dev
#%%make_jobs
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libexecdir}/%{name}
#setup wrapper(s)
cat > %{buildroot}%{_bindir}/%{name}-qt << 'EOF'
#!/bin/sh
exec %{_libexecdir}/%{name}/%{name}-qt "$@"
EOF
cat > %{buildroot}%{_bindir}/%{name} << 'EOF'
#!/bin/sh
exec %{_libexecdir}/%{name}/%{name} "$@"
EOF
#install files
install -m 755 -D build-qt/PPSSPPQt %{buildroot}%{_libexecdir}/%{name}/%{name}-qt
Accepting request 564025 from home:xenonpk - 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. - 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. - 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. - 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. - 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 - 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. OBS-URL: https://build.opensuse.org/request/show/564025 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=20
2018-01-24 09:18:56 +00:00
ln %{buildroot}%{_libexecdir}/%{name}/%{name}-qt %{buildroot}%{_libexecdir}/%{name}/%{name}
#Failing sdl2 build
#install -m 755 -D build/PPSSPPSDL %%{buildroot}%%{_libexecdir}/%%{name}/%%{name}
mv assets %{buildroot}%{_libexecdir}/%{name}/
mkdir -p %{buildroot}%{_datadir}/pixmaps
install -m 444 -D icons/icon.svg %{buildroot}%{_datadir}/pixmaps/%{name}.svg
%suse_update_desktop_file -c %{name} PPSSPP 'PSP Emulator' %{name} %{name} System Emulator
%suse_update_desktop_file -c %{name}-qt PPSSPPQt 'PSP Emulator' %{name}-qt %{name} System Emulator
%fdupes %{buildroot}
%check
%ctest
%post
%desktop_database_post
%icon_theme_cache_post
%postun
%desktop_database_postun
%icon_theme_cache_postun
%files qt
%defattr(-,root,root)
%attr(755, root, root) %{_bindir}/%{name}-qt
%{_libexecdir}/%{name}/%{name}-qt
%{_datadir}/applications/%{name}-qt.desktop
%files common
%defattr(-,root,root)
%doc README.md
%license LICENSE.TXT
%{_libexecdir}/%{name}/assets
%{_datadir}/pixmaps/%{name}.svg
%files
%defattr(-,root,root)
%dir %{_libexecdir}/%{name}
%attr(755, root, root) %{_bindir}/%{name}
%{_libexecdir}/%{name}/%{name}
%{_datadir}/applications/%{name}.desktop
%changelog