- 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
- Update to version 1.4.2~git20171118:
* Remove trailing whitespace from CMakeLists.txt
* Vulkan: Fix stencil clears to a specific value. Should help #10150
* Silence travis gcc version errors.
- Update to version 1.4.2~git20171117:
* Remove wrong comments
* GPU: Advance the vertex pointer after BBOX vertices are sent. Fixes#6554, finally!
* Win32: Improvements to vulkan init error handling
* Temporarily turn off Vulkan threading on AMD, see issue #10097.
* Vulkan: Forgot to enable our various depth rounding features.
* Vulkan: Flush at display list waits. Fixes#10095
* Minor cleanup, and more terrifying orientation hackery
* Android: When creating shortcuts, put the file path in data, not in Extras.
* Fix the "vulkan not found" message on android. Fixes#10034
* Make remoteiso_subdir and server editable on Android. Fixes#10142. Really need a better mechanism for these fields.
* Workaround orientation bug in Android when unlocking the screen.
* Unify RebindFramebuffer, mostly.
* Vulkan: Fix bug where shader blend texture overwrote normal texture binding. Fixes#10135
* Update .gitignore for libretro builds.
* Fix headless to work better in vulkan mode
* Make test.py python3-compatible, print out command lines better.
* Vulkan screenshots: Fix R/G swap bug. Thanks unknown.
* Make sure the device supports transfers from swapchain images when taking screenshots.
* Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though...
* Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh.
* Vulkan: Show the preferred depth-stencil format in the feature list.
* Just more accurate feature flags for Vulkan.
* Headless: Prevent segfaults with Vulkan.
* Headless: Fix crash with null GPU.
* Links from the UI: Change from http:// to https:// wherever possible.
* Add missing ID for CTTR compat hack.
* Fix Memory Leak :D
* spaces->underscores:)
* Fixes problem switching between non-through triangles and rects. Helps a small part of #6554
* More duplicate code removal
* Small changes. Thx [Unknown]
* Change KernelTimeNow to KernelTimeNowFormatted and return nice timestamp.
* Requested changes.
* Blah;p. Buildfix.
* Fix linux build.
* Add an option to allow resetting video/audio dump on save/load state.
* Use gameID and emulated timestamp for Avi/Wav dump filenames.
* Fix texture conversion.
* Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ?
* Kill off more unused duplicate code
* Oops
* Delete unused duplicate functions
* Fix annoying little flicker when starting a game.
* Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines
* Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines.
* D3D11: Similarly to the last vulkan commit, don't create lots of dupe vertex input layouts
* Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
* DevScreens: In shader viewer tabs, show the number of each shader type.
* Unify Execute_Bezier and Execute_Spline
* Minor cleanup, fix a comment.
* Vulkan: Minor validation error fix
* Nitpicking! Correct minor version for non Nvidia.
* Win32: Add (debug) to window title in debug builds
* Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes#10109
* SoftGPU: Oops, fix silly typo.
* Vulkan: Remove experimental warning.
* Vulkan: Cut down on asserts during init.
* TexCache: Add NEON alpha checks for Vulkan.
* TexCache: Simplify CheckAlpha funcs and SIMD.
* TexCache: Check alpha before scaling.
* TexCache: Remove simple 0/1 alpha check.
* Vulkan: Avoid checking texture alpha after scale.
* Fix bug where readback buffers would be created too small sometimes. Should help #10098
* Vulkan: Tweak stencil value from clears.
* Vulkan: When deriving stencilref from color, don't forget to update the value.
- Update to version 1.4.2~git20171112:
* UI: Typo fix.
* Buildfixes for Android
* Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
* Vulkan: Speed up and simplify hardware tesselation by using storage buffers.
* hwtess: Shrink Vulkan UV textures
* Make the interface to hw tess slightly more flexible.
* Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions.
* Vulkan: Support wide lines if available on the GPU.
* Vulkan readback: Resize the readback buffer dynamically as necessary.
* SoftGPU: Add a clear mode fast path.
* Debugger: Prevent clear while stepping.
* SoftGPU: Thread by width for wide polygons.
* SoftGPU: Fix crash when stride is 0.
* Vulkan hw tess: Assorted minor fixes. Works on Mali now.
* Vulkan hw tess: Use pushbuffers instead of temp images to upload data.
* Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe.
* Remove unused pointer.
* Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead.
* Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots)
* SaveState: Avoid clearing shaders in all backends.
* D3D11: Clear input layouts on shader clear.
* D3D11: Avoid clearing shaders on load state.
* SaveState: Fix use-after-resize iterator.
* Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
* Android: Cleaner way to avoid double-resizing the backbuffer.
* Fix blackscreen when resolution is set to auto. Fixes#10081
* Experimenally disable dual source blending on AMD too for Vulkan, see #10065
* MotoGP: Compat hack to disable framebuffer readbacks.
* Buildfix 32-bit
* Ditch a silly vertex count limit that only makes sense for GLES, so move it there.
* Fix race condition.
* Fix a few more device-loss bugs.
* Avoid double-initializing the Vulkan backbuffer on startup.
* Logging improvements, avoid resetting the Android text drawer unnecessarily
* More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same.
* Change Android logging ID from "NativeApp" to "PPSSPP"
* More logging and tweaking
* Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
* Keep the draw context up to date in a bunch of places. More logging.
* Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes.
* Fix some ports
* Upgrade glslang to a fresh version (used to compile Vulkan shaders). Might help #10065 ?)
* Ooops
* Vulkan: Disable dual source blending on Intel GPUs, fixes#10074.
* Show textual names of Vulkan GPU vendors
* Improve Vulkan device selection mechanism to prefer discrete GPUs
* Cleanup gradle output.
* Cheats: Fix pointer command count offset.
* Cheats: Clamp pointer command data to avail.
* Fix 0x6 code types
* Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup.
* Fix some minor things found by running Sizer on PPSSPP
* Cheats: Enable for any non-zero number.
* Disable lwl/lwr on ARM64 JIT again. Seems b9b2656e9313 broke things, see #10020
* Count readbacks in a frame and show in GPU debug stats.
* Cheats: Split parsing and execution.
* Try harder to free up memory from the Android native font rendering system. Might help #10069
* Vulkan: If acquiring a frame fails (happens sometimes during window resize), skip swapping the frame. Should help #10063
* Vulkan: Wait for orderly thread stop on resize.
* Vulkan: Fix deadlock on resize.
* Vulkan: Some error handling improvement. Might get us a clue for #10065
* Vulkan: The validation layers don't like zero-size blits.
* Vulkan: Better way to make sure we bind the backbuffer at some point.
* Vulkan: Convert depth format on readback.
* Vulkan: Show textures in GE debugger.
* Vulkan: Add texture image readback.
* Vulkan: Fix non-16 bit indexed drawing.
* Vulkan: Allow clearing the backbuffer to any color.
* D3D11: Show FBO-as-texture in GE debugger.
* TexCache: Warning fix.
* Use W^X on OpenBSD.
* Don't use "threadsafe events" for Ge stuff.
* Vulkan: Fix leak in WipeQueue().
* Turn on multithreaded vulkan
* Remove/deprecate GPU tick sync
* Get rid of GPUCommon's "Internal" functions.
* Delete ProcessEvent and the GPUEvent enum
* Delete GPUCommon::ScheduleEvent
* Get rid of a bunch of sync stuff that's no longer needed.
* Get rid of the sync around curTickEst
* Delete the mutex in GPUCommon.
* Vulkan: Fix framebuffer leak.
* Remove the setting to run the display list interpreter on a separate thread.
* Vulkan: Correct logicop dirtying.
* Vulkan multithread: Fix race condition.
* TexCache: Detect textures in FBO gutters.
* GPU: Properly Release() FBOs.
* SaveState: Correct free on error and uncomp format.
* SaveState: Use malloc to avoid Android OOM crash.
* Vulkan: Make sure backbuffer is bound for UI.
* Vulkan: Resignal unexecuted fences on thread stop.
* Vulkan: Wait for queue idle in DestroyBackbuffers.
* GPU: Restore initial readback on output.
* Vulkan: Refcount framebuffer deletes.
* Vulkan: Account inside frame from push side.
* Add missing Google Maven repository
* Buildfix again. Should fix#10046 this time.
* Unify a little bit of depal code.
* Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale.
* Minor depal state dirtying fix
* Add <cmath> include. Will hopefully help #10046
* Cleanups and fixes around Vulkan stencil upload. thx unknown
* Should be bufferWidth here, not width. Thanks unknown.
* Vulkan: Fix a comment.
* Vulkan: Allow sync when using threading.
* Vulkan: Fix out-of-sync frames on threading.
* Vulkan: Trigger condvar only at frame end.
* Vulkan: Fix segfault on swapchain fail.
* Fix issue in framebuffer size calculation when viewport is bogus in through mode. Fixes#10043.
* Tiny cleanups.
* Vulkan: Minor fixes.
* Stop leaking framebuffers on shutdown. Fix other shutdown issues.
* Minor optimization.
* Remove some code duplication
* Vulkan: Implement stencil upload (for Star Ocean).
OBS-URL: https://build.opensuse.org/request/show/542857
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=19
- Update to version 1.4.2~git20171101:
* Small fix for a bad block transfer in Soul Calibur
* Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc.
* DenseHashMap: Speed up clearing. Became more important since I had to disable keeping descriptor sets around between frames.
* Complete a comment.
* Vulkan: Fix colors for low-bpp depal (actually fixing the shadows of ff-type0)
* Make VulkanTexture "immutable".
* Add some disabled code to submit "init" command buffers separately to the queue for debugging.
* Always recreate DrawPixelsTex to avoid inter-frame races.
* Use the global curFrame counter. No need for a vector for pushing cmdbufs.
* Add a QueueRunner logging facility. Set up a subpass dependency for the backbuffer pass.
* Add and update some comments.
* Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations.
* Decimate descriptors every frame until I find a better solution. Fixes flicker in videos in several games.
* Remove disabling of validation warning. It works.
* Vulkan: Fix depal and shader blending.
* Vulkan depal code now passes validation, but produces black.
* Implement the rest of Vulkan framebuffer depal. Not yet working though.
* Some reorganization. Start implementing framebuffer depal for Vulkan.
* Delete superfluous bind of temporary render target on creation.
* Implement GetFramebufferAPITexture for Vulkan
- Update to version 1.4.2~git20171029:
* Share the conversion code between vulkan and D3D, fixing the missing format thing.
* Color-convert directly during the readback, saves a copy. Like we already do in D3D11.
* Revert most of the last commit - will do it differently.
* Use the CPU color conversion from GLES for readbacks in Vulkan (and D3D11). Fix bug.
* Fix Vulkan framebuffer readbacks, as long as they're in R8G8B8A8.
* Vulkan: Rough untested implementation of synchronous readbacks.
* VulkanRenderManager: Split out BeginFrame and EndFrame from Run
* Comment cleanup
* Refactor: Split out VulkanQueueRunner from VulkanRenderManager
* Forgot to update the Android target version here to 26.
* Another buildfix
* Fix integer overflow affecting very large draw calls
* More buildfixes, warning fix, memory leak fix
* 32-bit android buildfix attempt
* Bump descriptor set limits, which became insufficient with the addition of tesselation (should really use separate big desc layouts for them)
* Remove misguided hack.
* Warning fixes
* Remove a bad check making us use the wrong way to copy depth buffers. Add a cap so we can try to unify BlitFramebufferDepth later.
* Assorted fixes
* Fix (some) crashes on blits. Validation issues remain.
* Forgot to add the CMakeLists.txt change to the last commit.
* Warning fixes, CMakeLists.txt/Android.mk fixes
* Fix some resource leaks and excessive logging in VulkanRenderManager
* Clean out some obsolete code
* VulkanRenderManager: BindPipeline should really be its own command. Tighten up some image transitions.
* Improve synchronization, though there are very weird issues. Possibly need to run the swap chain from the thread that created it?
* Avoid re-binding pipelines.
* Let's try a mutex. Doesn't completely solve the problem though..
* Make sure not to begin and end the init command buffer on different threads.
* Vulkan: Don't forget to specify stencil load op in render passes
* This makes a little more sense, but still hangs (frameAvailable = true while stuck on condvar)
* Synchronization is HARD. need a rethink, methinks.
* Move the VulkanRenderManager stuff to thin3d, fits in better there.
* Rendering basics now works.
* A multitude of fixes. The UI now works correctly, though of course ingame still broken.
* It builds! With some shortcuts, of course.
* Use RenderManager for thin3d stuff
* Initial work on render queue manager
- Update to version 1.4.2~git20171026:
* Update gradle files to Android Studio 3.0 defaults.
- Update to version 1.4.2~git20171024:
* Automatically scroll textboxes when the caret ends up outside. Fixes#10026 .
* Fix issue with caret position in text boxes caused by a bad hash function. Fletcher is 2-bytes-at-a-time and thus very inappropriate for short strings.
* Can't use the camera stuff on Android versions before 11. Fixes#10029.
- Update to version 1.4.2~git20171023:
* Separate -Bsymbolic Shared linker flag
* Ops typo
* Better path fix x86_64 android
- Update to version 1.4.2~git20171022:
* Comment and typo fixes.
* Vulkan: Fix silly mistake in blend constant checks, thanks Unknown.
- Update to version 1.4.2~git20171021:
* Bit more Vulkan barrier cleanup.
* Various Vulkan image transition fixes and related
* More work towards passing 1.61 Vulkan validation layers
* Initial work on passing the latest Vulkan validation checks.
* Don't call functions in asserts, they get compiled out in release...
* Allow D3D9 context creation to bail if shader compilation fails (D3D9 runtime not installed).
* Have GetFramebufferDimensions return the backbuffer size for null in all backends.
* Another minor cleanup (DescribeCodePtr)
* Unify and move around code to cleanup some debug accessors
* Unify GetFramebufferList() (trivial)
* Unify DownloadFramebufferForClut
* Remove more dummy code from Vulkan backend.
* Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager.
* Add some safety checks. Fix some inadvertent Y-flips (bit hacky).
* Unify some more framebuffer functions. Leave the GL stuff alone for now due to async.
* Unify (well, almost) GetOutputFramebuffer (D3D11/GL)
* Unify GetDepthBuffer/GetStencilBuffer in GL/D3D11
- Update to version 1.4.2~git20171017:
* Minor refactoring of framebuffer readbacks.
* Start moving PACK_ALIGNMENT into SafeGLReadPixels
* Minor OpenGL refactor.
* More format support in thin3d GL
* Move GL readback to a Thin3D abstraction
* Get rid of BindFramebufferForRead
* D3D11: Move to CopyFramebufferToSync where easily possible.
* Unify GetFramebuffer in GLES and D3D11.
* D3D11: Fix a bug, add depth/stencil support to CopyFramebufferToMemorySync
* Will fix Android-x86_64 cmake
* restructure some flags x86_64 android
* Re-enable gradle x86_64 android build
* Address review comments.
* Buildfix
* Remove comment, add check.
* RPI: use new vendor graphics library names
* Add a controller profile for X360 controllers on RPI, fixes issue #10019
* Update lang submodule
OBS-URL: https://build.opensuse.org/request/show/538670
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=18
- Update to version 1.4.2~git20171015:
* Windows: Fix over/under write for multibyte chars.
* Savedata: Handle disk full properly in GETSIZE.
* Gamedata: Fix savestates for data install.
* OSK: Limit allowed keyboards based on input mask.
- Update to version 1.4.2~git20171011:
* UWP buildfix. See comments in #9575
- Update to version 1.4.2~git20171009:
* Extra safety when switching GPU backends, fix possible Vulkan shutdown issue. Should help #10005
- Update to version 1.4.2~git20171004:
* Added default control pad mapping for control pads not found in SDL's game controller database file.
* Fix savestates from before 1.4.2-420. Fixes#9998. Unfortunately this also breaks states between 420 and 468, so please save normally before upgrading if you were using one of those.
* Add ini-only "Savedata Upgrade" setting.
- Update to version 1.4.2~git20171002:
* Add additional button defines.
* Finish making extra psp keys mappable.
* Remove unnecessary ifdef. Thanks Bracket-. See #9548 comments.
* Oops, forgot this one.
* Fix typo causing Y axis in joystick tester not to be mirrored correctly if backwards. Should fix#9300
* Add Horipad One config.
* gamecontrollerdb.txt: Add 8Bitdo NES30 Pro mappings for Linux
* Reorder SDL init a bit, allowing us to read the fullscreen option early enough to fix#9086
* Vulkan: If there are no GPUs available, fail properly instead of asserting.
- Update to version 1.4.2~git20170928:
* Fix the build on the buildbot by avoiding fancy new Java features. Fixes#9979
* Don't default to coldbird adhoc server, it doesn't run anymore (?)
- Update to version 1.4.2~git20170923:
* GLES: Add OpenGL 3.x core profile support.
* GLSL: Set extension flags for elided core exts.
* GLES: Android buildfix.
* GLES: Allow hwtess for GL 3.1 w/o shader4.
* Update lang submodule
- Update to version 1.4.2~git20170921:
* Headless: Add support for SDL.
* GPU: Reset shader state on shader reset.
* Headless: Reduce some duplication.
* Headless: Oops, call SDL_Init().
OBS-URL: https://build.opensuse.org/request/show/534093
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=17
- Update to version 1.4.2~git20170903:
* Add Sony PS3 controller mappings
- Update to version 1.4.2~git20170901:
* Integrate sceUsbGps and sceUsbCam with Android
* Integrate sceUsbGps and sceUsbCam with Android - 2
* More mingw patches
* More mingw patches pt. 2
* Simplify this conditional
* PACK should be defined different for Win32 based on whether we compile with Mingw or MSVC
* Revert "PACK should be defined different for Win32 based on whether"
* Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11
* Remove snprintf compatibility hacks for MSVC versions before 2015
* Remove Globals.h
* Buildfix
* Linux buildfix
* mingw patches
- Update to version 1.4.2~git20170830:
* Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info.
* Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions.
* Buildfix
* Minor cleanups
* Fix bug in vulkan init. Add some sanity checks to GL shader cache loading.
* Add a hack to override the default framebuffer on non-iOS, to unblock the new RetroArch port attempt (#9936)
* Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching).
* apple buildfix
* Patches to make it possible to compile with mingw, pt. 1
* Removed MSVC check
* Change this to _MSC_VER
* Remove this too - we will use UNICODE and _UNICODE defines for mingw build
* SafeMem: Remove the "far" optimization that saves 3 bytes sometimes but is really dangerous and not worth the complexity.
- Update to version 1.4.2~git20170825:
* Another couple of control mappings, see #9825
* Fix possible crash when loading GL shader caches. Should help #9930.
- Update to version 1.4.2~git20170824:
* Bump the GL shader cache version
- Update to version 1.4.2~git20170821:
* Make keys names translatable in pop-up
* Reuse some already translated strings
* Add a new translation category for the remote ISO feature
* Oops, forgot this one
* Implement vertex caching for Vulkan.
* Vulkan vertex cache: Fix bug with "pure prim" draws (where we avoid the index buffer)
* Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions.
* Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset.
* Minor cleanups
* Buildfix for X86 Android
* Crashfix on older devices
* Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing.
* FRAGMENT_SHADER needs to be marked dirty if shademode changes. Fixes#9904.
* Make control mapping pop-up title translatable
* Make dev menu pop-up title translatable
* Fixed invalid preprocessor directive
* ARM: Delete obsolete comments and check
* More vulkan microoptimizations. Add more profiler scopes.
* Vulkan: Fix some inefficient command pool usage, might also fix a race condition
* Vulkan: Fix bug sometimes causing the wrong renderpass to be ended at exit, causing crashes.
* Add hooks for Marvel video copy func.
* Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap.
* SIMD-optimize some data conv routines used in uniform updates.
* Include Hashmaps.h in CMakeLists.txt.
* Maintain the hashmap from time to time. Fix a bug in count reset on grow.
* Optimize uniform uploads for D3D9 and GL as well.
* Buildfix
* 32-bit buildfix
* And yet another buildfix.
* Minor optimizations (use the new hashmap in a few more places)
* ... And also for the vertex decoder (DenseHashMap)
* Switch over the GL shader manager to the new hashmaps.
* Buildfix
* Fix some missing dirty flags (affects FS_BIT_LMODE)
* Keeping descriptorsets around between frames can cause problems if we run out.. Try to prevent that. Need a better method than this though.
* Linux buildfix
* GPU: Consider bbox failed with zero verts.
* GPU: Fix alignment on signal jump/call.
* This might not always be 16-byte aligned.
- Update to version 1.4.2~git20170816:
* Simple micro-optimization in AdvanceVerts
* Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled
* NEON-optimize bone matrix loads
* Vulkan: More minor optimization (avoid pipeline cache lookups when possible)
* NEON-optimize CLUT loads
* Neon-optimize the audio s32->s16 packing function
* Initial work on supporting sustained perf mode
* Cleaner Vulkan shutdown
* Add controller entries from gabomdq/SDL_GameControllerDB
* Oops, forgot to update NativeQueryConfig, thanks unknown
* Spacing
- Update to version 1.4.2~git20170815:
* Ensure everything is dirty on frame start.
* All: Only convert blend state if "dirty"
* All: Only convert depth stencil state if dirty
* All: Only convert raster state if dirty
* Dirty RASTER_STATE when switching between rect and non-rect primitives (culling)
* All: Only convert viewportscissor state if dirty
* Dirty viewport state on framebuf resize.
* Add some missing VIEWPORTSCISSOR dirtying.
* D3D11: Make better use of the dirty flags to avoid state calls
* All: Only recompute the vertex shader ID when dirty
* Dirty vertexshader state on hw bezier/spline.
* Dirty things on stencil buffer upload.
* Dirty-flag the fragment shader ID.
* Add some missing fragment shader state changes.
* Dirty on various framebuf state helpers.
* Oops, broke Vulkan in the rebase somehow. Fixed.
* Use dirty-flags more in Vulkan state setting
* Dirty-track the current pipeline to avoid many vkBindPipeline calls.
* Fix minor blendstate oversight, restore a disabled optimization
* Vulkan: Fix some more state dirtying issues.
OBS-URL: https://build.opensuse.org/request/show/522274
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=15