Commit Graph
8662 Commits
Author SHA1 Message Date
Henrik Rydgard da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Unknown W. Brackets 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. Brackets baa7132a89 Vulkan: Simplify color testing. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets 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. Brackets 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. Brackets 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. Brackets 8efbcf8d42 Use draws for alpha/stencil only clear in Vulkan. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets ba7deb7c9a Fix GE debugger preview in non-buffered. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets 323130eb86 Don't crash as hard on shader compile error. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets 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
Henrik Rydgard ec6bc4a5f6 Vertex format fixes. Flip through drawing the right way up. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 6b8c004561 Fix indexed drawing, flip rendering the right side up, enable culling 2016-03-20 19:30:11 +01:00
Henrik Rydgard 6141c3651b Separate uniform updates from shader updates 2016-03-20 19:30:11 +01:00
Henrik Rydgard d67d187b72 Get untextured drawing working! (at least cube.elf) 2016-03-20 19:30:11 +01:00
Henrik Rydgard 28ae840abe Pipelines, samplers, description sets, oh my 2016-03-20 19:30:11 +01:00