viewer#2411 Cleanup
parent
57ab1a410f
commit
4cc0edb189
|
|
@ -31,8 +31,7 @@
|
||||||
#include "llvertexbuffer.h"
|
#include "llvertexbuffer.h"
|
||||||
|
|
||||||
|
|
||||||
LLFontVertexBuffer::LLFontVertexBuffer(bool track_changes)
|
LLFontVertexBuffer::LLFontVertexBuffer()
|
||||||
: mTrackStringChanges(track_changes)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,11 +140,6 @@ S32 LLFontVertexBuffer::render(
|
||||||
genBuffers(fontp, text, begin_offset, x, y, color, halign, valign,
|
genBuffers(fontp, text, begin_offset, x, y, color, halign, valign,
|
||||||
style, shadow, max_chars, max_pixels, right_x, use_ellipses, use_color);
|
style, shadow, max_chars, max_pixels, right_x, use_ellipses, use_color);
|
||||||
}
|
}
|
||||||
else if (mTrackStringChanges && mLastStringHash != sStringHasher._Do_hash(text))
|
|
||||||
{
|
|
||||||
genBuffers(fontp, text, begin_offset, x, y, color, halign, valign,
|
|
||||||
style, shadow, max_chars, max_pixels, right_x, use_ellipses, use_color);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
renderBuffers();
|
renderBuffers();
|
||||||
|
|
@ -183,7 +177,6 @@ void LLFontVertexBuffer::genBuffers(
|
||||||
mLastOffset = begin_offset;
|
mLastOffset = begin_offset;
|
||||||
mLastMaxChars = max_chars;
|
mLastMaxChars = max_chars;
|
||||||
mLastMaxPixels = max_pixels;
|
mLastMaxPixels = max_pixels;
|
||||||
mLastStringHash = sStringHasher._Do_hash(text);
|
|
||||||
mLastX = x;
|
mLastX = x;
|
||||||
mLastY = y;
|
mLastY = y;
|
||||||
mLastColor = color;
|
mLastColor = color;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ class LLVertexBufferData;
|
||||||
class LLFontVertexBuffer
|
class LLFontVertexBuffer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LLFontVertexBuffer(bool track_changes = true);
|
LLFontVertexBuffer();
|
||||||
~LLFontVertexBuffer();
|
~LLFontVertexBuffer();
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
|
|
@ -101,7 +101,6 @@ private:
|
||||||
S32 mLastOffset = 0;
|
S32 mLastOffset = 0;
|
||||||
S32 mLastMaxChars = 0;
|
S32 mLastMaxChars = 0;
|
||||||
S32 mLastMaxPixels = 0;
|
S32 mLastMaxPixels = 0;
|
||||||
size_t mLastStringHash = 0;
|
|
||||||
F32 mLastX = 0.f;
|
F32 mLastX = 0.f;
|
||||||
F32 mLastY = 0.f;
|
F32 mLastY = 0.f;
|
||||||
LLColor4 mLastColor;
|
LLColor4 mLastColor;
|
||||||
|
|
@ -115,10 +114,6 @@ private:
|
||||||
F32 mLastScaleX = 1.f;
|
F32 mLastScaleX = 1.f;
|
||||||
F32 mLastScaleY = 1.f;
|
F32 mLastScaleY = 1.f;
|
||||||
LLCoordGL mLastOrigin;
|
LLCoordGL mLastOrigin;
|
||||||
|
|
||||||
bool mTrackStringChanges = true;
|
|
||||||
|
|
||||||
static std::hash<LLWString> sStringHasher;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1592,50 +1592,6 @@ void LLRender::end()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVertexBuffer* LLRender::beginNoCache(const GLuint& mode, S32& count)
|
|
||||||
{
|
|
||||||
if (mode != mMode)
|
|
||||||
{
|
|
||||||
if (mode == LLRender::QUADS)
|
|
||||||
{
|
|
||||||
mQuadCycle = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mMode == LLRender::QUADS ||
|
|
||||||
mMode == LLRender::LINES ||
|
|
||||||
mMode == LLRender::TRIANGLES ||
|
|
||||||
mMode == LLRender::POINTS)
|
|
||||||
{
|
|
||||||
return getBuffer(count);
|
|
||||||
}
|
|
||||||
else if (mCount != 0)
|
|
||||||
{
|
|
||||||
LL_ERRS() << "gGL.begin() called redundantly." << LL_ENDL;
|
|
||||||
}
|
|
||||||
mMode = mode;
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
LLVertexBuffer* LLRender::endNoCache(S32& count)
|
|
||||||
{
|
|
||||||
if (mCount == 0)
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
//IMM_ERRS << "GL begin and end called with no vertices specified." << LL_ENDL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((mMode != LLRender::QUADS &&
|
|
||||||
mMode != LLRender::LINES &&
|
|
||||||
mMode != LLRender::TRIANGLES &&
|
|
||||||
mMode != LLRender::POINTS) ||
|
|
||||||
mCount > 2048)
|
|
||||||
{
|
|
||||||
return getBuffer(count);
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LLRender::flush()
|
void LLRender::flush()
|
||||||
{
|
{
|
||||||
STOP_GLERROR;
|
STOP_GLERROR;
|
||||||
|
|
@ -1844,76 +1800,6 @@ void LLRender::resetStriders(S32 count)
|
||||||
mCount = 0;
|
mCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVertexBuffer* LLRender::getBuffer(S32 & count)
|
|
||||||
{
|
|
||||||
STOP_GLERROR;
|
|
||||||
LLVertexBuffer *vb;
|
|
||||||
if (mCount > 0)
|
|
||||||
{
|
|
||||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
|
||||||
llassert(LLGLSLShader::sCurBoundShaderPtr != nullptr);
|
|
||||||
if (!mUIOffset.empty())
|
|
||||||
{
|
|
||||||
sUICalls++;
|
|
||||||
sUIVerts += mCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
//store mCount in a local variable to avoid re-entrance (drawArrays may call flush)
|
|
||||||
count = mCount;
|
|
||||||
|
|
||||||
if (mMode == LLRender::QUADS && !sGLCoreProfile)
|
|
||||||
{
|
|
||||||
if (mCount % 4 != 0)
|
|
||||||
{
|
|
||||||
count -= (mCount % 4);
|
|
||||||
LL_WARNS() << "Incomplete quad requested." << LL_ENDL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mMode == LLRender::TRIANGLES)
|
|
||||||
{
|
|
||||||
if (mCount % 3 != 0)
|
|
||||||
{
|
|
||||||
count -= (mCount % 3);
|
|
||||||
LL_WARNS() << "Incomplete triangle requested." << LL_ENDL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mMode == LLRender::LINES)
|
|
||||||
{
|
|
||||||
if (mCount % 2 != 0)
|
|
||||||
{
|
|
||||||
count -= (mCount % 2);
|
|
||||||
LL_WARNS() << "Incomplete line requested." << LL_ENDL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mCount = 0;
|
|
||||||
|
|
||||||
if (mBuffer)
|
|
||||||
{
|
|
||||||
LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("vb cache miss");
|
|
||||||
|
|
||||||
U32 attribute_mask = LLGLSLShader::sCurBoundShaderPtr->mAttributeMask;
|
|
||||||
vb = genBuffer(attribute_mask, count);
|
|
||||||
drawBuffer(vb, mMode, count);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// mBuffer is present in main thread and not present in an image thread
|
|
||||||
LL_ERRS() << "A flush call from outside main rendering thread" << LL_ENDL;
|
|
||||||
}
|
|
||||||
|
|
||||||
resetStriders(count);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
count = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vb;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LLRender::vertex3f(const GLfloat& x, const GLfloat& y, const GLfloat& z)
|
void LLRender::vertex3f(const GLfloat& x, const GLfloat& y, const GLfloat& z)
|
||||||
{
|
{
|
||||||
//the range of mVerticesp, mColorsp and mTexcoordsp is [0, 4095]
|
//the range of mVerticesp, mColorsp and mTexcoordsp is [0, 4095]
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@
|
||||||
#include "glh/glh_linear.h"
|
#include "glh/glh_linear.h"
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <list>
|
||||||
|
|
||||||
class LLVertexBuffer;
|
class LLVertexBuffer;
|
||||||
class LLCubeMap;
|
class LLCubeMap;
|
||||||
|
|
@ -423,9 +424,6 @@ public:
|
||||||
void begin(const GLuint& mode);
|
void begin(const GLuint& mode);
|
||||||
void end();
|
void end();
|
||||||
|
|
||||||
LLVertexBuffer* beginNoCache(const GLuint& mode, S32& count);
|
|
||||||
LLVertexBuffer* endNoCache(S32& count);
|
|
||||||
LLVertexBuffer* getBuffer(S32& count);
|
|
||||||
U8 getMode() const { return mMode; }
|
U8 getMode() const { return mMode; }
|
||||||
|
|
||||||
void vertex2i(const GLint& x, const GLint& y);
|
void vertex2i(const GLint& x, const GLint& y);
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,6 @@ LLBadge::LLBadge(const LLBadge::Params& p)
|
||||||
, mPaddingVert(p.padding_vert)
|
, mPaddingVert(p.padding_vert)
|
||||||
, mParentScroller(NULL)
|
, mParentScroller(NULL)
|
||||||
, mDrawAtParentTop(false)
|
, mDrawAtParentTop(false)
|
||||||
, mFontBuffer(false)
|
|
||||||
{
|
{
|
||||||
if (mImage.isNull())
|
if (mImage.isNull())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,6 @@ LLButton::Params::Params()
|
||||||
LLButton::LLButton(const LLButton::Params& p)
|
LLButton::LLButton(const LLButton::Params& p)
|
||||||
: LLUICtrl(p),
|
: LLUICtrl(p),
|
||||||
LLBadgeOwner(getHandle()),
|
LLBadgeOwner(getHandle()),
|
||||||
mFontBuffer(false),
|
|
||||||
mMouseDownFrame(0),
|
mMouseDownFrame(0),
|
||||||
mMouseHeldDownCount(0),
|
mMouseHeldDownCount(0),
|
||||||
mFlashing( false ),
|
mFlashing( false ),
|
||||||
|
|
|
||||||
|
|
@ -253,8 +253,8 @@ public:
|
||||||
void setDisabledLabelColor(const LLUIColor& c);
|
void setDisabledLabelColor(const LLUIColor& c);
|
||||||
|
|
||||||
void setFont(const LLFontGL* font);
|
void setFont(const LLFontGL* font);
|
||||||
const LLFontGL* getFont() const { return mGLFont; }
|
const LLFontGL* getFont() const override { return mGLFont; }
|
||||||
const std::string& getText() const { return getCurrentLabel().getString(); }
|
const std::string& getText() const override { return getCurrentLabel().getString(); }
|
||||||
|
|
||||||
S32 getLastDrawCharsCount() const { return mLastDrawCharsCount; }
|
S32 getLastDrawCharsCount() const { return mLastDrawCharsCount; }
|
||||||
bool labelIsTruncated() const;
|
bool labelIsTruncated() const;
|
||||||
|
|
@ -392,7 +392,7 @@ private:
|
||||||
LLFontVertexBuffer mFontBuffer;
|
LLFontVertexBuffer mFontBuffer;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual std::string _getSearchText() const
|
virtual std::string _getSearchText() const override
|
||||||
{
|
{
|
||||||
return getLabelUnselected() + getToolTip();
|
return getLabelUnselected() + getToolTip();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -256,7 +256,6 @@ LLScrollListText::LLScrollListText(const LLScrollListCell::Params& p)
|
||||||
mText(p.label.isProvided() ? p.label() : p.value().asString()),
|
mText(p.label.isProvided() ? p.label() : p.value().asString()),
|
||||||
mAltText(p.alt_value().asString()),
|
mAltText(p.alt_value().asString()),
|
||||||
mFont(p.font),
|
mFont(p.font),
|
||||||
mFontBuffer(false),
|
|
||||||
mColor(p.color),
|
mColor(p.color),
|
||||||
mUseColor(p.color.isProvided()),
|
mUseColor(p.color.isProvided()),
|
||||||
mFontAlignment(p.font_halign),
|
mFontAlignment(p.font_halign),
|
||||||
|
|
|
||||||
|
|
@ -59,9 +59,7 @@ protected:
|
||||||
: mColor(color),
|
: mColor(color),
|
||||||
mStyle(style),
|
mStyle(style),
|
||||||
mText(text),
|
mText(text),
|
||||||
mFont(font),
|
mFont(font)
|
||||||
mFontBufferLabel(false),
|
|
||||||
mFontBufferText(false)
|
|
||||||
{}
|
{}
|
||||||
F32 getWidth(const LLFontGL* font);
|
F32 getWidth(const LLFontGL* font);
|
||||||
const LLWString& getText() const { return mText; }
|
const LLWString& getText() const { return mText; }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue