Skip to content

Commit bc4e7bb

Browse files
committed
Archiver DLL: bring CreateRenderStateCache in
1 parent f4c2460 commit bc4e7bb

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

Graphics/Archiver/interface/ArchiverFactory.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "../../../Primitives/interface/Object.h"
3333
#include "../../../Primitives/interface/DebugOutput.h"
3434
#include "SerializationDevice.h"
35+
#include "../../GraphicsTools/interface/RenderStateCache.h"
3536

3637
DILIGENT_BEGIN_NAMESPACE(Diligent)
3738

@@ -252,7 +253,6 @@ struct SerializationDeviceCreateInfo
252253
};
253254
typedef struct SerializationDeviceCreateInfo SerializationDeviceCreateInfo;
254255

255-
256256
/// Archiver factory interface
257257
DILIGENT_BEGIN_INTERFACE(IArchiverFactory, IObject)
258258
{
@@ -338,6 +338,12 @@ DILIGENT_BEGIN_INTERFACE(IArchiverFactory, IObject)
338338
/// \param [in] BreakOnError - Whether to break on assertion failure.
339339
VIRTUAL void METHOD(SetBreakOnError)(THIS_
340340
bool BreakOnError) CONST PURE;
341+
342+
343+
VIRTUAL void METHOD(CreateRenderStateCache)(THIS_
344+
const RenderStateCacheCreateInfo& CreateInfo,
345+
IRenderStateCache** ppRenderStateCache) PURE;
346+
341347
};
342348
DILIGENT_END_INTERFACE
343349

Graphics/Archiver/src/ArchiverFactory.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737
namespace Diligent
3838
{
3939

40+
//Use symbol from DiligentTools-static directly thus we don't have to bring RenderStateCacheImpl.cpp in
41+
void CreateRenderStateCache(const RenderStateCacheCreateInfo& CreateInfo, IRenderStateCache** ppCache);
42+
4043
DeviceObjectArchive::DeviceType ArchiveDeviceDataFlagToArchiveDeviceType(ARCHIVE_DEVICE_DATA_FLAGS DeviceFlag)
4144
{
4245
using DeviceType = DeviceObjectArchive::DeviceType;
@@ -143,6 +146,8 @@ class ArchiverFactoryImpl final : public IArchiverFactory
143146

144147
virtual void DILIGENT_CALL_TYPE SetBreakOnError(bool BreakOnError) const override final;
145148

149+
virtual void DILIGENT_CALL_TYPE CreateRenderStateCache(const RenderStateCacheCreateInfo& CreateInfo, IRenderStateCache** ppRenderStateCache) override final;
150+
146151
private:
147152
DummyReferenceCounters<ArchiverFactoryImpl> m_RefCounters;
148153
};
@@ -349,6 +354,11 @@ void ArchiverFactoryImpl::SetBreakOnError(bool BreakOnError) const
349354
PlatformDebug::SetBreakOnError(BreakOnError);
350355
}
351356

357+
void ArchiverFactoryImpl::CreateRenderStateCache(const RenderStateCacheCreateInfo& CreateInfo, IRenderStateCache** ppRenderStateCache)
358+
{
359+
Diligent::CreateRenderStateCache(CreateInfo, ppRenderStateCache);
360+
}
361+
352362
} // namespace
353363

354364

0 commit comments

Comments
 (0)