Commit Graph
9567 Commits
Author SHA1 Message Date
Henrik Rydgard 5d56537a16 Move VulkanPushBuffer into VulkanMemory.h 2016-03-20 19:31:02 +01:00
Henrik Rydgard f7113bb2e3 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)
2016-03-20 19:31:02 +01:00
Henrik Rydgard 966cb89d41 Vulkan: Fix our use of dual source blending, re-enable if available. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard add506a0d3 Cleanup differences in aniso handling.
Some places were not handling it as a power of two.
2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 82f3df1e06 Vulkan: Initial support for aniso filtering. 2016-03-20 19:31:02 +01:00
Henrik Rydgard da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 3744008d1f Correct the 5551 format for now.
Otherwise we get wrong colors - also we are still converting colors.
2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard baa7132a89 Vulkan: Simplify color testing. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard dad64b39b6 Vulkan: Properly set the alpha test ref.
It's definitely not a float, oops.
2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard f289e8485d 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.
2016-03-20 19:31:02 +01:00
Henrik Rydgard a995dd2ff4 Get rid of strange offset in Vulkan matrix converter 2016-03-20 19:31:02 +01:00
Henrik Rydgard e45c24b75f Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
2016-03-20 19:31:02 +01:00
Henrik Rydgard 84e649f74b Vulkan: Enable mipmapping 2016-03-20 19:31:02 +01:00
Henrik Rydgard 8a62724316 Upload PSP textures through a push buffer instead of image copy. More flexible. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 5ea01ffff6 Add a secondary way to upload textures - through buffers. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 697f3a8f94 Matrix depth fix. Still have depth issues though. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 1970d38650 Enable the Unpack Subimage path on DX9 (maybe should just remove the check) 2016-03-20 19:31:02 +01:00
Henrik Rydgard 00d617c9d5 Fix bug where we sometimes pushed too much vertex data.
Doesn't seem to fix much though...
2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 242daae00a 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.
2016-03-20 19:31:02 +01:00
Henrik Rydgard 3e268e4d37 Mem leak fixes, cleanups 2016-03-20 19:31:02 +01:00
Henrik Rydgard 5cee8856ea Fix UV scale for some vertex formats (like GL). Separate updates of PROJ and PROJTHROUGH matrices. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 8efbcf8d42 Use draws for alpha/stencil only clear in Vulkan. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard ba7deb7c9a Fix GE debugger preview in non-buffered. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 323130eb86 Don't crash as hard on shader compile error. 2016-03-20 19:31:02 +01:00
Unknown W. BracketsandHenrik Rydgard 2d548d64da Move Vulkan code into a filter. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 76d8a87b2f Vulkan: Attempt at fixing dual source blending. Should work but doesn't. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 96273c6616 Turn off Vulkan in CMake-based and Qt-based builds, for now 2016-03-20 19:30:39 +01:00
Henrik Rydgard d325aa2b30 Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard 5a72564583 Cleanup 2016-03-20 19:30:11 +01:00
Henrik Rydgard 432f276bec Cleanups. Don't loop over bones in vshader, causes trouble 2016-03-20 19:30:11 +01:00
Henrik Rydgard 1677697735 Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
Also, assorted bugfixes.
2016-03-20 19:30:11 +01:00
Henrik Rydgard 5f71b5b3ec Android: Vulkan builds but doesn't link as we have no link library. 2016-03-20 19:30:11 +01:00
Henrik Rydgard ca63cca9a2 WIP: Start work on getting the Vulkan code to compile for Android 2016-03-20 19:30:11 +01:00
Henrik Rydgard 5b70957b1f Expose another couple of vulkan device features. 2016-03-20 19:30:11 +01:00
Henrik Rydgard d5f685ce05 WIP trying to fix drawing issues 2016-03-20 19:30:11 +01:00
Henrik Rydgard 4b978b1fd3 Crashfix, fix left-behind culling disabling 2016-03-20 19:30:11 +01:00
Henrik Rydgard 02d1648872 Delete pipeline caches asynchronously too 2016-03-20 19:30:11 +01:00
Henrik Rydgard 3284899844 More clearing fixes. Also fix some memory leaks. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 2e998891a4 The settings to the vertex decoder must match the implementation..
Fixes some character scale issues.
2016-03-20 19:30:11 +01:00
Henrik Rydgard 55ef97639a More zero-initialization. Fix scope issue, MSVC's optimizer was aggressive enough that this was a problem. Fixes textures in release mode. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 4c281f16ac Fix mixup with fragment shader ubo variables 2016-03-20 19:30:11 +01:00
Henrik Rydgard 3bf88d7475 Plug the texture memory leak 2016-03-20 19:30:11 +01:00
Henrik Rydgard 29341e53a5 Assorted fixes and cleanups. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 87b743e922 Fix issues with texture replacement 2016-03-20 19:30:11 +01:00
Henrik Rydgard 78d5fff2fe More texture work 2016-03-20 19:30:11 +01:00
Henrik Rydgard dced84c9fc Work on texture support, cube.elf works correctly. Delete unused code. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 7eeba080c7 Fix primitive topology. Crashfix. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 9e34d7d625 Remove remains of FragmentTestCache from Vulkan backend 2016-03-20 19:30:11 +01:00
Henrik Rydgard 4e6a9b8108 Fix indexed through-mode drawing 2016-03-20 19:30:11 +01:00