@@ -995,9 +995,7 @@ bool HnMaterial::UpdateSRB(HnRenderDelegate& RenderDelegate)
995995 if (m_ResourceCacheVersion != ResourceCacheVersion)
996996 {
997997 m_SRB.Release ();
998- m_PrimitiveAttribsVar = nullptr ;
999- m_MaterialAttribsVar = nullptr ;
1000- m_JointTransformsVar = nullptr ;
998+ m_SRBVars = {};
1001999 m_ResourceCacheVersion = ResourceCacheVersion;
10021000 }
10031001
@@ -1305,28 +1303,28 @@ bool HnMaterial::UpdateSRB(HnRenderDelegate& RenderDelegate)
13051303
13061304 if (m_SRB)
13071305 {
1308- m_MaterialAttribsVar = m_SRB->GetVariableByName (SHADER_TYPE_PIXEL, " cbMaterialAttribs" );
1309- VERIFY_EXPR (m_MaterialAttribsVar != nullptr );
1310- if (m_MaterialAttribsVar ->Get () == nullptr )
1306+ m_SRBVars. MaterialAttribs = m_SRB->GetVariableByName (SHADER_TYPE_PIXEL, " cbMaterialAttribs" );
1307+ VERIFY_EXPR (m_SRBVars. MaterialAttribs != nullptr );
1308+ if (m_SRBVars. MaterialAttribs ->Get () == nullptr )
13111309 {
13121310 IBuffer* pMaterialAttribsBuffer = SRBCache->GetMaterialAttribsBuffer ();
13131311 // Bind maximum possible buffer range
13141312 const Uint32 PBRMaterialAttribsMaxSize = SRBCache->GetMaxAttribsDataSize ();
1315- m_MaterialAttribsVar ->SetBufferRange (pMaterialAttribsBuffer, 0 , PBRMaterialAttribsMaxSize);
1313+ m_SRBVars. MaterialAttribs ->SetBufferRange (pMaterialAttribsBuffer, 0 , PBRMaterialAttribsMaxSize);
13161314 }
13171315
1318- m_JointTransformsVar = m_SRB->GetVariableByName (SHADER_TYPE_VERTEX, UsdRenderer.GetJointTransformsVarName ());
1319- VERIFY_EXPR (m_JointTransformsVar != nullptr || RendererSettings.MaxJointCount == 0 );
1316+ m_SRBVars. JointTransforms = m_SRB->GetVariableByName (SHADER_TYPE_VERTEX, UsdRenderer.GetJointTransformsVarName ());
1317+ VERIFY_EXPR (m_SRBVars. JointTransforms != nullptr || RendererSettings.MaxJointCount == 0 );
13201318
13211319 const Uint32 PBRPrimitiveAttribsSize = UsdRenderer.GetPBRPrimitiveAttribsSize (PBR_Renderer::PSO_FLAG_ALL);
13221320 const Uint32 PrimitiveArraySize = std::max (UsdRenderer.GetSettings ().PrimitiveArraySize , 1u );
13231321 m_PBRPrimitiveAttribsBufferRange = PBRPrimitiveAttribsSize * PrimitiveArraySize;
13241322
1325- m_PrimitiveAttribsVar = m_SRB->GetVariableByName (SHADER_TYPE_PIXEL, " cbPrimitiveAttribs" );
1326- VERIFY_EXPR (m_PrimitiveAttribsVar != nullptr );
1327- if (m_PrimitiveAttribsVar ->Get () == nullptr )
1323+ m_SRBVars. PrimitiveAttribs = m_SRB->GetVariableByName (SHADER_TYPE_PIXEL, " cbPrimitiveAttribs" );
1324+ VERIFY_EXPR (m_SRBVars. PrimitiveAttribs != nullptr );
1325+ if (m_SRBVars. PrimitiveAttribs ->Get () == nullptr )
13281326 {
1329- m_PrimitiveAttribsVar ->SetBufferRange (UsdRenderer.GetPBRPrimitiveAttribsCB (), 0 , m_PBRPrimitiveAttribsBufferRange);
1327+ m_SRBVars. PrimitiveAttribs ->SetBufferRange (UsdRenderer.GetPBRPrimitiveAttribsCB (), 0 , m_PBRPrimitiveAttribsBufferRange);
13301328 }
13311329 }
13321330 else
0 commit comments