diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-02-09 01:49:11 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-02-09 01:49:11 +0000 |
| commit | f64567afcea98382bac5e2a8a5ac1d41bcf1f918 (patch) | |
| tree | f46b7b39c485f25d7dbf9b3d379b2b87cbab8b87 /Graphics/GraphicsEngineMetal | |
| parent | Updated IRenderDevice::CreateTexture and IRenderDevice::CreateBuffer to take ... (diff) | |
| download | DiligentCore-f64567afcea98382bac5e2a8a5ac1d41bcf1f918.tar.gz DiligentCore-f64567afcea98382bac5e2a8a5ac1d41bcf1f918.zip | |
Fixed Metal backend
Diffstat (limited to 'Graphics/GraphicsEngineMetal')
6 files changed, 15 insertions, 15 deletions
diff --git a/Graphics/GraphicsEngineMetal/include/BufferMtlImpl.h b/Graphics/GraphicsEngineMetal/include/BufferMtlImpl.h index ca4c524c..779be0fa 100644 --- a/Graphics/GraphicsEngineMetal/include/BufferMtlImpl.h +++ b/Graphics/GraphicsEngineMetal/include/BufferMtlImpl.h @@ -47,7 +47,7 @@ public: FixedBlockMemoryAllocator& BuffViewObjMemAllocator, class RenderDeviceMtlImpl* pDeviceMtl, const BufferDesc& BuffDesc, - const BufferData& BuffData = BufferData()); + const BufferData* pBuffData = nullptr); BufferMtlImpl(IReferenceCounters* pRefCounters, FixedBlockMemoryAllocator& BuffViewObjMemAllocator, diff --git a/Graphics/GraphicsEngineMetal/include/RenderDeviceMtlImpl.h b/Graphics/GraphicsEngineMetal/include/RenderDeviceMtlImpl.h index 0d7008d9..05a3e8d4 100644 --- a/Graphics/GraphicsEngineMetal/include/RenderDeviceMtlImpl.h +++ b/Graphics/GraphicsEngineMetal/include/RenderDeviceMtlImpl.h @@ -44,14 +44,14 @@ public: IMemoryAllocator& RawMemAllocator, const EngineMtlAttribs& EngineAttribs, void* pMtlDevice, - Uint32 NumDeferredContexts ); - virtual void QueryInterface( const Diligent::INTERFACE_ID &IID, IObject **ppInterface )override final; + Uint32 NumDeferredContexts ); + virtual void QueryInterface( const INTERFACE_ID& IID, IObject **ppInterface )override final; - virtual void CreateBuffer(const BufferDesc& BuffDesc, const BufferData& BuffData, IBuffer** ppBuffer)override final; + virtual void CreateBuffer(const BufferDesc& BuffDesc, const BufferData* pBuffData, IBuffer** ppBuffer)override final; virtual void CreateShader(const ShaderCreationAttribs& ShaderCreationAttribs, IShader** ppShader)override final; - virtual void CreateTexture(const TextureDesc& TexDesc, const TextureData& Data, ITexture** ppTexture)override final; + virtual void CreateTexture(const TextureDesc& TexDesc, const TextureData* pData, ITexture** ppTexture)override final; virtual void CreateSampler(const SamplerDesc& SamplerDesc, ISampler** ppSampler)override final; diff --git a/Graphics/GraphicsEngineMetal/include/TextureMtlImpl.h b/Graphics/GraphicsEngineMetal/include/TextureMtlImpl.h index 925604ad..d54f4a7d 100644 --- a/Graphics/GraphicsEngineMetal/include/TextureMtlImpl.h +++ b/Graphics/GraphicsEngineMetal/include/TextureMtlImpl.h @@ -44,11 +44,11 @@ public: using TTextureBase = TextureBase<ITextureMtl, RenderDeviceMtlImpl, TextureViewMtlImpl, FixedBlockMemoryAllocator>; using ViewImplType = TextureViewMtlImpl; - TextureMtlImpl(IReferenceCounters* pRefCounters, + TextureMtlImpl(IReferenceCounters* pRefCounters, FixedBlockMemoryAllocator& TexViewObjAllocator, - class RenderDeviceMtlImpl* pDeviceMtl, + class RenderDeviceMtlImpl* pDeviceMtl, const TextureDesc& TexDesc, - const TextureData& InitData = TextureData()); + const TextureData* pInitData = nullptr); ~TextureMtlImpl(); virtual void QueryInterface( const Diligent::INTERFACE_ID &IID, IObject **ppInterface )override final; diff --git a/Graphics/GraphicsEngineMetal/src/BufferMtlImpl.mm b/Graphics/GraphicsEngineMetal/src/BufferMtlImpl.mm index 1b200616..924c258c 100644 --- a/Graphics/GraphicsEngineMetal/src/BufferMtlImpl.mm +++ b/Graphics/GraphicsEngineMetal/src/BufferMtlImpl.mm @@ -36,7 +36,7 @@ BufferMtlImpl :: BufferMtlImpl(IReferenceCounters* pRefCounters, FixedBlockMemoryAllocator& BuffViewObjMemAllocator, RenderDeviceMtlImpl* pRenderDeviceMtl, const BufferDesc& BuffDesc, - const BufferData& BuffData /*= BufferData()*/) : + const BufferData* pBuffData /*= nullptr*/) : TBufferBase(pRefCounters, BuffViewObjMemAllocator, pRenderDeviceMtl, BuffDesc, false) { LOG_ERROR_AND_THROW("Buffers are not implemented in Metal backend"); diff --git a/Graphics/GraphicsEngineMetal/src/RenderDeviceMtlImpl.mm b/Graphics/GraphicsEngineMetal/src/RenderDeviceMtlImpl.mm index 7624dd5d..df94eb0f 100644 --- a/Graphics/GraphicsEngineMetal/src/RenderDeviceMtlImpl.mm +++ b/Graphics/GraphicsEngineMetal/src/RenderDeviceMtlImpl.mm @@ -78,13 +78,13 @@ void RenderDeviceMtlImpl::TestTextureFormat( TEXTURE_FORMAT TexFormat ) IMPLEMENT_QUERY_INTERFACE( RenderDeviceMtlImpl, IID_RenderDeviceMtl, TRenderDeviceBase ) -void RenderDeviceMtlImpl :: CreateBuffer(const BufferDesc& BuffDesc, const BufferData& BuffData, IBuffer** ppBuffer) +void RenderDeviceMtlImpl :: CreateBuffer(const BufferDesc& BuffDesc, const BufferData* pBuffData, IBuffer** ppBuffer) { CreateDeviceObject("buffer", BuffDesc, ppBuffer, [&]() { BufferMtlImpl* pBufferMtl( NEW_RC_OBJ(m_BufObjAllocator, "BufferMtlImpl instance", BufferMtlImpl) - (m_BuffViewObjAllocator, this, BuffDesc, BuffData ) ); + (m_BuffViewObjAllocator, this, BuffDesc, pBuffData ) ); pBufferMtl->QueryInterface( IID_Buffer, reinterpret_cast<IObject**>(ppBuffer) ); pBufferMtl->CreateDefaultViews(); OnCreateDeviceObject( pBufferMtl ); @@ -108,12 +108,12 @@ void RenderDeviceMtlImpl :: CreateShader(const ShaderCreationAttribs& ShaderCrea -void RenderDeviceMtlImpl :: CreateTexture(const TextureDesc& TexDesc, const TextureData& Data, ITexture** ppTexture) +void RenderDeviceMtlImpl :: CreateTexture(const TextureDesc& TexDesc, const TextureData* pData, ITexture** ppTexture) { CreateDeviceObject( "texture", TexDesc, ppTexture, [&]() { - TextureMtlImpl *pTextureMtl = NEW_RC_OBJ(m_TexObjAllocator, "TextureMtlImpl instance", TextureMtlImpl)(m_TexViewObjAllocator, this, TexDesc, Data ); + TextureMtlImpl *pTextureMtl = NEW_RC_OBJ(m_TexObjAllocator, "TextureMtlImpl instance", TextureMtlImpl)(m_TexViewObjAllocator, this, TexDesc, pData ); pTextureMtl->QueryInterface( IID_Texture, reinterpret_cast<IObject**>(ppTexture) ); pTextureMtl->CreateDefaultViews(); diff --git a/Graphics/GraphicsEngineMetal/src/TextureMtlImpl.mm b/Graphics/GraphicsEngineMetal/src/TextureMtlImpl.mm index 542665b6..70f54ac8 100644 --- a/Graphics/GraphicsEngineMetal/src/TextureMtlImpl.mm +++ b/Graphics/GraphicsEngineMetal/src/TextureMtlImpl.mm @@ -35,12 +35,12 @@ TextureMtlImpl :: TextureMtlImpl(IReferenceCounters* pRefCounters, FixedBlockMemoryAllocator& TexViewObjAllocator, RenderDeviceMtlImpl* pRenderDeviceMtl, const TextureDesc& TexDesc, - const TextureData& InitData /*= TextureData()*/) : + const TextureData* pInitData /*= nullptr*/) : TTextureBase(pRefCounters, TexViewObjAllocator, pRenderDeviceMtl, TexDesc) { LOG_ERROR_AND_THROW("Textures are not implemented in Metal backend"); - if( TexDesc.Usage == USAGE_STATIC && InitData.pSubResources == nullptr ) + if( TexDesc.Usage == USAGE_STATIC && pInitData == nullptr || pInitData->pSubResources == nullptr ) LOG_ERROR_AND_THROW("Static Texture must be initialized with data at creation time"); SetState(RESOURCE_STATE_UNDEFINED); } |
