alexey.lysiuk
56557a17f1
- fixed output of software renderers with Vulkan backend
...
Vulkan hardware buffer for software canvas may have some padding
Software renderers should be aware of buffer's pitch in order to copy pixels properly
https://forum.zdoom.org/viewtopic.php?t=64562
2019-05-08 22:02:05 +03:00
Magnus Norddahl
e21ffc131e
- move camtex depthstencil to VkHardwareTexture
2019-05-05 13:36:03 +02:00
Magnus Norddahl
e1ae8bbc59
- rendering to texture requires a separate depth/stencil image as the image used by the main view may be using multisampling
2019-05-05 01:58:36 +02:00
Magnus Norddahl
a6515765c8
- fix vkGetQueryPoolResults: parameter dataSize must be greater than 0
2019-05-03 16:10:14 +02:00
Magnus Norddahl
80c09c52bd
- call SetActiveRenderTarget before drawing the software renderer scene
2019-05-03 16:05:41 +02:00
Magnus Norddahl
d1554aed37
- VMA_MEMORY_USAGE_CPU_TO_GPU does not require VK_MEMORY_PROPERTY_HOST_COHERENT_BIT to bet set. Current implementation requires this flag as vkFlushMappedMemoryRanges is never called.
2019-05-02 01:35:04 +02:00
alexey.lysiuk
b23958b204
- fixed saved game thumbnails generation with Vulkan renderer
...
GZDoom aborts with 'Failed to submit command buffer' error on saving a game when open source Intel Vulkan driver (part of Mesa 3D package) is used on Linux
This driver generates VK_DEVICE_LOST error when vkWaitForFences() is called with zero fence count. It must be greater than zero according to Vulkan spec
2019-05-01 13:42:07 +03:00
Magnus Norddahl
81e32ecc72
- implement stat gpu on vulkan and fix it on opengl
2019-04-30 22:55:35 +02:00
Magnus Norddahl
692aed0551
- add VulkanQueryPool::getResults
2019-04-30 21:11:44 +02:00
Magnus Norddahl
d504acad68
- add VulkanQueryPool and QueryPoolBuilder
2019-04-30 21:01:55 +02:00
Magnus Norddahl
23d0cce395
- fix shutdown crash due to GetVulkanFrameBuffer returning null when VulkanFrameBuffer is destroyed
2019-04-30 20:02:00 +02:00
Magnus Norddahl
ab8378152f
- make the VkHardwareTexture and VKBuffer linked lists private
2019-04-30 19:49:29 +02:00
Magnus Norddahl
34a8e9050b
- this should be better for when vsync is off if I read the vulkan spec correctly
2019-04-30 19:26:28 +02:00
alexey.lysiuk
dffe45835d
- postponed destruction of Vulkan resources
...
Provided uniform way to handle lifetime of some of Vulkan resources
This helps to avoid issues like descriptor set that outlives its pool
https://forum.zdoom.org/viewtopic.php?t=64341
2019-04-30 18:43:41 +03:00
Christoph Oelckers
90cc0cf35b
Merge remote-tracking branch 'remotes/origin/vulkan2'
2019-04-22 11:43:43 +02:00
Christoph Oelckers
0640a86c1e
- removed InitPalette call from VulkanFrameBuffer constructor.
...
It is as wrong here as in OpenGL because it destroys already set up data.
2019-04-22 11:00:40 +02:00
Magnus Norddahl
a3587009e7
- the semaphore should never be added when its the last submit before waiting
2019-04-20 16:42:52 +02:00
Magnus Norddahl
401a4944b4
- fix Queue is signaling semaphore that has not been waited on by any queue
2019-04-20 16:35:26 +02:00
Magnus Norddahl
a8e7f38150
- minor code cleanup
2019-04-19 23:56:54 +02:00
Magnus Norddahl
779cb42578
- remove vk_submit_multithread again as it seemed to have no effect on performance and only complicated the code
2019-04-19 23:26:06 +02:00
Magnus Norddahl
458da39c39
- add vk_submit_multithread for doing command buffer submit calls on a worker thread
...
- add vk_submit_size for testing various command buffer sizes before flushing them
- add submitted command buffer count to renderstats
2019-04-19 22:42:32 +02:00
Magnus Norddahl
8fadf3d9bd
- add support for flushing commands during drawing
2019-04-19 20:55:15 +02:00
Magnus Norddahl
faac0805f0
- implement VKBuffer::Resize
2019-04-18 22:01:42 +02:00
Magnus Norddahl
47f056e882
- improve shader error handling and attempt to remove some bogus declarations
2019-04-18 01:20:28 +02:00
Magnus Norddahl
06222a1fbf
- update glslang to 7.11.3113 (stable release February 8, 2019). This fixes the SPIR-V validation error reported for the shadowmap shader
2019-04-15 04:53:43 +02:00
Rachael Alexanderson
482e9c0f2c
- fixed: Intel OpenGL did not quite recognize the "layout(location=0)" shader uniform definitions, so this had to be removed for OpenGL mode only so that Intel's compiler will continue to function normally for custom shaders.
2019-04-11 13:21:40 -04:00
Magnus Norddahl
1e7911d1f9
- we cannot recover from this
2019-04-11 05:36:36 +02:00
Magnus Norddahl
59904faff4
- slightly adjust AcquireImage to avoid border cases in the spec
2019-04-11 05:28:37 +02:00
Magnus Norddahl
a0f618311a
- change SubmitCommands to handle all parts of the present
2019-04-11 04:52:57 +02:00
Magnus Norddahl
095ea3ce76
- apply vk_hdr immediately and delay initial swapchain creation until first image needs to be acquired
2019-04-11 04:26:43 +02:00
Magnus Norddahl
5f70ce2148
- fix SubmitCommands bug if it no swapchain image was acquired
2019-04-10 16:39:33 +02:00
Magnus Norddahl
d413581ee2
- fix model shutdown crash
2019-04-09 17:06:54 +02:00
Magnus Norddahl
c9dbb589e2
- once the Vulkan backend booted all the remaining vulkan calls are unrecoverable (unless the code calling it gets actively involved, which means that particular action is not exceptional in nature and shouldn't be done as an exception)
2019-04-09 14:25:18 +02:00
Magnus Norddahl
d47891d20a
- allocate new texture descriptor pool if it is full
2019-04-09 14:06:24 +02:00
Magnus Norddahl
2cbd1c4736
- Fix inverted check in last commit
2019-04-09 12:41:05 +02:00
Magnus Norddahl
d3dacfc2cb
- improve error handling during vulkan initialization
2019-04-09 12:28:25 +02:00
Christoph Oelckers
ab256945aa
- use I_Error for throwing errors in the Vulkan backend and print the message if one gets thrown during init.
2019-04-08 23:48:46 +02:00
Magnus Norddahl
2694b0a167
- workaround for drivers that bug by never acquiring an image
2019-04-08 21:01:40 +02:00
Magnus Norddahl
c98dfd1790
- improve swap chain resize and handle the edge cases for the swap chain
2019-04-08 19:23:37 +02:00
Magnus Norddahl
20fde9f8be
- clean up swapchain class
2019-04-08 18:14:07 +02:00
Magnus Norddahl
f7069c4ddc
- there is no need to track a transfer family - yet another pointless detour thanks to vulkan-tutorial..
2019-04-04 15:58:48 +02:00
alexey.lysiuk
df8fa90a34
- fixed compilation warnings reported by Clang
...
src/rendering/vulkan/renderer/vk_renderpass.cpp:44:22: warning: comparison of integers of different signs: 'std::__1::vector<FVertexBufferAttribute, std::__1::allocator<FVertexBufferAttribute> >::size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
src/rendering/vulkan/system/vk_framebuffer.cpp:860:55: warning: format specifies type 'int' but the argument has type 'VkDeviceSize' (aka 'unsigned long long') [-Wformat]
src/rendering/vulkan/system/vk_objects.h:471:23: warning: suggest braces around initialization of subobject [-Wmissing-braces]
2019-03-30 11:15:49 +02:00
Magnus Norddahl
9f0f659db0
- remove old vid_maxfps implementations as they were garbage anyway and the new one works on all the platforms
2019-03-26 11:10:17 +01:00
Magnus Norddahl
6078428b84
- fix typo in sleep
2019-03-26 10:46:31 +01:00
Magnus Norddahl
9f758b0032
- implement vid_maxfps
2019-03-26 10:40:43 +01:00
Christoph Oelckers
b40983be61
- fixed bad Printf formatter.
2019-03-26 08:48:10 +01:00
Magnus Norddahl
1c9bf262e6
- hook up VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT
2019-03-25 21:30:03 +01:00
Magnus Norddahl
7256af0b32
- fix sort bug
2019-03-25 20:41:53 +01:00
Magnus Norddahl
2d8516b2ca
- make shaderClipDistance optional
2019-03-25 19:44:46 +01:00
Magnus Norddahl
be74675e5e
- change vk_hdr default to false
2019-03-25 01:41:16 +01:00