diff --git a/src/dxvk/dxvk_compute.cpp b/src/dxvk/dxvk_compute.cpp index 9fe36991b..63e48119b 100644 --- a/src/dxvk/dxvk_compute.cpp +++ b/src/dxvk/dxvk_compute.cpp @@ -98,6 +98,7 @@ namespace dxvk { if (m_vkd->vkCreateComputePipelines(m_vkd->device(), m_cache->handle(), 1, &info, nullptr, &pipeline) != VK_SUCCESS) { Logger::err("DxvkComputePipeline: Failed to compile pipeline"); + Logger::err(str::format(" cs : ", m_cs ->debugName())); return VK_NULL_HANDLE; } diff --git a/src/dxvk/dxvk_graphics.cpp b/src/dxvk/dxvk_graphics.cpp index 8329a9646..da5e68718 100644 --- a/src/dxvk/dxvk_graphics.cpp +++ b/src/dxvk/dxvk_graphics.cpp @@ -95,8 +95,10 @@ namespace dxvk { VkPipeline DxvkGraphicsPipeline::compilePipeline( const DxvkGraphicsPipelineStateInfo& state, VkPipeline baseHandle) const { - if (Logger::logLevel() <= LogLevel::Debug) - this->logPipelineState(state); + if (Logger::logLevel() <= LogLevel::Debug) { + Logger::debug("Compiling graphics pipeline..."); + this->logPipelineState(LogLevel::Debug, state); + } std::array dynamicStates = { VK_DYNAMIC_STATE_VIEWPORT, @@ -255,6 +257,7 @@ namespace dxvk { if (m_vkd->vkCreateGraphicsPipelines(m_vkd->device(), m_cache->handle(), 1, &info, nullptr, &pipeline) != VK_SUCCESS) { Logger::err("DxvkGraphicsPipeline: Failed to compile pipeline"); + this->logPipelineState(LogLevel::Error, state); return VK_NULL_HANDLE; } @@ -329,14 +332,13 @@ namespace dxvk { void DxvkGraphicsPipeline::logPipelineState( + LogLevel level, const DxvkGraphicsPipelineStateInfo& state) const { - Logger::debug("Compiling graphics pipeline..."); - - if (m_vs != nullptr) Logger::debug(str::format(" vs : ", m_vs ->debugName())); - if (m_tcs != nullptr) Logger::debug(str::format(" tcs : ", m_tcs->debugName())); - if (m_tes != nullptr) Logger::debug(str::format(" tes : ", m_tes->debugName())); - if (m_gs != nullptr) Logger::debug(str::format(" gs : ", m_gs ->debugName())); - if (m_fs != nullptr) Logger::debug(str::format(" fs : ", m_fs ->debugName())); + if (m_vs != nullptr) Logger::log(level, str::format(" vs : ", m_vs ->debugName())); + if (m_tcs != nullptr) Logger::log(level, str::format(" tcs : ", m_tcs->debugName())); + if (m_tes != nullptr) Logger::log(level, str::format(" tes : ", m_tes->debugName())); + if (m_gs != nullptr) Logger::log(level, str::format(" gs : ", m_gs ->debugName())); + if (m_fs != nullptr) Logger::log(level, str::format(" fs : ", m_fs ->debugName())); // TODO log more pipeline state } diff --git a/src/dxvk/dxvk_graphics.h b/src/dxvk/dxvk_graphics.h index 1fc8551db..a6c82b5ea 100644 --- a/src/dxvk/dxvk_graphics.h +++ b/src/dxvk/dxvk_graphics.h @@ -161,6 +161,7 @@ namespace dxvk { const DxvkGraphicsPipelineStateInfo& state) const; void logPipelineState( + LogLevel level, const DxvkGraphicsPipelineStateInfo& state) const; };