alexey.lysiuk
370f5ef234
- fixed writing of texture matrices in Vulkan render backend
...
https://forum.zdoom.org/viewtopic.php?t=65479
2019-07-30 11:46:14 +03:00
Christoph Oelckers
afbd7f7a24
- increased StreamBuffer size because I got it to crash with comatose.wad once due to an overflow here.
2019-07-28 19:05:39 +02:00
Magnus Norddahl
ad8c5bb96e
- add VkRenderPassManager::GetVertexFormat so that all VkRenderState access is done through functions that can then be made thread safe
2019-07-28 17:20:49 +02:00
Magnus Norddahl
76675a4d61
- add VkMatrixBufferWriter so that both buffers are used same way in VkRenderState
2019-07-28 17:04:56 +02:00
Magnus Norddahl
4adac3fe59
- move streaming uniform buffers out of VkRenderState
2019-07-28 16:28:43 +02:00
Dzmitry Malyshau
3467e0edcf
Switch command buffers to be one-time-submittable ( #885 )
2019-07-05 02:15:59 +02:00
Dzmitry Malyshau
e7e46f8c7c
vk: Check for the time query support on the graphics queue ( #884 )
2019-07-03 16:49:06 +02:00
Christoph Oelckers
3d3f364874
- consolidated postprocessing code a bit.
...
The code that determines the order of effects should not be duplicated between renderers.
2019-06-20 11:55:45 +02:00
Magnus Norddahl
774955dbc4
- write into stream buffers before opening the next render pass
2019-06-16 13:08:25 +02:00
Magnus Norddahl
d31dbf14e4
- wait for space if the stream buffers are exhausted
2019-06-16 13:05:12 +02:00
Magnus Norddahl
240a32f4c8
- also reset framebuffers when the image is reset
2019-06-16 10:31:12 +02:00
Magnus Norddahl
a093f686a7
- store the vulkan framebuffer with the image (this ensures the framebuffer object is destroyed along with the image)
2019-06-10 22:14:02 +02:00
Christoph Oelckers
9f2fbc1294
- renamed GLViewpointBuffer to HWViewpointBuffer.
2019-06-10 10:50:45 +02:00
Magnus Norddahl
13cab1c0b6
- delay postprocess texture destruction until the end of the frame
2019-06-10 09:13:56 +02:00
Magnus Norddahl
8853872bb4
- fix wipe screen when using -loadgame
2019-06-10 08:40:49 +02:00
Christoph Oelckers
037b69c8a7
- reworked buffer binding logic.
...
This shouldn't be in the hardware independent interface because the semantics on OpenGL and Vulkan are too different, so a common implementation is not possible.
Most bind calls were in the GL interface anyway, so these no longer pass through hardware independent code.
This also moves the bind calls in the shadowmap code into the GL interface - these never did anything useful in Vulkan and aren't needed there.
Last but not least, this moves the legacy buffer binding handling into FGLRenderState and performs the initial binding for the light buffer in a more suitable place so that this doesn't have to pollute the render state.
2019-06-09 20:37:11 +02:00
Magnus Norddahl
c9ee880196
- fix loadgame crash
2019-06-06 18:56:34 +02:00
alexey.lysiuk
dc8a944382
- implemented GPU vendor string assingment in Vulkan backend
2019-06-04 12:42:01 +03:00
Magnus Norddahl
756c593e96
- create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
...
- improve vulkan errors by including the status code returned by vulkan if they fail
2019-05-23 14:09:05 +02:00
Magnus Norddahl
e4dab707e4
- don't run the custom shaders twice on screenshots
2019-05-20 12:46:05 +02:00
Magnus Norddahl
2a15f65065
- apply present shader on screenshots
2019-05-20 12:36:45 +02:00
alexey.lysiuk
bbb75a40ca
- fixed erroneous texture mipmapping in Vulkan render
...
https://forum.zdoom.org/viewtopic.php?t=64257
2019-05-19 14:24:59 +02:00
Magnus Norddahl
680a6f348b
- use one render pass for the entire scene or until postprocess or command buffer flushing forces it to end
2019-05-18 08:12:46 +02:00
Magnus Norddahl
7e37d640dc
- avoid creating a new render pass if a pipeline bind will suffice
2019-05-18 06:54:35 +02:00
Magnus Norddahl
9ab19d057d
- centralize how image transitions are done in the vulkan backend
2019-05-16 18:26:47 +02:00
Magnus Norddahl
99f58855ad
- transition scene images used for the screenshot to color attachment optimal before rendering to them
2019-05-15 16:11:43 +02:00
Magnus Norddahl
3a112c2a47
- fix stencil test not being active when applying SSAO to portals
2019-05-13 22:06:17 +02:00
Magnus Norddahl
f2e37d506e
- fix model chasecam crash
2019-05-12 23:05:31 +02:00
Magnus Norddahl
7957c423aa
- fix wrong screenshot gamma
2019-05-10 18:02:27 +02:00
Magnus Norddahl
7c3e99a6f1
- Intel on Linux used the footnote in the standard saying a descriptor pool can become fragmented (thanks guys!)
2019-05-10 02:16:26 +02:00
Magnus Norddahl
ce73fe5b16
- fix command buffer invalidation bug when DynamicSet is updated
2019-05-10 01:53:09 +02:00
Magnus Norddahl
a7e8541341
- add fragment shader texture reading as an additional subpass external dependency
2019-05-10 01:04:45 +02:00
Magnus Norddahl
25e23d6ac5
- add vk_debug_callstack for getting the location where a vulkan warning or error happens
2019-05-09 22:41:47 +02:00
Magnus Norddahl
d5761740d3
- fix burn crash on vulkan
2019-05-09 17:55:29 +02:00
alexey.lysiuk
7e998c2261
- added handling of GLSL noise() functions to Vulkan backend
...
https://forum.zdoom.org/viewtopic.php?t=64516
2019-05-09 13:29:58 +03:00
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
David Carlier
b0a9d63292
OpenBSD build fix.
...
As FreeBSD, does not have malloc.h
aligned_alloc stricly available since C++17/C11, using the local impl.
2019-05-08 09:25:14 +03:00
Magnus Norddahl
97375feee6
- fix mirror effect shader
2019-05-06 00:15:02 +02:00
Magnus Norddahl
e21ffc131e
- move camtex depthstencil to VkHardwareTexture
2019-05-05 13:36:03 +02:00
pkubaj
3d63f63fb2
Fix build on FreeBSD ( #829 )
...
On FreeBSD malloc.h is deprecated.
<cwctype> is needed for iswalpha.
2019-05-05 08:28:46 +03: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
Magnus Norddahl
ea9be6c225
- fix vulkan crash when changing resolution when using the software renderer
2019-05-02 00:30:54 +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
1973001834
- use the exact sRGB->linear transfer function in HDR mode as the 2.2 gamma approximation is visibly inaccurate in this case
2019-05-01 00:55:31 +02: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