@@ -249,7 +249,7 @@ namespace Ogre {
249
249
mIlluminationStage = oth.mIlluminationStage ;
250
250
mLightMask = oth.mLightMask ;
251
251
252
- for (int i = 0 ; i < GPT_COUNT ; i++)
252
+ for (int i = 0 ; i < GPT_PIPELINE_COUNT ; i++)
253
253
{
254
254
auto & programUsage = mProgramUsage [i];
255
255
auto & othUsage = oth.mProgramUsage [i];
@@ -882,12 +882,12 @@ namespace Ogre {
882
882
}
883
883
884
884
std::unique_ptr<GpuProgramUsage>& Pass::getProgramUsage (GpuProgramType programType) {
885
- return mProgramUsage [programType];
885
+ return mProgramUsage [programType % GPT_PIPELINE_COUNT ];
886
886
}
887
887
888
888
const std::unique_ptr<GpuProgramUsage>& Pass::getProgramUsage (GpuProgramType programType) const
889
889
{
890
- return mProgramUsage [programType];
890
+ return mProgramUsage [programType % GPT_PIPELINE_COUNT ];
891
891
}
892
892
893
893
bool Pass::hasGpuProgram (GpuProgramType programType) const {
@@ -896,8 +896,9 @@ namespace Ogre {
896
896
const GpuProgramPtr& Pass::getGpuProgram (GpuProgramType programType) const
897
897
{
898
898
OGRE_LOCK_MUTEX (mGpuProgramChangeMutex );
899
- OgreAssert (mProgramUsage [programType], " check whether program is available using hasGpuProgram()" );
900
- return mProgramUsage [programType]->getProgram ();
899
+ auto programType_ = programType % GPT_PIPELINE_COUNT;
900
+ OgreAssert (mProgramUsage [programType_], " check whether program is available using hasGpuProgram()" );
901
+ return mProgramUsage [programType_]->getProgram ();
901
902
}
902
903
// -----------------------------------------------------------------------
903
904
const String& Pass::getGpuProgramName (GpuProgramType type) const
0 commit comments