PPSSPP Git (2016/03/21) is compiled. PPSSPP is a fast and portable PSP emulator for Android, Windows, Mac, and Linux, written in C++.
PPSSPP Git Changelog:
* Merge pull request #8650 from unknownbrackets/vulkan-buf
Vulkan: Cache only device in push buffers
* Vulkan: Remove some outdated comments.
* Vulkan: Handle oversized push buf allocations.
* Vulkan: Cache only device in push buffers.
* Merge pull request #8653 from unknownbrackets/warnings
Warning fixes from clang
* Remove some unused things reported by clang.
* Correct some warnings reported by clang.
* Correct some missing overrides.
* Merge pull request #8654 from unknownbrackets/vulkan-leaks
Plug some Vulkan leaks
* softgpu: Prevent leaking thin3d buffers.
* thin3d: Plug leaks in samplers and vk shaders.
* Vulkan: Free anything pending before the device.
This includes, for example, device memory and etc.
* Make placeholder texture black
* Merge pull request #8649 from unknownbrackets/vulkan-buf
Dynamically reallocate buffers when out of space
* Vulkan: Handle oom slightly better.
* Vulkan: Start with smaller buffers by default.
* Vulkan: Defrag buffers when growing.
* Vulkan: Allocate more buffers on overflow.
* Vulkan: Centralize shader UBO update, DRY.
* Another prescale UV fix
* Merge pull request #8648 from unknownbrackets/warnings
Minor warning fixes
* Move VulkanUtil.cpp into the filter.
* Fix a small resource handle leak.
* Fix various minor warnings.
* Fix a failed lock release warning.
* Vulkan: Cache the texture pointer. Use a checkerboard placeholder texture where missing
(framebuffer textures in non-buffered)
* Vulkan prescale UV fix
* Merge pull request #8601 from hrydgard/vulkan
Vulkan rendering backend. Early Work-In-Progress
* Buildfix to last commit, add a comment
* Combined two uniforms to get the base UBO down to 512b, in order to not waste space (nVidia needs 256-byte alignment)
* Vulkan: Add ugly temporary warning about buffered rendering not working
* SoftGPU with Vulkan runs but displays black
* Be more economical with UBO pushbuffer space by reusing the last data when possible.
* Decode vertex data directly into the vertex pushbuffer, saving a memcpy.
* Vulkan: Remove support for software skinning to reduce complexity
* No need to align vertex/index data. Will only be harmful for an upcoming optimization.
* Minor optimizations
* Fix a resource leak. Request COHERENT memory for pushbuffers.
* Always specify depthstencil state in pipelines.
Turns out it's only OK to leave out if rendering only to color,
otherwise behaviour is undefined - which means it may still be enabled.
* Change the VulkanPushBuffer API to allow for adding support for dynamic growth
* Move VulkanPushBuffer into VulkanMemory.h
* Use separate pushbuffers for UBO/Index/Vertex. This will make decoding directly into the pushbuffers easier, plus other benefits later.
(For example, we'll often be able to avoid rebinding the vertex and
index buffers at new offsets by just keep counting upwards between draws,
if the vertex format is the same but other state changed)
* Vulkan: Fix our use of dual source blending, re-enable if available.
* Cleanup differences in aniso handling.
Some places were not handling it as a power of two.
* Vulkan: Initial support for aniso filtering.
* Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h
* Correct the 5551 format for now.
Otherwise we get wrong colors - also we are still converting colors.
* Vulkan: Simplify color testing.
* Vulkan: Properly set the alpha test ref.
It's definitely not a float, oops.
* Vulkan: Make sure depth==stencil when clearing.
We have to clear both at the same time. I think it makes sense to
consider this part of the "separate alpha" flag, since alpha has to match
both color and depth.
* Get rid of strange offset in Vulkan matrix converter
* Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
* Vulkan: Enable mipmapping
* Upload PSP textures through a push buffer instead of image copy. More flexible.
* Add a secondary way to upload textures - through buffers.
* Default validation on in Debug and off in Release
* Matrix depth fix. Still have depth issues though.
* Enable the Unpack Subimage path on DX9 (maybe should just remove the check)
* Fix bug where we sometimes pushed too much vertex data.
Doesn't seem to fix much though...
* Disable last texture reuse for now.
This will be slower, but otherwise a lot of textures are missing in
various games, like Final Fantasy 4. Better to get all the bugs out first
and then start optimizing.
Note: there is still missing drawing in Final Fantasy 4, but only text
after this change.
* Mem leak fixes, cleanups
* Silence another validation warning
* Fix UV scale for some vertex formats (like GL). Separate updates of PROJ and PROJTHROUGH matrices.
* Switch headless to using graphics contexts.
Vulkan doesn't work yet, needs some thin3d for the command buffer?
* Allow the graphicsContext to be overridden.
This is useful when coming from, for example, headless.
* Handle Vulkan init errors more gracefully.
* Revert "Replace ugly workaround with VK_LAYER_LUNARG_unique_objects which prevents handle reuse."
This reverts commit 6342c07a19d5ab410cbc233a570488214923a9f8.
* Typo fix
* Replace ugly workaround with VK_LAYER_LUNARG_unique_objects which prevents handle reuse.
See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/121
* Turn off annoying "debug flicker" I used to see if we were swapping buffers properly early on
Also minor logging changes, refine the false-positive debug layer check
* Work around what seems like a validation layer bug (trigger by scrolling
around the UI a bit)
* Fix a bunch of new vulkan validation layer failures.
* Update Vulkan headers to 1.0.5. Remove references to vulkan-1.lib as we load dynamically.
* Should not specify the Vulkan patch version when requesting Vulkan 1.0.
* Specify a useful app version when loading Vulkan.
* Use draws for alpha/stencil only clear in Vulkan.
* Fix GE debugger preview in non-buffered.
* Don't crash as hard on shader compile error.
* Move Vulkan code into a filter.
* Remove redundant configuration, remove temp hack
* Vulkan: Attempt at fixing dual source blending. Should work but doesn't.
* Vulkan: We're doing dual src blending wrong (GLSL part, not sure how to do it right) so disable it.
* Buildfix (glslang project settings /MT)
* Re-fix depth buffer initialization
* Gets the Vulkan backend running, but not drawing correctly, on Android.
Not sure what's wrong, I get a yellow flashing screen.
* Show backend chooser on Android so we can choose Vulkan.
* VulkanLoader: Detect loader failure on windows.
* VulkanLoader: Load vkDestroySurfaceKHR
* Turn off Vulkan in CMake-based and Qt-based builds, for now
* Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common.
* Possible buildfix
* Remove remains of xcb support. Will add back later.
* Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet)
* Cleanup
* Cleanups. Don't loop over bones in vshader, causes trouble
* Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
Also, assorted bugfixes.
* Android: Vulkan builds but doesn't link as we have no link library.
* WIP: Start work on getting the Vulkan code to compile for Android
* Expose another couple of vulkan device features.
* WIP trying to fix drawing issues
* Crashfix, fix left-behind culling disabling
* Delete pipeline caches asynchronously too
* More clearing fixes. Also fix some memory leaks.
* The settings to the vertex decoder must match the implementation..
Fixes some character scale issues.
* More zero-initialization. Fix scope issue, MSVC's optimizer was aggressive enough that this was a problem. Fixes textures in release mode.
* Add Vulkan to Win32 menu. disable gfx logging in debug by default.
* Fix mixup with fragment shader ubo variables
* Plug the texture memory leak
* Assorted fixes and cleanups.
* Switch to "Mailbox" frame submission if available, lets us go beyond 60hz for unthrottle
* Fix issues with texture replacement
* More texture work
* Work on texture support, cube.elf works correctly. Delete unused code.
* Fix primitive topology. Crashfix.
* Remove remains of FragmentTestCache from Vulkan backend
* Fix indexed through-mode drawing
* Vertex format fixes. Flip through drawing the right way up.
* Fix indexed drawing, flip rendering the right side up, enable culling
* Separate uniform updates from shader updates
* Get untextured drawing working! (at least cube.elf)
* Pipelines, samplers, description sets, oh my
* Begin/End frame fixes
* Fix clearing bug, add FIFO_RELAXED flag, etc
* Some descriptor binding fixes
* First PSP shaders actually compile
* Okay, reached the shader generators
* Reaches the first clear
* Fill out GPU_Vulkan.cpp with what's mostly a copy of GLES_GPU.cpp
* Start porting TextureCache. Lots of stubbing going on.
* Back to work on the PSP renderer
* Show Vulkan information in system information.
* Per-frame descriptor pools. Safe-delete more types.
* Support multiple texture formats
* Update VulkanContext
* More progress
* Further vulkan stuff
* Just some work on the shader generators
* More fixes
* More vulkan in thin3d
* Enable vulkan validation
* Fixes in VulkanContext
* More vulkan fixing
* Implement a trivial SPIR-V disassembler, just for fun
* Initial vulkan code.
This was squashed from nine commits but using old versions of Vulkan.
* Merge pull request #8560 from unknownbrackets/prescale-uv
Enable UV prescaling by default
* Minor const cleanup.
* Enable UV prescaling by default.
Fixes #4583. It's been relatively stable since #8283.
* Merge pull request #8588 from sum2012/net-minor
Add sceNetIfhandle staff
* Small fix and change log format
* Add save status support
* Add sceNetIfhandle staff
Used in Yu-Gi-Oh 5Ds Tag Force 4
* Merge pull request #8591 from unknownbrackets/thin3d
Use thin3d for softgpu drawing (+thin3d improvements)
* d3d9: Correct for half-pixel offset in softgpu.
* thin3d: Use floats directly for 4x4 matrices.
* thin3d: Add sampler state selection.
* softgpu: Draw using thin3d.
This way it ought to work for all backends.
* d3d9: Allow software rendering selection in UI.
* thin3d: Clear bound VBOs when not using.
Nothing clears them, so if one draw does, any later UP draws won't work.
* thin3d: Allow setting size in imagedata.
GL should match D3D. Maybe we don't want this, but then we need to change
the API.
* thin3d: Correct indexed drawing.
* d3d9: Use thin3d for reporting info.
Download: PPSSPP Git (2016/03/21) x86
Download: PPSSPP Git (2016/03/21) x64
Download: PPSSPP Git (2016/03/21) Android
Source: Here
2016-03-21
Random Related Topic
0 Comments
Post a Comment