From f1a499093fa4a938af76629f72c457a7d8bdb114 Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Fri, 11 Mar 2022 18:17:31 +0100 Subject: [PATCH] Only add valid entries to the binding sets --- neo/renderer/BindingCache.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/neo/renderer/BindingCache.cpp b/neo/renderer/BindingCache.cpp index 5f01ae24..f8db7263 100644 --- a/neo/renderer/BindingCache.cpp +++ b/neo/renderer/BindingCache.cpp @@ -60,6 +60,7 @@ nvrhi::BindingSetHandle BindingCache::GetOrCreateBindingSet( const nvrhi::Bindin if( !result ) { + /* mutex.Lock(); int entryIndex = bindingSets.Append( result ); @@ -77,6 +78,16 @@ nvrhi::BindingSetHandle BindingCache::GetOrCreateBindingSet( const nvrhi::Bindin result = entry; } + mutex.Unlock(); + */ + + mutex.Lock(); + + result = device->createBindingSet( desc, layout ); + + int entryIndex = bindingSets.Append( result ); + bindingHash.Add( hash, entryIndex ); + mutex.Unlock(); } @@ -130,6 +141,7 @@ nvrhi::SamplerHandle SamplerCache::GetOrCreateSampler( nvrhi::SamplerDesc desc ) if( !result ) { + /* mutex.Lock(); int entryIndex = samplers.Append( result ); @@ -147,6 +159,16 @@ nvrhi::SamplerHandle SamplerCache::GetOrCreateSampler( nvrhi::SamplerDesc desc ) result = entry; } + mutex.Unlock(); + */ + + mutex.Lock(); + + result = device->createSampler( desc ); + + int entryIndex = samplers.Append( result ); + samplerHash.Add( hash, entryIndex ); + mutex.Unlock(); }