Commit graph

317 commits

Author SHA1 Message Date
Unknown W. Brackets
68717411b1 Track when we see a clear indicate a size of a vfb. 2016-05-19 21:17:09 -07:00
Henrik Rydgård
2c84411426 Merge pull request #8720 from unknownbrackets/tex-range
Move texture decode/hash to after vertex decode
2016-05-07 22:15:19 +02:00
Unknown W. Brackets
5eb66fe167 Vulkan: Allocate more image samplers by default. 2016-05-06 19:51:03 -07:00
Unknown W. Brackets
53535558f8 Vulkan: Move texture hash/decode after vtx decode. 2016-05-01 17:42:08 -07:00
Unknown W. Brackets
ffef628667 Vulkan: Move ApplyTexture after vert decode. 2016-05-01 17:39:29 -07:00
Unknown W. Brackets
02995ff083 Tiny cleanup to indexgen. 2016-04-10 02:30:33 -07:00
Henrik Rydgard
d85dce0c21 Add limited support for newly discovered 32-bit index buffer format (by unknownbrackets)
See https://github.com/hrydgard/pspautotests/pull/184

Will truncate indices past 65536.
2016-04-10 11:03:07 +02:00
Henrik Rydgard
fa64417917 Minor warning fixes 2016-04-10 10:34:39 +02:00
Henrik Rydgard
e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard
861a30a6cd Fix an assortment of minor resource leaks, make vulkan validator happier. 2016-04-02 11:06:39 +02:00
Henrik Rydgard
c1e9df0777 Adjust the displayed debug stats for each backend. Cleanup. 2016-03-31 10:23:40 +02:00
Henrik Rydgard
718789b99d Some cleanup in framebuffer code. Don't set BlendColor dynstate unless we need it. 2016-03-31 09:23:17 +02:00
Henrik Rydgard
32f5930e15 Move clear handling to FramebufferVulkan, center the clear properly in non-buffered. more cleanup. 2016-03-31 00:50:50 +02:00
Henrik Rydgard
c2b66a0882 Another leak fix, buildfix 2016-03-31 00:49:10 +02:00
Henrik Rydgard
2e55ba345c Some comments 2016-03-31 00:49:10 +02:00
Henrik Rydgard
e124962d15 Fix depth/stencil clears (already fixed in framebuffer branch) 2016-03-31 00:48:01 +02:00
Henrik Rydgard
c75e9a0990 Fix vertex pushbuffer allocation for games that use indexed drawing with the same base repeatedly. 2016-03-31 00:46:50 +02:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Henrik Rydgard
a8c386b94c Make VulkanImage a little more flexible (make it possible to create depth images)
Just preparation.
2016-03-28 18:25:05 +02:00
Unknown W. Brackets
b1a2a44377 Vulkan: Update dyn stencil state only as needed. 2016-03-26 20:15:42 -07: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
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
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
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
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
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
8a62724316 Upload PSP textures through a push buffer instead of image copy. More flexible. 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
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
323130eb86 Don't crash as hard on shader compile error. 2016-03-20 19:31:02 +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
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
d5f685ce05 WIP trying to fix drawing issues 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