Commit Graph

19890 Commits

Author SHA1 Message Date
Unknown W. Brackets
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. Brackets
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. 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
c2775d4dfa Default validation on in Debug and off in Release 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
1f1e679aa0 Silence another validation warning 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
c770349475 Switch headless to using graphics contexts.
Vulkan doesn't work yet, needs some thin3d for the command buffer?
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
0b7e43d05c Allow the graphicsContext to be overridden.
This is useful when coming from, for example, headless.
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
82205a4660 Handle Vulkan init errors more gracefully. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
76b17a4912 Revert "Replace ugly workaround with VK_LAYER_LUNARG_unique_objects which prevents handle reuse."
This reverts commit 6342c07a19d5ab410cbc233a570488214923a9f8.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
fe270c592a Typo fix 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b0098f7961 Replace ugly workaround with VK_LAYER_LUNARG_unique_objects which prevents handle reuse.
See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/121
2016-03-20 19:31:02 +01:00
Henrik Rydgard
575cc890b7 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
2016-03-20 19:31:02 +01:00
Henrik Rydgard
79fd828d16 Work around what seems like a validation layer bug (trigger by scrolling
around the UI a bit)
2016-03-20 19:31:02 +01:00
Henrik Rydgard
5ca012e83d Fix a bunch of new vulkan validation layer failures. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b7b0b59e9a Update Vulkan headers to 1.0.5. Remove references to vulkan-1.lib as we load dynamically. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
6e2e0bfa33 Should not specify the Vulkan patch version when requesting Vulkan 1.0. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
c92790c5a8 Specify a useful app version when loading Vulkan. 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
22f47d3787 Remove redundant configuration, remove temp hack 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
432fbe30d1 Vulkan: We're doing dual src blending wrong (GLSL part, not sure how to do it right) so disable it. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
8950509bc5 Buildfix (glslang project settings /MT) 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b06cf4e688 Re-fix depth buffer initialization 2016-03-20 19:30:39 +01:00
Henrik Rydgård
9c457da4c9 Gets the Vulkan backend running, but not drawing correctly, on Android.
Not sure what's wrong, I get a yellow flashing screen.
2016-03-20 19:30:39 +01:00
Henrik Rydgard
78b878222f Show backend chooser on Android so we can choose Vulkan. 2016-03-20 19:30:39 +01:00
Scott Mansell
77420f799e VulkanLoader: Detect loader failure on windows. 2016-03-20 19:30:39 +01:00
Scott Mansell
e97a6c6f77 VulkanLoader: Load vkDestroySurfaceKHR 2016-03-20 19:30:39 +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
c8e06675bb Possible buildfix 2016-03-20 19:30:11 +01:00
Henrik Rydgard
45cf399091 Remove remains of xcb support. Will add back later. 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