diff options
| author | William Todd Stinson <stinson@lindenlab.com> | 2012-09-10 10:37:02 -0700 |
|---|---|---|
| committer | William Todd Stinson <stinson@lindenlab.com> | 2012-09-10 10:37:02 -0700 |
| commit | a766e26db46c7c054bae1021470dbe365f2a3cb3 (patch) | |
| tree | 93ffd22d902bef8d44e81b6989dcb2966beba2fc /indra/newview/lldrawpool.cpp | |
| parent | dab915c1d2a2d08363944de8ac4362fbe162bea0 (diff) | |
Backing out the changes contributing to DRTVWR-167 and DRTVWR-179 from the repository.
Diffstat (limited to 'indra/newview/lldrawpool.cpp')
| -rw-r--r-- | indra/newview/lldrawpool.cpp | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp index 013c698445..81f4e3d48f 100644 --- a/indra/newview/lldrawpool.cpp +++ b/indra/newview/lldrawpool.cpp @@ -254,6 +254,48 @@ void LLFacePool::dirtyTextures(const std::set<LLViewerFetchedTexture*>& textures { } +// static +S32 LLFacePool::drawLoop(face_array_t& face_list) +{ + S32 res = 0; + if (!face_list.empty()) + { + for (std::vector<LLFace*>::iterator iter = face_list.begin(); + iter != face_list.end(); iter++) + { + LLFace *facep = *iter; + res += facep->renderIndexed(); + } + } + return res; +} + +// static +S32 LLFacePool::drawLoopSetTex(face_array_t& face_list, S32 stage) +{ + S32 res = 0; + if (!face_list.empty()) + { + for (std::vector<LLFace*>::iterator iter = face_list.begin(); + iter != face_list.end(); iter++) + { + LLFace *facep = *iter; + gGL.getTexUnit(stage)->bind(facep->getTexture(), TRUE) ; + gGL.getTexUnit(0)->activate(); + res += facep->renderIndexed(); + } + } + return res; +} + +void LLFacePool::drawLoop() +{ + if (!mDrawFace.empty()) + { + drawLoop(mDrawFace); + } +} + void LLFacePool::enqueue(LLFace* facep) { mDrawFace.push_back(facep); @@ -401,7 +443,7 @@ void LLRenderPass::renderTexture(U32 type, U32 mask) void LLRenderPass::pushBatches(U32 type, U32 mask, BOOL texture, BOOL batch_textures) { - for (LLCullResult::drawinfo_iterator i = gPipeline.beginRenderMap(type); i != gPipeline.endRenderMap(type); ++i) + for (LLCullResult::drawinfo_list_t::iterator i = gPipeline.beginRenderMap(type); i != gPipeline.endRenderMap(type); ++i) { LLDrawInfo* pparams = *i; if (pparams) |
