Artem Kharytoniuk
a9431c5314
Fixed stencil shadows incorrect rendering in some scenarious. It's due to bug in render pass creation code (changeable variable cannot be used in renderpass description).
2017-05-24 19:32:33 +03:00
Artem Kharytoniuk
68723c7076
r_showImages functionality.
...
Additionally replaced VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE with VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER.
This matches more closely GL_CLAMP mode used by the OpenGL backend.
2017-05-24 14:12:01 +03:00
Artem Kharytoniuk
f68cc05242
R_DebugGraphics vulkan implementation (r_debugSurfaces = 1).
...
Improvements in code related to depth range selection and modelview transformations.
2017-05-23 14:16:32 +03:00
Artem Kharytoniuk
724dd15526
Hyperspace.
2017-05-21 23:22:40 +03:00
Artem Kharytoniuk
12368a634f
Vulkan pipelines creation time statistics.
2017-05-21 13:19:41 +03:00
Artem Kharytoniuk
e72ab2dbff
Enabled fillModeNonSolid feature.
2017-05-18 17:03:53 +03:00
Artem Kharytoniuk
aa518c8da8
Debug normals rendering (r_shownormals = 1).
2017-05-18 16:53:06 +03:00
Artem Kharytoniuk
30ad54bfbe
Debug triangles rendering (r_showtris = 1).
2017-05-18 13:57:47 +03:00
Artem Kharytoniuk
0f1849da24
Stencil shadows (cg_shadows = 2).
2017-05-17 22:23:43 +03:00
Artem Kharytoniuk
9df7be0314
- In case mailbox present mode is not available try to use immediate mode (we do not want to restrict fps by the monitor update frequency). If both modes are not available then fallback to fifo mode.
...
- Fixed bug with incorrect vkDestroyInstance function pointer initialization.
- Fixed bug that program called SwapBuffers in vulkan mode.
2017-05-13 22:10:28 +03:00
Artem Kharytoniuk
24fa5f20ab
Removed r_measureOverdraw development cvar.
...
Corresponding functionality does not map well to Vulkan API since depth/stencil formats are considered opaque.
2017-05-12 13:57:14 +03:00
Artem Kharytoniuk
deed74d08c
Ensure that writes to geometry buffers are visible to device after render pass begins.
2017-05-11 13:05:52 +03:00
Artem Kharytoniuk
626cc415d9
Fixed crash with NULL current_descriptor_sets.
...
After we create image we consider it becomes bound to current tmu, so we should update current_descriptor_sets in vk_create_image.
2017-05-09 23:35:43 +03:00
Artem Kharytoniuk
4b18f5b2ad
Screenshots.
2017-05-09 21:40:20 +03:00
Artem Kharytoniuk
91fb54bc81
Dynamic loading of vulkan dll.
2017-05-08 16:44:13 +03:00
Artem Kharytoniuk
5a5b0b4d2b
Vulkan platform specific code reorganization.
2017-05-05 13:55:55 +03:00
Artem Kharytoniuk
8ad279e5b9
Functionality to make proper behavior of r_renderAPI: disables current API, enables selected API.
2017-05-03 19:08:54 +03:00
Artem Kharytoniuk
1d78b91051
Fixed incorrect model positioning in model selection menu.
...
In general scissor and viewport rectangles are different: scissor should be inside renderable area, viewport has no such restriction.
2017-05-01 23:35:04 +03:00
Artem Kharytoniuk
9dd144766e
Dynamic lights.
2017-04-29 15:44:26 +03:00
Artem Kharytoniuk
c50a0f4484
Fog.
2017-04-29 14:44:20 +03:00
Artem Kharytoniuk
73e2be0447
Mirrors and portals.
2017-04-28 19:13:24 +03:00
Artem Kharytoniuk
ae98b8b9ed
Texture filtering.
2017-04-27 14:53:37 +03:00
Artem Kharytoniuk
4d33fcf925
Texture addressing mode selection (repeat or clamp).
2017-04-27 12:20:06 +03:00
Artem Kharytoniuk
d66d7c4363
Image view creation code cleanup.
2017-04-26 19:32:58 +03:00
Artem Kharytoniuk
a8fc2da718
Mipmaps.
2017-04-26 19:08:27 +03:00
Artem Kharytoniuk
d110d15a06
Image creation functions update.
2017-04-24 22:30:15 +03:00
Artem Kharytoniuk
1e74933a47
Clean up.
2017-04-24 18:49:53 +03:00
Artem Kharytoniuk
e73ff2f88e
Minor cleanup.
2017-04-24 17:08:51 +03:00
Artem Kharytoniuk
f2f0cea494
Staging buffer memory allocation.
...
Also removed the last piece of demo project code!
2017-04-24 16:35:46 +03:00
Artem Kharytoniuk
8f15de3cdc
Memory allocation for geometry data.
...
Single allocation is made and from it I suballocate two buffers: for vertex and index data correspondingly.
2017-04-24 15:11:43 +03:00
Artem Kharytoniuk
6dab078992
Image memory allocator.
...
Started process of removing demo project's allocator code.
2017-04-24 10:35:19 +03:00
Artem Kharytoniuk
f823930d83
Demo project files removal and cleanup.
2017-04-22 01:16:32 +03:00
Artem Kharytoniuk
2dacfbb44f
Cleanup: removed Shader_Module, Defer_Action helpers.
2017-04-20 13:57:49 +03:00
Artem Kharytoniuk
e3f41dd276
Demo project files removal and cleanup.
2017-04-20 12:57:46 +03:00
Artem Kharytoniuk
6df80b5783
Vk_Image structure to hold vulkan image's related resources.
2017-04-20 11:51:52 +03:00
Artem Kharytoniuk
140bec0188
Fixed ZFar plane bug.
2017-04-19 19:02:42 +03:00
Artem Kharytoniuk
07f4d33492
Skybox rendering.
2017-04-19 18:44:21 +03:00
Artem Kharytoniuk
ab32f499f8
Fixed r_fastsky and preparation to fix the rest of sky rendering.
2017-04-18 13:40:28 +03:00
Artem Kharytoniuk
054816df49
Adjusted depth range for weapon rendering (matches opengl version).
2017-04-16 21:25:22 +03:00
Artem Kharytoniuk
eac342cdd9
Store vertex attributes in SOA style: continuous region of vertex buffer per attribute.
...
Removed structures that specified different vertex format.
2017-04-14 19:58:06 +03:00
Artem Kharytoniuk
047be0bd46
Code reorganization and cleanup.
2017-04-14 13:43:04 +03:00
Artem Kharytoniuk
8c5fc8f674
New pipeline and set layouts design.
...
Pipeline layout consists of two identical descriptor sets.
Each descriptor set defines single descriptor of combined image sampler type.
2017-04-13 19:37:11 +03:00
Artem Kharytoniuk
fb74befd75
Use push contants to specify mvp transform.
2017-04-13 18:03:12 +03:00
Artem Kharytoniuk
c208817246
Rename.
2017-04-12 18:31:29 +03:00
Artem Kharytoniuk
11791b47a3
Correct framebuffer's attachments clearing when multiple views are rendered.
2017-04-12 18:25:20 +03:00
Artem Kharytoniuk
0d29be174f
Clean up: moved render pass/framebuffer handles to Vulkan_Instance.
...
Demo code removal.
2017-04-11 19:24:39 +03:00
Artem Kharytoniuk
6afd32f4d2
Clean up: moved command_pool/command_buffer handles to Vulkan_Instance.
2017-04-11 14:30:47 +03:00
Artem Kharytoniuk
eca35b6050
Clean up: introduced Vulkan_Instance, Vulkan_Resources structures.
...
Vulkan_Instance contains variables related to persistent vulkan resources like instance, device, queue, swapchain, etc.
Vulkan_Instance is re-iniitalized only during window creation.
Vulkan_Resources contains data specific to current game context, i.e. current level.
Vulkan_Resources can be re-loaded during level change, level exit, etc.
2017-04-11 14:05:38 +03:00
Artem Kharytoniuk
44a5f950ad
Logic to specify face culling during pipeline creation.
2017-04-10 14:42:52 +03:00
Artem Kharytoniuk
886ea847ca
Vk_Vertex, Vk_Vertex2 - vertex formats for single/multi textured geometry correspondingly.
2017-04-10 11:46:36 +03:00