Commit graph

88 commits

Author SHA1 Message Date
Magnus Norddahl
d03839dfef - do not signal mRenderFinishedSemaphore if the submitted commands aren't about to be presented 2019-03-22 13:54:13 +01:00
Christoph Oelckers
3ad9783d8f - fixed the hardware rendering precacher not to evict secondary layers of multi-layer textures.
It will now check all layers of a material.
Additionally it will also delete all descriptor sets of Vulkan hardware textures before precaching to make sure that nothing here can accidentally still reference a deleted texture.
2019-03-21 21:57:39 +01:00
Magnus Norddahl
ec7a874a61 - implement PrecacheMaterial 2019-03-17 22:41:02 +01:00
Magnus Norddahl
bf85ad4b6a - remove tracking translation in VkHardwareTexture
- only reset the descriptors when recreating the samplers
2019-03-17 22:27:48 +01:00
Magnus Norddahl
40ee32a0ce - minor adjustments 2019-03-17 21:14:51 +01:00
Magnus Norddahl
29a30037cb - delay destruction of VkHardwareTexture resources until current frame has finished rendering 2019-03-17 20:36:08 +01:00
Magnus Norddahl
c00a46043d - implement ssao 2019-03-16 23:37:38 +01:00
Magnus Norddahl
05f0730c9d - convert PPStep to PPRenderState 2019-03-15 23:24:31 +01:00
Magnus Norddahl
cce96ca87a - implement shadow maps 2019-03-15 07:54:34 +01:00
Magnus Norddahl
836938440c - move swapchain and the presentation related synchronization objects out of VulkanDevice 2019-03-14 23:33:19 +01:00
Magnus Norddahl
9b207b8fe6 - implement save pic 2019-03-14 23:07:52 +01:00
Magnus Norddahl
2d885d4e4c - add some support for using the HDR10 ST2084 color space on monitors that support it (unfortunately it doesn't work, and with virtually no documentation either from nvidia or khronos it is hard to say why) 2019-03-14 00:21:53 +01:00
Magnus Norddahl
625cc11ea2 - capture screenshot support 2019-03-13 14:10:13 +01:00
Magnus Norddahl
5d2917bb4f - implement RenderTextureView 2019-03-13 11:14:42 +01:00
Magnus Norddahl
d78cb959a7 - implement wipe screen copy 2019-03-13 02:23:33 +01:00
Magnus Norddahl
83ee884ffc - remove dead code 2019-03-13 00:59:39 +01:00
Magnus Norddahl
e5e9924c5e - remove IShaderProgram and make the old classes an implementation detail of the OpenGL backend. In the long run they should be removed completely as their weird design is mostly an artifact of once having supported OpenGL 2 2019-03-13 00:52:25 +01:00
Magnus Norddahl
903f8b6696 - move the active render target from VkRenderPass to VkRenderState 2019-03-13 00:18:27 +01:00
Magnus Norddahl
fed0f0dfab - fix the multisample and image transition validation errors 2019-03-09 23:17:48 +01:00
Magnus Norddahl
ff68d2e651 - hooked up the debug names for objects, which was a bit of a waste of time since the validation layer is brain dead and doesn't use the information in its messages.. 2019-03-09 21:34:29 +01:00
alexey.lysiuk
02ed758447 Merge branch 'master' into vulkan2
# Conflicts:
#	src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
Magnus Norddahl
21c83950a5 - add vk_device and vk_listdevices that will allow selecting a different device on systems where this is desirable
- clean up the VulkanDevice class
2019-03-09 10:20:14 +01:00
Magnus Norddahl
389469c604 - pick the first device that supports our required features 2019-03-08 22:53:32 +01:00
Magnus Norddahl
aa1ff58353 - convert triangle fan to triangle list on macOS 2019-03-08 21:34:21 +01:00
Magnus Norddahl
c0c2743e89 - add multisample support
- fix BlurScene
- create the gbuffers needed by ssao
2019-03-08 02:24:54 +01:00
Magnus Norddahl
e823d5da52 - remove compute and sparse requirements as we use neither 2019-03-07 18:23:04 +01:00
Magnus Norddahl
6db231596f - hook up postprocessing 2019-03-07 18:05:12 +01:00
alexey.lysiuk
16008e4aa8 - set viewport dimensions each frame in Vulkan framebuffer
This fixes visual artifacts when resolution is changed without a level running, i.e. from menu or fullscreen console
2019-03-07 13:24:56 +02:00
Magnus Norddahl
0679b493ec - hook up the present shader 2019-03-06 22:59:21 +01:00
Magnus Norddahl
a857bec846 - implemented VkPostprocess::GetInput 2019-03-06 19:42:02 +01:00
alexey.lysiuk
108ea066f3 - added initial support of Vulkan to SDL backend
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
Magnus Norddahl
c280153ac2 - implement VkPostprocess::RenderScreenQuad 2019-03-05 23:31:38 +01:00
Magnus Norddahl
a07e4601e7 - compile the effect shaders 2019-03-05 19:49:06 +01:00
Magnus Norddahl
d65de299e8 - add some classes for managing postprocess and render buffers 2019-03-05 04:59:17 +01:00
Magnus Norddahl
e06f8f172d - use the uniform buffer alignment as returned by the vulkan device 2019-03-05 02:50:30 +01:00
Magnus Norddahl
95116e8580 - fix dynamic buffer offset not getting updated
- fix lightbuffer blocksize being hardcoded
2019-03-05 02:06:20 +01:00
Magnus Norddahl
c70aff99e7 - enable RenderFirstSkyPortal 2019-03-04 15:55:43 +01:00
Magnus Norddahl
32ad6dc887 - draw the weapon 2019-03-04 15:27:54 +01:00
alexey.lysiuk
84a4c9c3a7 - reorderer member initialization in Vulkan objects
This is needed to prevent compilation warnings spam with GCC and Clang
While the warning itself is useful, in this case it's rather pointless and annoying
2019-03-04 16:18:37 +02:00
Magnus Norddahl
2532e4bba6 - fall back to VK_FORMAT_D32_SFLOAT_S8_UINT if VK_FORMAT_D24_UNORM_S8_UINT is not supported 2019-03-04 14:47:49 +01:00
Magnus Norddahl
0a6d77a861 - fall back to linear if tiling is not supported by the device 2019-03-04 13:51:58 +01:00
Magnus Norddahl
9861642fcc - add missing vulkan used features 2019-03-04 13:28:29 +01:00
alexey.lysiuk
802d37f377 - fixed compilation of Linux target
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:47:00 +02:00
alexey.lysiuk
7efa231e4e - fixed compilation of macOS target
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:46:37 +02:00
alexey.lysiuk
6144f02f67 - initialized all members of VkWin32SurfaceCreateInfoKHR
Without such initialization vkCreateWin32SurfaceKHR() crashed inside AMD Vulkan driver
2019-03-04 11:36:38 +02:00
alexey.lysiuk
30c6ae5078 - fixed compilation of 32-bit Windows targets and MSVC 2015 2019-03-04 11:35:12 +02:00
Magnus Norddahl
eaf367e876 - add depth bias 2019-03-04 00:14:28 +01:00
Magnus Norddahl
cf49e1ec21 - add depth clamp support 2019-03-03 23:54:13 +01:00
Magnus Norddahl
923fb5c127 - implement the depth and stencil states 2019-03-03 22:25:38 +01:00
Magnus Norddahl
d516b2ff7b - fix typo and add color 2019-03-03 14:40:56 +01:00