Unknown W. Brackets
fe4c0e9f5a
Vulkan: Fix various problems with tex scaling.
2016-03-26 15:02:09 -07:00
Unknown W. Brackets
99bf2c5aeb
Vulkan: Decode the simplest tex formats directly.
2016-03-26 15:02:08 -07:00
Unknown W. Brackets
29287ea0ee
Vulkan: Reorganize a bit so we can decode directly.
2016-03-26 15:02:07 -07:00
Unknown W. Brackets
e7ea1da99f
Vulkan: Swizzle instead of converting colors.
2016-03-26 15:02:06 -07:00
Unknown W. Brackets
f31fbb9417
Cleanup fbTexInfo_ when detaching framebuffers.
2016-03-26 12:30:34 -07:00
Unknown W. Brackets
aad04f2941
Centralize the texcache key format.
2016-03-26 12:30:33 -07:00
Unknown W. Brackets
e8c8f19aec
Move framebuf attachment into central code.
...
It doesn't look like this will be different, and there's a bug in it.
2016-03-26 12:30:32 -07:00
Unknown W. Brackets
817df153f8
Vulkan: Don't replace images on old fb textures.
2016-03-26 12:30:32 -07:00
Henrik Rydgard
bd17351ef9
Texcache: Minor refactor/cleanup
2016-03-22 23:56:55 +01:00
Henrik Rydgard
efa508d492
Vulkan: Fix texture scaling
2016-03-21 21:26:48 +01:00
Henrik Rydgard
dff585e440
VulkanContext: Detect the appropriate depth buffer format to use, expose it.
...
This should help AMD compatibility.
2016-03-21 20:11:49 +01:00
Henrik Rydgard
20f227cc4d
Vulkan: Fix Prescale UV
2016-03-21 18:50:11 +01:00
Unknown W. Brackets
450d70ff06
Vulkan: Remove some outdated comments.
2016-03-20 22:51:07 -07:00
Unknown W. Brackets
9fd040eed0
Vulkan: Cache only device in push buffers.
2016-03-20 22:49:38 -07:00
Henrik Rydgard
0009b55210
Make placeholder texture black
2016-03-20 23:36:09 +01:00
Henrik Rydgård
2485c320f3
Merge pull request #8649 from unknownbrackets/vulkan-buf
...
Dynamically reallocate buffers when out of space
2016-03-20 23:32:08 +01:00
Unknown W. Brackets
f91cc6191a
Vulkan: Start with smaller buffers by default.
2016-03-20 15:23:03 -07:00
Unknown W. Brackets
82a902382b
Vulkan: Centralize shader UBO update, DRY.
2016-03-20 15:15:03 -07:00
Henrik Rydgard
1515754f2d
Another prescale UV fix
2016-03-20 23:02:56 +01:00
Henrik Rydgard
a6a56b9a69
Vulkan: Cache the texture pointer. Use a checkerboard placeholder texture where missing
...
(framebuffer textures in non-buffered)
2016-03-20 22:46:49 +01:00
Henrik Rydgard
ffde7020d2
Vulkan prescale UV fix
2016-03-20 21:48:28 +01:00
Henrik Rydgard
0e199272ed
Buildfix to last commit, add a comment
2016-03-20 20:56:33 +01:00
Henrik Rydgard
827481d41d
Combined two uniforms to get the base UBO down to 512b, in order to not waste space (nVidia needs 256-byte alignment)
2016-03-20 20:53:46 +01:00
Henrik Rydgard
0b1cfaf751
Be more economical with UBO pushbuffer space by reusing the last data when possible.
2016-03-20 19:35:31 +01:00
Henrik Rydgard
5d19f3dfb8
Decode vertex data directly into the vertex pushbuffer, saving a memcpy.
2016-03-20 19:35:03 +01:00
Henrik Rydgard
d7ffc39d2a
Vulkan: Remove support for software skinning to reduce complexity
2016-03-20 19:35:03 +01:00
Henrik Rydgard
d0659f0deb
No need to align vertex/index data. Will only be harmful for an upcoming optimization.
2016-03-20 19:35:03 +01:00
Henrik Rydgard
18d78f9a35
Minor optimizations
2016-03-20 19:35:03 +01:00
Henrik Rydgard
8e9acff6aa
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.
2016-03-20 19:35:03 +01:00
Henrik Rydgard
2c61b1e763
Change the VulkanPushBuffer API to allow for adding support for dynamic growth
2016-03-20 19:35:03 +01:00
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. 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
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
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