|
@@ -179,8 +179,19 @@ void end( bool useGenericShaders )
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if ( useGenericShaders )
|
|
|
- GFX->setupGenericShaders( GFXDevice::GSModColorTexture );
|
|
|
+ if ( useGenericShaders )
|
|
|
+ {
|
|
|
+ GFXStateBlock *currentBlock = GFX->getStateBlock();
|
|
|
+ if (currentBlock && currentBlock->getDesc().samplersDefined)
|
|
|
+ {
|
|
|
+ if (currentBlock->getDesc().vertexColorEnable)
|
|
|
+ GFX->setupGenericShaders( GFXDevice::GSModColorTexture );
|
|
|
+ else
|
|
|
+ GFX->setupGenericShaders( GFXDevice::GSTexture );
|
|
|
+ }
|
|
|
+ else
|
|
|
+ GFX->setupGenericShaders( GFXDevice::GSColor );
|
|
|
+ }
|
|
|
|
|
|
const GFXVertexPCT *srcVerts = mTempVertBuff.address();
|
|
|
U32 numVerts = mCurVertIndex;
|