diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-07-25 04:31:09 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-07-25 04:31:09 +0000 |
| commit | c746f802d7b23d9c5ee0f52a7e5428a32bf3f316 (patch) | |
| tree | 344b4a987341150fda9fd7f8642b902e9f96df71 /Graphics/GraphicsEngineOpenGL | |
| parent | Fixed performance issue with resetting unchanged vertex buffers (diff) | |
| download | DiligentCore-c746f802d7b23d9c5ee0f52a7e5428a32bf3f316.tar.gz DiligentCore-c746f802d7b23d9c5ee0f52a7e5428a32bf3f316.zip | |
Updated DeviceContextBase to use final types for pipeline state, buffers and texture views
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
12 files changed, 19 insertions, 15 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/include/BufferGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/BufferGLImpl.h index cb0aa744..eb3b2de5 100644 --- a/Graphics/GraphicsEngineOpenGL/include/BufferGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/BufferGLImpl.h @@ -40,7 +40,7 @@ class FixedBlockMemoryAllocator; class BufferGLImpl : public BufferBase<IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator>, public AsyncWritableResource { public: - typedef BufferBase<IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator> TBufferBase; + using TBufferBase = BufferBase<IBufferGL, BufferViewGLImpl, FixedBlockMemoryAllocator>; BufferGLImpl(IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &BuffViewObjMemAllocator, diff --git a/Graphics/GraphicsEngineOpenGL/include/BufferViewGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/BufferViewGLImpl.h index c2a11c4a..28cca382 100644 --- a/Graphics/GraphicsEngineOpenGL/include/BufferViewGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/BufferViewGLImpl.h @@ -42,7 +42,7 @@ struct BufferViewDesc; class BufferViewGLImpl : public BufferViewBase<IBufferViewGL> { public: - typedef BufferViewBase<IBufferViewGL> TBuffViewBase; + using TBuffViewBase = BufferViewBase<IBufferViewGL>; BufferViewGLImpl( IReferenceCounters *pRefCounters, IRenderDevice *pDevice, diff --git a/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h index f757f771..bff4710d 100644 --- a/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h @@ -28,15 +28,18 @@ #include "BaseInterfacesGL.h" #include "GLContextState.h" #include "GLObjectWrapper.h" +#include "BufferGLImpl.h" +#include "TextureViewGLImpl.h" +#include "PipelineStateGLImpl.h" namespace Diligent { /// Implementation of the Diligent::IDeviceContextGL interface -class DeviceContextGLImpl : public DeviceContextBase<IDeviceContextGL> +class DeviceContextGLImpl : public DeviceContextBase<IDeviceContextGL, BufferGLImpl, TextureViewGLImpl, PipelineStateGLImpl> { public: - typedef DeviceContextBase<IDeviceContextGL> TDeviceContextBase; + using TDeviceContextBase = DeviceContextBase<IDeviceContextGL, BufferGLImpl, TextureViewGLImpl, PipelineStateGLImpl>; DeviceContextGLImpl( IReferenceCounters *pRefCounters, class RenderDeviceGLImpl *pDeviceGL, bool bIsDeferred ); diff --git a/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h index 5aabba85..6e48b7b8 100644 --- a/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h @@ -39,7 +39,7 @@ class FixedBlockMemoryAllocator; class PipelineStateGLImpl : public PipelineStateBase<IPipelineStateGL, IGLDeviceBaseInterface> { public: - typedef PipelineStateBase<IPipelineStateGL, IGLDeviceBaseInterface> TPipelineStateBase; + using TPipelineStateBase = PipelineStateBase<IPipelineStateGL, IGLDeviceBaseInterface>; PipelineStateGLImpl(IReferenceCounters *pRefCounters, class RenderDeviceGLImpl *pDeviceGL, const PipelineStateDesc& PipelineDesc, bool IsDeviceInternal = false); ~PipelineStateGLImpl(); diff --git a/Graphics/GraphicsEngineOpenGL/include/RenderDeviceGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/RenderDeviceGLImpl.h index 36d611cd..adb0f833 100644 --- a/Graphics/GraphicsEngineOpenGL/include/RenderDeviceGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/RenderDeviceGLImpl.h @@ -52,7 +52,7 @@ namespace Diligent class RenderDeviceGLImpl : public RenderDeviceBase<IGLDeviceBaseInterface> { public: - typedef RenderDeviceBase<IGLDeviceBaseInterface> TRenderDeviceBase; + using TRenderDeviceBase = RenderDeviceBase<IGLDeviceBaseInterface>; RenderDeviceGLImpl( IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, const EngineGLAttribs &InitAttribs ); ~RenderDeviceGLImpl(); diff --git a/Graphics/GraphicsEngineOpenGL/include/SamplerGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/SamplerGLImpl.h index 98dfe4be..19e3a480 100644 --- a/Graphics/GraphicsEngineOpenGL/include/SamplerGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/SamplerGLImpl.h @@ -37,7 +37,7 @@ class FixedBlockMemoryAllocator; class SamplerGLImpl : public SamplerBase<ISamplerGL, IGLDeviceBaseInterface> { public: - typedef SamplerBase<ISamplerGL, IGLDeviceBaseInterface> TSamplerBase; + using TSamplerBase = SamplerBase<ISamplerGL, IGLDeviceBaseInterface>; SamplerGLImpl( IReferenceCounters *pRefCounters, class RenderDeviceGLImpl *pDeviceGL, const SamplerDesc& SamplerDesc, bool bIsDeviceInternal = false ); ~SamplerGLImpl(); diff --git a/Graphics/GraphicsEngineOpenGL/include/ShaderGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/ShaderGLImpl.h index fd9ac9b8..cf0116c5 100644 --- a/Graphics/GraphicsEngineOpenGL/include/ShaderGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/ShaderGLImpl.h @@ -67,7 +67,7 @@ inline GLenum ShaderTypeToGLShaderBit(SHADER_TYPE ShaderType) class ShaderGLImpl : public ShaderBase<IShaderGL, IGLDeviceBaseInterface> { public: - typedef ShaderBase<IShaderGL, IGLDeviceBaseInterface> TShaderBase; + using TShaderBase = ShaderBase<IShaderGL, IGLDeviceBaseInterface>; ShaderGLImpl( IReferenceCounters *pRefCounters, class RenderDeviceGLImpl *pDeviceGL, const ShaderCreationAttribs &ShaderCreationAttribs, bool bIsDeviceInternal = false ); ~ShaderGLImpl(); diff --git a/Graphics/GraphicsEngineOpenGL/include/ShaderResourceBindingGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/ShaderResourceBindingGLImpl.h index 53c1af98..61b9d013 100644 --- a/Graphics/GraphicsEngineOpenGL/include/ShaderResourceBindingGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/ShaderResourceBindingGLImpl.h @@ -40,7 +40,8 @@ class FixedBlockMemoryAllocator; class ShaderResourceBindingGLImpl : public ShaderResourceBindingBase<IShaderResourceBindingGL> { public: - typedef ShaderResourceBindingBase<IShaderResourceBindingGL> TBase; + using TBase = ShaderResourceBindingBase<IShaderResourceBindingGL>; + ShaderResourceBindingGLImpl(IReferenceCounters *pRefCounters, class PipelineStateGLImpl *pPSO); ~ShaderResourceBindingGLImpl(); diff --git a/Graphics/GraphicsEngineOpenGL/include/SwapChainGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/SwapChainGLImpl.h index f3c01d18..c37f736c 100644 --- a/Graphics/GraphicsEngineOpenGL/include/SwapChainGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/SwapChainGLImpl.h @@ -36,7 +36,7 @@ class IMemoryAllocator; class SwapChainGLImpl final : public SwapChainBase<ISwapChainGL> { public: - typedef SwapChainBase<ISwapChainGL> TSwapChainBase; + using TSwapChainBase = SwapChainBase<ISwapChainGL>; SwapChainGLImpl(IReferenceCounters *pRefCounters, const EngineGLAttribs &InitAttribs, diff --git a/Graphics/GraphicsEngineOpenGL/include/TextureBaseGL.h b/Graphics/GraphicsEngineOpenGL/include/TextureBaseGL.h index c0c5ca66..f8be69c2 100644 --- a/Graphics/GraphicsEngineOpenGL/include/TextureBaseGL.h +++ b/Graphics/GraphicsEngineOpenGL/include/TextureBaseGL.h @@ -41,7 +41,7 @@ class FixedBlockMemoryAllocator; class TextureBaseGL : public TextureBase<ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator>, public AsyncWritableResource { public: - typedef TextureBase<ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator> TTextureBase; + using TTextureBase = TextureBase<ITextureGL, TextureViewGLImpl, FixedBlockMemoryAllocator>; TextureBaseGL(IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator& TexViewObjAllocator, diff --git a/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h index f06ed0d2..8675a86c 100644 --- a/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h @@ -37,7 +37,7 @@ class FixedBlockMemoryAllocator; class TextureViewGLImpl : public TextureViewBase<ITextureViewGL> { public: - typedef TextureViewBase<ITextureViewGL> TTextureViewBase; + using TTextureViewBase = TextureViewBase<ITextureViewGL>; TextureViewGLImpl(IReferenceCounters *pRefCounters, class IRenderDevice *pDevice, diff --git a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp index a1509fbb..df788886 100644 --- a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp @@ -131,7 +131,7 @@ namespace Diligent void DeviceContextGLImpl::CommitShaderResources(IShaderResourceBinding *pShaderResourceBinding, Uint32 Flags) { - if(!DeviceContextBase::CommitShaderResources<PipelineStateGLImpl>(pShaderResourceBinding, Flags, 0)) + if(!DeviceContextBase::CommitShaderResources(pShaderResourceBinding, Flags, 0)) return; if(m_CommitedResourcesTentativeBarriers != 0) @@ -342,8 +342,8 @@ namespace Diligent LOG_ERROR("No pipeline state is bound"); return; } - auto *pPipelineStateGL = m_pPipelineState.RawPtr<PipelineStateGLImpl>(); - auto *pShaderResBindingGL = ValidatedCast<ShaderResourceBindingGLImpl>(pResBinding); + auto* pPipelineStateGL = m_pPipelineState.RawPtr(); + auto* pShaderResBindingGL = ValidatedCast<ShaderResourceBindingGLImpl>(pResBinding); const auto &DeviceCaps = pRenderDeviceGL->GetDeviceCaps(); auto &Prog = pPipelineStateGL->GetGLProgram(); |
