#include <OgreRenderQueue.h>
◆ ParallelHlmsCompileQueue()
Ogre::ParallelHlmsCompileQueue::ParallelHlmsCompileQueue |
( |
| ) |
|
◆ fireWarmUpParallel()
void Ogre::ParallelHlmsCompileQueue::fireWarmUpParallel |
( |
SceneManager * |
sceneManager | ) |
|
Similar to start() and stopAndWait() at the same time: It assumes all work has already been gathered in mRequests via pushWarmUpRequest() (instead of gather it as we go) and fires all threads to compile the shaders and PSOs in parallel.
It will wait until all threads are done.
◆ pushRequest()
void Ogre::ParallelHlmsCompileQueue::pushRequest |
( |
const Request && |
request | ) |
|
|
inline |
◆ pushWarmUpRequest()
void Ogre::ParallelHlmsCompileQueue::pushWarmUpRequest |
( |
const Request && |
request | ) |
|
|
inline |
◆ start()
void Ogre::ParallelHlmsCompileQueue::start |
( |
SceneManager * |
sceneManager | ) |
|
Starts worker threads (job queue) so they start accepting work every time pushRequest() gets called and will keep compiling those shaders until stopAndWait() is called.
The work is done in updateThread() and is in charge of compiling shaders AND generating PSOs.
- Parameters
-
◆ stopAndWait()
void Ogre::ParallelHlmsCompileQueue::stopAndWait |
( |
SceneManager * |
sceneManager | ) |
|
Signals worker threads we won't be submitting more work, so they should stop once they're done compiling all pending shaders / PSOs.
Will wait until all shaders are done.
- Parameters
-
◆ updateThread()
void Ogre::ParallelHlmsCompileQueue::updateThread |
( |
size_t |
threadIdx, |
|
|
HlmsManager * |
hlmsManager |
|
) |
| |
The actual work done by the job queues.
◆ updateWarmUpThread()
void Ogre::ParallelHlmsCompileQueue::updateWarmUpThread |
( |
size_t |
threadIdx, |
|
|
HlmsManager * |
hlmsManager, |
|
|
const HlmsCache * |
passCaches |
|
) |
| |
◆ warmUpSerial()
void Ogre::ParallelHlmsCompileQueue::warmUpSerial |
( |
HlmsManager * |
hlmsManager, |
|
|
const HlmsCache * |
passCaches |
|
) |
| |
The documentation for this class was generated from the following file: