summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineOpenGL
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-11-25 05:07:34 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-11-25 05:07:34 +0000
commit774506fc59bad5c93d450cdf6c21861cd70d34d2 (patch)
tree834dd0f4b89e31a99744db37755f9fe47b52c55e /Graphics/GraphicsEngineOpenGL
parentRenamed/moved ITexture::Map() to IDeviceContext::MapTextureSubresource() (diff)
downloadDiligentCore-774506fc59bad5c93d450cdf6c21861cd70d34d2.tar.gz
DiligentCore-774506fc59bad5c93d450cdf6c21861cd70d34d2.zip
Moved ITextureView::GenerateMips() to IDeviceContext::GenerateMips()
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
-rw-r--r--Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h4
-rw-r--r--Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h2
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp11
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/TextureViewGLImpl.cpp11
4 files changed, 15 insertions, 13 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h
index 8741bf47..788327d6 100644
--- a/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h
+++ b/Graphics/GraphicsEngineOpenGL/include/DeviceContextGLImpl.h
@@ -106,6 +106,10 @@ public:
virtual void UnmapTextureSubresource(ITexture* pTexture, Uint32 MipLevel, Uint32 ArraySlice)override final;
+
+ virtual void GenerateMips( ITextureView *pTexView )override;
+
+
virtual void FinishFrame()override final;
virtual void TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers)override final;
diff --git a/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h
index 7f9a16c6..1b54400b 100644
--- a/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h
+++ b/Graphics/GraphicsEngineOpenGL/include/TextureViewGLImpl.h
@@ -54,8 +54,6 @@ public:
GLenum GetBindTarget();
void SetBindTarget(GLenum ViewTexBindTarget) { m_ViewTexBindTarget = ViewTexBindTarget; }
- void GenerateMips( IDeviceContext *pContext )override;
-
protected:
GLObjectWrappers::GLTextureObj m_ViewTexGLHandle;
GLenum m_ViewTexBindTarget;
diff --git a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp
index fee3867c..8da30532 100644
--- a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp
@@ -1073,6 +1073,17 @@ namespace Diligent
LOG_ERROR_MESSAGE("Texture mapping is not supported in OpenGL");
}
+ void DeviceContextGLImpl::GenerateMips( ITextureView *pTexView )
+ {
+ TDeviceContextBase::GenerateMips(pTexView);
+ auto* pTexViewGL = ValidatedCast<TextureViewGLImpl>(pTexView);
+ auto BindTarget = pTexViewGL->GetBindTarget();
+ m_ContextState.BindTexture( -1, BindTarget, pTexViewGL->GetHandle() );
+ glGenerateMipmap( BindTarget );
+ CHECK_GL_ERROR( "Failed to generate mip maps" );
+ m_ContextState.BindTexture( -1, BindTarget, GLObjectWrappers::GLTextureObj(false) );
+ }
+
void DeviceContextGLImpl::TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers)
{
diff --git a/Graphics/GraphicsEngineOpenGL/src/TextureViewGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/TextureViewGLImpl.cpp
index 60b94439..f71b0c0f 100644
--- a/Graphics/GraphicsEngineOpenGL/src/TextureViewGLImpl.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/TextureViewGLImpl.cpp
@@ -71,15 +71,4 @@ namespace Diligent
return static_cast<TextureBaseGL*>(pTexture)->GetBindTarget();
}
}
-
- void TextureViewGLImpl::GenerateMips( IDeviceContext *pContext )
- {
- auto pCtxGL = ValidatedCast<DeviceContextGLImpl>( pContext );
- auto &GLState = pCtxGL->GetContextState();
- auto BindTarget = GetBindTarget();
- GLState.BindTexture( -1, BindTarget, GetHandle() );
- glGenerateMipmap( BindTarget );
- CHECK_GL_ERROR( "Failed to generate mip maps" );
- GLState.BindTexture( -1, BindTarget, GLObjectWrappers::GLTextureObj(false) );
- }
}