diff --git a/src/renderers/vulkan/tr_main.c b/src/renderers/vulkan/tr_main.c index 42e8d6f8f..b234212a3 100644 --- a/src/renderers/vulkan/tr_main.c +++ b/src/renderers/vulkan/tr_main.c @@ -695,17 +695,10 @@ void R_SetupFirstPersonProjection( viewParms_t *dest, float *outProjection ) const float depth = zFar - zNearClamped; if ( depth > 0.1f ) { #ifdef USE_VULKAN -#ifdef USE_REVERSED_DEPTH outProjection[2] = 0.0f; outProjection[6] = 0.0f; outProjection[10] = zNearClamped / depth; outProjection[14] = zFar * zNearClamped / depth; -#else - outProjection[2] = 0.0f; - outProjection[6] = 0.0f; - outProjection[10] = -zFar / depth; - outProjection[14] = -zFar * zNearClamped / depth; -#endif #else outProjection[2] = 0.0f; outProjection[6] = 0.0f; @@ -733,13 +726,8 @@ static void R_SetupProjectionZ( viewParms_t *dest ) dest->projectionMatrix[2] = 0; dest->projectionMatrix[6] = 0; #ifdef USE_VULKAN -#ifdef USE_REVERSED_DEPTH dest->projectionMatrix[10] = zNear / depth; dest->projectionMatrix[14] = zFar * zNear / depth; -#else - dest->projectionMatrix[10] = - zFar / depth; - dest->projectionMatrix[14] = - zFar * zNear / depth; -#endif #else dest->projectionMatrix[10] = -( zFar + zNear ) / depth; dest->projectionMatrix[14] = -2 * zFar * zNear / depth; @@ -752,10 +740,8 @@ static void R_SetupProjectionZ( viewParms_t *dest ) vec4_t q, c; #ifdef USE_VULKAN -#ifdef USE_REVERSED_DEPTH dest->projectionMatrix[10] = - zFar / depth; dest->projectionMatrix[14] = - zFar * zNear / depth; -#endif #endif // transform portal plane into camera space plane[0] = dest->portalPlane.normal[0]; @@ -789,7 +775,7 @@ static void R_SetupProjectionZ( viewParms_t *dest ) #endif dest->projectionMatrix[14] = c[3]; -#ifdef USE_REVERSED_DEPTH +#ifdef USE_VULKAN dest->projectionMatrix[2] = -dest->projectionMatrix[2]; dest->projectionMatrix[6] = -dest->projectionMatrix[6]; dest->projectionMatrix[10] = -(dest->projectionMatrix[10] + 1.0); diff --git a/src/renderers/vulkan/vk_clear_attachments.c b/src/renderers/vulkan/vk_clear_attachments.c index 6a105c4ee..654e408be 100644 --- a/src/renderers/vulkan/vk_clear_attachments.c +++ b/src/renderers/vulkan/vk_clear_attachments.c @@ -63,11 +63,7 @@ void vk_clear_depth( qboolean clear_stencil ) return; attachment.colorAttachment = 0; -#ifdef USE_REVERSED_DEPTH attachment.clearValue.depthStencil.depth = 0.0f; -#else - attachment.clearValue.depthStencil.depth = 1.0f; -#endif attachment.clearValue.depthStencil.stencil = 0; if ( clear_stencil && glConfig.stencilBits > 0 ) { attachment.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT; diff --git a/src/renderers/vulkan/vk_create_pipeline.c b/src/renderers/vulkan/vk_create_pipeline.c index 5061d1298..ca9141a63 100644 --- a/src/renderers/vulkan/vk_create_pipeline.c +++ b/src/renderers/vulkan/vk_create_pipeline.c @@ -1188,21 +1188,11 @@ VkPipeline vk_create_pipeline( const Vk_Pipeline_Def *def, renderPass_t renderPa cvar_t *sv_units = ri.Cvar_Get( "r_shadowVolumeOffsetUnits", "1", CVAR_ARCHIVE_ND ); float factor = sv_factor ? sv_factor->value : 1.0f; float units = sv_units ? sv_units->value : 1.0f; -#ifdef USE_REVERSED_DEPTH rasterization_state.depthBiasConstantFactor = units; rasterization_state.depthBiasSlopeFactor = factor; -#else - rasterization_state.depthBiasConstantFactor = -units; - rasterization_state.depthBiasSlopeFactor = -factor; -#endif } else { -#ifdef USE_REVERSED_DEPTH rasterization_state.depthBiasConstantFactor = -r_offsetUnits->value; rasterization_state.depthBiasSlopeFactor = -r_offsetFactor->value; -#else - rasterization_state.depthBiasConstantFactor = r_offsetUnits->value; - rasterization_state.depthBiasSlopeFactor = r_offsetFactor->value; -#endif } } else { rasterization_state.depthBiasEnable = VK_FALSE; @@ -1241,11 +1231,7 @@ VkPipeline vk_create_pipeline( const Vk_Pipeline_Def *def, renderPass_t renderPa depth_stencil_state.flags = 0; depth_stencil_state.depthTestEnable = (state_bits & GLS_DEPTHTEST_DISABLE) ? VK_FALSE : VK_TRUE; depth_stencil_state.depthWriteEnable = ( def->shader_type == TYPE_OCCLUSION_BBOX ) ? VK_FALSE : ( (state_bits & GLS_DEPTHMASK_TRUE) ? VK_TRUE : VK_FALSE ); -#ifdef USE_REVERSED_DEPTH depth_stencil_state.depthCompareOp = (state_bits & GLS_DEPTHFUNC_EQUAL) ? VK_COMPARE_OP_EQUAL : VK_COMPARE_OP_GREATER_OR_EQUAL; -#else - depth_stencil_state.depthCompareOp = (state_bits & GLS_DEPTHFUNC_EQUAL) ? VK_COMPARE_OP_EQUAL : VK_COMPARE_OP_LESS_OR_EQUAL; -#endif depth_stencil_state.depthBoundsTestEnable = VK_FALSE; depth_stencil_state.stencilTestEnable = (def->shadow_phase != SHADOW_DISABLED) ? VK_TRUE : VK_FALSE; diff --git a/src/renderers/vulkan/vk_flares.c b/src/renderers/vulkan/vk_flares.c index 82bffe8e2..2ffc49347 100644 --- a/src/renderers/vulkan/vk_flares.c +++ b/src/renderers/vulkan/vk_flares.c @@ -204,11 +204,7 @@ void RB_AddFlare( void *surface, int fogNum, vec3_t point, vec3_t color, vec3_t f->eyeZ = eye[2]; -#ifdef USE_REVERSED_DEPTH f->drawZ = (clip[2]+0.20) / clip[3]; -#else - f->drawZ = (clip[2]-0.20) / clip[3]; -#endif } @@ -537,13 +533,8 @@ void RB_RenderFlares( void ) { return; // none visible } -#ifdef USE_REVERSED_DEPTH m = vk_ortho( backEnd.viewParms.viewportX, backEnd.viewParms.viewportX + backEnd.viewParms.viewportWidth, backEnd.viewParms.viewportY, backEnd.viewParms.viewportY + backEnd.viewParms.viewportHeight, 1.0, 0.0 ); -#else - m = vk_ortho( backEnd.viewParms.viewportX, backEnd.viewParms.viewportX + backEnd.viewParms.viewportWidth, - backEnd.viewParms.viewportY, backEnd.viewParms.viewportY + backEnd.viewParms.viewportHeight, 0.0, 1.0 ); -#endif vk_update_mvp( m ); diff --git a/src/renderers/vulkan/vk_frame_submit.c b/src/renderers/vulkan/vk_frame_submit.c index cea030797..36278c568 100644 --- a/src/renderers/vulkan/vk_frame_submit.c +++ b/src/renderers/vulkan/vk_frame_submit.c @@ -114,10 +114,6 @@ void vk_begin_frame( void ) vk.temporal.preparedThisFrame = qfalse; vk.uiOverlayActive = qfalse; -#ifdef USE_UPLOAD_QUEUE - vk_flush_staging_buffer( qtrue ); -#endif - vk.cmd = &vk.tess[ vk.cmd_index ]; if ( vk.cmd->waitForFence ) { @@ -281,12 +277,7 @@ static void vk_resize_geometry_buffer( void ) void vk_end_frame( void ) { -#ifdef USE_UPLOAD_QUEUE - VkSemaphore waits[2], signals[2]; - const VkPipelineStageFlags wait_dst_stage_mask[2] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; -#else const VkPipelineStageFlags wait_dst_stage_mask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; -#endif VkSubmitInfo submit_info; if ( vk.frame_count == 0 ) @@ -346,46 +337,11 @@ void vk_end_frame( void ) submit_info.commandBufferCount = 1; submit_info.pCommandBuffers = &vk.cmd->command_buffer; if ( !ri.CL_IsMinimized() ) { -#ifdef USE_UPLOAD_QUEUE - if ( vk.image_uploaded != VK_NULL_HANDLE ) { - waits[0] = vk.cmd->image_acquired; - waits[1] = vk.image_uploaded; - submit_info.waitSemaphoreCount = 2; - submit_info.pWaitSemaphores = &waits[0]; - submit_info.pWaitDstStageMask = &wait_dst_stage_mask[0]; - signals[0] = vk.swapchain_rendering_finished[ vk.cmd->swapchain_image_index ]; - signals[1] = vk.cmd->rendering_finished2; - submit_info.signalSemaphoreCount = 2; - submit_info.pSignalSemaphores = &signals[0]; - - vk.rendering_finished = vk.cmd->rendering_finished2; - vk.image_uploaded = VK_NULL_HANDLE; - } else if ( vk.rendering_finished != VK_NULL_HANDLE ) { - waits[0] = vk.cmd->image_acquired; - waits[1] = vk.rendering_finished; - submit_info.waitSemaphoreCount = 2; - submit_info.pWaitSemaphores = &waits[0]; - submit_info.pWaitDstStageMask = &wait_dst_stage_mask[0]; - signals[0] = vk.swapchain_rendering_finished[ vk.cmd->swapchain_image_index ]; - signals[1] = vk.cmd->rendering_finished2; - submit_info.signalSemaphoreCount = 2; - submit_info.pSignalSemaphores = &signals[0]; - - vk.rendering_finished = vk.cmd->rendering_finished2; - } else { - submit_info.waitSemaphoreCount = 1; - submit_info.pWaitSemaphores = &vk.cmd->image_acquired; - submit_info.pWaitDstStageMask = &wait_dst_stage_mask[0]; - submit_info.signalSemaphoreCount = 1; - submit_info.pSignalSemaphores = &vk.swapchain_rendering_finished[ vk.cmd->swapchain_image_index ]; - } -#else submit_info.waitSemaphoreCount = 1; submit_info.pWaitSemaphores = &vk.cmd->image_acquired; submit_info.pWaitDstStageMask = &wait_dst_stage_mask; submit_info.signalSemaphoreCount = 1; submit_info.pSignalSemaphores = &vk.swapchain_rendering_finished[ vk.cmd->swapchain_image_index ]; -#endif } else { submit_info.waitSemaphoreCount = 0; submit_info.pWaitSemaphores = NULL; diff --git a/src/renderers/vulkan/vk_init_device.c b/src/renderers/vulkan/vk_init_device.c index e7e676b2b..fb279ebd5 100644 --- a/src/renderers/vulkan/vk_init_device.c +++ b/src/renderers/vulkan/vk_init_device.c @@ -465,20 +465,6 @@ void vk_initialize( void ) SET_OBJECT_NAME( vk.command_pool, "command pool", VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT ); } -#ifdef USE_UPLOAD_QUEUE - { - VkCommandBufferAllocateInfo alloc_info; - - alloc_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; - alloc_info.pNext = NULL; - alloc_info.commandPool = vk.command_pool; - alloc_info.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; - alloc_info.commandBufferCount = 1; - - VK_CHECK( qvkAllocateCommandBuffers( vk.device, &alloc_info, &vk.staging_command_buffer ) ); - } -#endif - // // Command buffers and color attachments. // diff --git a/src/renderers/vulkan/vk_pipeline_helpers.c b/src/renderers/vulkan/vk_pipeline_helpers.c index 8c3d08ec4..9b960b912 100644 --- a/src/renderers/vulkan/vk_pipeline_helpers.c +++ b/src/renderers/vulkan/vk_pipeline_helpers.c @@ -85,12 +85,8 @@ void vk_create_atmosphere_pipeline( void ) depth_stencil_state.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; depth_stencil_state.depthTestEnable = VK_TRUE; depth_stencil_state.depthWriteEnable = VK_FALSE; -#ifdef USE_REVERSED_DEPTH /* Reversed depth: far=0.0. Pass only where stored==0.0 (sky). Shader outputs gl_FragDepth=0.0. */ depth_stencil_state.depthCompareOp = VK_COMPARE_OP_EQUAL; -#else - depth_stencil_state.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL; -#endif Com_Memset( &attachment_blend, 0, sizeof( attachment_blend ) ); attachment_blend.blendEnable = VK_TRUE; diff --git a/src/renderers/vulkan/vk_postfx_passes.c b/src/renderers/vulkan/vk_postfx_passes.c index 3d6e43243..0b80a7cbb 100644 --- a/src/renderers/vulkan/vk_postfx_passes.c +++ b/src/renderers/vulkan/vk_postfx_passes.c @@ -348,11 +348,7 @@ qboolean vk_ssao_pass( void ) VkImageAspectFlags depth_aspect = VK_IMAGE_ASPECT_DEPTH_BIT; const uint32_t ssaoTexW = vk_get_render_target_width(); const uint32_t ssaoTexH = vk_get_render_target_height(); -#ifdef USE_REVERSED_DEPTH const float depthIsReversed = 1.0f; -#else - const float depthIsReversed = 0.0f; -#endif if ( glConfig.stencilBits > 0 ) depth_aspect |= VK_IMAGE_ASPECT_STENCIL_BIT; diff --git a/src/renderers/vulkan/vk_presentation.c b/src/renderers/vulkan/vk_presentation.c index 69e8da89c..91582125a 100644 --- a/src/renderers/vulkan/vk_presentation.c +++ b/src/renderers/vulkan/vk_presentation.c @@ -37,12 +37,6 @@ void vk_teardown_presentation_targets( void ) } } -#ifdef USE_UPLOAD_QUEUE - if ( vk.staging_command_buffer != VK_NULL_HANDLE ) { - qvkResetCommandBuffer( vk.staging_command_buffer, 0 ); - } -#endif - vk_destroy_pipelines( qfalse ); vk_destroy_framebuffers(); vk_destroy_render_passes(); diff --git a/src/renderers/vulkan/vk_render_pass.c b/src/renderers/vulkan/vk_render_pass.c index 9c6a50c43..67ca08e25 100644 --- a/src/renderers/vulkan/vk_render_pass.c +++ b/src/renderers/vulkan/vk_render_pass.c @@ -57,9 +57,6 @@ void vk_begin_render_pass_tracked( VkRenderPass renderPass, VkFramebuffer frameB if ( vk.renderPassIndex == RENDER_PASS_UI_OVERLAY ) { clear_values[0].color.float32[3] = 0.0f; } -#ifndef USE_REVERSED_DEPTH - clear_values[1].depthStencil.depth = 1.0; -#endif if ( vk.renderPassIndex == RENDER_PASS_MAIN || vk.renderPassIndex == RENDER_PASS_POST_BLOOM || vk.renderPassIndex == RENDER_PASS_UI_OVERLAY ) { if ( vk.fboActive ) { @@ -91,9 +88,6 @@ void vk_begin_render_pass_tracked( VkRenderPass renderPass, VkFramebuffer frameB clear_values[1].color.float32[1] = 1.0f; clear_values[1].color.float32[2] = 1.0f; clear_values[1].color.float32[3] = 1.0f; -#ifndef USE_REVERSED_DEPTH - clear_values[2].depthStencil.depth = 1.0f; -#endif clear_count = vk.msaaActive ? 2 : 3; } render_pass_begin_info.clearValueCount = clear_count; diff --git a/src/renderers/vulkan/vk_view_state.c b/src/renderers/vulkan/vk_view_state.c index 48444c131..e57e2a2f6 100644 --- a/src/renderers/vulkan/vk_view_state.c +++ b/src/renderers/vulkan/vk_view_state.c @@ -108,7 +108,6 @@ static void vk_get_viewport( VkViewport *viewport, Vk_Depth_Range depth_range ) switch ( depth_range ) { default: -#ifdef USE_REVERSED_DEPTH viewport->minDepth = 0.0f; viewport->maxDepth = 1.0f; break; @@ -124,23 +123,6 @@ static void vk_get_viewport( VkViewport *viewport, Vk_Depth_Range depth_range ) viewport->minDepth = 0.6f; viewport->maxDepth = 1.0f; break; -#else - viewport->minDepth = 0.0f; - viewport->maxDepth = 1.0f; - break; - case DEPTH_RANGE_ZERO: - viewport->minDepth = 0.0f; - viewport->maxDepth = 0.0f; - break; - case DEPTH_RANGE_ONE: - viewport->minDepth = 1.0f; - viewport->maxDepth = 1.0f; - break; - case DEPTH_RANGE_WEAPON: - viewport->minDepth = 0.0f; - viewport->maxDepth = 0.3f; - break; -#endif } } @@ -212,13 +194,8 @@ static void vk_get_mvp_transform( float *mvp ) mvp[0] = mvp0; mvp[1] = 0.0f; mvp[2] = 0.0f; mvp[3] = 0.0f; mvp[4] = 0.0f; mvp[5] = mvp5; mvp[6] = 0.0f; mvp[7] = 0.0f; -#ifdef USE_REVERSED_DEPTH mvp[8] = 0.0f; mvp[9] = 0.0f; mvp[10] = 0.0f; mvp[11] = 0.0f; mvp[12] = -1.0f; mvp[13] = -1.0f; mvp[14] = 1.0f; mvp[15] = 1.0f; -#else - mvp[8] = 0.0f; mvp[9] = 0.0f; mvp[10] = 1.0f; mvp[11] = 0.0f; - mvp[12] = -1.0f; mvp[13] = -1.0f; mvp[14] = 0.0f; mvp[15] = 1.0f; -#endif } else { float proj[16]; const float *projection = backEnd.useFirstPersonProjection