Magnus Norddahl
d47891d20a
- allocate new texture descriptor pool if it is full
2019-04-09 14:06:24 +02:00
Magnus Norddahl
d114575bd1
- implement custom post process shaders for vulkan backend
2019-04-08 00:47:55 +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
c010c5e818
- fully enable vk_hdr as a feature since it works now after the queue family selection was improved
2019-03-25 01:39:27 +01:00
Magnus Norddahl
0be5cc7d1d
- initialize array
2019-03-24 18:32:36 +01:00
Magnus Norddahl
88355393df
- implement queue family transfers
2019-03-24 18:03:10 +01:00
Magnus Norddahl
7b3350ae1e
- the material descriptor set must be bound again if the pipeline changes and the new shader uses more textures than the old one
2019-03-18 00:38:09 +01:00
Magnus Norddahl
40ee32a0ce
- minor adjustments
2019-03-17 21:14:51 +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
625cc11ea2
- capture screenshot support
2019-03-13 14:10:13 +01:00
Magnus Norddahl
d78cb959a7
- implement wipe screen copy
2019-03-13 02:23:33 +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
dca0b75038
- change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
...
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl
db6a4781c8
- clip scissors (tired of my computer blue screening - thanks NVidia!)
...
- wrap viewport
2019-03-12 16:17:26 +01:00
Magnus Norddahl
aa84f7b3e6
- fix shaders only being loaded from the engine pk3
2019-03-12 15:02:21 +01:00
Rachael Alexanderson
916f21942c
- Reverse the status bar offset when shearing the viewport in Vulkan - fixes the issue with a black bar at the top of the screen
2019-03-11 22:06:51 -04:00
Magnus Norddahl
2ca112bef7
- create a helper for doing the PP image transitions
2019-03-10 01:47:55 +01:00
Magnus Norddahl
eb41e5fcd7
- fix transition error when no PP effects are active
2019-03-10 00:47:28 +01:00
Magnus Norddahl
fed0f0dfab
- fix the multisample and image transition validation errors
2019-03-09 23:17:48 +01:00
Magnus Norddahl
5581fbfd93
- fix wrong layout and image format for the swap chain
2019-03-09 22:07:46 +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
4ac82c18be
- eliminated last triangle fans usage in Vulkan renderer on macOS
...
Thanks dpJudas
2019-03-09 12:37:45 +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
aa1ff58353
- convert triangle fan to triangle list on macOS
2019-03-08 21:34:21 +01:00
Magnus Norddahl
ca1d8191aa
- enable the binding code for the ssao gbuffers
2019-03-08 03:17:59 +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
6db231596f
- hook up postprocessing
2019-03-07 18:05:12 +01:00
Magnus Norddahl
0679b493ec
- hook up the present shader
2019-03-06 22:59:21 +01:00
Magnus Norddahl
30756ec112
- wrong image transition direction
2019-03-06 19:44:48 +01:00
Magnus Norddahl
a857bec846
- implemented VkPostprocess::GetInput
2019-03-06 19:42:02 +01:00
Magnus Norddahl
9d061cbef6
- implement VkPostprocess::GetOutput
2019-03-06 18:33:31 +01:00
Magnus Norddahl
40c14bcd67
- create pipeline images
...
- fix some minor typos
2019-03-06 17:59:11 +01:00
alexey.lysiuk
08d8ea5d31
- fixed compilation with GCC and Clang
...
src/rendering/vulkan/renderer/vk_postprocess.cpp:219:54: error: cannot pass non-trivial object of type 'const FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-03-06 11:39:39 +02:00
Magnus Norddahl
c280153ac2
- implement VkPostprocess::RenderScreenQuad
2019-03-05 23:31:38 +01:00
Magnus Norddahl
fb983186b1
- upload the pp textures
2019-03-05 20:39:27 +01:00
Magnus Norddahl
a07e4601e7
- compile the effect shaders
2019-03-05 19:49:06 +01:00
alexey.lysiuk
741d44d263
- fixed compilation with GCC 7+
...
src/rendering/vulkan/renderer/vk_postprocess.h:16:48: error: ‘function’ in namespace ‘std’ does not name a template type
2019-03-05 10:21:39 +02: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
a8a444f010
- missed two places where VK_FORMAT_D24_UNORM_S8_UINT was used
2019-03-04 15:23:49 +01: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
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
Magnus Norddahl
0e43979c28
- fix colormask alpha typo
2019-03-04 01:54:57 +01:00