---------------------------------------------------------------------
| 4391 | void SceneManager::_markGpuParamsDirty( uint16 mask ) { mGpuParamsDirty |= mask; } |
| 4392 | //--------------------------------------------------------------------- |
| 4393 | void SceneManager::updateGpuProgramParameters( const Pass *pass ) |
| 4394 | { |
| 4395 | if( pass->isProgrammable() ) |
| 4396 | { |
| 4397 | if( !mGpuParamsDirty ) |
| 4398 | return; |
| 4399 | |
| 4400 | if( mGpuParamsDirty ) |
| 4401 | pass->_updateAutoParams( mAutoParamDataSource, mGpuParamsDirty ); |
| 4402 | |
| 4403 | if( pass->hasVertexProgram() ) |
| 4404 | { |
| 4405 | mDestRenderSystem->bindGpuProgramParameters( |
| 4406 | GPT_VERTEX_PROGRAM, pass->getVertexProgramParameters(), mGpuParamsDirty ); |
| 4407 | } |
| 4408 | |
| 4409 | if( pass->hasGeometryProgram() ) |
| 4410 | { |
| 4411 | mDestRenderSystem->bindGpuProgramParameters( |
| 4412 | GPT_GEOMETRY_PROGRAM, pass->getGeometryProgramParameters(), mGpuParamsDirty ); |
| 4413 | } |
| 4414 | |
| 4415 | if( pass->hasFragmentProgram() ) |
| 4416 | { |
| 4417 | mDestRenderSystem->bindGpuProgramParameters( |
| 4418 | GPT_FRAGMENT_PROGRAM, pass->getFragmentProgramParameters(), mGpuParamsDirty ); |
| 4419 | } |
| 4420 | |
| 4421 | if( pass->hasTessellationHullProgram() ) |
| 4422 | { |
| 4423 | mDestRenderSystem->bindGpuProgramParameters( |
| 4424 | GPT_HULL_PROGRAM, pass->getTessellationHullProgramParameters(), mGpuParamsDirty ); |
| 4425 | } |
| 4426 | |
| 4427 | if( pass->hasTessellationDomainProgram() ) |
| 4428 | { |
| 4429 | mDestRenderSystem->bindGpuProgramParameters( |
| 4430 | GPT_DOMAIN_PROGRAM, pass->getTessellationDomainProgramParameters(), |
| 4431 | mGpuParamsDirty ); |
| 4432 | } |
| 4433 | |
| 4434 | // if (pass->hasComputeProgram()) |
| 4435 | // { |
| 4436 | // mDestRenderSystem->bindGpuProgramParameters(GPT_COMPUTE_PROGRAM, |
| 4437 | // pass->getComputeProgramParameters(), |
| 4438 | // mGpuParamsDirty); |
| 4439 | // } |
| 4440 | |
| 4441 | mGpuParamsDirty = 0; |
| 4442 | } |
| 4443 | } |
| 4444 | void SceneManager::fireWorkerThreadsAndWait() |
| 4445 | { |
| 4446 | if( mForceMainThread ) |
nothing calls this directly
no test coverage detected