421 Commits

Author SHA1 Message Date
Unknown W. Brackets f5f9b5227d Tweak 565 buffer clearing. 2016-09-18 20:38:19 -07:00
Unknown W. Brackets ee0bc6c04d Clear memory when clearing drawing.
This should help synchronize block transfers better.

Should improve #8973.
2016-09-18 20:38:19 -07:00
Henrik Rydgard 5005e83254 Consistency improvements to the memory protect/alloc APIs 2016-08-28 12:28:17 +02:00
Unknown W. Brackets f16f163edf Remove duplicate override.
This is the same function, it was meant to be refactored.
2016-05-21 15:45:03 -07:00
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