8764c86290
Fixed incorrect color initialization for skybox rendering.
Artem Kharytoniuk
2017-05-28 01:18:53 +03:00
02e075e0f5
Fixed bug with insufficient buffer size to store image data (we should use scaled image dimensions, not original ones).
Artem Kharytoniuk
2017-05-28 00:40:22 +03:00
2ed689cc30
Updated project structure: moved visual-studio folder one level up, updated relative paths in vs project files. removed 3rd party folder, put corresponding headers directly into renderer's source code.
Artem Kharytoniuk
2017-05-26 12:50:02 +03:00
0cc338ba62
Removed vk_enabled()/gl_enabled(). Just use corresponding expressions directly during APIs initialization, in other places use glActive/vk.active.
Artem Kharytoniuk
2017-05-26 12:15:51 +03:00
3af17877e9
Fixed r_showtris in mirror.
Artem Kharytoniuk
2017-05-25 21:50:55 +03:00
c9ef31f358
Removed vk_log_file related logging.
Artem Kharytoniuk
2017-05-24 20:33:45 +03:00
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).
Artem Kharytoniuk
2017-05-24 19:45:26 +03:00
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).
Artem Kharytoniuk
2017-05-24 19:32:33 +03:00
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.
Artem Kharytoniuk
2017-05-24 14:12:01 +03:00
90fe3b6fd2
Fixed bug in OpenGL renderer that r_debugSurface did not work when cg_shadows == 2.
Artem Kharytoniuk
2017-05-23 14:30:38 +03:00
f68cc05242
R_DebugGraphics vulkan implementation (r_debugSurfaces = 1). Improvements in code related to depth range selection and modelview transformations.
Artem Kharytoniuk
2017-05-23 14:16:32 +03:00
f208e60b78
Print vendor name in GfxInfo_f.
Artem Kharytoniuk
2017-05-22 13:00:10 +03:00
b6fb89caaa
Fixed bug with invalid initialization of tr.shadowShader (it was broken in the first commit on april 10). Disable stencil test after we done with shadow volumes rendering.
Artem Kharytoniuk
2017-05-18 22:35:19 +03:00
1d38f1774f
Removed light flares code. Corresponding code was disabled in original codebase (AddDlightFlares call ), so decision is do not support it.
Artem Kharytoniuk
2017-05-18 21:24:54 +03:00
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.
Artem Kharytoniuk
2017-05-13 22:10:28 +03:00
24fa5f20ab
Removed r_measureOverdraw development cvar. Corresponding functionality does not map well to Vulkan API since depth/stencil formats are considered opaque.
Artem Kharytoniuk
2017-05-12 13:57:14 +03:00
42d0a81c22
Fix: vk_end_frame was not called when disconnecting during active game.
Artem Kharytoniuk
2017-05-11 15:24:29 +03:00
deed74d08c
Ensure that writes to geometry buffers are visible to device after render pass begins.
Artem Kharytoniuk
2017-05-11 13:05:52 +03:00
ff38799381
CL_DemoFilename : Fixed crash due to buffer overflow bug. fileName arg points to a buffer of size MAX_QPATH. Original code used MAX_OSPATH instead.
Artem Kharytoniuk
2017-05-10 19:58:42 +03:00
a99e89ce40
VS config update.
Artem Kharytoniuk
2017-05-10 14:47:01 +03:00
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.
Artem Kharytoniuk
2017-05-09 23:35:43 +03:00
8ad279e5b9
Functionality to make proper behavior of r_renderAPI: disables current API, enables selected API.
Artem Kharytoniuk
2017-05-03 19:08:54 +03:00
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.
Artem Kharytoniuk
2017-05-01 23:35:04 +03:00
e3ff14bda1
Fixed bug in SurfIsOffscreen. This function is called by the frontend but it uses backend functionality to tesselate geometry. It didn't clean up genereated tess data so backend received unnecessary, geometry to render. It wasn't visible since viewport dimensions defaulted to zero values still vulkan validation layer detected invalid vkCmdSetViewport parameters.
Artem Kharytoniuk
2017-04-28 21:10:42 +03:00
73e2be0447
Mirrors and portals.
Artem Kharytoniuk
2017-04-28 19:13:24 +03:00
e73ff2f88e
Minor cleanup.
Artem Kharytoniuk
2017-04-24 17:08:51 +03:00
f2f0cea494
Staging buffer memory allocation. Also removed the last piece of demo project code!
Artem Kharytoniuk
2017-04-24 16:35:46 +03:00
8f15de3cdc
Memory allocation for geometry data. Single allocation is made and from it I suballocate two buffers: for vertex and index data correspondingly.
Artem Kharytoniuk
2017-04-24 15:11:43 +03:00
6dab078992
Image memory allocator. Started process of removing demo project's allocator code.
Artem Kharytoniuk
2017-04-24 10:35:19 +03:00
eac342cdd9
Store vertex attributes in SOA style: continuous region of vertex buffer per attribute. Removed structures that specified different vertex format.
Artem Kharytoniuk
2017-04-14 19:58:06 +03:00
047be0bd46
Code reorganization and cleanup.
Artem Kharytoniuk
2017-04-14 13:43:04 +03:00
ee7cd1b5f4
Use single function for rendering which handles both single texture and multitexture mode.
Artem Kharytoniuk
2017-04-14 11:08:09 +03:00
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.
Artem Kharytoniuk
2017-04-13 19:37:11 +03:00
fb74befd75
Use push contants to specify mvp transform.
Artem Kharytoniuk
2017-04-13 18:03:12 +03:00
e557f6cf82
Reset tess.numVertexes in the end of RB_EndSurface. This gives us more consistent state and avoids potentially unnecessary draw calls due to RB_CheckOverflow.
Artem Kharytoniuk
2017-04-13 11:51:43 +03:00
76d4deb58a
Specify shaders directly as arrays of bytes in source code. This allows us to provide all functionality in executable file without providing additional data files. Added bin2hex utility that does [spirv binary->cpp code] conversion. Idea is based on vkQuake implementation.
Artem Kharytoniuk
2017-04-05 14:26:15 +03:00
a02cb3ee10
Cleanup: removed r_ignoreFastPath and fast pass code. This optimization is not important nowdays. Also fast pass was disabled by default in original code. This change simplifies rendering code since now we have only two shader stage processing functions: generic and sky.
Artem Kharytoniuk
2017-04-03 16:54:14 +03:00
c0ce8b4fe3
Removed SF_DISPLAY_LIST surface type. It was only a placeholder without implementation and was not used by the engine.
Artem Kharytoniuk
2017-03-31 13:38:55 +03:00