Commit Graph

  • 7bf5958eb7 Code cleanup. Artem Kharytoniuk 2017-05-28 23:31:36 +0300
  • d82b2e6d5f Vulkan SDK update (1.0.49.0). Artem Kharytoniuk 2017-05-28 15:13:30 +0300
  • cd8a3bb9fa Added vulkan validation layers config. Artem Kharytoniuk 2017-05-28 13:18:54 +0300
  • 8764c86290 Fixed incorrect color initialization for skybox rendering. Artem Kharytoniuk 2017-05-28 01:18:53 +0300
  • 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 +0300
  • 6079758830 Replaced spaces with tabs (Q3 code style). Artem Kharytoniuk 2017-05-27 23:36:45 +0300
  • 077f519ac6 Levelshots. Artem Kharytoniuk 2017-05-27 23:14:16 +0300
  • 83d8d96e76 Support for r_texturebits=16. Reworked image upload code. Artem Kharytoniuk 2017-05-27 22:56:02 +0300
  • a57c8382b1 r_lightmap functionality. Artem Kharytoniuk 2017-05-26 14:34:34 +0300
  • 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 +0300
  • 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 +0300
  • 3af17877e9 Fixed r_showtris in mirror. Artem Kharytoniuk 2017-05-25 21:50:55 +0300
  • 0f3febc632 Introduced vk_bind_geometry/vk_shade_geometry functions. Artem Kharytoniuk 2017-05-25 21:45:31 +0300
  • c9ef31f358 Removed vk_log_file related logging. Artem Kharytoniuk 2017-05-24 20:33:45 +0300
  • 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 +0300
  • 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 +0300
  • d03e1ae56a Restored previously deleted r_clear debug feature. Artem Kharytoniuk 2017-05-24 19:13:15 +0300
  • 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 +0300
  • f5b0d1e51d Removed unused cvars. Artem Kharytoniuk 2017-05-24 12:13:38 +0300
  • b8b5e93c31 Fixed r_nobind. Artem Kharytoniuk 2017-05-23 18:49:28 +0300
  • 90fe3b6fd2 Fixed bug in OpenGL renderer that r_debugSurface did not work when cg_shadows == 2. Artem Kharytoniuk 2017-05-23 14:30:38 +0300
  • 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 +0300
  • f208e60b78 Print vendor name in GfxInfo_f. Artem Kharytoniuk 2017-05-22 13:00:10 +0300
  • 724dd15526 Hyperspace. Artem Kharytoniuk 2017-05-21 23:22:40 +0300
  • 12368a634f Vulkan pipelines creation time statistics. Artem Kharytoniuk 2017-05-21 13:19:41 +0300
  • 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 +0300
  • 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 +0300
  • e72ab2dbff Enabled fillModeNonSolid feature. Artem Kharytoniuk 2017-05-18 17:03:53 +0300
  • aa518c8da8 Debug normals rendering (r_shownormals = 1). Artem Kharytoniuk 2017-05-18 16:53:06 +0300
  • 4f6a5f3236 Forgot to add file to previous commit. Artem Kharytoniuk 2017-05-18 13:58:47 +0300
  • 30ad54bfbe Debug triangles rendering (r_showtris = 1). Artem Kharytoniuk 2017-05-18 13:57:47 +0300
  • 0f1849da24 Stencil shadows (cg_shadows = 2). Artem Kharytoniuk 2017-05-17 22:23:43 +0300
  • 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 +0300
  • 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 +0300
  • 42d0a81c22 Fix: vk_end_frame was not called when disconnecting during active game. Artem Kharytoniuk 2017-05-11 15:24:29 +0300
  • deed74d08c Ensure that writes to geometry buffers are visible to device after render pass begins. Artem Kharytoniuk 2017-05-11 13:05:52 +0300
  • 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 +0300
  • a99e89ce40 VS config update. Artem Kharytoniuk 2017-05-10 14:47:01 +0300
  • 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 +0300
  • 4b18f5b2ad Screenshots. Artem Kharytoniuk 2017-05-09 21:40:20 +0300
  • 91fb54bc81 Dynamic loading of vulkan dll. Artem Kharytoniuk 2017-05-08 16:44:13 +0300
  • 4214e10c8a Update GfxInfo_f to print vulkan related information. Artem Kharytoniuk 2017-05-05 17:28:58 +0300
  • 7800172337 Rename: r_renderAPICompareWindow -> r_twinMode. Artem Kharytoniuk 2017-05-05 15:48:29 +0300
  • 37120cc892 Removed glw_win.h. Artem Kharytoniuk 2017-05-05 14:06:20 +0300
  • 5a5b0b4d2b Vulkan platform specific code reorganization. Artem Kharytoniuk 2017-05-05 13:55:55 +0300
  • 8ad279e5b9 Functionality to make proper behavior of r_renderAPI: disables current API, enables selected API. Artem Kharytoniuk 2017-05-03 19:08:54 +0300
  • 2f75ace0c9 Clean up. Artem Kharytoniuk 2017-05-02 10:52:05 +0300
  • 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 +0300
  • 9dd144766e Dynamic lights. Artem Kharytoniuk 2017-04-29 15:44:26 +0300
  • 8f51dbbc78 Clean up: removed altivec path from dynamic lighting code. Artem Kharytoniuk 2017-04-29 14:55:34 +0300
  • c50a0f4484 Fog. Artem Kharytoniuk 2017-04-29 14:44:20 +0300
  • 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 +0300
  • 73e2be0447 Mirrors and portals. Artem Kharytoniuk 2017-04-28 19:13:24 +0300
  • ae98b8b9ed Texture filtering. Artem Kharytoniuk 2017-04-27 14:53:37 +0300
  • 4d33fcf925 Texture addressing mode selection (repeat or clamp). Artem Kharytoniuk 2017-04-27 12:20:06 +0300
  • 327ebe2daf videoMap support. Artem Kharytoniuk 2017-04-26 23:49:55 +0300
  • d66d7c4363 Image view creation code cleanup. Artem Kharytoniuk 2017-04-26 19:32:58 +0300
  • a8fc2da718 Mipmaps. Artem Kharytoniuk 2017-04-26 19:08:27 +0300
  • d110d15a06 Image creation functions update. Artem Kharytoniuk 2017-04-24 22:30:15 +0300
  • 1e74933a47 Clean up. Artem Kharytoniuk 2017-04-24 18:49:53 +0300
  • e73ff2f88e Minor cleanup. Artem Kharytoniuk 2017-04-24 17:08:51 +0300
  • f2f0cea494 Staging buffer memory allocation. Also removed the last piece of demo project code! Artem Kharytoniuk 2017-04-24 16:35:46 +0300
  • 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 +0300
  • 6dab078992 Image memory allocator. Started process of removing demo project's allocator code. Artem Kharytoniuk 2017-04-24 10:35:19 +0300
  • f823930d83 Demo project files removal and cleanup. Artem Kharytoniuk 2017-04-22 01:16:32 +0300
  • 2dacfbb44f Cleanup: removed Shader_Module, Defer_Action helpers. Artem Kharytoniuk 2017-04-20 13:57:49 +0300
  • e3f41dd276 Demo project files removal and cleanup. Artem Kharytoniuk 2017-04-20 12:57:46 +0300
  • 6df80b5783 Vk_Image structure to hold vulkan image's related resources. Artem Kharytoniuk 2017-04-20 11:51:52 +0300
  • 140bec0188 Fixed ZFar plane bug. Artem Kharytoniuk 2017-04-19 19:02:42 +0300
  • 07f4d33492 Skybox rendering. Artem Kharytoniuk 2017-04-19 18:44:21 +0300
  • ab32f499f8 Fixed r_fastsky and preparation to fix the rest of sky rendering. Artem Kharytoniuk 2017-04-18 13:40:28 +0300
  • a5d410fd9f Cleanup. Artem Kharytoniuk 2017-04-16 21:26:47 +0300
  • 054816df49 Adjusted depth range for weapon rendering (matches opengl version). Artem Kharytoniuk 2017-04-16 21:25:22 +0300
  • d1ae59d70a Removed unused code. Artem Kharytoniuk 2017-04-14 21:06:06 +0300
  • 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 +0300
  • 047be0bd46 Code reorganization and cleanup. Artem Kharytoniuk 2017-04-14 13:43:04 +0300
  • ee7cd1b5f4 Use single function for rendering which handles both single texture and multitexture mode. Artem Kharytoniuk 2017-04-14 11:08:09 +0300
  • 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 +0300
  • fb74befd75 Use push contants to specify mvp transform. Artem Kharytoniuk 2017-04-13 18:03:12 +0300
  • 63d14ef988 Vulkan SDK update (1.0.46.0). Artem Kharytoniuk 2017-04-13 14:06:32 +0300
  • 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 +0300
  • c208817246 Rename. Artem Kharytoniuk 2017-04-12 18:31:29 +0300
  • 11791b47a3 Correct framebuffer's attachments clearing when multiple views are rendered. Artem Kharytoniuk 2017-04-12 18:25:20 +0300
  • 73e4db35d7 Call scissor/viewport/depth bias commands after vkCmdBindPipeline to meet vulkan spec. Artem Kharytoniuk 2017-04-11 19:36:50 +0300
  • 0d29be174f Clean up: moved render pass/framebuffer handles to Vulkan_Instance. Demo code removal. Artem Kharytoniuk 2017-04-11 19:24:39 +0300
  • 6afd32f4d2 Clean up: moved command_pool/command_buffer handles to Vulkan_Instance. Artem Kharytoniuk 2017-04-11 14:30:47 +0300
  • eca35b6050 Clean up: introduced Vulkan_Instance, Vulkan_Resources structures. Artem Kharytoniuk 2017-04-11 14:05:38 +0300
  • 44a5f950ad Logic to specify face culling during pipeline creation. Artem Kharytoniuk 2017-04-10 14:42:52 +0300
  • 3127807db9 Removed glm third party dependency. Artem Kharytoniuk 2017-04-10 12:48:24 +0300
  • 886ea847ca Vk_Vertex, Vk_Vertex2 - vertex formats for single/multi textured geometry correspondingly. Artem Kharytoniuk 2017-04-10 11:46:36 +0300
  • 8a4cce66ed Started work on removing vulkan demo code. Cinematics update. Clean up. Artem Kharytoniuk 2017-04-10 11:11:17 +0300
  • 6d50cb783c Proper images selection, so animation images work now. Artem Kharytoniuk 2017-04-07 16:47:21 +0300
  • 121afa2231 Create pipelines based on GLS_XXX state. Artem Kharytoniuk 2017-04-06 17:26:22 +0300
  • a45d37355e Cleanup. Artem Kharytoniuk 2017-04-05 15:17:16 +0300
  • 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 +0300
  • 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 +0300
  • 0962288d03 Cleanup: removed unused GL_DECAL texture env mode. Artem Kharytoniuk 2017-04-03 16:00:00 +0300
  • 258a1ca9cd Multitexture rendering prototyping. Artem Kharytoniuk 2017-04-03 14:40:32 +0300
  • 27038dde48 Cleanup: removed effectively unused textureBundle_t::vertexLightmap variable. Artem Kharytoniuk 2017-04-03 12:49:48 +0300
  • 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 +0300