MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / _setComputePso

Method _setComputePso

RenderSystems/Vulkan/src/OgreVulkanRenderSystem.cpp:1993–2021  ·  view source on GitHub ↗

-------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1991 }
1992 //-------------------------------------------------------------------------
1993 void VulkanRenderSystem::_setComputePso( const HlmsComputePso *pso )
1994 {
1995 mActiveDevice->mGraphicsQueue.getComputeEncoder();
1996
1997 if( mComputePso != pso )
1998 {
1999 VulkanRootLayout *oldRootLayout = 0;
2000 if( mComputePso )
2001 oldRootLayout = reinterpret_cast<VulkanHlmsPso *>( mComputePso->rsData )->rootLayout;
2002
2003 VulkanHlmsPso *vulkanPso = 0;
2004
2005 if( pso )
2006 {
2007 OGRE_ASSERT_LOW( pso->rsData );
2008 vulkanPso = reinterpret_cast<VulkanHlmsPso *>( pso->rsData );
2009 VkCommandBuffer cmdBuffer = mActiveDevice->mGraphicsQueue.mCurrentCmdBuffer;
2010 vkCmdBindPipeline( cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, vulkanPso->pso );
2011
2012 if( vulkanPso->rootLayout != oldRootLayout )
2013 {
2014 mComputeTable.setAllDirty();
2015 mComputeTableDirty = true;
2016 }
2017 }
2018
2019 mComputePso = pso;
2020 }
2021 }
2022 //-------------------------------------------------------------------------
2023 VertexElementType VulkanRenderSystem::getColourVertexElementType() const { return VET_COLOUR_ABGR; }
2024 //-------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 2

getComputeEncoderMethod · 0.80
setAllDirtyMethod · 0.80

Tested by

no test coverage detected