| 458 | } |
| 459 | |
| 460 | void Tr2Material::GetUsedBindlessTextures( uint32_t techniqueIndex, Tr2BindlessResourcesAL& usedTextures ) |
| 461 | { |
| 462 | if( !m_shader ) |
| 463 | { |
| 464 | return; |
| 465 | } |
| 466 | for( auto& pass : m_parametersForPasses[techniqueIndex].passes ) |
| 467 | { |
| 468 | if( pass->m_usedTexturesDirty ) |
| 469 | { |
| 470 | pass->m_usedTexturesDirty = false; |
| 471 | pass->m_usedTextures.Clear(); |
| 472 | for( auto& res : pass->m_usedResources ) |
| 473 | { |
| 474 | res->AddUsedTexture( pass->m_usedTextures ); |
| 475 | } |
| 476 | } |
| 477 | usedTextures.Add( pass->m_usedTextures ); |
| 478 | } |
| 479 | for( auto& library : m_parametersForPasses[techniqueIndex].libraries ) |
| 480 | { |
| 481 | if( library->m_usedTexturesDirty ) |
| 482 | { |
| 483 | library->m_usedTexturesDirty = false; |
| 484 | library->m_usedTextures.Clear(); |
| 485 | for( auto& res : library->m_usedResources ) |
| 486 | { |
| 487 | res->AddUsedTexture( library->m_usedTextures ); |
| 488 | } |
| 489 | } |
| 490 | usedTextures.Add( library->m_usedTextures ); |
| 491 | } |
| 492 | } |
| 493 | bool Tr2Material::CompatibleWithGdr() const |
| 494 | { |
| 495 | return m_compatibleWithGdr; |
no test coverage detected