diff options
Diffstat (limited to 'Graphics/GraphicsEngineMetal')
3 files changed, 14 insertions, 2 deletions
diff --git a/Graphics/GraphicsEngineMetal/include/DeviceContextMtlImpl.h b/Graphics/GraphicsEngineMetal/include/DeviceContextMtlImpl.h index 0bfff2b3..eaeaa0f0 100644 --- a/Graphics/GraphicsEngineMetal/include/DeviceContextMtlImpl.h +++ b/Graphics/GraphicsEngineMetal/include/DeviceContextMtlImpl.h @@ -106,6 +106,8 @@ public: virtual void DrawIndexed(const DrawIndexedAttribs& Attribs) override final; virtual void DrawIndirect(const DrawIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) override final; virtual void DrawIndexedIndirect(const DrawIndexedIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) override final; + virtual void DrawMesh(const DrawMeshAttribs& Attribs) override final; + virtual void DrawMeshIndirect(const DrawMeshIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) override final; virtual void DispatchCompute(const DispatchComputeAttribs& Attribs) override final; virtual void DispatchComputeIndirect(const DispatchComputeIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) override final; diff --git a/Graphics/GraphicsEngineMetal/src/DeviceContextMtlImpl.mm b/Graphics/GraphicsEngineMetal/src/DeviceContextMtlImpl.mm index abfa15ba..b76fbb1f 100644 --- a/Graphics/GraphicsEngineMetal/src/DeviceContextMtlImpl.mm +++ b/Graphics/GraphicsEngineMetal/src/DeviceContextMtlImpl.mm @@ -55,7 +55,7 @@ namespace Diligent LOG_ERROR_MESSAGE("DeviceContextMtlImpl::SetPipelineState() is not implemented"); auto& Desc = pPipelineStateMtl->GetDesc(); - if (Desc.IsComputePipeline) + if (Desc.IsComputePipeline()) { } @@ -138,6 +138,16 @@ namespace Diligent LOG_ERROR_MESSAGE("DeviceContextMtlImpl::DrawIndexedIndirect() is not implemented"); } + void DeviceContextMtlImpl::DrawMesh(const DrawMeshAttribs& Attribs) + { + UNSUPPORTED("DrawMesh is not supported in Metal"); + } + + void DeviceContextMtlImpl::DrawMeshIndirect(const DrawMeshIndirectAttribs& Attribs, IBuffer* pAttribsBuffer) + { + UNSUPPORTED("DrawMeshIndirect is not supported in Metal"); + } + void DeviceContextMtlImpl::DispatchCompute(const DispatchComputeAttribs& Attribs) { if (!DvpVerifyDispatchArguments(Attribs)) diff --git a/Graphics/GraphicsEngineMetal/src/PipelineStateMtlImpl.mm b/Graphics/GraphicsEngineMetal/src/PipelineStateMtlImpl.mm index 5ea1b909..ba399671 100644 --- a/Graphics/GraphicsEngineMetal/src/PipelineStateMtlImpl.mm +++ b/Graphics/GraphicsEngineMetal/src/PipelineStateMtlImpl.mm @@ -35,7 +35,7 @@ PipelineStateMtlImpl::PipelineStateMtlImpl(IReferenceCounters* pRefCo TPipelineStateBase(pRefCounters, pRenderDeviceMtl, CreateInfo.PSODesc) { LOG_ERROR_AND_THROW("Pipeline states are not implemented in Metal backend"); - if (CreateInfo.PSODesc.IsComputePipeline) + if (CreateInfo.PSODesc.IsComputePipeline()) { } |
