Henrik Rydgård
02f76ae4a8
Rendering basics now works.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
0a0494ef8e
It builds! With some shortcuts, of course.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
804aa79376
Various Vulkan image transition fixes and related
2017-10-20 18:09:05 +02:00
Henrik Rydgård
b886efe8f5
Another minor cleanup (DescribeCodePtr)
2017-10-20 11:06:12 +02:00
Henrik Rydgård
81a18dc4df
Keeping descriptorsets around between frames can cause problems if we run out.. Try to prevent that. Need a better method than this though.
2017-08-20 21:35:03 +02:00
Henrik Rydgård
2f85e6516e
Minor optimizations (use the new hashmap in a few more places)
2017-08-20 19:18:46 +02:00
Henrik Rydgård
a4b97f00b6
And yet another buildfix.
2017-08-20 15:52:12 +02:00
Henrik Rydgård
10cebb4195
32-bit buildfix
2017-08-20 15:33:53 +02:00
Henrik Rydgård
e0e13e191f
Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap.
2017-08-20 11:30:19 +02:00
Henrik Rydgård
b9b2656e93
More vulkan microoptimizations. Add more profiler scopes.
2017-08-18 13:48:11 +02:00
Henrik Rydgård
560eaa5390
Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing.
2017-08-17 17:57:37 +02:00
Henrik Rydgård
5e788ffadf
Implement vertex caching for Vulkan.
2017-08-17 11:22:45 +02:00
Henrik Rydgård
50d771961b
Vulkan: More minor optimization (avoid pipeline cache lookups when possible)
2017-08-15 16:01:50 +02:00
Henrik Rydgård
a1fd2d1ed1
Dirty-track the current pipeline to avoid many vkBindPipeline calls.
2017-08-14 16:02:58 +02:00
Henrik Rydgård
5a65334646
Use dirty-flags more in Vulkan state setting
2017-08-14 15:14:46 +02:00
Henrik Rydgård
14a80968cf
Unify transformed arrays
2017-06-03 18:05:21 +02:00
Henrik Rydgård
3032240916
Unify DecodeVertsStep
2017-06-03 18:04:46 +02:00
Henrik Rydgård
240e058b3b
Some unification in DrawEngine
2017-06-03 18:03:56 +02:00
Henrik Rydgård
665a2c04cb
Implement software skinning for the Vulkan backend. Fixes #9753
2017-06-02 11:47:14 +02:00
Henrik Rydgård
44423f3ba2
Vulkan: Implement BlitFramebuffer
2017-05-30 09:38:09 +02:00
Henrik Rydgard
0c70735bc4
Buffered rendering is starting to work, though still kinda broken.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
2b93338255
Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit)
2017-05-30 09:36:17 +02:00
Henrik Rydgård
d0f3e5cb89
Don't wipe the Vulkan pipeline key, allow for building it incrementally
2017-04-03 17:26:54 +02:00
xebra
f14b75492d
[spline/bezier]Split SendDataToShader() into two functions.
2017-03-23 23:28:38 +09:00
Henrik Rydgård
17a250df7a
Always trigger gpu->Resized when exiting GameSettingsScreen.
...
Strangely, this does NOT help #9438 .
2017-03-17 10:27:49 +01:00
xebra
6022b40346
[spline/bezier]Handle deleting sampler of TessellationDataTransferVulkan.
2017-02-26 00:27:25 +09:00
xebra
f9ab61a005
[spline/bezier]Implement hardware tessellation on Vulkan.
2017-02-25 19:28:15 +09:00
Henrik Rydgard
7890b61cc5
More work towards unifying ApplyTexture
2017-02-19 23:19:55 +01:00
Henrik Rydgard
08d173ceee
Unify ApplyShaderBlending
2017-02-17 12:21:27 +01:00
Henrik Rydgard
4538edad14
Work towards enabling shader blending on D3D11
2017-02-17 12:21:18 +01:00
Henrik Rydgard
e17d3e1e7a
Vulkan: Forgot to extend a few more dirtyflag variables to 64-bit. Avoid a warning.
2017-01-24 20:19:06 +01:00
Henrik Rydgard
bd4436c6eb
Centralize EstimatePerVertexCost and Execute_BlockTransferStart
2017-01-23 17:22:17 +01:00
xebra
deea258383
[spline/bezier]Fix to avoid crashing when activated hardware tessellation with dx9 and vulkan.
2017-01-23 14:12:03 +01:00
Henrik Rydgard
9d7983eee8
Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder.
2016-12-20 13:27:44 +01:00
Unknown W. Brackets
363ede5e99
Vulkan: Setup draw engine for device restore.
2016-10-09 11:28:08 -07: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
Henrik Rydgard
c1e9df0777
Adjust the displayed debug stats for each backend. Cleanup.
2016-03-31 10:23:40 +02:00
Henrik Rydgard
731af0d0b4
Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager
2016-03-31 00:49:10 +02:00
Henrik Rydgard
20f227cc4d
Vulkan: Fix Prescale UV
2016-03-21 18:50:11 +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
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
2c61b1e763
Change the VulkanPushBuffer API to allow for adding support for dynamic growth
2016-03-20 19:35:03 +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
dced84c9fc
Work on texture support, cube.elf works correctly. Delete unused code.
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