From 7b5f16894c6317db24799edbe2efdfc27b27d97c Mon Sep 17 00:00:00 2001 From: Carsten Neumann Date: Thu, 6 Jul 2017 12:08:49 -0500 Subject: [PATCH] Make MultiProperty chunks use base class slots Patch by Johannes Brunen. --- .../State/Base/OSGMultiPropertySSBOChunk.cpp | 18 -------------- .../System/State/Base/OSGMultiPropertySSBOChunk.h | 29 +--------------------- .../State/Base/OSGMultiPropertySSBOChunk.inl | 18 -------------- .../System/State/Base/OSGMultiPropertyUBOChunk.cpp | 18 -------------- .../System/State/Base/OSGMultiPropertyUBOChunk.h | 29 +--------------------- .../System/State/Base/OSGMultiPropertyUBOChunk.inl | 18 -------------- 6 files changed, 2 insertions(+), 128 deletions(-) diff --git a/Source/System/State/Base/OSGMultiPropertySSBOChunk.cpp b/Source/System/State/Base/OSGMultiPropertySSBOChunk.cpp index cd3044fe3..630f94e48 100644 --- a/Source/System/State/Base/OSGMultiPropertySSBOChunk.cpp +++ b/Source/System/State/Base/OSGMultiPropertySSBOChunk.cpp @@ -74,11 +74,6 @@ OSG_BEGIN_NAMESPACE const UInt8 MultiPropertySSBOChunk::_numTypes = MultiPropertySSBOChunk::MAT4_T + 1; -StateChunkClass MultiPropertySSBOChunk::_class( - "MultiPropertySSBO", osgMaxShaderStorageBufferBindings, 30); - -volatile UInt16 MultiPropertySSBOChunk::_uiChunkCounter = 1; - typedef OSG::Window Win; /***************************************************************************\ @@ -107,14 +102,12 @@ void MultiPropertySSBOChunk::initMethod(InitPhase ePhase) MultiPropertySSBOChunk::MultiPropertySSBOChunk(void) : Inherited(), - _uiChunkId(0), _bUpdateBuffer(false) { } MultiPropertySSBOChunk::MultiPropertySSBOChunk(const MultiPropertySSBOChunk &source) : Inherited(source), - _uiChunkId( 0), _bUpdateBuffer(false) { } @@ -125,13 +118,6 @@ MultiPropertySSBOChunk::~MultiPropertySSBOChunk(void) /*----------------------------- class specific ----------------------------*/ -/*------------------------- Chunk Class Access ---------------------------*/ - -const StateChunkClass *MultiPropertySSBOChunk::getClass(void) const -{ - return &_class; -} - void MultiPropertySSBOChunk::changed(ConstFieldMaskArg whichField, UInt32 origin, BitVector details) @@ -163,8 +149,6 @@ void MultiPropertySSBOChunk::onCreate(const MultiPropertySSBOChunk *source) if(GlobalSystemState == Startup) return; - - _uiChunkId = _uiChunkCounter++; } void MultiPropertySSBOChunk::onCreateAspect( @@ -172,8 +156,6 @@ void MultiPropertySSBOChunk::onCreateAspect( const MultiPropertySSBOChunk *source ) { Inherited::onCreateAspect(createAspect, source); - - _uiChunkId = createAspect->_uiChunkId; } void MultiPropertySSBOChunk::onDestroy(UInt32 uiContainerId) diff --git a/Source/System/State/Base/OSGMultiPropertySSBOChunk.h b/Source/System/State/Base/OSGMultiPropertySSBOChunk.h index 8dd17190d..bf24fee5f 100644 --- a/Source/System/State/Base/OSGMultiPropertySSBOChunk.h +++ b/Source/System/State/Base/OSGMultiPropertySSBOChunk.h @@ -62,28 +62,6 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertySSBOChunk : public MultiPropertySSBOChu typedef MultiPropertySSBOChunk Self; /*---------------------------------------------------------------------*/ - /*! \name Chunk Class Access */ - /*! \{ */ - - virtual const StateChunkClass *getClass(void) const; - - /*! \} */ - /*---------------------------------------------------------------------*/ - /*! \name Static Chunk Class Access */ - /*! \{ */ - - static UInt32 getStaticClassId(void); - static const StateChunkClass *getStaticClass (void); - - /*! \} */ - /*---------------------------------------------------------------------*/ - /*! \name Chunk Id */ - /*! \{ */ - - virtual UInt16 getChunkId(void); - - /*! \} */ - /*---------------------------------------------------------------------*/ /*! \name Interface */ /*! \{ */ @@ -166,9 +144,7 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertySSBOChunk : public MultiPropertySSBOChu protected: static const UInt8 _numTypes; - - UInt16 _uiChunkId; - bool _bUpdateBuffer; + bool _bUpdateBuffer; // Variables should all be in MultiPropertySSBOChunkBase. @@ -198,9 +174,6 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertySSBOChunk : public MultiPropertySSBOChu static void initMethod(InitPhase ePhase); - static StateChunkClass _class; - static volatile UInt16 _uiChunkCounter; - /*! \} */ /*========================== PRIVATE ================================*/ diff --git a/Source/System/State/Base/OSGMultiPropertySSBOChunk.inl b/Source/System/State/Base/OSGMultiPropertySSBOChunk.inl index 6e9c1e31f..03c51d9cb 100644 --- a/Source/System/State/Base/OSGMultiPropertySSBOChunk.inl +++ b/Source/System/State/Base/OSGMultiPropertySSBOChunk.inl @@ -41,24 +41,6 @@ OSG_BEGIN_NAMESPACE inline -const StateChunkClass *MultiPropertySSBOChunk::getStaticClass(void) -{ - return &MultiPropertySSBOChunk::_class; -} - -inline -UInt32 MultiPropertySSBOChunk::getStaticClassId(void) -{ - return getStaticClass()->getId(); -} - -inline -UInt16 MultiPropertySSBOChunk::getChunkId(void) -{ - return _uiChunkId; -} - -inline bool MultiPropertySSBOChunk::check_invariant() const { UInt32 num = getNumProperties(); diff --git a/Source/System/State/Base/OSGMultiPropertyUBOChunk.cpp b/Source/System/State/Base/OSGMultiPropertyUBOChunk.cpp index 765e09894..736abca77 100644 --- a/Source/System/State/Base/OSGMultiPropertyUBOChunk.cpp +++ b/Source/System/State/Base/OSGMultiPropertyUBOChunk.cpp @@ -74,11 +74,6 @@ OSG_BEGIN_NAMESPACE const UInt8 MultiPropertyUBOChunk::_numTypes = MultiPropertyUBOChunk::MAT4_T + 1; -StateChunkClass MultiPropertyUBOChunk::_class( - "MultiProperty", osgMaxShaderStorageBufferBindings, 30); - -volatile UInt16 MultiPropertyUBOChunk::_uiChunkCounter = 1; - typedef OSG::Window Win; /***************************************************************************\ @@ -107,14 +102,12 @@ void MultiPropertyUBOChunk::initMethod(InitPhase ePhase) MultiPropertyUBOChunk::MultiPropertyUBOChunk(void) : Inherited(), - _uiChunkId(0), _bUpdateBuffer(false) { } MultiPropertyUBOChunk::MultiPropertyUBOChunk(const MultiPropertyUBOChunk &source) : Inherited(source), - _uiChunkId( 0), _bUpdateBuffer(false) { } @@ -125,13 +118,6 @@ MultiPropertyUBOChunk::~MultiPropertyUBOChunk(void) /*----------------------------- class specific ----------------------------*/ -/*------------------------- Chunk Class Access ---------------------------*/ - -const StateChunkClass *MultiPropertyUBOChunk::getClass(void) const -{ - return &_class; -} - void MultiPropertyUBOChunk::changed(ConstFieldMaskArg whichField, UInt32 origin, BitVector details) @@ -163,8 +149,6 @@ void MultiPropertyUBOChunk::onCreate(const MultiPropertyUBOChunk *source) if(GlobalSystemState == Startup) return; - - _uiChunkId = _uiChunkCounter++; } void MultiPropertyUBOChunk::onCreateAspect( @@ -172,8 +156,6 @@ void MultiPropertyUBOChunk::onCreateAspect( const MultiPropertyUBOChunk *source ) { Inherited::onCreateAspect(createAspect, source); - - _uiChunkId = createAspect->_uiChunkId; } void MultiPropertyUBOChunk::onDestroy(UInt32 uiContainerId) diff --git a/Source/System/State/Base/OSGMultiPropertyUBOChunk.h b/Source/System/State/Base/OSGMultiPropertyUBOChunk.h index c437f943f..8d0da935b 100644 --- a/Source/System/State/Base/OSGMultiPropertyUBOChunk.h +++ b/Source/System/State/Base/OSGMultiPropertyUBOChunk.h @@ -62,28 +62,6 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertyUBOChunk : public MultiPropertyUBOChunk typedef MultiPropertyUBOChunk Self; /*---------------------------------------------------------------------*/ - /*! \name Chunk Class Access */ - /*! \{ */ - - virtual const StateChunkClass *getClass(void) const; - - /*! \} */ - /*---------------------------------------------------------------------*/ - /*! \name Static Chunk Class Access */ - /*! \{ */ - - static UInt32 getStaticClassId(void); - static const StateChunkClass *getStaticClass (void); - - /*! \} */ - /*---------------------------------------------------------------------*/ - /*! \name Chunk Id */ - /*! \{ */ - - virtual UInt16 getChunkId(void); - - /*! \} */ - /*---------------------------------------------------------------------*/ /*! \name Interface */ /*! \{ */ @@ -166,9 +144,7 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertyUBOChunk : public MultiPropertyUBOChunk protected: static const UInt8 _numTypes; - - UInt16 _uiChunkId; - bool _bUpdateBuffer; + bool _bUpdateBuffer; // Variables should all be in MultiPropertyUBOChunkBase. @@ -198,9 +174,6 @@ class OSG_SYSTEM_DLLMAPPING MultiPropertyUBOChunk : public MultiPropertyUBOChunk static void initMethod(InitPhase ePhase); - static StateChunkClass _class; - static volatile UInt16 _uiChunkCounter; - /*! \} */ /*========================== PRIVATE ================================*/ diff --git a/Source/System/State/Base/OSGMultiPropertyUBOChunk.inl b/Source/System/State/Base/OSGMultiPropertyUBOChunk.inl index 5a2c7398a..04fe7257e 100644 --- a/Source/System/State/Base/OSGMultiPropertyUBOChunk.inl +++ b/Source/System/State/Base/OSGMultiPropertyUBOChunk.inl @@ -41,24 +41,6 @@ OSG_BEGIN_NAMESPACE inline -const StateChunkClass *MultiPropertyUBOChunk::getStaticClass(void) -{ - return &MultiPropertyUBOChunk::_class; -} - -inline -UInt32 MultiPropertyUBOChunk::getStaticClassId(void) -{ - return getStaticClass()->getId(); -} - -inline -UInt16 MultiPropertyUBOChunk::getChunkId(void) -{ - return _uiChunkId; -} - -inline bool MultiPropertyUBOChunk::check_invariant() const { UInt32 num = getNumProperties(); -- 2.11.4.GIT