Commit Graph

63 Commits

Author SHA1 Message Date
Artem Kharytoniuk 7bf5958eb7 Code cleanup. 2017-05-28 23:31:36 +03:00
Artem Kharytoniuk cd8a3bb9fa Added vulkan validation layers config. 2017-05-28 13:18:54 +03:00
Artem Kharytoniuk 6079758830 Replaced spaces with tabs (Q3 code style). 2017-05-27 23:36:45 +03:00
Artem Kharytoniuk 83d8d96e76 Support for r_texturebits=16. Reworked image upload code. 2017-05-27 22:56:02 +03:00
Artem Kharytoniuk 3af17877e9 Fixed r_showtris in mirror. 2017-05-25 21:50:55 +03:00
Artem Kharytoniuk 0f3febc632 Introduced vk_bind_geometry/vk_shade_geometry functions. 2017-05-25 21:45:31 +03:00
Artem Kharytoniuk c9ef31f358 Removed vk_log_file related logging. 2017-05-24 20:33:45 +03:00
Artem Kharytoniuk 2d261bb346 Reverted change with clamp_to_border texture addressing mode and use clamp_to_edge.
clamp_to_border produces artifacts in some cases (for example, when we rotate texture coordinates).
2017-05-24 19:45:26 +03:00
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