diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-09-09 12:51:38 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-09-09 12:51:38 +0800 |
commit | 8a9a3dc9d760db37bb963d3e5bfadafdd94ee08d (patch) | |
tree | 22f2533527d63df3736c638c4b9c7a8059ecb4ec | |
parent | 50fb526c1011d0dd623e312ff70365e32a6d50a7 (diff) | |
parent | 12743eca6958b897d7eb3f0cf791ad8ada3fc790 (diff) |
Merge branch 'main' into 2025.06
849 files changed, 5883 insertions, 846 deletions
diff --git a/indra/llcommon/llprofiler.h b/indra/llcommon/llprofiler.h index f6a4d24747..9267c5cbda 100644 --- a/indra/llcommon/llprofiler.h +++ b/indra/llcommon/llprofiler.h @@ -71,7 +71,7 @@ #define LL_PROFILER_CONFIG_TRACY_FAST_TIMER 3 // Profiling on: Fast Timers + Tracy #ifndef LL_PROFILER_CONFIGURATION -#define LL_PROFILER_CONFIGURATION LL_PROFILER_CONFIG_FAST_TIMER +#define LL_PROFILER_CONFIGURATION 0 #endif extern thread_local bool gProfilerEnabled; @@ -155,6 +155,28 @@ extern thread_local bool gProfilerEnabled; #else #define LL_PROFILER_FRAME_END #define LL_PROFILER_SET_THREAD_NAME( name ) (void)(name) + + #define LL_PROFILER_FRAME_END + #define LL_PROFILER_SET_THREAD_NAME( name ) (void)(name) + #define LL_RECORD_BLOCK_TIME(name) + #define LL_PROFILE_ZONE_NAMED(name) // LL_PROFILE_ZONE_NAMED is a no-op when Tracy is disabled + #define LL_PROFILE_ZONE_NAMED_COLOR(name,color) // LL_PROFILE_ZONE_NAMED_COLOR is a no-op when Tracy is disabled + #define LL_PROFILE_ZONE_SCOPED // LL_PROFILE_ZONE_SCOPED is a no-op when Tracy is disabled + #define LL_PROFILE_ZONE_COLOR(name,color) // LL_RECORD_BLOCK_TIME(name) + + #define LL_PROFILE_ZONE_NUM( val ) (void)( val ); // Not supported + #define LL_PROFILE_ZONE_TEXT( text, size ) (void)( text ); void( size ); // Not supported + + #define LL_PROFILE_ZONE_ERR(name) (void)(name); // Not supported + #define LL_PROFILE_ZONE_INFO(name) (void)(name); // Not supported + #define LL_PROFILE_ZONE_WARN(name) (void)(name); // Not supported + + #define LL_PROFILE_MUTEX(type, varname) type varname + #define LL_PROFILE_MUTEX_NAMED(type, varname, desc) type varname + #define LL_PROFILE_MUTEX_SHARED(type, varname) type varname + #define LL_PROFILE_MUTEX_SHARED_NAMED(type, varname, desc) type varname + #define LL_PROFILE_MUTEX_LOCK(varname) // LL_PROFILE_MUTEX_LOCK is a no-op when Tracy is disabled + #endif // LL_PROFILER #if LL_PROFILER_ENABLE_TRACY_OPENGL diff --git a/indra/llrender/llcubemaparray.cpp b/indra/llrender/llcubemaparray.cpp index fb35e002df..e0a8782c33 100644 --- a/indra/llrender/llcubemaparray.cpp +++ b/indra/llrender/llcubemaparray.cpp @@ -114,6 +114,8 @@ LLCubeMapArray::LLCubeMapArray(LLCubeMapArray& lhs, U32 width, U32 count) : mTex allocate(mWidth, lhs.mImage->getComponents(), count, lhs.mImage->getUseMipMaps(), lhs.mHDR); // Copy each cubemap from the incoming array to the new array + // The call to glTexSubImage3D causes an INVALID OPERATION OpenGL error. For now we comment this.. + /* U32 min_count = std::min(count, lhs.mCount); for (U32 i = 0; i < min_count * 6; ++i) { @@ -133,6 +135,7 @@ LLCubeMapArray::LLCubeMapArray(LLCubeMapArray& lhs, U32 width, U32 count) : mTex glTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, 0, 0, 0, i, mWidth, mWidth, 1, components, GL_UNSIGNED_BYTE, scaled_image->getData()); } } + */ } LLCubeMapArray::~LLCubeMapArray() diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index ac66faaf5a..cc619e2086 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -2279,26 +2279,28 @@ void rotate_quat(LLQuaternion& rotation) void flush_glerror() { + if(!gDebugGL) return; glGetError(); } -//this function outputs gl error to the log file, does not crash the code. -void log_glerror() +void log_glerror(std::string comment) { + if(!gDebugGL) return; + if (LL_UNLIKELY(!gGLManager.mInited)) { return ; } - // Create or update texture to be used with this data + GLenum error; error = glGetError(); - while (LL_UNLIKELY(error)) + if (error != GL_NO_ERROR) { #if GLU_VERSION_1_1 GLubyte const * gl_error_msg = gluErrorString(error); if (NULL != gl_error_msg) { - LL_WARNS() << "GL Error: " << error << " GL Error String: " << gl_error_msg << LL_ENDL ; + LL_WARNS() << "GL Error (" << comment << ")" << error << ": " << gl_error_msg << LL_ENDL; } else #endif // GLU_VERSION_1_1 @@ -2307,7 +2309,6 @@ void log_glerror() // you'll probably have to grep for the number in glext.h. LL_WARNS() << "GL Error: UNKNOWN 0x" << std::hex << error << std::dec << LL_ENDL; } - error = glGetError(); } } @@ -2385,6 +2386,7 @@ void assert_glerror() void clear_glerror() { + if(!gDebugGL) return; glGetError(); glGetError(); } diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index bf8368a7b3..130b06f9df 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -154,17 +154,20 @@ void rotate_quat(LLQuaternion& rotation); void flush_glerror(); // Flush GL errors when we know we're handling them correctly. -void log_glerror(); +void log_glerror(std::string comment); void assert_glerror(); void clear_glerror(); -#if !LL_RELEASE_FOR_DOWNLOAD -# define stop_glerror() assert_glerror() -# define llglassertok() assert_glerror() -# define STOP_GLERROR stop_glerror() +//#if !LL_RELEASE_FOR_DOWNLOAD +#if 1 +# define LOG_GLERROR(COMMENT) log_glerror(COMMENT) +# define stop_glerror() log_glerror("stop") +# define llglassertok() log_glerror("ASSERTOK") +# define STOP_GLERROR log_glerror("STOP") #else +# define LOG_GLERROR(COMMENT) # define stop_glerror() # define llglassertok() # define STOP_GLERROR diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 558c3b062a..9ff483b92b 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -357,7 +357,10 @@ S32 LLImageGL::dataFormatBits(S32 dataformat) case GL_BGRA: return 32; // Used for QuickTime media textures on the Mac #endif case GL_DEPTH_COMPONENT: return 24; + case GL_DEPTH_COMPONENT16: return 16; case GL_DEPTH_COMPONENT24: return 24; + case GL_DEPTH_COMPONENT32: return 32; + case GL_RGBA16: return 64; case GL_R16F: return 16; case GL_RG16F: return 32; case GL_RGB16F: return 48; @@ -1290,7 +1293,7 @@ bool LLImageGL::setSubImageFromFrameBuffer(S32 fb_x, S32 fb_y, S32 x_pos, S32 y_ { glCopyTexSubImage2D(GL_TEXTURE_2D, 0, fb_x, fb_y, x_pos, y_pos, width, height); mGLTextureCreated = true; - stop_glerror(); + LOG_GLERROR("LLImageGL::setSubImageFromFrameBuffer()"); return true; } else @@ -2583,6 +2586,8 @@ bool LLImageGL::scaleDown(S32 desired_discard) return false; } + //LL_WARNS() << "scaleDown" << LL_ENDL; + S32 mip = desired_discard - mCurrentDiscardLevel; S32 desired_width = getWidth(desired_discard); @@ -2600,6 +2605,7 @@ bool LLImageGL::scaleDown(S32 desired_discard) free_tex_image(mTexName); glTexImage2D(mTarget, 0, mFormatInternal, desired_width, desired_height, 0, mFormatPrimary, mFormatType, nullptr); glCopyTexSubImage2D(mTarget, 0, 0, 0, 0, 0, desired_width, desired_height); + LOG_GLERROR("LLImageGL::scaleDown() - glCopyTexSubImage2D"); alloc_tex_image(desired_width, desired_height, mFormatInternal, 1); mTexOptionsDirty = true; @@ -2609,6 +2615,7 @@ bool LLImageGL::scaleDown(S32 desired_discard) LL_PROFILE_ZONE_NAMED_CATEGORY_TEXTURE("scaleDown - glGenerateMipmap"); gGL.getTexUnit(0)->bind(this); glGenerateMipmap(mTarget); + LOG_GLERROR("LLImageGL::scaleDown() - glGenerateMipmap"); gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); } } diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index cbb178b6f8..332d15f76c 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -203,6 +203,7 @@ void LLTexUnit::bindFast(LLTexture* texture) glActiveTexture(GL_TEXTURE0 + mIndex); gGL.mCurrTextureUnitIndex = mIndex; mCurrTexture = gl_tex->getTexName(); + mCurrTexType = gl_tex->getTarget(); if (!mCurrTexture) { LL_PROFILE_ZONE_NAMED("MISSING TEXTURE"); @@ -479,41 +480,49 @@ void LLTexUnit::setTextureFilteringOption(LLTexUnit::eTextureFilterOptions optio { if (mIndex < 0 || mCurrTexture == 0 || mCurrTexType == LLTexUnit::TT_MULTISAMPLE_TEXTURE) return; + GLenum target = sGLTextureType[mCurrTexType]; + + if (mCurrTexType == LLTexUnit::TT_NONE) + { + LL_WARNS() << "setTextureFilteringOption() Error: mCurrTexType==TT_NONE texture: " << mCurrTexture << LL_ENDL; + gGL.debugTexUnits(); + } + gGL.flush(); if (option == TFO_POINT) { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); } else { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); } if (option >= TFO_TRILINEAR && mHasMipMaps) { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); } else if (option >= TFO_BILINEAR) { if (mHasMipMaps) { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); } else { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); } } else { if (mHasMipMaps) { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); } else { - glTexParameteri(sGLTextureType[mCurrTexType], GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); } } @@ -521,11 +530,13 @@ void LLTexUnit::setTextureFilteringOption(LLTexUnit::eTextureFilterOptions optio { if (LLImageGL::sGlobalUseAnisotropic && option == TFO_ANISOTROPIC) { - glTexParameterf(sGLTextureType[mCurrTexType], GL_TEXTURE_MAX_ANISOTROPY_EXT, gGLManager.mMaxAnisotropy); + //glTexParameterf(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, gGLManager.mMaxAnisotropy); + //We plan to add a setting. For now we stick to a low value. + glTexParameterf(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, 4.0); } else { - glTexParameterf(sGLTextureType[mCurrTexType], GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.f); + glTexParameterf(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.f); } } } @@ -908,13 +919,12 @@ bool LLRender::init(bool needs_vertex_buffer) void LLRender::initVertexBuffer() { llassert_always(mBuffer.isNull()); - stop_glerror(); mBuffer = new LLVertexBuffer(immediate_mask); - mBuffer->allocateBuffer(4096, 0); + mBuffer->allocateBuffer(16384, 0); mBuffer->getVertexStrider(mVerticesp); mBuffer->getTexCoord0Strider(mTexcoordsp); mBuffer->getColorStrider(mColorsp); - stop_glerror(); + LOG_GLERROR("LLRender::initVertexBuffer()"); } void LLRender::resetVertexBuffer() @@ -1000,7 +1010,6 @@ void LLRender::syncLightState() void LLRender::syncMatrices() { - STOP_GLERROR; LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; static const U32 name[] = @@ -1145,7 +1154,7 @@ void LLRender::syncMatrices() syncLightState(); } } - STOP_GLERROR; + LOG_GLERROR("LLRender::syncMatrices()"); } void LLRender::translatef(const GLfloat& x, const GLfloat& y, const GLfloat& z) @@ -1555,7 +1564,7 @@ void LLRender::begin(const GLuint& mode) mMode == LLRender::TRIANGLES || mMode == LLRender::POINTS) { - flush(); + flush("LLRender::begin"); } else if (mCount != 0) { @@ -1566,7 +1575,7 @@ void LLRender::begin(const GLuint& mode) } } -void LLRender::end() +void LLRender::end(std::string comment_) { if (mCount == 0) { @@ -1579,13 +1588,12 @@ void LLRender::end() mMode != LLRender::POINTS) || mCount > 2048) { - flush(); + flush("from end " + comment_); } } -void LLRender::flush() +void LLRender::flush(std::string comment_) { - STOP_GLERROR; if (mCount > 0) { LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; @@ -1654,9 +1662,16 @@ void LLRender::flush() } resetStriders(count); + + LOG_GLERROR("LLRender::flush() end " + comment_); } } +void LLRender::flush() +{ + flush(""); +} + LLVertexBuffer* LLRender::bufferfromCache(U32 attribute_mask, U32 count) { LLVertexBuffer *vb = nullptr; @@ -1751,9 +1766,11 @@ LLVertexBuffer* LLRender::genBuffer(U32 attribute_mask, S32 count) vb->setColorData(mColorsp.get()); } -#if LL_DARWIN + if(gGLManager.mIsApple && LLVertexBuffer::getVertexBufferMode() == 0) + { vb->unmapBuffer(); -#endif + } + vb->unbind(); return vb; @@ -2026,7 +2043,8 @@ void LLRender::debugTexUnits(void) std::string active_enabled = "false"; for (U32 i = 0; i < mTexUnits.size(); i++) { - if (getTexUnit(i)->mCurrTexType != LLTexUnit::TT_NONE) + //if (getTexUnit(i)->mCurrTexType != LLTexUnit::TT_NONE) + if(1) { if (i == mCurrTextureUnitIndex) active_enabled = "true"; LL_INFOS("TextureUnit") << "TexUnit: " << i << " Enabled" << LL_ENDL; @@ -2044,8 +2062,19 @@ void LLRender::debugTexUnits(void) case LLTexUnit::TT_CUBE_MAP: LL_CONT << "Cube Map"; break; + case LLTexUnit::TT_CUBE_MAP_ARRAY: + LL_CONT << "Cube Map Array"; + break; + + case LLTexUnit::TT_MULTISAMPLE_TEXTURE: + LL_CONT << "Multisample Texture"; + break; + + case LLTexUnit::TT_TEXTURE_3D: + LL_CONT << "Texture 3D"; + break; default: - LL_CONT << "ARGH!!! NONE!"; + LL_CONT << "ARGH!!! NONE! -> type = " << getTexUnit(i)->mCurrTexType; break; } LL_CONT << ", Texture Bound: " << getTexUnit(i)->mCurrTexture << LL_ENDL; diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h index 97c47bcae9..a755ddd2b1 100644 --- a/indra/llrender/llrender.h +++ b/indra/llrender/llrender.h @@ -421,6 +421,7 @@ public: LLVector3 getUITranslation(); LLVector3 getUIScale(); + void flush(std::string comment_); void flush(); // if list is set, will store buffers in list for later use, if list isn't set, will use cache @@ -428,7 +429,7 @@ public: void endList(); void begin(const GLuint& mode); - void end(); + void end(std::string comment_ = ""); U8 getMode() const { return mMode; } diff --git a/indra/llrender/llrender2dutils.cpp b/indra/llrender/llrender2dutils.cpp index 9144ce6d62..714df863cd 100644 --- a/indra/llrender/llrender2dutils.cpp +++ b/indra/llrender/llrender2dutils.cpp @@ -833,8 +833,7 @@ void gl_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& c { gGL.color4f(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], color.mV[VALPHA]); - gGL.flush(); - glLineWidth(2.5f); + LLRender2D::setLineWidth(2.5f); gGL.begin(LLRender::LINES); { diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp index 0e4aa2ee7a..e898e03feb 100644 --- a/indra/llrender/llrendertarget.cpp +++ b/indra/llrender/llrendertarget.cpp @@ -158,6 +158,8 @@ void LLRenderTarget::setColorAttachment(LLImageGL* img, LLGLuint use_name) llassert(mTex.empty()); // mTex must be empty with this mode (binding target should be done via LLImageGL) llassert(!isBoundInStack()); + U32 target = getTarget(); + if (mFBO == 0) { glGenFramebuffers(1, (GLuint*)&mFBO); @@ -174,14 +176,14 @@ void LLRenderTarget::setColorAttachment(LLImageGL* img, LLGLuint use_name) mTex.push_back(use_name); - glBindFramebuffer(GL_FRAMEBUFFER, mFBO); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, + glBindFramebuffer(target, mFBO); + glFramebufferTexture2D(target, GL_COLOR_ATTACHMENT0, LLTexUnit::getInternalType(mUsage), use_name, 0); stop_glerror(); check_framebuffer_status(); - glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO); + glBindFramebuffer(target, sCurFBO); } void LLRenderTarget::releaseColorAttachment() @@ -194,6 +196,7 @@ void LLRenderTarget::releaseColorAttachment() glBindFramebuffer(GL_FRAMEBUFFER, mFBO); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, LLTexUnit::getInternalType(mUsage), 0, 0); glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO); + LOG_GLERROR(mName + " releaseColorAttachment()"); mTex.clear(); } @@ -208,6 +211,8 @@ bool LLRenderTarget::addColorAttachment(U32 color_fmt) return true; } + U32 target = getTarget(); + U32 offset = static_cast<U32>(mTex.size()); if( offset >= 4 ) @@ -226,12 +231,76 @@ bool LLRenderTarget::addColorAttachment(U32 color_fmt) LLImageGL::generateTextures(1, &tex); gGL.getTexUnit(0)->bindManual(mUsage, tex); - stop_glerror(); - + U32 miplevel = mMipLevels; + U32 intformat = color_fmt; + U32 pixformat = GL_RGBA; + U32 pixtype = GL_UNSIGNED_BYTE; { - clear_glerror(); - LLImageGL::setManualImage(LLTexUnit::getInternalType(mUsage), 0, color_fmt, mResX, mResY, GL_RGBA, GL_UNSIGNED_BYTE, NULL, false); + //clear_glerror(); + + if(color_fmt == GL_RGB10_A2) + { + pixformat = GL_RGBA; + pixtype = GL_UNSIGNED_BYTE; + } + else if(color_fmt == GL_R11F_G11F_B10F) + { + pixformat = GL_RGB; + pixtype = GL_HALF_FLOAT; + } + else if(color_fmt == GL_R8) + { + pixformat = GL_RED; + pixtype = GL_UNSIGNED_BYTE; + } + else if(color_fmt == GL_R16F) + { + pixformat = GL_RED; + pixtype = GL_HALF_FLOAT; + } + else if(color_fmt == GL_RG16F) + { + pixformat = GL_RG; + pixtype = GL_HALF_FLOAT; + } + else if(color_fmt == GL_RGBA16F) + { + pixformat = GL_RGBA; + pixtype = GL_HALF_FLOAT; + } + else if(color_fmt == GL_RGB16F) + { + pixformat = GL_RGB; + pixtype = GL_HALF_FLOAT; + } + else if(color_fmt == GL_RGB8) + { + pixformat = GL_RGB; + pixtype = GL_UNSIGNED_BYTE; + } + else if(color_fmt == GL_RGB) + { + pixformat = GL_RGB; + pixtype = GL_UNSIGNED_BYTE; + } + else if(color_fmt == GL_RGBA) + { + pixformat = GL_RGBA; + pixtype = GL_UNSIGNED_BYTE; + } + else if(color_fmt == GL_RGBA8) + { + pixformat = GL_RGBA; + pixtype = GL_UNSIGNED_BYTE; + } + else + { + pixformat = GL_RGBA; + pixtype = GL_UNSIGNED_BYTE; + } + + LLImageGL::setManualImage(LLTexUnit::getInternalType(mUsage), 0, color_fmt, mResX, mResY, pixformat, pixtype, NULL, false); if (glGetError() != GL_NO_ERROR) { LL_WARNS() << "Could not allocate color buffer for render target." << LL_ENDL; @@ -241,32 +310,29 @@ bool LLRenderTarget::addColorAttachment(U32 color_fmt) sBytesAllocated += mResX*mResY*4; - stop_glerror(); - - if (offset == 0) { //use bilinear filtering on single texture render targets that aren't multisampled gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR); - stop_glerror(); + LOG_GLERROR(mName + " setting filtering to TFO_BILINEAR"); } else { //don't filter data attachments gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_POINT); - stop_glerror(); + LOG_GLERROR(mName + " setting filtering to TFO_POINT"); } #if GL_VERSION_3_1 if (mUsage != LLTexUnit::TT_RECT_TEXTURE) { gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_MIRROR); - stop_glerror(); + LOG_GLERROR(mName + " setting address mode to TAM_MIRROR"); } else #endif { // ATI doesn't support mirrored repeat for rectangular textures. gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); - stop_glerror(); + LOG_GLERROR(mName + " setting address mode to TAM_CLAMP"); } if (mFBO) @@ -285,7 +351,7 @@ bool LLRenderTarget::addColorAttachment(U32 color_fmt) if (gDebugGL) { //bind and unbind to validate target - bindTarget(); + bindTarget(mName, mMode); flush(); } @@ -300,8 +366,6 @@ bool LLRenderTarget::allocateDepth() gGL.getTexUnit(0)->bindManual(mUsage, mDepth); U32 internal_type = LLTexUnit::getInternalType(mUsage); - stop_glerror(); - clear_glerror(); LLImageGL::setManualImage(internal_type, 0, GL_DEPTH_COMPONENT24, mResX, mResY, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL, false); gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_POINT); @@ -309,7 +373,7 @@ bool LLRenderTarget::allocateDepth() if (glGetError() != GL_NO_ERROR) { - LL_WARNS() << "Unable to allocate depth buffer for render target." << LL_ENDL; + LL_WARNS() << "Unable to allocate depth buffer for render target " << mName << LL_ENDL; return false; } @@ -345,6 +409,8 @@ void LLRenderTarget::shareDepthBuffer(LLRenderTarget& target) glBindFramebuffer(GL_FRAMEBUFFER, sCurFBO); + LOG_GLERROR(mName + " shareDepthBuffer()"); + target.mUseDepth = true; } } @@ -408,19 +474,32 @@ void LLRenderTarget::release() LLImageGL::deleteTextures(1, &mTex[0]); } + LOG_GLERROR(mName + " release()"); + mTex.clear(); mInternalFormat.clear(); mResX = mResY = 0; } -void LLRenderTarget::bindTarget() +void LLRenderTarget::bindTarget(std::string name_, U32 mode_) { LL_PROFILE_GPU_ZONE("bindTarget"); llassert(mFBO); llassert(!isBoundInStack()); - glBindFramebuffer(GL_FRAMEBUFFER, mFBO); + //mode_ = 0; + + mMode = mode_; + mName = name_; + + U32 target = getTarget(); + + glBindFramebuffer(target, mFBO); + LOG_GLERROR(mName+" bindTarget()"); + + //attach(); + sCurFBO = mFBO; //setup multiple render targets @@ -431,16 +510,33 @@ void LLRenderTarget::bindTarget() if (mTex.empty()) { //no color buffer to draw to + if(!mUseDepth) LL_WARNS() << mName << " HAS NO COLOR BUFFER AND NO DEPTH!!" << LL_ENDL; GLenum buffers[] = {GL_NONE}; glDrawBuffers(0, buffers); glReadBuffer(GL_NONE); } - else + else if(mMode == 0) { glDrawBuffers(static_cast<GLsizei>(mTex.size()), drawbuffers); glReadBuffer(GL_COLOR_ATTACHMENT0); + LOG_GLERROR(mName+" read and write buffers"); + } + else if(mMode == 1) + { + glDrawBuffers(static_cast<GLsizei>(mTex.size()), drawbuffers); + glReadBuffer(GL_NONE); + LOG_GLERROR(mName+" draw buffer"); + } + else if(mMode == 2) + { + GLenum buffers[] = {GL_NONE}; + glDrawBuffers(0, buffers); + glReadBuffer(GL_COLOR_ATTACHMENT0); + LOG_GLERROR(mName+" read buffer"); } + check_framebuffer_status(); + LOG_GLERROR(mName+" checked status"); glViewport(0, 0, mResX, mResY); sCurResX = mResX; @@ -454,7 +550,9 @@ void LLRenderTarget::clear(U32 mask_in) { LL_PROFILE_GPU_ZONE("clear"); llassert(mFBO); - U32 mask = GL_COLOR_BUFFER_BIT; + U32 mask = 0; + + if(!mTex.empty()) mask |= GL_COLOR_BUFFER_BIT; if (mUseDepth) { mask |= GL_DEPTH_BUFFER_BIT; @@ -463,15 +561,14 @@ void LLRenderTarget::clear(U32 mask_in) if (mFBO) { check_framebuffer_status(); - stop_glerror(); glClear(mask & mask_in); - stop_glerror(); + LOG_GLERROR(mName + "clear()"); } else { LLGLEnable scissor(GL_SCISSOR_TEST); glScissor(0, 0, mResX, mResY); - stop_glerror(); + LOG_GLERROR(""); glClear(mask & mask_in); } } @@ -514,29 +611,43 @@ void LLRenderTarget::bindTexture(U32 index, S32 channel, LLTexUnit::eTextureFilt } gGL.getTexUnit(channel)->setTextureFilteringOption(filter_options); + + LOG_GLERROR(mName + " bindTexture()"); } void LLRenderTarget::flush() { LL_PROFILE_GPU_ZONE("rt flush"); + + LOG_GLERROR(mName+" rt flush() A"); + gGL.flush(); llassert(mFBO); llassert(sCurFBO == mFBO); llassert(sBoundTarget == this); - if (mGenerateMipMaps == LLTexUnit::TMG_AUTO) + if (mGenerateMipMaps == LLTexUnit::TMG_AUTO && mMode != 2) { LL_PROFILE_GPU_ZONE("rt generate mipmaps"); - bindTexture(0, 0, LLTexUnit::TFO_TRILINEAR); + //bindTexture(0, 0, LLTexUnit::TFO_TRILINEAR); + bindTexture(0, 0, LLTexUnit::TFO_ANISOTROPIC); glGenerateMipmap(GL_TEXTURE_2D); + LOG_GLERROR(mName + " glGenerateMipmap()"); } + LOG_GLERROR(mName + " rt flush() B"); + + unbind(); +} + +void LLRenderTarget::unbind() +{ if (mPreviousRT) { // a bit hacky -- pop the RT stack back two frames and push // the previous frame back on to play nice with the GL state machine sBoundTarget = mPreviousRT->mPreviousRT; - mPreviousRT->bindTarget(); + mPreviousRT->bindTarget(mPreviousRT->mName, mPreviousRT->mMode); } else { @@ -547,9 +658,10 @@ void LLRenderTarget::flush() sCurResX = gGLViewport[2]; sCurResY = gGLViewport[3]; glReadBuffer(GL_BACK); - GLenum drawbuffers[] = {GL_BACK}; - glDrawBuffers(1, drawbuffers); + glDrawBuffer(GL_BACK); } + + LOG_GLERROR(mName + " rt unbind()"); } bool LLRenderTarget::isComplete() const @@ -604,3 +716,13 @@ void LLRenderTarget::swapFBORefs(LLRenderTarget& other) std::swap(mFBO, other.mFBO); std::swap(mTex, other.mTex); } + +U32 LLRenderTarget::getTarget() +{ + U32 target = GL_FRAMEBUFFER; + + if(mMode == 1) target = GL_DRAW_FRAMEBUFFER; + else if(mMode == 2) target = GL_READ_FRAMEBUFFER; + + return target; +} diff --git a/indra/llrender/llrendertarget.h b/indra/llrender/llrendertarget.h index cd3290cf66..ce3025f280 100644 --- a/indra/llrender/llrendertarget.h +++ b/indra/llrender/llrendertarget.h @@ -126,7 +126,7 @@ public: // If an LLRenderTarget is currently bound, stores a reference to that LLRenderTarget // and restores previous binding on flush() (maintains a stack of Render Targets) // Asserts that this target is not currently bound in the stack - void bindTarget(); + void bindTarget(std::string name_ = "nd", U32 mode_ = 0); //clear render targer, clears depth buffer if present, //uses scissor rect if in copy-to-texture mode @@ -158,6 +158,7 @@ public: // If an LLRenderTarget was bound when bindTarget was called, binds that RenderTarget for rendering (maintains RT stack) // asserts that this target is currently bound void flush(); + void unbind(); //Returns TRUE if target is ready to be rendered into. //That is, if the target has been allocated with at least @@ -174,11 +175,15 @@ public: static LLRenderTarget* sBoundTarget; + U32 mMode; + std::string mName; + protected: U32 mResX; U32 mResY; std::vector<U32> mTex; std::vector<U32> mInternalFormat; + std::vector<U32> mPixFormat; U32 mFBO; LLRenderTarget* mPreviousRT = nullptr; @@ -188,6 +193,10 @@ protected: U32 mMipLevels; LLTexUnit::eTextureType mUsage; + +private: + U32 getTarget(); + }; #endif diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 4807c12226..81d45bc431 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -571,7 +571,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev } else { - shader_code_text[shader_code_count++] = strdup("#version 400\n"); + shader_code_text[shader_code_count++] = strdup("#version 410\n"); } } else if (major_version == 3) @@ -1501,6 +1501,20 @@ void LLShaderMgr::initAttribsAndUniforms() mReservedUniforms.push_back("searchTex"); mReservedUniforms.push_back("blendTex"); + mReservedUniforms.push_back("bloomEMap"); + mReservedUniforms.push_back("bloomBlurredMap"); + mReservedUniforms.push_back("bloomHorizontal"); + mReservedUniforms.push_back("bloomBlurRadius"); + mReservedUniforms.push_back("bloomExtractBrightness"); + mReservedUniforms.push_back("bloomStrength"); + mReservedUniforms.push_back("bloomExtractEmissive"); + mReservedUniforms.push_back("bloomExtractEmissive2"); + mReservedUniforms.push_back("bloomExtractORM"); + mReservedUniforms.push_back("bloomExtractMetal"); + mReservedUniforms.push_back("bloomExtractNonMetal"); + mReservedUniforms.push_back("bloomClampValue"); + mReservedUniforms.push_back("mpHDRBoost"); + llassert(mReservedUniforms.size() == END_RESERVED_UNIFORMS); std::set<std::string> dupe_check; diff --git a/indra/llrender/llshadermgr.h b/indra/llrender/llshadermgr.h index 46788841a5..19416066a5 100644 --- a/indra/llrender/llshadermgr.h +++ b/indra/llrender/llshadermgr.h @@ -341,6 +341,20 @@ public: SMAA_SEARCH_TEX, // "searchTex" SMAA_BLEND_TEX, // "blendTex" + BLOOM_EMAP, // "bloomEMap" + BLOOM_BMAP, // "bloomBlurredMap" + BLOOM_BLURH, // "bloomHorizontal" + BLOOM_BLUR_RADIUS, // "bloomRadius" + BLOOM_EXTRACT_BRIGHTNESS, // "bloomExtractBrightness" + BLOOM_STRENGTH, // "bloomStrength" + BLOOM_EXTRACT_EMISSIVE, // "bloomExtractEmissive" + BLOOM_EXTRACT_EMISSIVE2, // "bloomExtractEmissive2" + BLOOM_EXTRACT_ORM, // "bloomExtractORM" + BLOOM_EXTRACT_METAL, // "bloomExtractMetal" + BLOOM_EXTRACT_NONMETAL, // "bloomExtractNonMetal" + BLOOM_CLAMP, // "bloomClampValue" + MP_HDR_BOOST, // "mpHDRBoost" + END_RESERVED_UNIFORMS } eGLSLReservedUniforms; // clang-format on diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index ac6db0b34f..1bd7a57cd9 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -29,7 +29,6 @@ #include "llfasttimer.h" #include "llsys.h" #include "llvertexbuffer.h" -// #include "llrender.h" #include "llglheaders.h" #include "llrender.h" #include "llvector4a.h" @@ -272,13 +271,13 @@ static GLuint gen_buffer() { LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("gen buffer"); sIndex = pool_size; -#if !LL_DARWIN +//#if !LL_DARWIN if (!gGLManager.mIsAMD) { glGenBuffers(pool_size, sNamePool); } else -#endif +//#endif { // work around for AMD driver bug for (U32 i = 0; i < pool_size; ++i) { @@ -345,7 +344,7 @@ public: void allocate(GLenum type, U32 size, GLuint& name, U8*& data) override { LL_PROFILE_ZONE_SCOPED_CATEGORY_VERTEX; - STOP_GLERROR; + llassert(type == GL_ARRAY_BUFFER || type == GL_ELEMENT_ARRAY_BUFFER); llassert(name == 0); // non zero name indicates a gl name that wasn't freed llassert(data == nullptr); // non null data indicates a buffer that wasn't freed @@ -355,10 +354,18 @@ public: { //allocate a new buffer LL_PROFILE_GPU_ZONE("vbo alloc"); - // ON OS X, we don't allocate a VBO until the last possible moment - // in unmapBuffer data = (U8*) ll_aligned_malloc_16(size); - STOP_GLERROR; + + if (type == GL_ARRAY_BUFFER) + { + glGenBuffers(1, &name); + LLVertexBuffer::sGLRenderBuffer = name; + } + else + { + glGenBuffers(1, &name); + LLVertexBuffer::sGLRenderIndices = name; + } } } @@ -374,12 +381,11 @@ public: } mAllocated -= size; - STOP_GLERROR; if (name) { delete_buffers(1, &name); } - STOP_GLERROR; + //LOG_GLERROR("LLAppleVBOPool::free()"); } }; @@ -606,6 +612,8 @@ public: static LLVBOPool* sVBOPool = nullptr; +static U32 sMPVertexBufferMode = 0; + void LLVertexBufferData::drawWithMatrix() { if (!mVB) @@ -783,7 +791,6 @@ void LLVertexBuffer::drawElements(U32 mode, const LLVector4a* pos, const LLVecto LL_PROFILE_ZONE_SCOPED_CATEGORY_VERTEX; llassert(LLGLSLShader::sCurBoundShaderPtr != NULL); - STOP_GLERROR; gGL.syncMatrices(); @@ -909,10 +916,8 @@ void LLVertexBuffer::drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indi llassert(mGLBuffer == sGLRenderBuffer); llassert(mGLIndices == sGLRenderIndices); gGL.syncMatrices(); - STOP_GLERROR; glDrawRangeElements(sGLMode[mode], start, end, count, mIndicesType, (GLvoid*) (indices_offset * (size_t) mIndicesStride)); - STOP_GLERROR; } void LLVertexBuffer::drawRangeFast(U32 mode, U32 start, U32 end, U32 count, U32 indices_offset) const @@ -935,17 +940,18 @@ void LLVertexBuffer::drawArrays(U32 mode, U32 first, U32 count) const llassert(mGLIndices == sGLRenderIndices); gGL.syncMatrices(); - STOP_GLERROR; glDrawArrays(sGLMode[mode], first, count); - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::drawArrays()"); } //static -void LLVertexBuffer::initClass(LLWindow* window) +void LLVertexBuffer::initClass(LLWindow* window, U32 mode_) { llassert(sVBOPool == nullptr); - if (gGLManager.mIsApple) + sMPVertexBufferMode = mode_; + + if (mode_ == 0 && gGLManager.mIsApple) { LL_INFOS() << "VBO Pooling Disabled" << LL_ENDL; sVBOPool = new LLAppleVBOPool(); @@ -968,12 +974,16 @@ void LLVertexBuffer::initClass(LLWindow* window) } //static +U32 LLVertexBuffer::getVertexBufferMode() +{ + return sMPVertexBufferMode; +} + +//static void LLVertexBuffer::unbind() { - STOP_GLERROR; glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - STOP_GLERROR; sGLRenderBuffer = 0; sGLRenderIndices = 0; } @@ -1288,7 +1298,7 @@ U8* LLVertexBuffer::mapVertexBuffer(LLVertexBuffer::AttributeType type, U32 inde count = mNumVerts - index; } - if (!gGLManager.mIsApple) + if (!gGLManager.mIsApple || sMPVertexBufferMode == 1) { U32 start = mOffsets[type] + sTypeSize[type] * index; U32 end = start + sTypeSize[type] * count-1; @@ -1325,7 +1335,7 @@ U8* LLVertexBuffer::mapIndexBuffer(U32 index, S32 count) count = mNumIndices-index; } - if (!gGLManager.mIsApple) + if (!gGLManager.mIsApple || sMPVertexBufferMode == 1) { U32 start = sizeof(U16) * index; U32 end = start + sizeof(U16) * count-1; @@ -1362,13 +1372,35 @@ void LLVertexBuffer::flush_vbo(GLenum target, U32 start, U32 end, void* data, U8 { if (gGLManager.mIsApple) { + if(sMPVertexBufferMode == 1) + { + //LL_WARNS() << "flush_vbo mode 1" << LL_ENDL; + + U32 MapBits = GL_MAP_WRITE_BIT; + //U32 MapBits = GL_MAP_READ_BIT; + U32 buffer_size = end-start+1; + + U8 * mptr = NULL; + mptr = (U8*) glMapBufferRange( target, start, end-start+1, MapBits); + + if (mptr) + { + std::memcpy(mptr, (U8*) data, buffer_size); + if(!glUnmapBuffer(target)) LL_WARNS() << "glUnmapBuffer() failed" << LL_ENDL; + } + else LL_WARNS() << "glMapBufferRange() returned NULL" << LL_ENDL; + + } + else + { + //LL_WARNS() << "flush_vbo mode 0" << LL_ENDL; // on OS X, flush_vbo doesn't actually write to the GL buffer, so be sure to call // _mapBuffer to tag the buffer for flushing to GL _mapBuffer(); LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("vb memcpy"); - STOP_GLERROR; // copy into mapped buffer memcpy(dst+start, data, end-start+1); + } } else { @@ -1412,7 +1444,6 @@ void LLVertexBuffer::_mapBuffer() void LLVertexBuffer::_unmapBuffer() { - STOP_GLERROR; if (!mMapped) { return; @@ -1426,16 +1457,16 @@ void LLVertexBuffer::_unmapBuffer() } }; - if (gGLManager.mIsApple) + if (gGLManager.mIsApple && sMPVertexBufferMode == 0) { - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::_unmapBuffer() - apple 1"); if (mMappedData) { - if (mGLBuffer) + if(mGLBuffer == 0) { - delete_buffers(1, &mGLBuffer); + LL_WARNS() << "mGLBuffer is ZERO in unmapbuffer" << LL_ENDL; + glGenBuffers(1, &mGLBuffer); } - mGLBuffer = gen_buffer(); glBindBuffer(GL_ARRAY_BUFFER, mGLBuffer); sGLRenderBuffer = mGLBuffer; glBufferData(GL_ARRAY_BUFFER, mSize, mMappedData, GL_STATIC_DRAW); @@ -1445,16 +1476,16 @@ void LLVertexBuffer::_unmapBuffer() glBindBuffer(GL_ARRAY_BUFFER, mGLBuffer); sGLRenderBuffer = mGLBuffer; } - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::_unmapBuffer() - apple 2"); if (mMappedIndexData) { - if (mGLIndices) + if (mGLIndices == 0) { - delete_buffers(1, &mGLIndices); + LL_WARNS() << "mGLIndices is ZERO in unmapbuffer" << LL_ENDL; + glGenBuffers(1, &mGLIndices); } - mGLIndices = gen_buffer(); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mGLIndices); sGLRenderIndices = mGLIndices; @@ -1465,7 +1496,7 @@ void LLVertexBuffer::_unmapBuffer() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mGLIndices); sGLRenderIndices = mGLIndices; } - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::_unmapBuffer() - apple 3"); } else { @@ -1656,11 +1687,10 @@ bool LLVertexBuffer::getClothWeightStrider(LLStrider<LLVector4>& strider, U32 in // Set for rendering void LLVertexBuffer::setBuffer() { - STOP_GLERROR; if (mMapped) { - LL_WARNS_ONCE() << "Missing call to unmapBuffer or flushBuffers" << LL_ENDL; + LL_WARNS() << "Missing call to unmapBuffer or flushBuffers" << LL_ENDL; _unmapBuffer(); } @@ -1680,6 +1710,11 @@ void LLVertexBuffer::setBuffer() if (sGLRenderBuffer != mGLBuffer) { + if(mGLBuffer == 0) + { + LL_WARNS() << "mGLBuffer is ZERO: sGLRenderBuffer=" << sGLRenderBuffer << LL_ENDL; + } + glBindBuffer(GL_ARRAY_BUFFER, mGLBuffer); sGLRenderBuffer = mGLBuffer; @@ -1697,113 +1732,141 @@ void LLVertexBuffer::setBuffer() sGLRenderIndices = mGLIndices; } - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::setBuffer()"); } // virtual (default) void LLVertexBuffer::setupVertexBuffer() { - STOP_GLERROR; + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer()"); U8* base = nullptr; - AttributeType loc; - void* ptr = nullptr; - U32 data_mask = LLGLSLShader::sCurBoundShaderPtr->mAttributeMask; if (data_mask & MAP_NORMAL) { - loc = TYPE_NORMAL; - ptr = (void*)(base + mOffsets[TYPE_NORMAL]); + AttributeType loc = TYPE_NORMAL; + void* ptr = (void*)(base + mOffsets[TYPE_NORMAL]); glVertexAttribPointer(loc, 3, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_NORMAL], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_NORMAL"); } if (data_mask & MAP_TEXCOORD3) { - loc = TYPE_TEXCOORD3; - ptr = (void*)(base + mOffsets[TYPE_TEXCOORD3]); + AttributeType loc = TYPE_TEXCOORD3; + void* ptr = (void*)(base + mOffsets[TYPE_TEXCOORD3]); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD3], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TEXCOORD3"); } if (data_mask & MAP_TEXCOORD2) { - loc = TYPE_TEXCOORD2; - ptr = (void*)(base + mOffsets[TYPE_TEXCOORD2]); + AttributeType loc = TYPE_TEXCOORD2; + void* ptr = (void*)(base + mOffsets[TYPE_TEXCOORD2]); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD2], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TEXCOORD2"); } if (data_mask & MAP_TEXCOORD1) { - loc = TYPE_TEXCOORD1; - ptr = (void*)(base + mOffsets[TYPE_TEXCOORD1]); + AttributeType loc = TYPE_TEXCOORD1; + void* ptr = (void*)(base + mOffsets[TYPE_TEXCOORD1]); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD1], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TEXCOORD1"); } if (data_mask & MAP_TANGENT) { - loc = TYPE_TANGENT; - ptr = (void*)(base + mOffsets[TYPE_TANGENT]); + AttributeType loc = TYPE_TANGENT; + void* ptr = (void*)(base + mOffsets[TYPE_TANGENT]); glVertexAttribPointer(loc, 4, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_TANGENT], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TANGENT"); } if (data_mask & MAP_TEXCOORD0) { - loc = TYPE_TEXCOORD0; - ptr = (void*)(base + mOffsets[TYPE_TEXCOORD0]); + AttributeType loc = TYPE_TEXCOORD0; + //glEnableVertexAttribArray(loc); + void* ptr = (void*)(base + mOffsets[TYPE_TEXCOORD0]); glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD0], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TEXCOORD0"); } if (data_mask & MAP_COLOR) { - loc = TYPE_COLOR; + AttributeType loc = TYPE_COLOR; //bind emissive instead of color pointer if emissive is present - ptr = (data_mask & MAP_EMISSIVE) ? (void*)(base + mOffsets[TYPE_EMISSIVE]) : (void*)(base + mOffsets[TYPE_COLOR]); + void* ptr = (data_mask & MAP_EMISSIVE) ? (void*)(base + mOffsets[TYPE_EMISSIVE]) : (void*)(base + mOffsets[TYPE_COLOR]); glVertexAttribPointer(loc, 4, GL_UNSIGNED_BYTE, GL_TRUE, LLVertexBuffer::sTypeSize[TYPE_COLOR], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_COLOR"); } if (data_mask & MAP_EMISSIVE) { - loc = TYPE_EMISSIVE; - ptr = (void*)(base + mOffsets[TYPE_EMISSIVE]); + AttributeType loc = TYPE_EMISSIVE; + void* ptr = (void*)(base + mOffsets[TYPE_EMISSIVE]); glVertexAttribPointer(loc, 4, GL_UNSIGNED_BYTE, GL_TRUE, LLVertexBuffer::sTypeSize[TYPE_EMISSIVE], ptr); + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_EMISSIVE"); + if (!(data_mask & MAP_COLOR)) { //map emissive to color channel when color is not also being bound to avoid unnecessary shader swaps loc = TYPE_COLOR; glVertexAttribPointer(loc, 4, GL_UNSIGNED_BYTE, GL_TRUE, LLVertexBuffer::sTypeSize[TYPE_EMISSIVE], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_COLOR"); } } if (data_mask & MAP_WEIGHT) { - loc = TYPE_WEIGHT; - ptr = (void*)(base + mOffsets[TYPE_WEIGHT]); + AttributeType loc = TYPE_WEIGHT; + void* ptr = (void*)(base + mOffsets[TYPE_WEIGHT]); glVertexAttribPointer(loc, 1, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_WEIGHT], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_WEIGHT"); } if (data_mask & MAP_WEIGHT4) { - loc = TYPE_WEIGHT4; - ptr = (void*)(base + mOffsets[TYPE_WEIGHT4]); + AttributeType loc = TYPE_WEIGHT4; + void* ptr = (void*)(base + mOffsets[TYPE_WEIGHT4]); glVertexAttribPointer(loc, 4, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_WEIGHT4], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_WEIGHT4"); } if (data_mask & MAP_JOINT) { - loc = TYPE_JOINT; - ptr = (void*)(base + mOffsets[TYPE_JOINT]); + AttributeType loc = TYPE_JOINT; + void* ptr = (void*)(base + mOffsets[TYPE_JOINT]); glVertexAttribIPointer(loc, 4, GL_UNSIGNED_SHORT, LLVertexBuffer::sTypeSize[TYPE_JOINT], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_JOINT"); } if (data_mask & MAP_CLOTHWEIGHT) { - loc = TYPE_CLOTHWEIGHT; - ptr = (void*)(base + mOffsets[TYPE_CLOTHWEIGHT]); + AttributeType loc = TYPE_CLOTHWEIGHT; + void* ptr = (void*)(base + mOffsets[TYPE_CLOTHWEIGHT]); glVertexAttribPointer(loc, 4, GL_FLOAT, GL_TRUE, LLVertexBuffer::sTypeSize[TYPE_CLOTHWEIGHT], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_CLOTHWEIGHT"); } + if (data_mask & MAP_TEXTURE_INDEX) { - loc = TYPE_TEXTURE_INDEX; - ptr = (void*)(base + mOffsets[TYPE_VERTEX] + 12); + AttributeType loc = TYPE_TEXTURE_INDEX; + void* ptr = (void*)(base + mOffsets[TYPE_VERTEX] + 12); glVertexAttribIPointer(loc, 1, GL_UNSIGNED_INT, LLVertexBuffer::sTypeSize[TYPE_VERTEX], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_TEXTURE_INDEX"); } if (data_mask & MAP_VERTEX) { - loc = TYPE_VERTEX; - ptr = (void*)(base + mOffsets[TYPE_VERTEX]); + AttributeType loc = TYPE_VERTEX; + void* ptr = (void*)(base + mOffsets[TYPE_VERTEX]); glVertexAttribPointer(loc, 3, GL_FLOAT, GL_FALSE, LLVertexBuffer::sTypeSize[TYPE_VERTEX], ptr); + + LOG_GLERROR("LLVertexBuffer::setupVertexBuffer TYPE_VERTEX"); } - STOP_GLERROR; } void LLVertexBuffer::setPositionData(const LLVector4a* data) @@ -1917,3 +1980,7 @@ void LLVertexBuffer::setIndexData(const U32* data, U32 offset, U32 count) } flush_vbo(GL_ELEMENT_ARRAY_BUFFER, offset * sizeof(U32), (offset + count) * sizeof(U32) - 1, (U8*)data, mMappedIndexData); } + + + + diff --git a/indra/llrender/llvertexbuffer.h b/indra/llrender/llvertexbuffer.h index 375ad76fb8..bf5f2b5ab6 100644 --- a/indra/llrender/llvertexbuffer.h +++ b/indra/llrender/llvertexbuffer.h @@ -109,7 +109,7 @@ public: return *this; } - static void initClass(LLWindow* window); + static void initClass(LLWindow* window, U32 mode_ = 0); static void cleanupClass(); static void setupClientArrays(U32 data_mask); static void drawArrays(U32 mode, const std::vector<LLVector3>& pos); @@ -128,6 +128,8 @@ public: // flush any pending mapped buffers static void flushBuffers(); + static U32 getVertexBufferMode(); + //WARNING -- when updating these enums you MUST // 1 - update LLVertexBuffer::sTypeSize // 2 - update LLVertexBuffer::vb_type_name diff --git a/indra/llwindow/llopenglview-objc.h b/indra/llwindow/llopenglview-objc.h index 97f4125484..fabce18b6a 100644 --- a/indra/llwindow/llopenglview-objc.h +++ b/indra/llwindow/llopenglview-objc.h @@ -43,6 +43,8 @@ bool mMarkedTextAllowed; bool mSimulatedRightClick; bool mOldResize; + + bool mHDRDisplay; } - (id) initWithSamples:(NSUInteger)samples; - (id) initWithSamples:(NSUInteger)samples andVsync:(BOOL)vsync; diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 3cb6686c02..e8276e523f 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -29,6 +29,7 @@ #import "llappdelegate-objc.h" extern BOOL gHiDPISupport; +extern BOOL gHDRDisplaySupport; #pragma mark local functions @@ -64,16 +65,16 @@ attributedStringInfo getSegments(NSAttributedString *str) segment_standouts seg_standouts; NSRange effectiveRange; NSRange limitRange = NSMakeRange(0, [str length]); - + while (limitRange.length > 0) { NSNumber *attr = [str attribute:NSUnderlineStyleAttributeName atIndex:limitRange.location longestEffectiveRange:&effectiveRange inRange:limitRange]; limitRange = NSMakeRange(NSMaxRange(effectiveRange), NSMaxRange(limitRange) - NSMaxRange(effectiveRange)); - + if (effectiveRange.length <= 0) { effectiveRange.length = 1; } - + if ([attr integerValue] == 2) { seg_lengths.push_back(effectiveRange.length); @@ -96,12 +97,12 @@ attributedStringInfo getSegments(NSAttributedString *str) + (NSScreen *)currentScreenForMouseLocation { NSPoint mouseLocation = [NSEvent mouseLocation]; - + NSEnumerator *screenEnumerator = [[NSScreen screens] objectEnumerator]; NSScreen *screen; while ((screen = [screenEnumerator nextObject]) && !NSMouseInRect(mouseLocation, screen.frame, NO)) ; - + return screen; } @@ -110,7 +111,7 @@ attributedStringInfo getSegments(NSAttributedString *str) { float normalizedX = fabs(fabs(self.frame.origin.x) - fabs(aPoint.x)); float normalizedY = aPoint.y - self.frame.origin.y; - + return NSMakePoint(normalizedX, normalizedY); } @@ -153,24 +154,30 @@ attributedStringInfo getSegments(NSAttributedString *str) { vram_megabytes = 256; } - + return (unsigned long)vram_megabytes; // return value is in megabytes. } +- (void)viewWillMoveToWindow:(nullable NSWindow *)newWindow +{ + if(mHDRDisplay) self.wantsExtendedDynamicRangeOpenGLSurface = YES; + //else self.wantsExtendedDynamicRangeOpenGLSurface = NO; +} + - (void)viewDidMoveToWindow { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowResized:) name:NSWindowDidResizeNotification object:[self window]]; - + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowWillMiniaturize:) name:NSWindowWillMiniaturizeNotification object:[self window]]; - + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidDeminiaturize:) name:NSWindowDidDeminiaturizeNotification object:[self window]]; - + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object:[self window]]; @@ -246,52 +253,90 @@ attributedStringInfo getSegments(NSAttributedString *str) { [self registerForDraggedTypes:[NSArray arrayWithObject:NSURLPboardType]]; [self initWithFrame:frame]; - + // Initialize with a default "safe" pixel format that will work with versions dating back to OS X 10.6. // Any specialized pixel formats, i.e. a core profile pixel format, should be initialized through rebuildContextWithFormat. // 10.7 and 10.8 don't really care if we're defining a profile or not. If we don't explicitly request a core or legacy profile, it'll always assume a legacy profile (for compatibility reasons). - NSOpenGLPixelFormatAttribute attrs[] = { - NSOpenGLPFANoRecovery, + NSOpenGLPixelFormatAttribute SDRAttrs[] = { NSOpenGLPFADoubleBuffer, - NSOpenGLPFAClosestPolicy, - NSOpenGLPFAAccelerated, NSOpenGLPFASampleBuffers, 0, NSOpenGLPFASamples, 0, NSOpenGLPFAStencilSize, 8, NSOpenGLPFADepthSize, 24, - NSOpenGLPFAAlphaSize, 8, - NSOpenGLPFAColorSize, 24, NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion4_1Core, 0 }; - - NSOpenGLPixelFormat *pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attrs] autorelease]; + + + NSOpenGLPixelFormatAttribute HDRAttrs[] = { + NSOpenGLPFADoubleBuffer, + NSOpenGLPFASampleBuffers, 0, + NSOpenGLPFASamples, 0, + NSOpenGLPFAStencilSize, 8, + NSOpenGLPFAColorFloat, + NSOpenGLPFAColorSize, 64, + NSOpenGLPFADepthSize, 24, + NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion4_1Core, + 0}; + + NSOpenGLPixelFormat *pixelFormat = nil; + + mHDRDisplay = NO; + + if(gHDRDisplaySupport) + { + pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:HDRAttrs] autorelease]; + if (pixelFormat == nil) + { + NSLog(@"Failed to create pixel format for HDR Display!", nil); + pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:SDRAttrs] autorelease]; + } + else + { + mHDRDisplay = YES; + } + } + else + { + pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:SDRAttrs] autorelease]; + } if (pixelFormat == nil) { NSLog(@"Failed to create pixel format!", nil); return nil; } - + NSOpenGLContext *glContext = [[NSOpenGLContext alloc] initWithFormat:pixelFormat shareContext:nil]; - + if (glContext == nil) { NSLog(@"Failed to create OpenGL context!", nil); return nil; } - + [self setPixelFormat:pixelFormat]; + if(mHDRDisplay) + { + CGColorSpaceRef color_space = [self.window.colorSpace CGColorSpace]; + CGColorSpaceRef color_space_extended = CGColorSpaceCreateExtended(color_space); + NSColorSpace* extended_ns_color_space + = [[NSColorSpace alloc] initWithCGColorSpace:color_space_extended]; + + self.window.colorSpace = extended_ns_color_space; + CGColorSpaceRelease(color_space_extended); + } + //for retina support [self setWantsBestResolutionOpenGLSurface:gHiDPISupport]; [self setOpenGLContext:glContext]; - + [glContext setView:self]; - + [glContext makeCurrentContext]; - + if (vsync) { GLint value = 1; @@ -303,9 +348,9 @@ attributedStringInfo getSegments(NSAttributedString *str) GLint swapInterval=0; [glContext setValues:&swapInterval forParameter:NSOpenGLCPSwapInterval]; } - + mOldResize = false; - + return self; } @@ -317,16 +362,16 @@ attributedStringInfo getSegments(NSAttributedString *str) - (BOOL) rebuildContextWithFormat:(NSOpenGLPixelFormat *)format { NSOpenGLContext *ctx = [self openGLContext]; - + [ctx clearDrawable]; [ctx initWithFormat:format shareContext:nil]; - + if (ctx == nil) { NSLog(@"Failed to create OpenGL context!", nil); return false; } - + [self setOpenGLContext:ctx]; [ctx setView:self]; [ctx makeCurrentContext]; @@ -413,9 +458,9 @@ attributedStringInfo getSegments(NSAttributedString *str) float(dev_delta.x), float(dev_delta.y) }; - + callDeltaUpdate(mouseDeltas, 0); - + NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow]; mMousePos[0] = mPoint.x; mMousePos[1] = mPoint.y; @@ -437,9 +482,9 @@ attributedStringInfo getSegments(NSAttributedString *str) float(dev_delta.x), float(dev_delta.y) }; - + callDeltaUpdate(mouseDeltas, 0); - + NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow]; mMousePos[0] = mPoint.x; mMousePos[1] = mPoint.y; @@ -469,7 +514,7 @@ attributedStringInfo getSegments(NSAttributedString *str) - (void) otherMouseDragged:(NSEvent *)theEvent { - [self mouseDragged:theEvent]; + [self mouseDragged:theEvent]; } - (void) scrollWheel:(NSEvent *)theEvent @@ -493,7 +538,7 @@ attributedStringInfo getSegments(NSAttributedString *str) { NativeKeyEventData eventData = extractKeyDataFromKeyEvent(theEvent); eventData.mKeyEvent = NativeKeyEventData::KEYDOWN; - + uint keycode = [theEvent keyCode]; // We must not depend on flagsChange event to detect modifier flags changed, // must depend on the modifire flags in the event parameter. @@ -527,13 +572,13 @@ attributedStringInfo getSegments(NSAttributedString *str) - (void)flagsChanged:(NSEvent *)theEvent { NativeKeyEventData eventData = extractKeyDataFromModifierEvent(theEvent); - + mModifiers = [theEvent modifierFlags]; callModifier([theEvent modifierFlags]); - + NSInteger mask = 0; switch([theEvent keyCode]) - { + { case 56: mask = NSShiftKeyMask; break; @@ -544,9 +589,9 @@ attributedStringInfo getSegments(NSAttributedString *str) mask = NSControlKeyMask; break; default: - return; + return; } - + if (mModifiers & mask) { eventData.mKeyEvent = NativeKeyEventData::KEYDOWN; @@ -565,7 +610,7 @@ attributedStringInfo getSegments(NSAttributedString *str) { eventData.mKeyEvent = NativeKeyEventData::KEYUP; callKeyUp(&eventData, [theEvent keyCode], 0); - } + } } - (BOOL) acceptsFirstResponder @@ -577,11 +622,11 @@ attributedStringInfo getSegments(NSAttributedString *str) { NSPasteboard *pboard; NSDragOperation sourceDragMask; - + sourceDragMask = [sender draggingSourceOperationMask]; - + pboard = [sender draggingPasteboard]; - + if ([[pboard types] containsObject:NSURLPboardType]) { if (sourceDragMask & NSDragOperationLink) { @@ -596,7 +641,7 @@ attributedStringInfo getSegments(NSAttributedString *str) - (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender { callHandleDragUpdated(mLastDraggedUrl); - + return NSDragOperationLink; } @@ -650,12 +695,12 @@ attributedStringInfo getSegments(NSAttributedString *str) unsigned(selectedRange.location), unsigned(selectedRange.length) }; - + unsigned int replacement[2] = { unsigned(replacementRange.location), unsigned(replacementRange.length) }; - + int string_length = [aString length]; unichar *text = new unichar[string_length]; attributedStringInfo segments; @@ -756,7 +801,7 @@ attributedStringInfo getSegments(NSAttributedString *str) return; } } - + @try { if (!mHasMarkedText) @@ -769,7 +814,7 @@ attributedStringInfo getSegments(NSAttributedString *str) resetPreedit(); // We may never get this point since unmarkText may be called before insertText ever gets called once we submit our text. // But just in case... - + for (NSInteger i = 0; i < [aString length]; i++) { handleUnicodeCharacter([aString characterAtIndex:i]); @@ -915,10 +960,10 @@ attributedStringInfo getSegments(NSAttributedString *str) NSPoint screenPoint = [[view window] convertBaseToScreen:windowPoint]; NSPoint flippedScreenPoint = [currentScreen flipPoint:screenPoint]; flippedScreenPoint.y += [currentScreen frame].origin.y; - + return flippedScreenPoint; } - + return NSZeroPoint; } diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index c97e014e46..3aca4660f3 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -38,7 +38,6 @@ #include "lldir.h" #include "indra_constants.h" - #include <OpenGL/OpenGL.h> #include <Carbon/Carbon.h> #include <CoreServices/CoreServices.h> @@ -53,6 +52,7 @@ extern bool gDebugWindowProc; bool gHiDPISupport = true; +bool gHDRDisplaySupport = false; const S32 BITS_PER_PIXEL = 32; const S32 MAX_NUM_RESOLUTIONS = 32; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ab236f2fba..503f2760a8 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8569,7 +8569,7 @@ <key>Type</key> <string>F32</string> <key>Value</key> - <real>1.4</real> + <real>1.0</real> </map> <key>RenderShadowBlurSamples</key> <map> @@ -9348,9 +9348,9 @@ <key>Persist</key> <integer>1</integer> <key>Type</key> - <string>U32</string> + <string>F32</string> <key>Value</key> - <integer>1</integer> + <integer>1.0</integer> </map> <key>RenderShaderLightingMaxLevel</key> <map> @@ -14385,7 +14385,133 @@ <!-- megapahit settings --> - <key>MPVBufferOptiMode</key> + + <key>MPVertexBufferMode</key> + <map> + <key>Comment</key> + <string>Vertex Buffer Mode for Mac (0=LL, 1=MP)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>0</integer> + </map> + <key>MPHDRDisplay</key> + <map> + <key>Comment</key> + <string>Enable / Disable HDR Display Support (Mac)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> + <key>MPHDRBoost</key> + <map> + <key>Comment</key> + <string>HDR Boost</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <integer>1.5</integer> + </map> + <key>MPHDRGamma</key> + <map> + <key>Comment</key> + <string>HDR Gamma</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <integer>2.4</integer> + </map> + <key>MPHDRUIBoost</key> + <map> + <key>Comment</key> + <string>HDR UI Boost</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <integer>1.5</integer> + </map> + <key>MPColorPrecision</key> + <map> + <key>Comment</key> + <string>Color buffers precision</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>0</integer> + </map> + <key>MPNoGLDebug</key> + <map> + <key>Comment</key> + <string>Enable / Disable GL Debug</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> + <key>MPGamma</key> + <map> + <key>Comment</key> + <string>Enable / Disable Gamma</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> + <key>MPTone</key> + <map> + <key>Comment</key> + <string>Enable / Disable Tonemap</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> + <key>MPGlow</key> + <map> + <key>Comment</key> + <string>Enable / Disable Glow</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> + <key>MPLuminanceMipmap</key> + <map> + <key>Comment</key> + <string> + Luminance Map Mipmaps: + (set to 0 to fix post-processing slowdowns) + 0:no + 1:yes + </string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> + <key>Value</key> + <integer>1</integer> + </map> <map> <key>Comment</key> <string> @@ -14401,17 +14527,127 @@ <key>Value</key> <integer>0</integer> </map> - <key>MPRenderShadowOpti</key> + <key>MPRenderShadowMaxDist</key> <map> <key>Comment</key> - <string>Shadows Optimisations</string> + <string>Shadows Max Draw distance</string> <key>Persist</key> <integer>1</integer> <key>Type</key> - <string>S32</string> + <string>F32</string> + <key>Value</key> + <integer>64</integer> + </map> + <key>MPRenderBloom</key> + <map> + <key>Comment</key> + <string>Automatic bloom (n blur iterations, 0: Disable)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>U32</string> <key>Value</key> <integer>0</integer> </map> + <key>MPBloomExtractBrightness</key> + <map> + <key>Comment</key> + <string>Auto bloom: Min extracted brightness</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.20</real> + </map> + <key>MPBloomExtractMetal</key> + <map> + <key>Comment</key> + <string>Auto bloom: Metal roughness limit filter</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.40</real> + </map> + <key>MPBloomExtractNonMetal</key> + <map> + <key>Comment</key> + <string>Auto bloom: Non Metal roughness limit filter</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.0</real> + </map> + <key>MPBloomStrength</key> + <map> + <key>Comment</key> + <string>Auto bloom Strength (0.1 to 1.5)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>1.0</real> + </map> + <key>MPBloomBlurRadius</key> + <map> + <key>Comment</key> + <string>Auto bloom: Radius</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>1.5</real> + </map> + <key>MPBloomBlurRadiusAdd</key> + <map> + <key>Comment</key> + <string>Auto bloom: Radius add</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.9</real> + </map> + <key>MPRenderProbeUpdatePeriod</key> + <map> + <key>Comment</key> + <string>Delay between probes updates</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>15.0</real> + </map> + <key>MPRenderProbeSlowDown</key> + <map> + <key>Comment</key> + <string>Slow down probes updates</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.05</real> + </map> + <key>MPRenderProbeProgressive</key> + <map> + <key>Comment</key> + <string>Calculate Radiance progressively</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <real>0</real> + </map> <key>MPVCameraCollapsed</key> <map> <key>Comment</key> diff --git a/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl new file mode 100644 index 0000000000..7107cfcbce --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/MPHDRDisplayGammaF.glsl @@ -0,0 +1,55 @@ +/** + * @file postDeferredGammaCorrect.glsl + * + * $LicenseInfo:firstyear=2007&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2007, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +/*[EXTRA_CODE_HERE]*/ + +out vec4 frag_color; + +uniform sampler2D diffuseRect; + +uniform float gamma = 2.2; +uniform float mpHDRBoost; + +in vec2 vary_fragcoord; + +vec3 clampHDRRange(vec3 color); + +vec3 HDRDisplayGamma(vec3 linearRGB) +{ + bvec3 cutoff = lessThan(linearRGB, vec3(0.0031308)); + vec3 higher = vec3(1.055)*pow(linearRGB, vec3(1.0/gamma)) - vec3(0.055); + vec3 lower = linearRGB * vec3(12.92); + + return mix(higher, lower, cutoff); +} + +void main() +{ + vec4 diff = texture(diffuseRect, vary_fragcoord); + diff.rgb = mpHDRBoost * HDRDisplayGamma(diff.rgb); + diff.rgb = clampHDRRange(diff.rgb); + frag_color = diff; +} + diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl index f1e0295859..084a334346 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaMaskShadowF.glsl @@ -23,7 +23,7 @@ * $/LicenseInfo$ */ -out vec4 frag_color; +//out vec4 frag_color; uniform float minimum_alpha; uniform sampler2D diffuseMap; @@ -49,5 +49,5 @@ void main() } } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl index 18ce998cb6..5986e8e462 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaShadowF.glsl @@ -23,7 +23,7 @@ * $/LicenseInfo$ */ -out vec4 frag_color; +//out vec4 frag_color; uniform float minimum_alpha; @@ -51,5 +51,5 @@ void main() } } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl index 37dcbbd328..4396ae89a4 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl @@ -25,10 +25,10 @@ /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color; void main() { - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl index dbaab9bbda..90d81ab6b2 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaBlendF.glsl @@ -23,7 +23,7 @@ * $/LicenseInfo$ */ -out vec4 frag_color; +//out vec4 frag_color; uniform sampler2D diffuseMap; @@ -52,5 +52,5 @@ void main() } } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl index 07a2218db2..2b314db51a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrShadowAlphaMaskF.glsl @@ -23,7 +23,7 @@ * $/LicenseInfo$ */ -out vec4 frag_color; +//out vec4 frag_color; uniform sampler2D diffuseMap; @@ -42,5 +42,5 @@ void main() discard; } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl index 4ccc6f54a8..197ce48a45 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredGammaCorrect.glsl @@ -30,7 +30,7 @@ out vec4 frag_color; uniform sampler2D diffuseRect; uniform float gamma; -uniform vec2 screen_res; +//uniform vec2 screen_res; in vec2 vary_fragcoord; vec3 linear_to_srgb(vec3 cl); diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl index f208ac746b..a37e970feb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl @@ -25,7 +25,7 @@ /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color; in vec4 post_pos; in float target_pos_x; @@ -59,5 +59,5 @@ void main() } } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl index b55d769fd6..c4e4c4d051 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl @@ -23,9 +23,9 @@ * $/LicenseInfo$ */ -out vec4 frag_color; +//out vec4 frag_color; void main() { - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl index 6f7bd2bf3c..033c2f924a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl @@ -113,8 +113,8 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen) if (spos.z > -shadow_clip.w) { vec4 lpos; - vec4 near_split = shadow_clip*-0.75; - vec4 far_split = shadow_clip*-1.25; + vec4 near_split = shadow_clip*-0.9; + vec4 far_split = shadow_clip*-1.1; vec4 transition_domain = near_split-far_split; float weight = 0.0; @@ -131,7 +131,10 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen) shadow += contrib; weight += w; } - shadow += max((pos.z+shadow_clip.z)/(shadow_clip.z-shadow_clip.w)*2.0-1.0, 0.0); + + //shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 2.0 - 1.0, 0.0); + shadow += max( (pos.z+shadow_clip.z) / (shadow_clip.z-shadow_clip.w) * 1.0, 0.0); + //shadow -= max( (shadow_clip.z + pos.z) / (shadow_clip.z - shadow_clip.w) , 0.0); } if (spos.z < near_split.y && spos.z > far_split.z) diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl index 33a5efa45d..4579d4fbe0 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/treeShadowF.glsl @@ -26,7 +26,7 @@ /*[EXTRA_CODE_HERE]*/ -out vec4 frag_color; +//out vec4 frag_color; uniform float minimum_alpha; @@ -43,5 +43,5 @@ void main() discard; } - frag_color = vec4(1,1,1,1); + //frag_color = vec4(1,1,1,1); } diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl new file mode 100644 index 0000000000..0efbbdce96 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomBlurF.glsl @@ -0,0 +1,37 @@ +out vec4 frag_color; + +in vec2 vary_texcoord0; + +uniform sampler2D bloomEMap; + +uniform bool bloomHorizontal; +uniform float bloomBlurRadius = 1.5; + +uniform float weight[5] = float[] (0.227027, 0.1945946, 0.1216216, 0.054054, 0.016216); + +void main() +{ + vec2 size = vec2(bloomBlurRadius, bloomBlurRadius); + + vec2 tex_offset = size / textureSize(bloomEMap, 0); // gets size of single texel + vec3 result = texture(bloomEMap, vary_texcoord0).rgb * weight[0]; // current fragment's contribution + + if(bloomHorizontal) + { + for(int i = 1; i < 5; i++) + { + result += texture(bloomEMap, vary_texcoord0 + vec2(tex_offset.x * i, 0.0)).rgb * weight[i]; + result += texture(bloomEMap, vary_texcoord0 - vec2(tex_offset.x * i, 0.0)).rgb * weight[i]; + } + } + else + { + for(int i = 1; i < 5; i++) + { + result += texture(bloomEMap, vary_texcoord0 + vec2(0.0, tex_offset.y * i)).rgb * weight[i]; + result += texture(bloomEMap, vary_texcoord0 - vec2(0.0, tex_offset.y * i)).rgb * weight[i]; + } + } + + frag_color = vec4(result, 1.0); +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl new file mode 100644 index 0000000000..e40b60ed3c --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomBlurV.glsl @@ -0,0 +1,8 @@ +in vec3 position; +out vec2 vary_texcoord0; + +void main() +{ + gl_Position = vec4(position, 1.0); + vary_texcoord0.xy = position.xy * 0.5 + 0.5; +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl new file mode 100644 index 0000000000..40cfdd6bff --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl @@ -0,0 +1,21 @@ +out vec4 frag_color; + +in vec2 vary_texcoord0; + +uniform sampler2D diffuseMap; +uniform sampler2D bloomBlurredMap; + +uniform float bloomStrength; +uniform float bloomClampValue; + +void main() +{ + vec4 hdrColor = texture(diffuseMap, vary_texcoord0); + vec4 bloomColor = texture(bloomBlurredMap, vary_texcoord0); + vec4 result = hdrColor; + + result.rgb += bloomStrength * bloomColor.rgb; + result.rgb = clamp(result.rgb, vec3(0.0), vec3(bloomClampValue)); + + frag_color = result; +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl new file mode 100644 index 0000000000..e40b60ed3c --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomCombineV.glsl @@ -0,0 +1,8 @@ +in vec3 position; +out vec2 vary_texcoord0; + +void main() +{ + gl_Position = vec4(position, 1.0); + vary_texcoord0.xy = position.xy * 0.5 + 0.5; +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl new file mode 100644 index 0000000000..d878ab053e --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl @@ -0,0 +1,81 @@ +out vec4 frag_color; + +uniform sampler2D diffuseMap; +uniform sampler2D bloomExtractORM; // orm +uniform sampler2D bloomExtractEmissive; // emissive +uniform sampler2D bloomExtractEmissive2; // emissive 2 + +uniform float bloomExtractBrightness = 0.9; +uniform float bloomExtractMetal = 0.20; +uniform float bloomExtractNonMetal = 0.20; + +in vec2 vary_texcoord0; + +void main() +{ + vec4 col = texture(diffuseMap, vary_texcoord0.xy); + + //int valid = 0; + //float brightness = dot(col.rgb, vec3(0.2126, 0.7152, 0.0722)); + float brightness = dot(col.rgb, vec3(0.3, 0.5, 0.2)); + + if(brightness < bloomExtractBrightness) + { + discard; + return; + } + + vec3 emi = texture(bloomExtractEmissive, vary_texcoord0.xy).rgb; + if(emi.r + emi.g + emi.b > 0.01) + { + discard; + return; + } + + emi = texture(bloomExtractEmissive2, vary_texcoord0.xy).rgb; + if(emi.r + emi.g + emi.b > 0.01) + { + discard; + return; + } + + vec4 orm = texture(bloomExtractORM, vary_texcoord0.xy); + + if(orm.r < 0.7) + { + discard; + return; + } + + if(bloomExtractMetal == 1.0 && bloomExtractNonMetal == 1.0) + { + frag_color = vec4(col.rgb, 0.0); + return; + } + + if(orm.b < 0.15) + { + // non metal + if(orm.g >= bloomExtractNonMetal) + { + discard; + return; + } + } + else if(orm.b > 0.8) + { + // metal + if(orm.g >= bloomExtractMetal) + { + discard; + return; + } + } + else + { + discard; + return; + } + + frag_color = vec4(col.rgb, 0.0); +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl new file mode 100644 index 0000000000..e40b60ed3c --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/effects/bloomExtractV.glsl @@ -0,0 +1,8 @@ +in vec3 position; +out vec2 vary_texcoord0; + +void main() +{ + gl_Position = vec4(position, 1.0); + vary_texcoord0.xy = position.xy * 0.5 + 0.5; +}
\ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl index 83fe1c505f..42cc333829 100644 --- a/indra/newview/app_settings/shaders/class1/interface/uiF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/uiF.glsl @@ -27,10 +27,12 @@ out vec4 frag_color; uniform sampler2D diffuseMap; +uniform float mpHDRBoost = 1.0; + in vec2 vary_texcoord0; in vec4 vertex_color; void main() { - frag_color = vertex_color*texture(diffuseMap, vary_texcoord0.xy); + frag_color = mpHDRBoost * vertex_color*texture(diffuseMap, vary_texcoord0.xy); } diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 3233afc28d..396ece9dc1 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -69,7 +69,7 @@ RenderMaxTextureIndex 1 16 RenderGLContextCoreProfile 1 1 RenderGLMultiThreadedTextures 1 1 RenderGLMultiThreadedMedia 1 1 -RenderAppleUseMultGL 1 1 +RenderAppleUseMultGL 1 0 RenderReflectionsEnabled 1 1 RenderReflectionProbeDetail 1 2 RenderScreenSpaceReflections 1 1 @@ -129,7 +129,8 @@ RenderTonemapType 1 1 RenderTonemapMix 1 0.7 RenderDisableVintageMode 1 0 RenderMaxTextureResolution 1 512 -RenderReflectionProbeCount 1 8 +RenderReflectionProbeCount 1 4 +RenderReflectionProbeDrawDistance 1 16.0 // @@ -152,7 +153,7 @@ RenderTerrainPBRDetail 1 -1 RenderTerrainPBRPlanarSampleCount 1 1 RenderTransparentWater 1 0 RenderTreeLODFactor 1 0.5 -RenderVolumeLODFactor 1 1.125 +RenderVolumeLODFactor 1 2.0 RenderDeferredSSAO 1 0 RenderShadowDetail 1 0 WLSkyDetail 1 96 @@ -173,7 +174,8 @@ RenderTonemapType 1 1 RenderTonemapMix 1 0.7 RenderDisableVintageMode 1 0 RenderMaxTextureResolution 1 1024 -RenderReflectionProbeCount 1 32 +RenderReflectionProbeCount 1 16 +RenderReflectionProbeDrawDistance 1 24.0 // // Medium Graphics Settings (standard) @@ -195,7 +197,7 @@ RenderTerrainPBRDetail 1 0 RenderTerrainPBRPlanarSampleCount 1 1 RenderTransparentWater 1 0 RenderTreeLODFactor 1 0.5 -RenderVolumeLODFactor 1 1.25 +RenderVolumeLODFactor 1 2.5 RenderDeferredSSAO 1 0 RenderShadowDetail 1 0 WLSkyDetail 1 96 @@ -216,6 +218,7 @@ RenderTonemapType 1 1 RenderTonemapMix 1 0.7 RenderMaxTextureResolution 1 2048 RenderReflectionProbeCount 1 64 +RenderReflectionProbeDrawDistance 1 32.0 // // Medium High Graphics Settings @@ -237,7 +240,7 @@ RenderTerrainPBRDetail 1 0 RenderTerrainPBRPlanarSampleCount 1 1 RenderTransparentWater 1 0 RenderTreeLODFactor 1 0.5 -RenderVolumeLODFactor 1 1.375 +RenderVolumeLODFactor 1 3.5 RenderDeferredSSAO 1 0 RenderShadowDetail 1 0 WLSkyDetail 1 96 @@ -279,7 +282,7 @@ RenderTerrainPBRDetail 1 0 RenderTerrainPBRPlanarSampleCount 1 3 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 -RenderVolumeLODFactor 1 1.5 +RenderVolumeLODFactor 1 3.8 RenderDeferredSSAO 1 1 RenderShadowDetail 1 1 WLSkyDetail 1 96 @@ -321,7 +324,7 @@ RenderTerrainPBRDetail 1 0 RenderTerrainPBRPlanarSampleCount 1 3 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 -RenderVolumeLODFactor 1 1.75 +RenderVolumeLODFactor 1 4.0 RenderDeferredSSAO 1 1 RenderShadowDetail 1 2 WLSkyDetail 1 96 @@ -362,7 +365,7 @@ RenderTerrainPBRDetail 1 0 RenderTerrainPBRPlanarSampleCount 1 3 RenderTransparentWater 1 1 RenderTreeLODFactor 1 1.0 -RenderVolumeLODFactor 1 2.0 +RenderVolumeLODFactor 1 4.0 WindLightUseAtmosShaders 1 1 WLSkyDetail 1 128 RenderDeferredSSAO 1 1 @@ -406,7 +409,7 @@ RenderCompressTextures 1 0 // list safe RenderAnisotropic 1 0 -RenderAvatarMaxNonImpostors 1 16 +RenderAvatarMaxNonImpostors 1 3 RenderAvatarMaxComplexity 1 80000 RenderLocalLightCount 1 0 RenderMaxPartCount 1 1024 diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 32f4421ce2..551d4fc5d9 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -305,6 +305,7 @@ extern bool gDebugGL; #if LL_DARWIN extern bool gHiDPISupport; +extern bool gHDRDisplaySupport; #endif //////////////////////////////////////////////////////////// @@ -596,6 +597,7 @@ static void settings_to_globals() LLWindowMacOSX::sUseMultGL = gSavedSettings.getBOOL("RenderAppleUseMultGL"); #endif // LL_SDL gHiDPISupport = gSavedSettings.getBOOL("RenderHiDPI"); + gHDRDisplaySupport = gSavedSettings.getBOOL("MPHDRDisplay"); #endif } @@ -607,6 +609,8 @@ static void settings_modify() LLVOSurfacePatch::sLODFactor = gSavedSettings.getF32("RenderTerrainLODFactor"); LLVOSurfacePatch::sLODFactor *= LLVOSurfacePatch::sLODFactor; //square lod factor to get exponential range of [1,4] gDebugGL = gDebugGLSession || gDebugSession; + bool noGLDebug = gSavedSettings.getBOOL("MPNoGLDebug"); + if(noGLDebug) gDebugGL = false; gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline"); } @@ -1310,11 +1314,15 @@ void LLAppViewer::initMaxHeapSize() //------------------------------------------------------------------------------------------ //currently SL is built under 32-bit setting, we set its max heap size no more than 1.6 GB. - #ifndef LL_X86_64 +/* +#ifndef LL_X86_64 F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize") ; #else +*/ F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize64"); +/* #endif +*/ LLMemory::initMaxHeapSizeGB(max_heap_size_gb); } @@ -1366,12 +1374,11 @@ bool LLAppViewer::frame() bool LLAppViewer::doFrame() { U32 fpsLimitMaxFps = (U32)gSavedSettings.getU32("MaxFPS"); - if(fpsLimitMaxFps>120) fpsLimitMaxFps=0; + if(fpsLimitMaxFps > 120) fpsLimitMaxFps = 0; using TimePoint = std::chrono::steady_clock::time_point; - - U64 fpsLimitSleepFor = 0; - TimePoint fpsLimitFrameStartTime = std::chrono::steady_clock::now(); + U64 additionalSleepTime = 0; + TimePoint frameStartTime = std::chrono::steady_clock::now(); #ifdef LL_DISCORD { @@ -1550,18 +1557,6 @@ bool LLAppViewer::doFrame() } } - if(fpsLimitMaxFps > 0) - { - auto elapsed = std::chrono::steady_clock::now() - fpsLimitFrameStartTime; - - long long fpsLimitFrameTime = std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count(); - U64 desired_time_us = (U32)(1000000.f / fpsLimitMaxFps); - if((fpsLimitFrameTime+1000) < desired_time_us) - { - fpsLimitSleepFor = (desired_time_us - fpsLimitFrameTime - 1000) * 1.0; - } - } - { LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df pauseMainloopTimeout"); pingMainloopTimeout("Main:Sleep"); @@ -1574,13 +1569,25 @@ bool LLAppViewer::doFrame() //LL_RECORD_BLOCK_TIME(SLEEP2); LL_PROFILE_ZONE_WARN("Sleep2"); - if(fpsLimitSleepFor) + auto elapsed = std::chrono::steady_clock::now() - frameStartTime; + long long frameTime = std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count(); + + if(fpsLimitMaxFps > 0) { -#if LL_WINDOWS - std::this_thread::sleep_for(std::chrono::microseconds(fpsLimitSleepFor)); -#else - usleep(fpsLimitSleepFor); -#endif + U64 desired_time_us = (U32)(1000000.f / fpsLimitMaxFps); + if((frameTime+1000) < desired_time_us) + { + additionalSleepTime = 0.92 * (F64)(desired_time_us - frameTime); + if(additionalSleepTime < 200) + { + additionalSleepTime = 0; + } + } + } + + if(additionalSleepTime > 0) + { + std::this_thread::sleep_for(std::chrono::microseconds(additionalSleepTime)); } // yield some time to the os based on command line option @@ -1676,6 +1683,9 @@ bool LLAppViewer::doFrame() LL_PROFILE_ZONE_NAMED_CATEGORY_APP("df resumeMainloopTimeout"); resumeMainloopTimeout(); } + + //swap(); + pingMainloopTimeout("Main:End"); } } diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index bf593bff07..c9470fe977 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -911,7 +911,8 @@ void LLBumpImageList::onSourceUpdated(LLViewerTexture* src, EBumpEffect bump_cod // generate normal map in empty texture { - sRenderTarget.bindTarget(); + sRenderTarget.bindTarget("", 1); + //sRenderTarget.clear(); LLGLDepthTest depth(GL_FALSE); LLGLDisable cull(GL_CULL_FACE); diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 7d58511d41..424bb02ae7 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -119,7 +119,8 @@ void LLDrawPoolWater::beginPostDeferredPass(S32 pass) LLRenderTarget& depth_src = gPipeline.mRT->deferredScreen; LLRenderTarget& dst = gPipeline.mWaterDis; - dst.bindTarget(); + dst.bindTarget("", 1); + //dst.clear(); gCopyDepthProgram.bind(); S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index fb4db9a216..e4b81ba00a 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -648,7 +648,7 @@ void LLFace::renderOneWireframe(const LLColor4 &color, F32 fogCfx, bool wirefram LLGLEnable offset(GL_POLYGON_OFFSET_LINE); #endif glPolygonOffset(3.f, 3.f); - glLineWidth(5.f); + //glLineWidth(5.f); #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); #endif diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index aa2578fec6..ac052d35e4 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -518,7 +518,8 @@ void LLFastTimerView::exportCharts(const std::string& base, const std::string& t //render charts gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - buffer.bindTarget(); + buffer.bindTarget("", 1); + buffer.clear(); for (std::set<std::string>::iterator iter = chart_names.begin(); iter != chart_names.end(); ++iter) { @@ -1057,8 +1058,7 @@ void LLFastTimerView::drawLineGraph() //fatten highlighted timer if (mHoverID == idp) { - gGL.flush(); - glLineWidth(3); + LLRender2D::setLineWidth(3.0); } llassert(idp->getIndex() < sTimerColors.size()); @@ -1118,8 +1118,7 @@ void LLFastTimerView::drawLineGraph() if (mHoverID == idp) { - gGL.flush(); - glLineWidth(1); + LLRender2D::setLineWidth(1.f); } if (idp->getTreeNode().mCollapsed) diff --git a/indra/newview/llfloaterperformance.h b/indra/newview/llfloaterperformance.h index 6cca85a009..48e7f4913f 100644 --- a/indra/newview/llfloaterperformance.h +++ b/indra/newview/llfloaterperformance.h @@ -33,6 +33,7 @@ class LLCharacter; class LLCheckBoxCtrl; class LLNameListCtrl; class LLTextBox; +class LLSliderCtrl; class LLFloaterPerformance : public LLFloater { diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index b74736a39d..99b871b484 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -2378,6 +2378,7 @@ private: }; static LLPanelInjector<LLPanelPreferenceGraphics> t_pref_graph("panel_preference_graphics"); +static LLPanelInjector<LLPanelPreferenceGraphics3> t_pref_graph3("panel_preference_graphics3"); static LLPanelInjector<LLPanelPreferencePrivacy> t_pref_privacy("panel_preference_privacy"); bool LLPanelPreferenceGraphics::postBuild() @@ -2547,6 +2548,174 @@ void LLPanelPreferenceGraphics::setHardwareDefaults() resetDirtyChilds(); } +// LLPanelPreferenceGraphics3 (Visuals Effects) + +bool LLPanelPreferenceGraphics3::postBuild() +{ + getChild<LLButton>("MPBalancedButton")->setCommitCallback(boost::bind(&LLPanelPreferenceGraphics3::onMPRecommanded, this)); + return LLPanelPreference::postBuild(); +} + +void LLPanelPreferenceGraphics3::draw() +{ + LLPanelPreference::draw(); +} + +bool LLPanelPreferenceGraphics3::hasDirtyChilds() +{ + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + std::list<LLView*> view_stack; + view_stack.push_back(this); + if (advanced) + { + view_stack.push_back(advanced); + } + while(!view_stack.empty()) + { + // Process view on top of the stack + LLView* curview = view_stack.front(); + view_stack.pop_front(); + + LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview); + if (ctrl) + { + if (ctrl->isDirty()) + { + LLControlVariable* control = ctrl->getControlVariable(); + if (control) + { + std::string control_name = control->getName(); + if (!control_name.empty()) + { + return true; + } + } + } + } + // Push children onto the end of the work stack + for (child_list_t::const_iterator iter = curview->getChildList()->begin(); + iter != curview->getChildList()->end(); ++iter) + { + view_stack.push_back(*iter); + } + } + + return false; +} + +void LLPanelPreferenceGraphics3::resetDirtyChilds() +{ + LLFloater* advanced = LLFloaterReg::findTypedInstance<LLFloater>("prefs_graphics_advanced"); + std::list<LLView*> view_stack; + view_stack.push_back(this); + if (advanced) + { + view_stack.push_back(advanced); + } + while(!view_stack.empty()) + { + // Process view on top of the stack + LLView* curview = view_stack.front(); + view_stack.pop_front(); + + LLUICtrl* ctrl = dynamic_cast<LLUICtrl*>(curview); + if (ctrl) + { + ctrl->resetDirty(); + } + // Push children onto the end of the work stack + for (child_list_t::const_iterator iter = curview->getChildList()->begin(); + iter != curview->getChildList()->end(); ++iter) + { + view_stack.push_back(*iter); + } + } +} + +void LLPanelPreferenceGraphics3::cancel(const std::vector<std::string> settings_to_skip) +{ + LLPanelPreference::cancel(settings_to_skip); +} +void LLPanelPreferenceGraphics3::saveSettings() +{ + resetDirtyChilds(); + std::string preset_graphic_active = gSavedSettings.getString("PresetGraphicActive"); + if (preset_graphic_active.empty()) + { + LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences"); + if (instance) + { + //don't restore previous preset after closing Preferences + instance->saveGraphicsPreset(preset_graphic_active); + } + } + LLPanelPreference::saveSettings(); +} + +void LLPanelPreferenceGraphics3::onMPRecommanded() +{ + //LL_WARNS() << "onClickMPRecommanded()" << LL_ENDL; + + // LOD + + gSavedSettings.setF32("RenderVolumeLODFactor", 3.5); + gSavedSettings.setF32("RenderAvatarPhysicsLODFactor", 1.0); + + // AA + + gSavedSettings.setU32("RenderFSAAType", 2); + gSavedSettings.setU32("RenderFSAASamples", 2); + + gSavedSettings.setBOOL("RenderAnisotropic", false); + + // Shadows + + gSavedSettings.setS32("RenderShadowDetail", 0); + gSavedSettings.setF32("MPRenderShadowMaxDist", 40.0); + gSavedSettings.setF32("RenderShadowResolutionScale", 2.0); + gSavedSettings.setF32("RenderShadowBlurSize", 0.2); + gSavedSettings.setBOOL("RenderDeferredSSAO", 0); + + // Bloom + + gSavedSettings.setU32("MPRenderBloom", 0); + gSavedSettings.setF32("MPBloomBlurRadius", 1.2); + gSavedSettings.setF32("MPBloomBlurRadiusAdd", 1.2); + gSavedSettings.setF32("MPBloomExtractBrightness", 0.1); + gSavedSettings.setF32("MPBloomStrength", 1.0); + + gSavedSettings.setF32("MPBloomExtractMetal", 0.4); + gSavedSettings.setF32("MPBloomExtractNonMetal", 0.0); + + // Probes + + gSavedSettings.setS32("RenderReflectionProbeDetail", 0); + gSavedSettings.setS32("RenderReflectionProbeLevel", 1); + gSavedSettings.setU32("RenderReflectionProbeCount", 32); + gSavedSettings.setU32("RenderReflectionProbeResolution", 128); + gSavedSettings.setF32("RenderReflectionProbeDrawDistance", 24.0); + gSavedSettings.setF32("RenderDefaultProbeUpdatePeriod", 20.0); + gSavedSettings.setF32("MPRenderProbeUpdatePeriod", 30.0); + gSavedSettings.setF32("MPRenderProbeSlowDown", 0.02); + + // Misc + + gSavedSettings.setBOOL("RenderDisableVintageMode", true); + gSavedSettings.setBOOL("RenderTransparentWater", true); + gSavedSettings.setU32("MPColorPrecision", 0); + + gSavedSettings.setU32("RenderResolutionDivisor", 1.0); + + gSavedSettings.setBOOL("RenderGLMultiThreadedTextures", false); + gSavedSettings.setBOOL("RenderAppleUseMultGL", false); + gSavedSettings.setBOOL("MPNoGLDebug", true); + + gSavedSettings.setBOOL("MPHDRDisplay", false); + gSavedSettings.setF32("MPHDRBoost", 1.0); + gSavedSettings.setF32("MPHDRUIBoost", 1.0); + gSavedSettings.setF32("MPHDRGamma", 2.4); +} + //------------------------LLPanelPreferenceControls-------------------------------- static LLPanelInjector<LLPanelPreferenceControls> t_pref_contrls("panel_preference_controls"); diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index fa9c421a8f..2c357f0551 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -313,6 +313,26 @@ private: LOG_CLASS(LLPanelPreferenceGraphics); }; +class LLPanelPreferenceGraphics3 : public LLPanelPreference +{ +public: + bool postBuild(); + void draw(); + void cancel(const std::vector<std::string> settings_to_skip = {}); + void saveSettings(); + void resetDirtyChilds(); + void onMPRecommanded(); + +protected: + bool hasDirtyChilds(); + + +private: + + + LOG_CLASS(LLPanelPreferenceGraphics3); +}; + class LLPanelPreferenceControls : public LLPanelPreference, public LLKeyBindResponderInterface { LOG_CLASS(LLPanelPreferenceControls); diff --git a/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp b/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp index 94b95b21c2..a8a1e507a8 100644 --- a/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp +++ b/indra/newview/llfloaterpreferencesgraphicsadvanced.cpp @@ -274,9 +274,7 @@ void LLFloaterPreferenceGraphicsAdvanced::setMaxNonImpostorsText(U32 value, LLTe void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings() { LLComboBox* ctrl_shadows = getChild<LLComboBox>("ShadowDetail"); - LLComboBox* ctrl_shadows_quality = getChild<LLComboBox>("MPShadowQuality"); LLTextBox* shadows_text = getChild<LLTextBox>("RenderShadowDetailText"); - LLTextBox* shadows_quality_text = getChild<LLTextBox>("RenderShadowQualityText"); LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO"); LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF"); LLSliderCtrl* sky = getChild<LLSliderCtrl>("SkyMeshDetail"); @@ -292,9 +290,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings() //deferred needs windlight, disable deferred ctrl_shadows->setEnabled(false); ctrl_shadows->setValue(0); - ctrl_shadows_quality->setEnabled(false); shadows_text->setEnabled(false); - shadows_quality_text->setEnabled(false); ctrl_ssao->setEnabled(false); ctrl_ssao->setValue(false); @@ -308,9 +304,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings() { ctrl_shadows->setEnabled(false); ctrl_shadows->setValue(0); - ctrl_shadows_quality->setEnabled(false); shadows_text->setEnabled(false); - shadows_quality_text->setEnabled(false); ctrl_ssao->setEnabled(false); ctrl_ssao->setValue(false); @@ -331,9 +325,7 @@ void LLFloaterPreferenceGraphicsAdvanced::disableUnavailableSettings() { ctrl_shadows->setEnabled(false); ctrl_shadows->setValue(0); - ctrl_shadows_quality->setEnabled(false); shadows_text->setEnabled(false); - shadows_quality_text->setEnabled(false); } // Vintage mode @@ -363,9 +355,7 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState() LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO"); LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF"); LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail"); - LLComboBox* ctrl_shadow_quality = getChild<LLComboBox>("MPShadowQuality"); LLTextBox* shadow_text = getChild<LLTextBox>("RenderShadowDetailText"); - LLTextBox* shadows_quality_text = getChild<LLTextBox>("RenderShadowQualityText"); // note, okay here to get from ctrl_deferred as it's twin, ctrl_deferred2 will alway match it enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferredSSAO");// && ctrl_deferred->get(); @@ -378,9 +368,7 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState() enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderShadowDetail"); ctrl_shadow->setEnabled(enabled); - ctrl_shadow_quality->setEnabled(enabled); shadow_text->setEnabled(enabled); - shadows_quality_text->setEnabled(enabled); // Hardware settings diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 112008172e..fffc520d9c 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -728,8 +728,7 @@ void LLViewerObjectList::renderObjectBeacons() S32 line_width = debug_beacon.mLineWidth; if (line_width != last_line_width) { - gGL.flush(); - glLineWidth( (F32)line_width ); + LLRender2D::setLineWidth(line_width); last_line_width = line_width; } @@ -758,8 +757,7 @@ void LLViewerObjectList::renderObjectBeacons() S32 line_width = debug_beacon.mLineWidth; if (line_width != last_line_width) { - gGL.flush(); - glLineWidth( (F32)line_width ); + LLRender2D::setLineWidth(line_width); last_line_width = line_width; } @@ -772,8 +770,7 @@ void LLViewerObjectList::renderObjectBeacons() gGL.end(); } - gGL.flush(); - glLineWidth(1.f); + LLRender2D::setLineWidth(1.f); for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter) { @@ -808,7 +805,9 @@ void LLSky::renderSunMoonBeacons(const LLVector3& pos_agent, const LLVector3& di { pos_end.mV[i] = pos_agent.mV[i] + (50 * direction.mV[i]); } - glLineWidth((GLfloat)LLPipeline::DebugBeaconLineWidth); + + LLRender2D::setLineWidth((GLfloat)LLPipeline::DebugBeaconLineWidth); + gGL.begin(LLRender::LINES); color.mV[3] *= 0.5f; gGL.color4fv(color.mV); @@ -818,9 +817,7 @@ void LLSky::renderSunMoonBeacons(const LLVector3& pos_agent, const LLVector3& di gGL.vertex3fv(pos_end.mV); gGL.end(); - gGL.flush(); - glLineWidth(1.f); - + LLRender2D::setLineWidth(1.f); } //----------------------------------------------------------------------------- @@ -977,7 +974,7 @@ F32 gpu_benchmark() delete[] pixels; return -1.f; } - dest[i].bindTarget(); + dest[i].bindTarget("", 1); dest[i].clear(); dest[i].flush(); @@ -1039,7 +1036,7 @@ F32 gpu_benchmark() // run GPU timer benchmark { ShaderProfileHelper initProfile; - dest[0].bindTarget(); + dest[0].bindTarget("benchmark", 1); gBenchmarkProgram.bind(); for (S32 c = 0; c < samples; ++c) { diff --git a/indra/newview/llgltfmaterialpreviewmgr.cpp b/indra/newview/llgltfmaterialpreviewmgr.cpp index da1f1a466f..0b792efa1f 100644 --- a/indra/newview/llgltfmaterialpreviewmgr.cpp +++ b/indra/newview/llgltfmaterialpreviewmgr.cpp @@ -425,6 +425,8 @@ bool LLGLTFPreviewTexture::render() if (!mShouldRender) { return false; } + LL_WARNS() << "LLGLTFPreviewTexture:render()" << LL_ENDL; + glClearColor(0, 0, 0, 0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -520,19 +522,41 @@ bool LLGLTFPreviewTexture::render() // *HACK: Hide mExposureMap from generateExposure gPipeline.mExposureMap.swapFBORefs(gPipeline.mLastExposure); + //bool hdr = gPipeline.has_hdr(); + bool hdr = true; + + if (hdr) + { gPipeline.copyScreenSpaceReflections(&screen, &gPipeline.mSceneMap); gPipeline.generateLuminance(&screen, &gPipeline.mLuminanceMap); gPipeline.generateExposure(&gPipeline.mLuminanceMap, &gPipeline.mExposureMap, /*use_history = */ false); - gPipeline.gammaCorrect(&screen, &gPipeline.mPostMap); + } + + U16 activeRT = 0; + gPipeline.gammaCorrect(&screen, &gPipeline.mPostMaps[activeRT]); + LLVertexBuffer::unbind(); - gPipeline.generateGlow(&gPipeline.mPostMap); - gPipeline.combineGlow(&gPipeline.mPostMap, &screen); - gPipeline.renderDoF(&screen, &gPipeline.mPostMap); - gPipeline.applyFXAA(&gPipeline.mPostMap, &screen); + + gPipeline.generateGlow(&gPipeline.mPostMaps[activeRT]); + gPipeline.combineGlow(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT]); + activeRT = 1-activeRT; + + if(gPipeline.renderDoF(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT])) + { + activeRT = 1-activeRT; + } + + if(gPipeline.applyFXAA(&gPipeline.mPostMaps[activeRT], &gPipeline.mPostMaps[1-activeRT])) + { + activeRT = 1-activeRT; + } // *HACK: Restore mExposureMap (it will be consumed by generateExposure next frame) gPipeline.mExposureMap.swapFBORefs(gPipeline.mLastExposure); + gPipeline.copyRenderTarget(&gPipeline.mPostMaps[activeRT], &screen); + + // Final render gDeferredPostNoDoFProgram.bind(); diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp index caea2089c6..887d53b918 100644 --- a/indra/newview/llmodelpreview.cpp +++ b/indra/newview/llmodelpreview.cpp @@ -3716,7 +3716,6 @@ bool LLModelPreview::render() buffer->drawRange(LLRender::TRIANGLES, 0, buffer->getNumVerts() - 1, buffer->getNumIndices(), 0); gGL.diffuseColor4fv(PREVIEW_PSYH_EDGE_COL.mV); - glLineWidth(PREVIEW_PSYH_EDGE_WIDTH); #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); #endif @@ -3725,7 +3724,6 @@ bool LLModelPreview::render() #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif - glLineWidth(1.f); buffer->unmapBuffer(); } @@ -3737,7 +3735,6 @@ bool LLModelPreview::render() // only do this if mDegenerate was set in the preceding mesh checks [Check this if the ordering ever breaks] if (mHasDegenerate) { - glLineWidth(PREVIEW_DEG_EDGE_WIDTH); #if GL_VERSION_1_1 glPointSize(PREVIEW_DEG_POINT_SIZE); #endif @@ -3809,7 +3806,7 @@ bool LLModelPreview::render() gGL.popMatrix(); } - glLineWidth(1.f); + //glLineWidth(1.f); #if GL_VERSION_1_1 glPointSize(1.f); #endif @@ -3933,7 +3930,7 @@ bool LLModelPreview::render() { gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); gGL.diffuseColor4fv(PREVIEW_EDGE_COL.mV); - glLineWidth(PREVIEW_EDGE_WIDTH); + //glLineWidth(PREVIEW_EDGE_WIDTH); #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); #endif @@ -3941,7 +3938,6 @@ bool LLModelPreview::render() #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif - glLineWidth(1.f); } } } diff --git a/indra/newview/llreflectionmap.h b/indra/newview/llreflectionmap.h index 8da18e0945..39ec06a167 100644 --- a/indra/newview/llreflectionmap.h +++ b/indra/newview/llreflectionmap.h @@ -103,6 +103,9 @@ public: // last time this probe was bound for rendering F32 mLastBindTime = 0.f; + // Next update time + F32 mNextUpdateTime = 0.f; + // cube map used to sample this environment map LLPointer<LLCubeMapArray> mCubeArray; S32 mCubeIndex = -1; // index into cube map array or -1 if not currently stored in cube map array @@ -110,6 +113,9 @@ public: // probe has had at least one full update and is ready to render bool mComplete = false; + // number of tiees the probe has been completed + U32 mCompletedCount = 0; + // fade in parameter for this probe F32 mFadeIn = 0.f; diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp index c1815ad57e..2ddb749141 100644 --- a/indra/newview/llreflectionmapmanager.cpp +++ b/indra/newview/llreflectionmapmanager.cpp @@ -54,6 +54,7 @@ #endif LLPointer<LLImageGL> gEXRImage; +//LLTrace::BlockTimerStatHandle FTM_RENDER_RADIANCE("Render Radiance"); void load_exr(const std::string& filename) { @@ -226,6 +227,25 @@ void LLReflectionMapManager::update() static LLCachedControl<S32> sLevel(gSavedSettings, "RenderReflectionProbeLevel", 3); static LLCachedControl<U32> sReflectionProbeCount(gSavedSettings, "RenderReflectionProbeCount", 256U); static LLCachedControl<S32> sProbeDynamicAllocation(gSavedSettings, "RenderReflectionProbeDynamicAllocation", -1); + + static LLCachedControl<F32> sProbeUpdateSlowDown(gSavedSettings, "MPRenderProbeSlowDown", 0.f); + + bool realtime = sDetail >= (S32)LLReflectionMapManager::DetailLevel::REALTIME; + + if(sProbeUpdateSlowDown > 0.0) + { + if ( mLastUpdate > 0.f ) + { + F32 elapsed = gFrameTimeSeconds - mLastUpdate; + if (elapsed > 0.0 && elapsed < sProbeUpdateSlowDown) + { + return; + } + } + } + + mLastUpdate = gFrameTimeSeconds; + mResetFade = llmin((F32)(mResetFade + gFrameIntervalSeconds * 2.f), 1.f); { @@ -275,9 +295,16 @@ void LLReflectionMapManager::update() static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true); + U32 color_fmt = render_hdr ? GL_R11F_G11F_B10F : GL_RGB8; + + static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0); + if(MPColorPrecision == 1) + { + color_fmt = GL_RGB8; + } + if (!mRenderTarget.isComplete()) { - U32 color_fmt = render_hdr ? GL_R11F_G11F_B10F : GL_RGB8; U32 targetRes = mProbeResolution * 4; // super sample mRenderTarget.allocate(targetRes, targetRes, color_fmt, true); } @@ -290,7 +317,7 @@ void LLReflectionMapManager::update() mMipChain.resize(count); for (U32 i = 0; i < count; ++i) { - mMipChain[i].allocate(res, res, render_hdr ? GL_R11F_G11F_B10F : GL_RGB8); + mMipChain[i].allocate(res, res, color_fmt); res /= 2; } } @@ -328,8 +355,6 @@ void LLReflectionMapManager::update() bool did_update = false; - bool realtime = sDetail >= (S32)LLReflectionMapManager::DetailLevel::REALTIME; - LLReflectionMap* closestDynamic = nullptr; LLReflectionMap* oldestProbe = nullptr; @@ -362,6 +387,9 @@ void LLReflectionMapManager::update() probe->mCubeArray = nullptr; probe->mCubeIndex = -1; probe->mComplete = false; + probe->mCompletedCount = 0; + probe->mLastUpdateTime = 0.0; + probe->mNextUpdateTime = 0.0; probe->mFadeIn = 0; } } @@ -385,6 +413,9 @@ void LLReflectionMapManager::update() mResetFade = llmin((F32)(mResetFade + gFrameIntervalSeconds * 2.f), 1.f); + static LLCachedControl<F32> sDefaultUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f); + static LLCachedControl<F32> sMPUpdatePeriod(gSavedSettings, "MPRenderProbeUpdatePeriod", 2.f); + for (unsigned int i = 0; i < mProbes.size(); ++i) { LLReflectionMap* probe = mProbes[i]; @@ -401,6 +432,8 @@ void LLReflectionMapManager::update() continue; } + // Calculating distance + LLVector4a d; if (probe != mDefaultProbe) @@ -412,13 +445,14 @@ void LLReflectionMapManager::update() d.setSub(camera_pos, probe->mOrigin); probe->mDistance = d.getLength3().getF32() - probe->mRadius; } - else if (probe->mComplete) + else if (mDefaultProbe->mComplete) { // make default probe have a distance of 64m for the purposes of prioritization (if it's already been generated once) probe->mDistance = 64.f; } else { + probe->mNextUpdateTime = 0.f; probe->mDistance = -4096.f; //boost priority of default probe when it's not complete } @@ -427,8 +461,13 @@ void LLReflectionMapManager::update() probe->autoAdjustOrigin(); probe->mFadeIn = llmin((F32) (probe->mFadeIn + gFrameIntervalSeconds), 1.f); } + + // Guess oldest probe + if (probe->mOccluded && probe->mComplete) { + // occluded probe + if (oldestOccluded == nullptr) { oldestOccluded = probe; @@ -465,6 +504,8 @@ void LLReflectionMapManager::update() } } + // realtime + if (realtime && closestDynamic != nullptr) { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("rmmu - realtime"); @@ -480,16 +521,17 @@ void LLReflectionMapManager::update() { updateProbeFace(closestDynamic, i); } + if(mRealtimeRadiancePass) updateProbeRadiance(closestDynamic); + else updateProbeIrradiance(closestDynamic); mRealtimeRadiancePass = !mRealtimeRadiancePass; // restore "isRadiancePass" mRadiancePass = radiance_pass; } - static LLCachedControl<F32> sUpdatePeriod(gSavedSettings, "RenderDefaultProbeUpdatePeriod", 2.f); - if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sUpdatePeriod) + if ((gFrameTimeSeconds - mDefaultProbe->mLastUpdateTime) < sDefaultUpdatePeriod) { - if (sLevel == 0) + if (sLevel == 0 && mDefaultProbe->mComplete) { // when probes are disabled don't update the default probe more often than the prescribed update period oldestProbe = nullptr; } @@ -505,11 +547,31 @@ void LLReflectionMapManager::update() LLReflectionMap* probe = oldestProbe; llassert(probe->mCubeIndex != -1); + bool shouldUpdate = true; + + if( probe->mNextUpdateTime > 0.f && gFrameTimeSeconds < probe->mNextUpdateTime) + { + shouldUpdate = false; + } + + if(shouldUpdate) + { probe->autoAdjustOrigin(); sUpdateCount++; mUpdatingProbe = probe; + + if(probe->mCompletedCount < 2) + { + probe->mNextUpdateTime = gFrameTimeSeconds + fmax( ((F32)sMPUpdatePeriod / 2.0), 0.25); + } + else + { + probe->mNextUpdateTime = gFrameTimeSeconds + fmax( (F32)sMPUpdatePeriod, 0.25); + } + doProbeUpdate(); + } } if (oldestOccluded) @@ -717,11 +779,32 @@ void LLReflectionMapManager::doProbeUpdate() LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; llassert(mUpdatingProbe != nullptr); - updateProbeFace(mUpdatingProbe, mUpdatingFace); + static LLCachedControl<bool> mp_progressive(gSavedSettings, "MPRenderProbeProgressive", false); + + if(mUpdatingFace < 6) + { + updateProbeFace(mUpdatingProbe, mUpdatingFace, mp_progressive); + } + else if(mp_progressive) + { + if(isRadiancePass()) + { + //updateProbeRadiance(mUpdatingProbe); + } + else updateProbeIrradiance(mUpdatingProbe); + } + else + { + if(isRadiancePass()) + { + updateProbeRadiance(mUpdatingProbe); + } + else updateProbeIrradiance(mUpdatingProbe); + } bool debug_updates = gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PROBE_UPDATES) && mUpdatingProbe->mViewerObject; - if (++mUpdatingFace == 6) + if (mUpdatingFace == 6) { if (debug_updates) { @@ -732,6 +815,7 @@ void LLReflectionMapManager::doProbeUpdate() if (isRadiancePass()) { mUpdatingProbe->mComplete = true; + mUpdatingProbe->mCompletedCount++; mUpdatingProbe = nullptr; mRadiancePass = false; } @@ -740,9 +824,14 @@ void LLReflectionMapManager::doProbeUpdate() mRadiancePass = true; } } - else if (debug_updates) + else { + ++mUpdatingFace; + + if (debug_updates) + { mUpdatingProbe->mViewerObject->setDebugText(llformat("%.1f", (F32)gFrameTimeSeconds), LLColor4(1, 1, 0, 1)); + } } } @@ -754,7 +843,7 @@ void LLReflectionMapManager::doProbeUpdate() // The next six passes render the scene with both radiance and irradiance into the same scratch space cube map and generate a simple mip chain. // At the end of these passes, a radiance map is generated for this probe and placed into the radiance cube map array at the index for this probe. // In effect this simulates single-bounce lighting. -void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) +void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face, bool progressive) { // hacky hot-swap of camera specific render targets gPipeline.mRT = &gPipeline.mAuxillaryRT; @@ -795,7 +884,7 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) sourceIdx += 1; } - gGL.setColorMask(true, true); + gGL.setColorMask(true, false); LLGLDepthTest depth(GL_FALSE, GL_FALSE); LLGLDisable cull(GL_CULL_FACE); LLGLDisable blend(GL_BLEND); @@ -829,7 +918,8 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) // horizontal gGaussianProgram.uniform2f(direction, 1.f, 0.f); gGL.getTexUnit(diffuseChannel)->bind(screen_rt); - mRenderTarget.bindTarget(); + mRenderTarget.bindTarget("", 1); + mRenderTarget.clear(0); gPipeline.mScreenTriangleVB->setBuffer(); gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); mRenderTarget.flush(); @@ -837,7 +927,8 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) // vertical gGaussianProgram.uniform2f(direction, 0.f, 1.f); gGL.getTexUnit(diffuseChannel)->bind(&mRenderTarget); - screen_rt->bindTarget(); + screen_rt->bindTarget("", 1); + screen_rt->clear(0); gPipeline.mScreenTriangleVB->setBuffer(); gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); screen_rt->flush(); @@ -852,7 +943,10 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) for (int i = 0; i < mMipChain.size(); ++i) { LL_PROFILE_GPU_ZONE("probe mip"); - mMipChain[i].bindTarget(); + + mMipChain[i].bindTarget("probe face ", 0); + mMipChain[i].clear(0); + if (i == 0) { gGL.getTexUnit(diffuseChannel)->bind(screen_rt); @@ -897,16 +991,125 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) gReflectionMipProgram.unbind(); } - if (face == 5) + if(progressive) { - mMipChain[0].bindTarget(); - static LLStaticHashedString sSourceIdx("sourceIdx"); + if(isRadiancePass()) updateProbeRadianceOnFace(probe, face, sourceIdx); + } - if (isRadiancePass()) + // if(isRadiancePass()) updateProbeRadianceOnFace(probe, face, sourceIdx); + // else updateProbeIrradianceOnFace(probe, face, sourceIdx); +} + +// ===================== IRRADIANCE ================================ + +void LLReflectionMapManager::updateProbeIrradiance(LLReflectionMap* probe) +{ + LL_PROFILE_GPU_ZONE("probe irradiance gen"); + + static LLStaticHashedString sMipLevel("mipLevel"); + static LLStaticHashedString sRoughness("roughness"); + static LLStaticHashedString sWidth("u_width"); + + S32 sourceIdx = mReflectionProbeCount; + + if (probe != mUpdatingProbe) + { // this is the "realtime" probe that's updating every frame, use the secondary scratch space channel + sourceIdx += 1; + } + + gGL.setColorMask(true, false); + LLGLDepthTest depth(GL_FALSE, GL_FALSE); + LLGLDisable cull(GL_CULL_FACE); + LLGLDisable blend(GL_BLEND); + + static LLStaticHashedString sSourceIdx("sourceIdx"); + + + mMipChain[0].bindTarget("irradiance", 0); + mMipChain[0].clear(0); + + gIrradianceGenProgram.bind(); + +#if GL_VERSION_4_0 + S32 channel = gIrradianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY); + mTexture->bind(channel); +#endif + + gIrradianceGenProgram.uniform1i(sSourceIdx, sourceIdx); + gIrradianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD); + + mVertexBuffer->setBuffer(); + + int start_mip = 0; + // find the mip target to start with based on irradiance map resolution + for (start_mip = 0; start_mip < mMipChain.size(); ++start_mip) + { + if (mMipChain[start_mip].getWidth() == LL_IRRADIANCE_MAP_RESOLUTION) { - //generate radiance map (even if this is not the irradiance map, we need the mip chain for the irradiance map) - gRadianceGenProgram.bind(); - mVertexBuffer->setBuffer(); + break; + } + } + + int i = start_mip; + + //LL_PROFILE_GPU_ZONE("probe irradiance gen"); + + glViewport(0, 0, mMipChain[i].getWidth(), mMipChain[i].getHeight()); + + for (int cf = 0; cf < 6; ++cf) + { + LLCoordFrame frame; + frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]); + + F32 mat[16]; + frame.getOpenGLRotation(mat); + gGL.loadMatrix(mat); + + mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4); + + S32 res = mMipChain[i].getWidth(); +#if GL_VERSION_4_0 + mIrradianceMaps->bind(channel); + glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i - start_mip, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res); + mTexture->bind(channel); +#endif + //mMipChain[0].clear(0); + } + + mMipChain[0].flush(); + gIrradianceGenProgram.unbind(); +} + +// ==================== RADIANCE =========================== + +void LLReflectionMapManager::updateProbeRadiance(LLReflectionMap* probe) +{ + LL_PROFILE_GPU_ZONE("probe radiance gen"); + static LLStaticHashedString sMipLevel("mipLevel"); + static LLStaticHashedString sRoughness("roughness"); + static LLStaticHashedString sWidth("u_width"); + + S32 sourceIdx = mReflectionProbeCount; + + if (probe != mUpdatingProbe) + { // this is the "realtime" probe that's updating every frame, use the secondary scratch space channel + sourceIdx += 1; + } + + gGL.setColorMask(true, false); + LLGLDepthTest depth(GL_FALSE, GL_FALSE); + LLGLDisable cull(GL_CULL_FACE); + LLGLDisable blend(GL_BLEND); + + static LLStaticHashedString sSourceIdx("sourceIdx"); + + //LL_RECORD_BLOCK_TIME(FTM_RENDER_RADIANCE); + + mMipChain[0].bindTarget("radiance", 0); + mMipChain[0].clear(); + + gRadianceGenProgram.bind(); + mVertexBuffer->setBuffer(); #if GL_VERSION_4_0 S32 channel = gRadianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY); @@ -915,22 +1118,19 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) gRadianceGenProgram.uniform1i(sSourceIdx, sourceIdx); gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD); gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_STRENGTH, 1.f); + gRadianceGenProgram.uniform1i(sWidth, mProbeResolution); U32 res = mMipChain[0].getWidth(); for (int i = 0; i < mMipChain.size(); ++i) { - LL_PROFILE_GPU_ZONE("probe radiance gen"); - static LLStaticHashedString sMipLevel("mipLevel"); - static LLStaticHashedString sRoughness("roughness"); - static LLStaticHashedString sWidth("u_width"); + glViewport(0, 0, res, res); - gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1)); gRadianceGenProgram.uniform1f(sMipLevel, (GLfloat)i); - gRadianceGenProgram.uniform1i(sWidth, mProbeResolution); + gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1)); for (int cf = 0; cf < 6; ++cf) - { // for each cube face + { LLCoordFrame frame; frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]); @@ -943,21 +1143,44 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) #if GL_VERSION_4_0 glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res); #endif + LOG_GLERROR("glCopyTexSubImage3D"); } if (i != mMipChain.size() - 1) { res /= 2; - glViewport(0, 0, res, res); } - } + } gRadianceGenProgram.unbind(); - } - else - { - //generate irradiance map + mMipChain[0].flush(); + //mTexture->unbind(); +} + +// ================== PER FACE ======================= + +void LLReflectionMapManager::updateProbeIrradianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx) +{ + LL_PROFILE_GPU_ZONE("probe irradiance gen"); + + static LLStaticHashedString sMipLevel("mipLevel"); + static LLStaticHashedString sRoughness("roughness"); + static LLStaticHashedString sWidth("u_width"); + + gGL.setColorMask(true, false); + LLGLDepthTest depth(GL_FALSE, GL_FALSE); + LLGLDisable cull(GL_CULL_FACE); + LLGLDisable blend(GL_BLEND); + + static LLStaticHashedString sSourceIdx("sourceIdx"); + + //LL_WARNS() << "IRRADIANCE" << LL_ENDL; + + mMipChain[0].bindTarget("irradiance", 0); + //mMipChain[0].clear(); + gIrradianceGenProgram.bind(); + #if GL_VERSION_4_0 S32 channel = gIrradianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY); mTexture->bind(channel); @@ -977,13 +1200,11 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) } } - //for (int i = start_mip; i < mMipChain.size(); ++i) - { int i = start_mip; - LL_PROFILE_GPU_ZONE("probe irradiance gen"); glViewport(0, 0, mMipChain[i].getWidth(), mMipChain[i].getHeight()); - for (int cf = 0; cf < 6; ++cf) - { // for each cube face + + int cf = face; + { LLCoordFrame frame; frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]); @@ -993,20 +1214,81 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face) mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4); - S32 res = mMipChain[i].getWidth(); #if GL_VERSION_4_0 + S32 res = mMipChain[i].getWidth(); mIrradianceMaps->bind(channel); glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i - start_mip, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res); - mTexture->bind(channel); #endif - } } - } mMipChain[0].flush(); gIrradianceGenProgram.unbind(); + mTexture->unbind(); +} + +void LLReflectionMapManager::updateProbeRadianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx) +{ + LL_PROFILE_GPU_ZONE("probe radiance gen"); + static LLStaticHashedString sMipLevel("mipLevel"); + static LLStaticHashedString sRoughness("roughness"); + static LLStaticHashedString sWidth("u_width"); + + gGL.setColorMask(true, false); + LLGLDepthTest depth(GL_FALSE, GL_FALSE); + LLGLDisable cull(GL_CULL_FACE); + LLGLDisable blend(GL_BLEND); + + static LLStaticHashedString sSourceIdx("sourceIdx"); + + mMipChain[0].bindTarget("radiance", 0); + mMipChain[0].clear(0); + + gRadianceGenProgram.bind(); + mVertexBuffer->setBuffer(); + + S32 channel = gRadianceGenProgram.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY); + mTexture->bind(channel); + + gRadianceGenProgram.uniform1i(sSourceIdx, sourceIdx); + gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_MAX_LOD, mMaxProbeLOD); + gRadianceGenProgram.uniform1f(LLShaderMgr::REFLECTION_PROBE_STRENGTH, 1.f); + gRadianceGenProgram.uniform1i(sWidth, mProbeResolution); + + U32 res = mMipChain[0].getWidth(); + + for (int i = 0; i < mMipChain.size(); ++i) + { + glViewport(0, 0, res, res); + + gRadianceGenProgram.uniform1f(sMipLevel, (GLfloat)i); + gRadianceGenProgram.uniform1f(sRoughness, (F32)i / (F32)(mMipChain.size() - 1)); + + int cf = face; + { + LLCoordFrame frame; + frame.lookAt(LLVector3(0, 0, 0), LLCubeMapArray::sClipToCubeLookVecs[cf], LLCubeMapArray::sClipToCubeUpVecs[cf]); + + F32 mat[16]; + frame.getOpenGLRotation(mat); + gGL.loadMatrix(mat); + + mVertexBuffer->drawArrays(gGL.TRIANGLE_STRIP, 0, 4); + + glCopyTexSubImage3D(GL_TEXTURE_CUBE_MAP_ARRAY, i, 0, 0, probe->mCubeIndex * 6 + cf, 0, 0, res, res); + LOG_GLERROR("glCopyTexSubImage3D"); + //mMipChain[0].clear(0); + } + + if (i != mMipChain.size() - 1) + { + res /= 2; + } } + + gRadianceGenProgram.unbind(); + mMipChain[0].flush(); + mTexture->unbind(); } void LLReflectionMapManager::reset() @@ -1426,8 +1708,13 @@ void LLReflectionMapManager::initReflectionMaps() { static LLCachedControl<U32> ref_probe_res(gSavedSettings, "RenderReflectionProbeResolution", 128U); U32 probe_resolution = nhpo2(llclamp(ref_probe_res(), (U32)64, (U32)512)); - if (mTexture.isNull() || mReflectionProbeCount != mDynamicProbeCount || mProbeResolution != probe_resolution || mReset) + + bool shouldInit = mTexture.isNull() || mReflectionProbeCount != mDynamicProbeCount || mProbeResolution != probe_resolution || mReset; + + if (shouldInit) { + //LL_WARNS() << "====== initReflectionMaps() =======" << LL_ENDL; + if(mProbeResolution != probe_resolution) { mRenderTarget.release(); @@ -1444,6 +1731,8 @@ void LLReflectionMapManager::initReflectionMaps() mTexture->getWidth() != mProbeResolution || mReflectionProbeCount + 2 != mTexture->getCount()) { + static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true); + if (mTexture) { mTexture = new LLCubeMapArray(*mTexture, mProbeResolution, mReflectionProbeCount + 2); @@ -1454,8 +1743,6 @@ void LLReflectionMapManager::initReflectionMaps() { mTexture = new LLCubeMapArray(); - static LLCachedControl<bool> render_hdr(gSavedSettings, "RenderHDREnabled", true); - // store mReflectionProbeCount+2 cube maps, final two cube maps are used for render target and radiance map generation // source) mTexture->allocate(mProbeResolution, 3, mReflectionProbeCount + 2, true, render_hdr); @@ -1477,7 +1764,9 @@ void LLReflectionMapManager::initReflectionMaps() for (auto& probe : mProbes) { probe->mLastUpdateTime = 0.f; + probe->mNextUpdateTime = 0.f; probe->mComplete = false; + probe->mCompletedCount = 0; probe->mProbeIndex = -1; probe->mCubeArray = nullptr; probe->mCubeIndex = -1; @@ -1503,6 +1792,9 @@ void LLReflectionMapManager::initReflectionMaps() mDefaultProbe->mRadius = 4096.f; mDefaultProbe->mProbeIndex = 0; mDefaultProbe->mComplete = default_complete; + mDefaultProbe->mCompletedCount = 0; + mDefaultProbe->mLastUpdateTime = 0.f; + mDefaultProbe->mNextUpdateTime = 0.f; touch_default_probe(mDefaultProbe); } diff --git a/indra/newview/llreflectionmapmanager.h b/indra/newview/llreflectionmapmanager.h index 0719c28134..b874bb1c17 100644 --- a/indra/newview/llreflectionmapmanager.h +++ b/indra/newview/llreflectionmapmanager.h @@ -210,7 +210,14 @@ private: void doProbeUpdate(); // update the specified face of the specified probe - void updateProbeFace(LLReflectionMap* probe, U32 face); + void updateProbeFace(LLReflectionMap* probe, U32 face, bool progressive = false); + + void updateProbeIrradiance(LLReflectionMap* probe); + void updateProbeRadiance(LLReflectionMap* probe); + + void updateProbeIrradianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx); + void updateProbeRadianceOnFace(LLReflectionMap* probe, U32 face, S32 sourceIdx); + // list of active reflection maps std::vector<LLPointer<LLReflectionMap> > mProbes; @@ -267,6 +274,8 @@ private: bool mPaused = false; F32 mResumeTime = 0.f; + F32 mLastUpdate = 0.f; + ReflectionProbeData mProbeData; }; diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 00c219fdda..329522f18c 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -6544,7 +6544,7 @@ void LLSelectMgr::renderSilhouettes(bool for_hud) gGL.popMatrix(); gGL.popMatrix(); - glLineWidth(1.f); + //glLineWidth(1.f); #if GL_VERSION_1_1 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp index 9b6a87e68d..f1731af3be 100644 --- a/indra/newview/llsnapshotlivepreview.cpp +++ b/indra/newview/llsnapshotlivepreview.cpp @@ -238,11 +238,11 @@ void LLSnapshotLivePreview::drawPreviewRect(S32 offset_x, S32 offset_y, LLColor4 { F32 line_width ; glGetFloatv(GL_LINE_WIDTH, &line_width) ; - glLineWidth(2.0f * line_width) ; + //glLineWidth(2.0f * line_width) ; LLColor4 color(0.0f, 0.0f, 0.0f, 1.0f) ; gl_rect_2d( mPreviewRect.mLeft + offset_x, mPreviewRect.mTop + offset_y, mPreviewRect.mRight + offset_x, mPreviewRect.mBottom + offset_y, color, false ) ; - glLineWidth(line_width) ; + //glLineWidth(line_width) ; //draw four alpha rectangles to cover areas outside of the snapshot image if(!mKeepAspectRatio) diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index a90ff73578..a147cb4657 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -1661,12 +1661,12 @@ void renderOctree(LLSpatialGroup* group) gGL.diffuseColor4f(1,0,0,group->mBuilt); gGL.flush(); - glLineWidth(5.f); + //glLineWidth(5.f); const LLVector4a* bounds = group->getObjectBounds(); drawBoxOutline(bounds[0], bounds[1]); - gGL.flush(); - glLineWidth(1.f); + //gGL.flush(); + //glLineWidth(1.f); gGL.flush(); const LLVOAvatar* lastAvatar = nullptr; @@ -1978,12 +1978,11 @@ void renderBoundingBox(LLDrawable* drawable, bool set_color = true) if (vobj && vobj->onActiveList()) { gGL.flush(); - glLineWidth(llmax(4.f*sinf(gFrameTimeSeconds*2.f)+1.f, 1.f)); - //glLineWidth(4.f*(sinf(gFrameTimeSeconds*2.f)*0.25f+0.75f)); - stop_glerror(); + //glLineWidth(llmax(4.f*sinf(gFrameTimeSeconds*2.f)+1.f, 1.f)); + stop_glerror(); drawBoxOutline(pos,size); gGL.flush(); - glLineWidth(1.f); + //glLineWidth(1.f); } else { @@ -2897,7 +2896,7 @@ public: if (i == 1) { gGL.flush(); - glLineWidth(3.f); + //glLineWidth(3.f); } gGL.begin(LLRender::TRIANGLES); @@ -2916,7 +2915,7 @@ public: if (i == 1) { gGL.flush(); - glLineWidth(1.f); + //glLineWidth(1.f); } } } diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index bf4ec14487..8793541e80 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -304,9 +304,21 @@ void LLStatusBar::refresh() mFpsUpdateTimer->reset(); S32 fps = (S32) llround(LLTrace::get_frame_recording().getPeriodMedianPerSec(LLStatViewer::FPS, 50)); + if(fps < 1) fps = 1; + + S32 minFps = (S32) llround(LLTrace::get_frame_recording().getPeriodMinPerSec(LLStatViewer::FPS, 50)); + S32 maxFps = (S32) llround(LLTrace::get_frame_recording().getPeriodMaxPerSec(LLStatViewer::FPS, 50)); + + F32 fpsQuality = (F32)minFps / (F32)fps; + std::string fpsStr = std::to_string(fps); - //mTextFps->setText(fpsStr); + mTextFps->setLabel(fpsStr); + + if(fpsQuality < 0.5) mTextFps->setColor(LLColor4(0.6,0.0,0.0)); + else if(fpsQuality < 0.7) mTextFps->setColor(LLColor4(0.7,0.5,0.0)); + else if(fpsQuality < 0.9) mTextFps->setColor(LLColor4(0.5,0.7,0.0)); + else mTextFps->setColor(LLColor4(0.0, 0.7, 0.15)); } // update clock every 10 seconds diff --git a/indra/newview/llterrainpaintmap.cpp b/indra/newview/llterrainpaintmap.cpp index c7a82013e4..8cb926a110 100644 --- a/indra/newview/llterrainpaintmap.cpp +++ b/indra/newview/llterrainpaintmap.cpp @@ -86,9 +86,10 @@ bool LLTerrainPaintMap::bakeHeightNoiseIntoPBRPaintMapRGB(const LLViewerRegion& return false; } gGL.getTexUnit(0)->disable(); - stop_glerror(); - scratch_target.bindTarget(); + LOG_GLERROR(""); + + scratch_target.bindTarget("", 1); glClearColor(0, 0, 0, 0); scratch_target.clear(); @@ -276,7 +277,7 @@ bool LLTerrainPaintMap::bakeHeightNoiseIntoPBRPaintMapRGB(const LLViewerRegion& LL_WARNS() << "Failed to copy framebuffer to paintmap" << LL_ENDL; } glGenerateMipmap(GL_TEXTURE_2D); - stop_glerror(); + LOG_GLERROR("LLTerrainPainMap::bakeHeightNoiseIntoPBRPaintMapRGB() - glGenerateMipmap"); scratch_target.flush(); diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 6e790e4fca..5183370076 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -709,6 +709,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) if (!gDisconnected && !LLApp::isExiting()) { + // =========== MIRRORS ============= + // Render mirrors and associated hero probes before we render the rest of the scene. // This ensures the scene state in the hero probes are exactly the same as the rest of the scene before we render it. if (gPipeline.RenderMirrors && !gSnapshot) @@ -734,12 +736,14 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) display_update_camera(); stop_glerror(); + // =========== ENV: SKY, WATER ============= { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Env Update"); // update all the sky/atmospheric/water settings LLEnvironment::instance().update(LLViewerCamera::getInstance()); } + // =========== EFFECTS (?) ============= // *TODO: merge these two methods { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("HUD Update"); @@ -748,6 +752,7 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) stop_glerror(); } + // =========== GEOMETRY ============= { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Update Geom"); const F32 max_geom_update_time = 0.005f*10.f*gFrameIntervalSeconds.value(); // 50 ms/second update time @@ -778,6 +783,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LLGLState::checkStates(); + // =========== OCCLUSION ============= + static LLCullResult result; LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD; LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater(); @@ -803,12 +810,18 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) if (!for_snapshot) { - if (gFrameCount > 1 && !for_snapshot) - { //for some reason, ATI 4800 series will error out if you - //try to generate a shadow before the first frame is through + + // =========== SHADOWS ============= + + S32 RenderShadowDetail = gSavedSettings.getS32("RenderShadowDetail"); + + if(RenderShadowDetail > 0 && gFrameCount > 1) + { gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); } + // =========== IMPOSTORS ============= + LLVertexBuffer::unbind(); LLGLState::checkStates(); @@ -832,6 +845,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) glClear(GL_DEPTH_BUFFER_BIT); } + + // =========== IMAGES ============= + ////////////////////////////////////// // // Update images, using the image stats generated during object update/culling @@ -870,6 +886,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LLGLState::checkStates(); + + // =========== SORTING OBJECTS ============= + /////////////////////////////////// // // StateSort @@ -903,6 +922,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LLPipeline::sUseOcclusion = occlusion; + + // =========== SKY ============= + { LLAppViewer::instance()->pingMainloopTimeout("Display:Sky"); LL_PROFILE_ZONE_NAMED_CATEGORY_ENVIRONMENT("update sky"); //LL_RECORD_BLOCK_TIME(FTM_UPDATE_SKY); @@ -954,6 +976,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) // gGL.popMatrix(); //} + + // =========== DEFERRED ============= + LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater(); LLGLState::checkStates(); @@ -962,7 +987,7 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) gGL.setColorMask(true, true); - gPipeline.mRT->deferredScreen.bindTarget(); + gPipeline.mRT->deferredScreen.bindTarget("", 1); if (gUseWireframe) { constexpr F32 g = 0.5f; @@ -974,6 +999,9 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) } gPipeline.mRT->deferredScreen.clear(); + + // =========== RENDER GEOMETRY ============= + gGL.setColorMask(true, false); LLAppViewer::instance()->pingMainloopTimeout("Display:RenderGeom"); @@ -984,7 +1012,11 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("display - 5") LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD; + + // =========== RENDER DEPTH PREPASS (UNUSED) ============= + static LLCachedControl<bool> render_depth_pre_pass(gSavedSettings, "RenderDepthPrePass", false); + if (render_depth_pre_pass) { gGL.setColorMask(false, false); @@ -1010,6 +1042,8 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) gPipeline.renderGeomDeferred(*LLViewerCamera::getInstance(), true); } + // =========== UNBIND TEXTURES ============= + { LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("Texture Unbind"); for (S32 i = 0; i < gGLManager.mNumTextureImageUnits; i++) @@ -1022,11 +1056,15 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) } } + // =========== FLUSH ============= + LLAppViewer::instance()->pingMainloopTimeout("Display:RenderFlush"); LLRenderTarget &rt = (gPipeline.sRenderDeferred ? gPipeline.mRT->deferredScreen : gPipeline.mRT->screen); rt.flush(); + // =========== RENDER DEFERRED ============= + if (LLPipeline::sRenderDeferred) { gPipeline.renderDeferredLighting(); @@ -1039,10 +1077,14 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LLSceneMonitor::getInstance()->capture(); } + // =========== RENDER UI ============= + LLAppViewer::instance()->pingMainloopTimeout("Display:RenderUI"); if (!for_snapshot) { + gGL.flush(); render_ui(); + gGL.flush(); swap(); } @@ -1053,8 +1095,6 @@ void display(bool rebuild, F32 zoom_factor, int subfield, bool for_snapshot) LLAppViewer::instance()->pingMainloopTimeout("Display:FrameStats"); - stop_glerror(); - display_stats(); LLAppViewer::instance()->pingMainloopTimeout("Display:Done"); @@ -1204,7 +1244,7 @@ void display_cube_face() gGL.setColorMask(true, true); glClearColor(0.f, 0.f, 0.f, 0.f); - gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); + //gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); glClear(GL_DEPTH_BUFFER_BIT); // | GL_STENCIL_BUFFER_BIT); @@ -1232,7 +1272,7 @@ void display_cube_face() gGL.setColorMask(true, true); - gPipeline.mRT->deferredScreen.bindTarget(); + gPipeline.mRT->deferredScreen.bindTarget("", 1); if (gUseWireframe) { glClearColor(0.5f, 0.5f, 0.5f, 1.f); @@ -1647,6 +1687,10 @@ void render_ui_3d() gUIProgram.bind(); gGL.color4f(1.f, 1.f, 1.f, 1.f); + static LLCachedControl<bool> hdrDisplay(gSavedSettings, "MPHDRDisplay"); + static LLCachedControl<F32> hdrUIBoost(gSavedSettings, "MPHDRUIBoost"); + if(hdrDisplay) gUIProgram.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)hdrUIBoost); + // Coordinate axes static LLCachedControl<bool> show_axes(gSavedSettings, "ShowAxes"); if (show_axes()) @@ -1669,7 +1713,7 @@ void render_ui_3d() LLHUDObject::renderAllForTimer(); } - stop_glerror(); + LOG_GLERROR("render_ui_3d()"); } void render_ui_2d() @@ -1719,7 +1763,7 @@ void render_ui_2d() gl_rect_2d(-half_width, half_height, half_width, -half_height, false); gGL.popMatrix(); gUIProgram.unbind(); - stop_glerror(); + LOG_GLERROR(""); } @@ -1730,7 +1774,7 @@ void render_ui_2d() LLView::sIsRectDirty = false; LLRect t_rect; - gPipeline.mUIScreen.bindTarget(); + gPipeline.mUIScreen.bindTarget("", 1); gGL.setColorMask(true, true); { constexpr S32 pad = 8; @@ -1788,6 +1832,8 @@ void render_ui_2d() // reset current origin for font rendering, in case of tiling render LLFontGL::sCurOrigin.set(0, 0); + + LOG_GLERROR("render_ui_2d()"); } void render_disconnected_background() diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp index e36ad0e722..0bb03cdd60 100755 --- a/indra/newview/llviewerparceloverlay.cpp +++ b/indra/newview/llviewerparceloverlay.cpp @@ -809,7 +809,7 @@ void LLViewerParcelOverlay::renderPropertyLinesOnMinimap(F32 scale_pixels_per_me const S32 GRIDS_PER_EDGE = mParcelGridsPerEdge; gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - glLineWidth(1.0f); + //glLineWidth(1.0f); gGL.color4fv(parcel_outline_color); for (S32 i = 0; i <= GRIDS_PER_EDGE; i++) { diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 7ef13c3a35..43cb7d8a14 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -137,6 +137,10 @@ LLGLSLShader gGlowProgram; LLGLSLShader gGlowExtractProgram; LLGLSLShader gPostScreenSpaceReflectionProgram; +LLGLSLShader gBloomExtractProgram; +LLGLSLShader gBloomBlurProgram; +LLGLSLShader gBloomCombineProgram; + // Deferred rendering shaders LLGLSLShader gDeferredImpostorProgram; LLGLSLShader gDeferredDiffuseProgram; @@ -198,6 +202,7 @@ LLGLSLShader gDeferredPostTonemapProgram; LLGLSLShader gNoPostTonemapProgram; LLGLSLShader gDeferredPostGammaCorrectProgram; LLGLSLShader gLegacyPostGammaCorrectProgram; +LLGLSLShader gHDRGammaCorrectProgram; LLGLSLShader gExposureProgram; LLGLSLShader gExposureProgramNoFade; LLGLSLShader gLuminanceProgram; @@ -445,6 +450,7 @@ void LLViewerShaderMgr::finalizeShaderList() mShaderList.push_back(&gNoPostTonemapProgram); mShaderList.push_back(&gDeferredPostGammaCorrectProgram); // for gamma mShaderList.push_back(&gLegacyPostGammaCorrectProgram); + mShaderList.push_back(&gHDRGammaCorrectProgram); mShaderList.push_back(&gDeferredDiffuseProgram); mShaderList.push_back(&gDeferredBumpProgram); mShaderList.push_back(&gDeferredPBROpaqueProgram); @@ -802,9 +808,12 @@ std::string LLViewerShaderMgr::loadBasicShaders() if (shadow_detail >= 1) { - attribs["SUN_SHADOW"] = "1"; + if(shadow_detail < 3) + { + attribs["SUN_SHADOW"] = "1"; + } - if (shadow_detail >= 2) + if (shadow_detail > 1) { attribs["SPOT_SHADOW"] = "1"; } @@ -902,8 +911,9 @@ bool LLViewerShaderMgr::loadShadersWater() bool success = true; bool terrainWaterSuccess = true; + S32 shadow_detail = gSavedSettings.getS32("RenderShadowDetail"); bool use_sun_shadow = mShaderLevel[SHADER_DEFERRED] > 1 && - gSavedSettings.getS32("RenderShadowDetail") > 0; + shadow_detail > 0 && shadow_detail < 3; if (mShaderLevel[SHADER_WATER] == 0) { @@ -1003,6 +1013,52 @@ bool LLViewerShaderMgr::loadShadersEffects() if (success) { + gBloomExtractProgram.mName = "Bloom Extract Shader"; + gBloomExtractProgram.mShaderFiles.clear(); + gBloomExtractProgram.mShaderFiles.push_back(make_pair("effects/bloomExtractV.glsl", GL_VERTEX_SHADER)); + gBloomExtractProgram.mShaderFiles.push_back(make_pair("effects/bloomExtractF.glsl", GL_FRAGMENT_SHADER)); + gBloomExtractProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT]; + + success = gBloomExtractProgram.createShader(); + if (!success) + { + LL_WARNS() << "gBloomExtractProgram creation ERROR" << LL_ENDL; + //LLPipeline::sRenderGlow = false; + } + } + + if (success) + { + gBloomBlurProgram.mName = "Bloom Blur Shader"; + gBloomBlurProgram.mShaderFiles.clear(); + gBloomBlurProgram.mShaderFiles.push_back(make_pair("effects/bloomBlurV.glsl", GL_VERTEX_SHADER)); + gBloomBlurProgram.mShaderFiles.push_back(make_pair("effects/bloomBlurF.glsl", GL_FRAGMENT_SHADER)); + gBloomBlurProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT]; + + success = gBloomBlurProgram.createShader(); + if(!success) + { + LL_WARNS() << "gBloomBlurProgram creation ERROR" << LL_ENDL; + } + } + + if (success) + { + gBloomCombineProgram.mName = "Bloom Combine Shader"; + gBloomCombineProgram.mShaderFiles.clear(); + gBloomCombineProgram.mShaderFiles.push_back(make_pair("effects/bloomCombineV.glsl", GL_VERTEX_SHADER)); + gBloomCombineProgram.mShaderFiles.push_back(make_pair("effects/bloomCombineF.glsl", GL_FRAGMENT_SHADER)); + gBloomCombineProgram.mShaderLevel = mShaderLevel[SHADER_EFFECT]; + + success = gBloomCombineProgram.createShader(); + if(!success) + { + LL_WARNS() << "gBloomCombineProgram creation ERROR" << LL_ENDL; + } + } + + if (success) + { gGlowProgram.mName = "Glow Shader (Post)"; gGlowProgram.mShaderFiles.clear(); gGlowProgram.mShaderFiles.push_back(make_pair("effects/glowV.glsl", GL_VERTEX_SHADER)); @@ -1107,6 +1163,7 @@ bool LLViewerShaderMgr::loadShadersDeferred() gLuminanceProgram.unload(); gDeferredPostGammaCorrectProgram.unload(); gLegacyPostGammaCorrectProgram.unload(); + gHDRGammaCorrectProgram.unload(); gDeferredPostTonemapProgram.unload(); gNoPostTonemapProgram.unload(); for (auto i = 0; i < 4; ++i) @@ -2450,6 +2507,21 @@ bool LLViewerShaderMgr::loadShadersDeferred() if (success) { + gHDRGammaCorrectProgram.mName = "HDR Gamma Correction Post Process"; + gHDRGammaCorrectProgram.mFeatures.hasSrgb = true; + gHDRGammaCorrectProgram.mFeatures.isDeferred = true; + gHDRGammaCorrectProgram.mShaderFiles.clear(); + gHDRGammaCorrectProgram.clearPermutations(); + //gHDRGammaCorrectProgram.addPermutation("HDR_GAMMA", "1"); + gHDRGammaCorrectProgram.mShaderFiles.push_back(make_pair("deferred/postDeferredNoTCV.glsl", GL_VERTEX_SHADER)); + gHDRGammaCorrectProgram.mShaderFiles.push_back(make_pair("deferred/MPHDRDisplayGammaF.glsl", GL_FRAGMENT_SHADER)); + gHDRGammaCorrectProgram.mShaderLevel = mShaderLevel[SHADER_DEFERRED]; + success = gHDRGammaCorrectProgram.createShader(); + llassert(success); + } + + if (success) + { gDeferredPostTonemapProgram.mName = "Deferred Tonemap Post Process"; gDeferredPostTonemapProgram.mFeatures.hasSrgb = true; gDeferredPostTonemapProgram.mFeatures.isDeferred = true; diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 7ad2da9464..7f989f281e 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -254,6 +254,7 @@ extern LLGLSLShader gDeferredPostNoDoFProgram; extern LLGLSLShader gDeferredPostNoDoFNoiseProgram; extern LLGLSLShader gDeferredPostGammaCorrectProgram; extern LLGLSLShader gLegacyPostGammaCorrectProgram; +extern LLGLSLShader gHDRGammaCorrectProgram; extern LLGLSLShader gDeferredPostTonemapProgram; extern LLGLSLShader gNoPostTonemapProgram; extern LLGLSLShader gExposureProgram; @@ -298,6 +299,10 @@ extern LLGLSLShader gHUDPBRAlphaProgram; // GLTF shaders extern LLGLSLShader gGLTFPBRMetallicRoughnessProgram; +extern LLGLSLShader gBloomExtractProgram; +extern LLGLSLShader gBloomBlurProgram; +extern LLGLSLShader gBloomCombineProgram; + // Encodes detail level for dropping textures, in accordance with the GLTF spec where possible // 0 is highest detail, -1 drops emissive, etc // Dropping metallic roughness is off-spec - Reserve for potato machines as needed diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 7e14c621ad..5bbcd8f09f 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1146,6 +1146,8 @@ F32 LLViewerTextureList::updateImagesCreateTextures(F32 max_time) // just in case we downres textures, bind downresmap and copy program gPipeline.mDownResMap.bindTarget(); + //gPipeline.mDownResMap.clear(); + gCopyProgram.bind(); gPipeline.mScreenTriangleVB->setBuffer(); @@ -1155,7 +1157,7 @@ F32 LLViewerTextureList::updateImagesCreateTextures(F32 max_time) // do at least 5 and make sure we don't get too far behind even if it violates // the time limit. If we don't downscale quickly the viewer will hit swap and may // freeze. - S32 min_count = (S32)mCreateTextureList.size() / 20 + 5; + S32 min_count = (S32)mCreateTextureList.size() / 20 + 3; create_timer.reset(); while (!mDownScaleQueue.empty()) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index db6b23229b..3928d59a94 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1977,7 +1977,8 @@ LLViewerWindow::LLViewerWindow(const Params& p) LL_DEBUGS("Window") << "Loading feature tables." << LL_ENDL; // Initialize OpenGL Renderer - LLVertexBuffer::initClass(mWindow); + LLVertexBuffer::initClass(mWindow, gSavedSettings.getU32("MPVertexBufferMode")); + LL_INFOS("RenderInit") << "LLVertexBuffer initialization done." << LL_ENDL ; if (!gGL.init(true)) { @@ -4839,21 +4840,13 @@ void LLViewerWindow::saveImageLocal(LLImageFormatted *image, const snapshot_save auto err = 0; auto extension("." + image->getExtension()); auto now = LLDate::now(); - static LLCachedControl<bool> snapshot_timestamp(gSavedSettings, "SnapshotTimestamp", true) ; do { filepath = sSnapshotDir; filepath += gDirUtilp->getDirDelimiter(); filepath += sSnapshotBaseName; - if (snapshot_timestamp) - { filepath += now.toLocalDateString("_%Y-%m-%d_%H%M%S"); filepath += llformat("%.2d", i); - } - else if (is_snapshot_name_loc_set) - { - filepath += llformat("_%.3d", i); - } filepath += extension; llstat stat_info; @@ -5055,7 +5048,7 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei mWorldViewRectRaw.set(0, image_height, image_width, 0); LLViewerCamera::getInstance()->setViewHeightInPixels( mWorldViewRectRaw.getHeight() ); LLViewerCamera::getInstance()->setAspect( getWorldViewAspectRatio() ); - scratch_space.bindTarget(); + scratch_space.bindTarget("", 0); } else { @@ -5195,7 +5188,7 @@ bool LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei glReadPixels( subimage_x_offset, out_y + subimage_y_offset, read_width, 1, - GL_DEPTH_COMPONENT, GL_FLOAT, + GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, depth_line_buffer->getData()// current output pixel is beginning of buffer... ); @@ -5322,7 +5315,7 @@ bool LLViewerWindow::simpleSnapshot(LLImageRaw* raw, S32 image_width, S32 image_ { mWorldViewRectRaw.set(0, image_height, image_width, 0); - scratch_space.bindTarget(); + scratch_space.bindTarget("", 0); } else { diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index e317ba262a..ab07afe23e 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5478,7 +5478,7 @@ U32 LLVOAvatar::renderImpostor(LLColor4U color, S32 diffuse_channel) gGL.begin(LLRender::LINES); gGL.color4f(1.f,1.f,1.f,1.f); F32 thickness = llmax(F32(5.0f-5.0f*(gFrameTimeSeconds-mLastImpostorUpdateFrameTime)),1.0f); - glLineWidth(thickness); + //glLineWidth(thickness); gGL.vertex3fv((pos+left-up).mV); gGL.vertex3fv((pos-left-up).mV); gGL.vertex3fv((pos-left-up).mV); diff --git a/indra/newview/mpfloatertuning.cpp b/indra/newview/mpfloatertuning.cpp index 1a3e4cf718..23f8c21e70 100644 --- a/indra/newview/mpfloatertuning.cpp +++ b/indra/newview/mpfloatertuning.cpp @@ -39,47 +39,37 @@ MPFloaterTuning::MPFloaterTuning(const LLSD& key) : LLFloater(key) { } -void MPFloaterTuning::syncFromPreferenceSetting(void *user_data) -{ - MPFloaterTuning *self = static_cast<MPFloaterTuning*>(user_data); +bool MPFloaterTuning::postBuild() +{ U32 fps = gSavedSettings.getU32("MaxFPS"); if(fps==0) fps=132; - LLSliderCtrl* fpsSliderCtrl = self->getChild<LLSliderCtrl>("fpsSlider"); - fpsSliderCtrl->setValue(fps,FALSE); + mFpsSlider = getChild<LLSliderCtrl>("fpsSliderCtrl"); + mFpsSlider->setCommitCallback(boost::bind(&MPFloaterTuning::onFpsSliderChanged, this)); - LLTextBox* fpsText = self->getChild<LLTextBox>("fpsText"); - if(fps>120) fpsText->setValue("no limit"); - else fpsText->setValue(std::to_string(fps)+" fps"); -} - -bool MPFloaterTuning::postBuild() -{ - LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider"); - fpsSliderCtrl->setMinValue(12); - fpsSliderCtrl->setMaxValue(132); - fpsSliderCtrl->setSliderMouseUpCallback(boost::bind(&MPFloaterTuning::onFinalCommit,this)); + mFpsSlider->setValue(fps, false); - LLTextBox* fpsText = getChild<LLTextBox>("fpsText"); - fpsText->setValue(""); + mFpsTextBox = getChild<LLTextBox>("fpsTextCtrl"); + mFpsTextBox->setValue(""); - syncFromPreferenceSetting(this); + if(fps>120) mFpsTextBox->setValue("no limit"); + else if(fps==0) mFpsTextBox->setValue("no limit"); + else mFpsTextBox->setValue(std::to_string(fps)+" fps"); - return TRUE; + return true; } // Do send-to-the-server work when slider drag completes, or new // value entered as text. -void MPFloaterTuning::onFinalCommit() +void MPFloaterTuning::onFpsSliderChanged() { - LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider"); - U32 fps = (U32)fpsSliderCtrl->getValueF32(); + U32 fps = (U32)mFpsSlider->getValueF32(); gSavedSettings.setU32("MaxFPS",fps); - LLTextBox* fpsText = getChild<LLTextBox>("fpsText"); - if(fps>120) fpsText->setValue("no limit"); - else fpsText->setValue(std::to_string(fps)+" fps"); + if(fps>120) mFpsTextBox->setValue("no limit"); + else if(fps==0) mFpsTextBox->setValue("no limit"); + else mFpsTextBox->setValue(std::to_string(fps)+" fps"); } void MPFloaterTuning::onClose(bool app_quitting) diff --git a/indra/newview/mpfloatertuning.h b/indra/newview/mpfloatertuning.h index 9e9c7f174f..bebdaa9952 100644 --- a/indra/newview/mpfloatertuning.h +++ b/indra/newview/mpfloatertuning.h @@ -29,20 +29,28 @@ #include "llfloater.h" +class LLSliderCtrl; +class LLTextBox; + class MPFloaterTuning: public LLFloater { -public: + public: + MPFloaterTuning(const LLSD& key); bool postBuild(); void onFinalCommit(); - static void syncFromPreferenceSetting(void *user_data); - - //void updateEditEnabled(); /*virtual*/ void onClose(bool app_quitting); + + private: + + LLSliderCtrl* mFpsSlider = nullptr; + LLTextBox* mFpsTextBox = nullptr; + + void onFpsSliderChanged(); }; #endif diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 6b3a5b1892..800ed79d8a 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -141,10 +141,9 @@ bool LLPipeline::WindLightUseAtmosShaders; bool LLPipeline::RenderDeferred; F32 LLPipeline::RenderDeferredSunWash; U32 LLPipeline::RenderFSAAType; -U32 LLPipeline::RenderResolutionDivisor; +F32 LLPipeline::RenderResolutionDivisor; bool LLPipeline::RenderUIBuffer; S32 LLPipeline::RenderShadowDetail; -S32 LLPipeline::MPRenderShadowOpti; S32 LLPipeline::RenderShadowSplits; bool LLPipeline::RenderDeferredSSAO; F32 LLPipeline::RenderShadowResolutionScale; @@ -229,6 +228,9 @@ const F32 ALPHA_BLEND_CUTOFF = 0.598f; const F32 DEFERRED_LIGHT_FALLOFF = 0.5f; const U32 DEFERRED_VB_MASK = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_TEXCOORD1; +const U32 SHADOWS_RESX = 1024; +const U32 SHADOWS_RESY = 768; + extern S32 gBoxFrame; extern bool gDisplaySwapBuffers; extern bool gDebugGL; @@ -268,6 +270,7 @@ LLTrace::BlockTimerStatHandle FTM_STATESORT("Sort Draw State"); LLTrace::BlockTimerStatHandle FTM_PIPELINE("Pipeline"); LLTrace::BlockTimerStatHandle FTM_CLIENT_COPY("Client Copy"); LLTrace::BlockTimerStatHandle FTM_RENDER_DEFERRED("Deferred Shading"); +LLTrace::BlockTimerStatHandle FTM_RENDER_SHADOWS("Shadows"); LLTrace::BlockTimerStatHandle FTM_RENDER_UI_HUD("HUD"); LLTrace::BlockTimerStatHandle FTM_RENDER_UI_3D("3D"); @@ -346,18 +349,20 @@ void validate_framebuffer_object(); // target -- RenderTarget to add attachments to bool addDeferredAttachments(LLRenderTarget& target, bool for_impostor = false) { - U32 orm = GL_RGBA; + U32 orm = GL_RGBA8; U32 norm = GL_RGBA16F; U32 emissive = GL_RGB16F; static LLCachedControl<bool> has_emissive(gSavedSettings, "RenderEnableEmissiveBuffer", false); static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true); + static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0); + bool hdr = has_hdr() && gGLManager.mGLVersion > 4.05f; - if (!hdr) + if (!hdr || MPColorPrecision < 2) { norm = GL_RGB10_A2; - emissive = GL_RGB; + emissive = GL_RGB8; } bool valid = true; @@ -429,7 +434,7 @@ void LLPipeline::init() mInitialized = true; - stop_glerror(); + LOG_GLERROR("LLPipeline::init()"); //create render pass pools getPool(LLDrawPool::POOL_WATEREXCLUSION); @@ -479,6 +484,10 @@ void LLPipeline::init() gSavedSettings.setBOOL("RenderPerformanceTest", true); } +#if LL_DARWIN + mHDRDisplay = gSavedSettings.getBOOL("MPHDRDisplay"); +#endif + mOldRenderDebugMask = mRenderDebugMask; mBackfaceCull = true; @@ -527,7 +536,6 @@ void LLPipeline::init() connectRefreshCachedSettingsSafe("RenderResolutionDivisor"); connectRefreshCachedSettingsSafe("RenderUIBuffer"); connectRefreshCachedSettingsSafe("RenderShadowDetail"); - connectRefreshCachedSettingsSafe("MPRenderShadowOpti"); connectRefreshCachedSettingsSafe("RenderShadowSplits"); connectRefreshCachedSettingsSafe("RenderDeferredSSAO"); connectRefreshCachedSettingsSafe("RenderShadowResolutionScale"); @@ -701,7 +709,8 @@ void LLPipeline::cleanup() void LLPipeline::destroyGL() { - stop_glerror(); + LOG_GLERROR("LLPipeline::destroyGL()"); + unloadShaders(); mHighlightFaces.clear(); @@ -730,9 +739,9 @@ void LLPipeline::resizeShadowTexture() { releaseSunShadowTargets(); releaseSpotShadowTargets(); - GLuint resX = gViewerWindow->getWorldViewWidthRaw(); - GLuint resY = gViewerWindow->getWorldViewHeightRaw(); - allocateShadowBuffer(resX, resY); + //GLuint resX = gViewerWindow->getWorldViewWidthRaw(); + //GLuint resY = gViewerWindow->getWorldViewHeightRaw(); + allocateShadowBuffer(SHADOWS_RESX, SHADOWS_RESY); gResizeShadowTexture = false; } @@ -762,6 +771,12 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY) return ret == FBO_SUCCESS_FULLRES; } +void LLPipeline::renderTriangle() +{ + gPipeline.mScreenTriangleVB->setBuffer(); + gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); +} + LLPipeline::eFBOStatus LLPipeline::doAllocateScreenBuffer(U32 resX, U32 resY) { @@ -806,13 +821,15 @@ LLPipeline::eFBOStatus LLPipeline::doAllocateScreenBuffer(U32 resX, U32 resY) return ret; } -bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) +bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_) { LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true); bool hdr = gGLManager.mGLVersion > 4.05f && has_hdr(); + static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0); + if (mRT == &mMainRT) { // hacky -- allocate auxillary buffer @@ -825,14 +842,14 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) mRT = &mAuxillaryRT; U32 res = mReflectionMapManager.mProbeResolution * 4; //multiply by 4 because probes will be 16x super sampled - allocateScreenBufferInternal(res, res); + allocateScreenBufferInternal(res, res, 1); if (RenderMirrors) { mHeroProbeManager.initReflectionMaps(); res = mHeroProbeManager.mProbeResolution; // We also scale the hero probe RT to the probe res since we don't super sample it. mRT = &mHeroProbeRT; - allocateScreenBufferInternal(res, res); + allocateScreenBufferInternal(res, res, 2); } mRT = &mMainRT; @@ -843,28 +860,33 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) mRT->width = resX; mRT->height = resY; - U32 res_mod = RenderResolutionDivisor; + F32 res_mod = fmin(RenderResolutionDivisor, 4.0); - if (res_mod > 1 && res_mod < resX && res_mod < resY) + if (res_mod >= 0.5 && res_mod <= 4.0) { - resX /= res_mod; - resY /= res_mod; + resX = (U32)(floor((F32)resX / res_mod)); + resY = (U32)(floor((F32)resY / res_mod)); } S32 shadow_detail = RenderShadowDetail; bool ssao = RenderDeferredSSAO; //allocate deferred rendering color buffers - if (!mRT->deferredScreen.allocate(resX, resY, GL_RGBA, true)) return false; + + GLuint deferredScreenFormat = GL_RGBA8; + if((hdr || mHDRDisplay) && MPColorPrecision == 2) deferredScreenFormat = GL_RGBA16F; + + if (!mRT->deferredScreen.allocate(resX, resY, deferredScreenFormat, true)) return false; if (!addDeferredAttachments(mRT->deferredScreen)) return false; - GLuint screenFormat = hdr ? GL_RGBA16F : GL_RGBA; + GLuint screenFormat = GL_RGBA8; + if(hdr || mHDRDisplay) screenFormat = GL_RGBA16F; if (!mRT->screen.allocate(resX, resY, GL_RGBA16F)) return false; mRT->deferredScreen.shareDepthBuffer(mRT->screen); - if (shadow_detail > 0 || ssao || RenderDepthOfField) + if (hdr || shadow_detail > 0 || ssao || RenderDepthOfField) { //only need mRT->deferredLight for shadows OR ssao OR dof if (!mRT->deferredLight.allocate(resX, resY, screenFormat)) return false; } @@ -873,13 +895,17 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) mRT->deferredLight.release(); } - allocateShadowBuffer(resX, resY); + //allocateShadowBuffer(resX, resY); + if(type_ == 0) allocateShadowBuffer(SHADOWS_RESX, SHADOWS_RESY); if (!gCubeSnapshot) // hack to not re-allocate various targets for cube snapshots { + GLuint UIFormat = GL_RGBA8; + if(mHDRDisplay && MPColorPrecision == 2) UIFormat = GL_RGBA16F; + if (RenderUIBuffer) { - if (!mUIScreen.allocate(resX, resY, GL_RGBA)) + if (!mUIScreen.allocate(resX, resY, UIFormat)) { return false; } @@ -887,10 +913,13 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) if (RenderFSAAType > 0) { - if (!mFXAAMap.allocate(resX, resY, GL_RGBA)) return false; + GLuint AAFormat = GL_RGBA8; + if(mHDRDisplay && MPColorPrecision == 2) AAFormat = GL_RGBA16F; + + if (!mFXAAMap.allocate(resX, resY, AAFormat)) return false; if (RenderFSAAType == 2) { - if (!mSMAABlendBuffer.allocate(resX, resY, GL_RGBA, false)) return false; + if (!mSMAABlendBuffer.allocate(resX, resY, AAFormat, false)) return false; } } else @@ -904,14 +933,25 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) if(RenderScreenSpaceReflections) { - mSceneMap.allocate(resX, resY, screenFormat, true); + //mSceneMap.allocate(resX, resY, screenFormat, true); + //We plan a setting. For now e go with a reasonable value + mSceneMap.allocate(512, 512, screenFormat, true); } else { mSceneMap.release(); } - mPostMap.allocate(resX, resY, screenFormat); + if((hdr && MPColorPrecision == 2) || mHDRDisplay) + { + mPostMaps[0].allocate(resX, resY, screenFormat); + mPostMaps[1].allocate(resX, resY, screenFormat); + } + else + { + mPostMaps[0].allocate(resX, resY, GL_RGBA); + mPostMaps[1].allocate(resX, resY, GL_RGBA); + } // The water exclusion mask needs its own depth buffer so we can take care of the problem of multiple water planes. // Should we ever make water not just a plane, it also aids with that as well as the water planes will be rendered into the mask. @@ -924,9 +964,9 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) // used to scale down textures // See LLViwerTextureList::updateImagesCreateTextures and LLImageGL::scaleDown - mDownResMap.allocate(1024, 1024, GL_RGBA); + mDownResMap.allocate(1024, 1024, GL_RGBA8); - mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA); + mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA8); } //HACK make screenbuffer allocations start failing after 30 seconds if (gSavedSettings.getBOOL("SimulateFBOFailure")) @@ -936,7 +976,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY) gGL.getTexUnit(0)->disable(); - stop_glerror(); + LOG_GLERROR("LLPipeline::allocateScreenBufferInternal end"); return true; } @@ -950,15 +990,18 @@ bool LLPipeline::allocateShadowBuffer(U32 resX, U32 resY) S32 shadow_detail = RenderShadowDetail; F32 scale = gCubeSnapshot ? 1.0f : llmax(0.5f, RenderShadowResolutionScale); // Don't scale probe shadow maps - U32 sun_shadow_map_width = BlurHappySize(resX, scale); - U32 sun_shadow_map_height = BlurHappySize(resY, scale); + //U32 sun_shadow_map_width = BlurHappySize(resX, scale); + //U32 sun_shadow_map_height = BlurHappySize(resY, scale); + U32 sun_shadow_map_width = resX * scale; + U32 sun_shadow_map_height = resY * scale; - if (shadow_detail > 0) + if (shadow_detail > 0 && shadow_detail < 3) { //allocate 4 sun shadow maps for (U32 i = 0; i < 4; i++) { - if (!mRT->shadow[i].allocate(sun_shadow_map_width, sun_shadow_map_height, 0, true)) + if (!mRT->shadow[i].allocate(sun_shadow_map_width, sun_shadow_map_height, 0, true, LLTexUnit::TT_TEXTURE, LLTexUnit::TMG_NONE)) { + LL_WARNS() << "failed allocating shadow buffer " << i << " w:" << sun_shadow_map_width << " h:" << sun_shadow_map_height << LL_ENDL; return false; } } @@ -1058,10 +1101,9 @@ void LLPipeline::refreshCachedSettings() RenderDeferred = true; // DEPRECATED -- gSavedSettings.getBOOL("RenderDeferred"); RenderDeferredSunWash = gSavedSettings.getF32("RenderDeferredSunWash"); RenderFSAAType = gSavedSettings.getU32("RenderFSAAType"); - RenderResolutionDivisor = gSavedSettings.getU32("RenderResolutionDivisor"); + RenderResolutionDivisor = gSavedSettings.getF32("RenderResolutionDivisor"); RenderUIBuffer = gSavedSettings.getBOOL("RenderUIBuffer"); RenderShadowDetail = gSavedSettings.getS32("RenderShadowDetail"); - MPRenderShadowOpti = gSavedSettings.getS32("MPRenderShadowOpti"); RenderShadowSplits = gSavedSettings.getS32("RenderShadowSplits"); RenderDeferredSSAO = gSavedSettings.getBOOL("RenderDeferredSSAO"); RenderShadowResolutionScale = gSavedSettings.getF32("RenderShadowResolutionScale"); @@ -1152,6 +1194,13 @@ void LLPipeline::releaseGLBuffers() { assertInitialized(); + mBloomMap.release(); + + for (U32 i = 0; i < 2; i++) + { + mBloomBlur[i].release(); + } + if (mNoiseMap) { LLImageGL::deleteTextures(1, &mNoiseMap); @@ -1184,7 +1233,8 @@ void LLPipeline::releaseGLBuffers() mWaterExclusionMask.release(); - mPostMap.release(); + mPostMaps[0].release(); + mPostMaps[1].release(); mFXAAMap.release(); @@ -1272,23 +1322,32 @@ void LLPipeline::releaseSpotShadowTargets() void LLPipeline::createGLBuffers() { LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; - stop_glerror(); + LOG_GLERROR("LLPipeline::createGLBuffers()"); assertInitialized(); - stop_glerror(); - GLuint resX = gViewerWindow->getWorldViewWidthRaw(); GLuint resY = gViewerWindow->getWorldViewHeightRaw(); // allocate screen space glow buffers const U32 glow_res = llmax(1, llmin(512, 1 << gSavedSettings.getS32("RenderGlowResolutionPow"))); const bool glow_hdr = gSavedSettings.getBOOL("RenderGlowHDR"); - const U32 glow_color_fmt = glow_hdr ? GL_RGBA16F : GL_RGBA; + static LLCachedControl<U32> MPColorPrecision(gSavedSettings, "MPColorPrecision", 0); + + U32 glow_color_fmt = glow_hdr ? GL_RGBA16F : GL_RGBA8; + if(MPColorPrecision == 2) glow_color_fmt = GL_RGBA16F; + for (U32 i = 0; i < 3; i++) { mGlow[i].allocate(512, glow_res, glow_color_fmt); } + mBloomMap.allocate(512, 256, glow_color_fmt); + + for (U32 i = 0; i < 2; i++) + { + mBloomBlur[i].allocate(512, 256, glow_color_fmt); + } + allocateScreenBuffer(resX, resY); // Do not zero out mRT dimensions here. allocateScreenBuffer() above // already sets the correct dimensions. Zeroing them caused resizeShadowTexture() @@ -1397,7 +1456,7 @@ void LLPipeline::createGLBuffers() gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mSMAASampleMap); LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, GL_RGB, raw_image->getWidth(), raw_image->getHeight(), format, GL_UNSIGNED_BYTE, raw_image->getData(), false); - stop_glerror(); + LOG_GLERROR("LLPipeline::createGLBuffers after setManualImage"); gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR); gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); } @@ -1457,11 +1516,7 @@ void LLPipeline::createLUTBuffers() } U32 pix_format = GL_R16F; -#if 0 && LL_DARWIN - // Need to work around limited precision with 10.6.8 and older drivers - // - pix_format = GL_R32F; -#endif + LLImageGL::generateTextures(1, &mLightFunc); gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mLightFunc); LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, pix_format, lightResX, lightResY, GL_RED, GL_FLOAT, ls, false); @@ -1474,7 +1529,7 @@ void LLPipeline::createLUTBuffers() } mPbrBrdfLut.allocate(512, 512, GL_RG16F); - mPbrBrdfLut.bindTarget(); + mPbrBrdfLut.bindTarget("mPbrBrdfLut", 1); if (gDeferredGenBrdfLutProgram.isComplete()) { @@ -1498,13 +1553,13 @@ void LLPipeline::createLUTBuffers() mPbrBrdfLut.flush(); mExposureMap.allocate(1, 1, GL_R16F); - mExposureMap.bindTarget(); + mExposureMap.bindTarget("mExposureMap", 1); glClearColor(1, 1, 1, 0); mExposureMap.clear(); glClearColor(0, 0, 0, 0); mExposureMap.flush(); - mLuminanceMap.allocate(256, 256, GL_R16F, false, LLTexUnit::TT_TEXTURE); + mLuminanceMap.allocate(256, 256, GL_R16F, false, LLTexUnit::TT_TEXTURE, LLTexUnit::TMG_AUTO); mLastExposure.allocate(1, 1, GL_R16F); } @@ -2529,7 +2584,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result) gSky.mVOSkyp->mDrawable->setVisible(camera); sCull->pushDrawable(gSky.mVOSkyp->mDrawable); gSky.updateCull(); - stop_glerror(); + LOG_GLERROR("LLPipeline::updateCull sky"); } if (hasRenderType(LLPipeline::RENDER_TYPE_WL_SKY) && @@ -2539,6 +2594,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result) { gSky.mVOWLSkyp->mDrawable->setVisible(camera); sCull->pushDrawable(gSky.mVOWLSkyp->mDrawable); + LOG_GLERROR("LLPipeline::updateCull pushDrawable"); } } @@ -2691,6 +2747,8 @@ void LLPipeline::doOcclusion(LLCamera& camera) gGL.setColorMask(true, true); } + + LOG_GLERROR("LLPipeline::doOcclusion()"); } bool LLPipeline::updateDrawableGeom(LLDrawable* drawablep) @@ -2860,6 +2918,7 @@ void LLPipeline::updateGeom(F32 max_dtime) } updateMovedList(mMovedBridge); + LOG_GLERROR("LLPipeline::updateGeom()"); } void LLPipeline::markVisible(LLDrawable *drawablep, LLCamera& camera) @@ -3832,6 +3891,10 @@ void render_hud_elements() gGL.color4f(1, 1, 1, 1); LLGLDepthTest depth(GL_TRUE, GL_FALSE); + static LLCachedControl<bool> HDRDisplay(gSavedSettings, "MPHDRDisplay"); + static LLCachedControl<F32> hdrUIBoost(gSavedSettings, "MPHDRUIBoost"); + if(HDRDisplay) gUIProgram.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)hdrUIBoost); + if (!LLPipeline::sReflectionRender && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI)) { gViewerWindow->renderSelections(false, false, false); // For HUD version in render_ui_3d() @@ -3858,6 +3921,8 @@ void render_hud_elements() } gUIProgram.unbind(); + + LOG_GLERROR("LLPipeline::render_hud_elements()"); } static inline void bindHighlightProgram(LLGLSLShader& program) @@ -3962,6 +4027,8 @@ void LLPipeline::renderHighlights() unbindHighlightProgram(gHighlightSpecularProgram); } } + + LOG_GLERROR("LLPipeline::renderHighlights()"); } //debug use @@ -3971,6 +4038,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion) { LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomDeferred"); LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL; //LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY); + LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY); LL_PROFILE_GPU_ZONE("renderGeomDeferred"); llassert(!sRenderingHUDs); @@ -3999,6 +4067,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion) bool occlude = LLPipeline::sUseOcclusion > 1 && do_occlusion && !LLGLSLShader::sProfileEnabled; setupHWLights(); + LOG_GLERROR("LLPipeline::renderGeomDeferred() setupHWLights"); { LL_PROFILE_ZONE_NAMED_CATEGORY_DRAWPOOL("deferred pools"); @@ -4087,7 +4156,7 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion) } } iter1 = iter2; - stop_glerror(); + LOG_GLERROR(""); } gGLLastMatrix = NULL; @@ -4110,6 +4179,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera) { LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL; LL_PROFILE_GPU_ZONE("renderGeomPostDeferred"); + LL_RECORD_BLOCK_TIME(FTM_RENDER_DEFERRED); if (gUseWireframe) { @@ -4226,7 +4296,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera) } } iter1 = iter2; - stop_glerror(); + LOG_GLERROR("after pools"); } gGLLastMatrix = NULL; @@ -4246,6 +4316,8 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera) { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); } + + LOG_GLERROR("LLPipeline::renderGeomPostDeferred()"); } void LLPipeline::renderGeomShadow(LLCamera& camera) @@ -4305,11 +4377,12 @@ void LLPipeline::renderGeomShadow(LLCamera& camera) } } iter1 = iter2; - stop_glerror(); + LOG_GLERROR(""); } gGLLastMatrix = NULL; gGL.loadMatrix(gGLModelView); + LOG_GLERROR("LLPipeline::renderGeomShadow()"); } @@ -4340,7 +4413,7 @@ void LLPipeline::renderPhysicsDisplay() LLGLEnable(GL_POLYGON_OFFSET_LINE); glPolygonOffset(3.f, 3.f); - glLineWidth(3.f); + //glLineWidth(3.f); LLGLEnable blend(GL_BLEND); gGL.setSceneBlendType(LLRender::BT_ALPHA); @@ -4382,7 +4455,7 @@ void LLPipeline::renderPhysicsDisplay() glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); } } - glLineWidth(1.f); + //glLineWidth(1.f); gDebugProgram.unbind(); } @@ -4467,7 +4540,7 @@ void LLPipeline::renderDebug() if ( pathfindingConsole->isRenderNavMesh() ) { gGL.flush(); - glLineWidth(2.0f); + //glLineWidth(2.0f); LLGLEnable cull(GL_CULL_FACE); LLGLDisable blend(GL_BLEND); @@ -4491,7 +4564,7 @@ void LLPipeline::renderDebug() gGL.flush(); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - glLineWidth(1.0f); + //glLineWidth(1.0f); gGL.flush(); } //User designated path @@ -4547,7 +4620,6 @@ void LLPipeline::renderDebug() LLGLDisable cull(i >= 2 ? GL_CULL_FACE : 0); gGL.flush(); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); //get rid of some z-fighting @@ -4607,11 +4679,11 @@ void LLPipeline::renderDebug() gPathfindingProgram.uniform1f(sTint, 1.f); gPathfindingProgram.uniform1f(sAlphaScale, 1.f); - glLineWidth(gSavedSettings.getF32("PathfindingLineWidth")); + //glLineWidth(gSavedSettings.getF32("PathfindingLineWidth")); LLGLDisable blendOut(GL_BLEND); llPathingLibInstance->renderNavMeshShapesVBO( render_order[i] ); gGL.flush(); - glLineWidth(1.f); + //glLineWidth(1.f); } glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); @@ -4634,7 +4706,7 @@ void LLPipeline::renderDebug() LLGLEnable blend(GL_BLEND); LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_GREATER); gGL.flush(); - glLineWidth(2.0f); + //glLineWidth(2.0f); LLGLEnable cull(GL_CULL_FACE); gPathfindingProgram.uniform1f(sTint, gSavedSettings.getF32("PathfindingXRayTint")); @@ -4661,7 +4733,7 @@ void LLPipeline::renderDebug() gPathfindingProgram.bind(); gGL.flush(); - glLineWidth(1.0f); + //glLineWidth(1.0f); } glPolygonOffset(0.f, 0.f); @@ -4798,12 +4870,11 @@ void LLPipeline::renderDebug() LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("probe debug display"); bindDeferredShader(gReflectionProbeDisplayProgram, NULL); - mScreenTriangleVB->setBuffer(); LLGLEnable blend(GL_BLEND); LLGLDepthTest depth(GL_FALSE); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); unbindDeferredShader(gReflectionProbeDisplayProgram); } @@ -5754,19 +5825,22 @@ void LLPipeline::setupHWLights() mSunDiffuse.setVec(psky->getSunlightColor()); mMoonDiffuse.setVec(psky->getMoonlightColor()); - F32 max_color = llmax(mSunDiffuse.mV[0], mSunDiffuse.mV[1], mSunDiffuse.mV[2]); - if (max_color > 1.f) + if(!mHDRDisplay) { - mSunDiffuse *= 1.f/max_color; - } - mSunDiffuse.clamp(); + F32 max_color = llmax(mSunDiffuse.mV[0], mSunDiffuse.mV[1], mSunDiffuse.mV[2]); + if (max_color > 1.f) + { + mSunDiffuse *= 1.f/max_color; + } + mSunDiffuse.clamp(); - max_color = llmax(mMoonDiffuse.mV[0], mMoonDiffuse.mV[1], mMoonDiffuse.mV[2]); - if (max_color > 1.f) - { - mMoonDiffuse *= 1.f/max_color; + max_color = llmax(mMoonDiffuse.mV[0], mMoonDiffuse.mV[1], mMoonDiffuse.mV[2]); + if (max_color > 1.f) + { + mMoonDiffuse *= 1.f/max_color; + } + mMoonDiffuse.clamp(); } - mMoonDiffuse.clamp(); // prevent underlighting from having neither lightsource facing us if (!sun_up && !moon_up) @@ -6792,6 +6866,8 @@ void LLPipeline::resetVertexBuffers(LLDrawable* drawable) facep->clearVertexBuffer(); } } + + LOG_GLERROR("LLPipeline::resetVertexBuffers()"); } void LLPipeline::renderObjects(U32 type, bool texture, bool batch_texture, bool rigged) @@ -6811,6 +6887,7 @@ void LLPipeline::renderObjects(U32 type, bool texture, bool batch_texture, bool gGL.loadMatrix(gGLModelView); gGLLastMatrix = NULL; + LOG_GLERROR("LLPipeline::renderObjects()"); } void LLPipeline::renderGLTFObjects(U32 type, bool texture, bool rigged) @@ -6839,6 +6916,7 @@ void LLPipeline::renderGLTFObjects(U32 type, bool texture, bool rigged) { LL::GLTFSceneManager::instance().render(true, true); } + LOG_GLERROR("LLPipeline::renderGLTFObjects()"); } // Currently only used for shadows -Cosmic,2023-04-19 @@ -6919,6 +6997,7 @@ void LLPipeline::renderAlphaObjects(bool rigged) gGL.loadMatrix(gGLModelView); gGLLastMatrix = NULL; + LOG_GLERROR("LLPipeline::renderAlphaObjects()"); } // Currently only used for shadows -Cosmic,2023-04-19 @@ -6937,6 +7016,7 @@ void LLPipeline::renderMaskedObjects(U32 type, bool texture, bool batch_texture, } gGL.loadMatrix(gGLModelView); gGLLastMatrix = NULL; + LOG_GLERROR("LLPipeline::renderMaskedObjects()"); } // Currently only used for shadows -Cosmic,2023-04-19 @@ -6955,6 +7035,7 @@ void LLPipeline::renderFullbrightMaskedObjects(U32 type, bool texture, bool batc } gGL.loadMatrix(gGLModelView); gGLLastMatrix = NULL; + LOG_GLERROR("LLPipeline::renderFullbrightMaskedObjects()"); } void apply_cube_face_rotation(U32 face) @@ -7017,13 +7098,13 @@ void LLPipeline::bindScreenToTexture() } -static LLTrace::BlockTimerStatHandle FTM_RENDER_BLOOM("Bloom"); +static LLTrace::BlockTimerStatHandle FTM_RENDER_BLOOM("Post processing"); void LLPipeline::visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 bufferIndex) { - dst->bindTarget(); + dst->bindTarget("visualizeBuffers", 1); gDeferredBufferVisualProgram.bind(); - gDeferredBufferVisualProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_BILINEAR, bufferIndex); + gDeferredBufferVisualProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT, bufferIndex); static LLStaticHashedString mipLevel("mipLevel"); if (RenderBufferVisualization != 4) @@ -7031,8 +7112,7 @@ void LLPipeline::visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 else gDeferredBufferVisualProgram.uniform1f(mipLevel, 8); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); gDeferredBufferVisualProgram.unbind(); dst->flush(); } @@ -7043,7 +7123,8 @@ void LLPipeline::generateLuminance(LLRenderTarget* src, LLRenderTarget* dst) { LL_PROFILE_GPU_ZONE("luminance sample"); - dst->bindTarget(); + dst->bindTarget("generateLuminance", 0); + dst->clear(); LLGLDepthTest depth(GL_FALSE, GL_FALSE); @@ -7074,14 +7155,15 @@ void LLPipeline::generateLuminance(LLRenderTarget* src, LLRenderTarget* dst) static LLStaticHashedString diffuse_luminance_scale_s("diffuse_luminance_scale"); gLuminanceProgram.uniform1f(diffuse_luminance_scale_s, diffuse_luminance_scale); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); dst->flush(); // note -- unbind AFTER the glGenerateMipMap so time in generatemipmap can be profiled under "Luminance" // also note -- keep an eye on the performance of glGenerateMipmap, might need to replace it with a mip generation shader gLuminanceProgram.unbind(); } + + LOG_GLERROR("LLPipeline::generateLuminance()"); } void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool use_history) { @@ -7092,17 +7174,15 @@ void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool if (use_history) { // copy last frame's exposure into mLastExposure - mLastExposure.bindTarget(); + mLastExposure.bindTarget("mLastExposure", 1); gCopyProgram.bind(); gGL.getTexUnit(0)->bind(dst); - - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); - + renderTriangle(); mLastExposure.flush(); } - dst->bindTarget(); + dst->bindTarget("generateExposure", 1); + dst->clear(); LLGLDepthTest depth(GL_FALSE, GL_FALSE); @@ -7185,23 +7265,24 @@ void LLPipeline::generateExposure(LLRenderTarget* src, LLRenderTarget* dst, bool shader->uniform4f(dynamic_exposure_params, dynamic_exposure_coefficient, exp_min, exp_max, dynamic_exposure_speed_error); shader->uniform4f(dynamic_exposure_params2, sky->getHDROffset(should_auto_adjust()), exp_min, exp_max, dynamic_exposure_speed_target); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); if (use_history) { - gGL.getTexUnit(channel)->unbind(mLastExposure.getUsage()); + //gGL.getTexUnit(channel)->unbind(mLastExposure.getUsage()); } shader->unbind(); dst->flush(); } + + LOG_GLERROR("LLPipeline::generateExposure()"); } extern LLPointer<LLImageGL> gEXRImage; void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst) { - dst->bindTarget(); + dst->bindTarget("tonemap", 1); // gamma correct lighting { LL_PROFILE_GPU_ZONE("tonemap"); @@ -7221,7 +7302,7 @@ void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst) shader.bind(); - S32 channel = 0; + //S32 channel = 0; shader.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT); @@ -7243,18 +7324,19 @@ void LLPipeline::tonemap(LLRenderTarget* src, LLRenderTarget* dst) shader.uniform1i(tonemap_type, tonemap_type_setting); shader.uniform1f(tonemap_mix, psky->getTonemapMix(should_auto_adjust())); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); - gGL.getTexUnit(channel)->unbind(src->getUsage()); + //gGL.getTexUnit(channel)->unbind(src->getUsage()); shader.unbind(); } dst->flush(); + LOG_GLERROR("LLPipeline::tonemap()"); } void LLPipeline::gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst) { - dst->bindTarget(); + dst->bindTarget("gammaCorrect", 1); + dst->clear(); // gamma correct lighting { LL_PROFILE_GPU_ZONE("gamma correct"); @@ -7268,16 +7350,27 @@ void LLPipeline::gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst) LLGLSLShader& shader = psky->getReflectionProbeAmbiance(should_auto_adjust) == 0.f ? gLegacyPostGammaCorrectProgram : gDeferredPostGammaCorrectProgram; + static LLCachedControl<F32> mp_hdr_boost(gSavedSettings, "MPHDRBoost", false); + static LLCachedControl<F32> mp_hdr_gamma(gSavedSettings, "MPHDRGamma", false); + if(mHDRDisplay) shader = gHDRGammaCorrectProgram; + shader.bind(); shader.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT); - shader.uniform2f(LLShaderMgr::DEFERRED_SCREEN_RES, (GLfloat)src->getWidth(), (GLfloat)src->getHeight()); + //screensize isn't a uniform int he shader, we comment out for now + //shader.uniform2f(LLShaderMgr::DEFERRED_SCREEN_RES, (GLfloat)src->getWidth(), (GLfloat)src->getHeight()); + + if(mHDRDisplay) + { + shader.uniform1f(LLShaderMgr::GAMMA, (GLfloat)mp_hdr_gamma); + shader.uniform1f(LLShaderMgr::MP_HDR_BOOST, (GLfloat)mp_hdr_boost); + } - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); shader.unbind(); } dst->flush(); + LOG_GLERROR("LLPipeline::gammaCorrect()"); } void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget* dst) @@ -7290,7 +7383,7 @@ void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget* LLRenderTarget& depth_src = mRT->deferredScreen; - dst->bindTarget(); + dst->bindTarget("copyScreenSpaceReflections", 1); dst->clear(); gCopyDepthProgram.bind(); @@ -7300,11 +7393,11 @@ void LLPipeline::copyScreenSpaceReflections(LLRenderTarget* src, LLRenderTarget* gGL.getTexUnit(diff_map)->bind(src); gGL.getTexUnit(depth_map)->bind(&depth_src, true); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); dst->flush(); } + LOG_GLERROR("LLPipeline::copyScreenSpaceReflection()"); } void LLPipeline::generateGlow(LLRenderTarget* src) @@ -7312,7 +7405,9 @@ void LLPipeline::generateGlow(LLRenderTarget* src) if (sRenderGlow) { LL_PROFILE_GPU_ZONE("glow"); - mGlow[2].bindTarget(); + LL_RECORD_BLOCK_TIME(FTM_RENDER_GLOW); + + mGlow[2].bindTarget("mGlow[2]", 1); mGlow[2].clear(); gGlowExtractProgram.bind(); @@ -7352,8 +7447,8 @@ void LLPipeline::generateGlow(LLRenderTarget* src) gGL.color4f(1, 1, 1, 1); gPipeline.enableLightsFullbright(); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); + gGlowExtractProgram.unbindTexture(LLShaderMgr::GLOW_NOISE_MAP); mGlow[2].flush(); } @@ -7379,7 +7474,7 @@ void LLPipeline::generateGlow(LLRenderTarget* src) for (S32 i = 0; i < kernel; i++) { - mGlow[i % 2].bindTarget(); + mGlow[i % 2].bindTarget("mGlow[i % 2]", 1); mGlow[i % 2].clear(); if (i == 0) @@ -7400,8 +7495,7 @@ void LLPipeline::generateGlow(LLRenderTarget* src) gGlowProgram.uniform2f(LLShaderMgr::GLOW_DELTA, 0, delta); } - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); mGlow[i % 2].flush(); } @@ -7411,25 +7505,26 @@ void LLPipeline::generateGlow(LLRenderTarget* src) } else // !sRenderGlow, skip the glow ping-pong and just clear the result target { - mGlow[1].bindTarget(); + mGlow[1].bindTarget("mGlow[1]", 1); mGlow[1].clear(); mGlow[1].flush(); } + LOG_GLERROR("LLPipeline::generateGlow()"); } -void LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst) +bool LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst) { static LLCachedControl<F32> cas_sharpness(gSavedSettings, "RenderCASSharpness", 0.4f); if (cas_sharpness == 0.0f || !gCASProgram.isComplete()) { - gPipeline.copyRenderTarget(src, dst); - return; + return false; } LLGLSLShader* sharpen_shader = &gCASProgram; // Bind setup: - dst->bindTarget(); + dst->bindTarget("applyCAS", 1); + dst->clear(); sharpen_shader->bind(); @@ -7451,32 +7546,33 @@ void LLPipeline::applyCAS(LLRenderTarget* src, LLRenderTarget* dst) sharpen_shader->uniform2f(out_screen_res, (AF1)dst->getWidth(), (AF1)dst->getHeight()); } - sharpen_shader->bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT); - - // Draw - gPipeline.mScreenTriangleVB->setBuffer(); - gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); - + S32 channel = sharpen_shader->bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src, false, LLTexUnit::TFO_POINT); + renderTriangle(); + sharpen_shader->unbindTexture(channel); sharpen_shader->unbind(); dst->flush(); + + return true; } -void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) +bool LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) { { llassert(!gCubeSnapshot); bool multisample = RenderFSAAType == 1 && gFXAAProgram[0].isComplete() && mFXAAMap.isComplete(); - // Present everything. - if (multisample) + if(!multisample) return false; + { LL_PROFILE_GPU_ZONE("aa"); S32 width = dst->getWidth(); S32 height = dst->getHeight(); + //LL_WARNS() << "dst width=" << width << LL_ENDL; + // bake out texture2D with RGBL for FXAA shader - mFXAAMap.bindTarget(); + mFXAAMap.bindTarget("applyFXAA", 1); mFXAAMap.clear(GL_COLOR_BUFFER_BIT); LLGLSLShader* shader = &gGlowCombineFXAAProgram; @@ -7490,8 +7586,7 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) { LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } shader->disableTexture(LLShaderMgr::DEFERRED_DIFFUSE, src->getUsage()); @@ -7499,7 +7594,8 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) mFXAAMap.flush(); - dst->bindTarget(); + dst->bindTarget("applyFXAA", 1); + dst->clear(); static LLCachedControl<U32> aa_quality(gSavedSettings, "RenderFSAASamples", 0U); U32 fsaa_quality = std::clamp(aa_quality(), 0U, 3U); @@ -7513,15 +7609,20 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) mFXAAMap.bindTexture(0, channel, LLTexUnit::TFO_BILINEAR); } +/* gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft; gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom; gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth(); gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight(); glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]); +*/ F32 scale_x = (F32)width / mFXAAMap.getWidth(); F32 scale_y = (F32)height / mFXAAMap.getHeight(); + + //LL_WARNS() << "vp width=" << gGLViewport[2] << " scale=" << scale_x << LL_ENDL; + shader->uniform2f(LLShaderMgr::FXAA_TC_SCALE, scale_x, scale_y); shader->uniform2f(LLShaderMgr::FXAA_RCP_SCREEN_RES, 1.f / width * scale_x, 1.f / height * scale_y); shader->uniform4f(LLShaderMgr::FXAA_RCP_FRAME_OPT, -0.5f / width * scale_x, -0.5f / height * scale_y, @@ -7534,17 +7635,20 @@ void LLPipeline::applyFXAA(LLRenderTarget* src, LLRenderTarget* dst) S32 depth_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_DEPTH); gGL.getTexUnit(depth_channel)->bind(&mRT->deferredScreen, true); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); + } + + if (channel > -1) + { + shader->unbindTexture(channel); } shader->unbind(); dst->flush(); } - else { - copyRenderTarget(src, dst); - } } + + return true; } void LLPipeline::generateSMAABuffers(LLRenderTarget* src) @@ -7576,7 +7680,7 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) LLRenderTarget& dest = mFXAAMap; LLGLSLShader& edge_shader = gSMAAEdgeDetectProgram[fsaa_quality]; - dest.bindTarget(); + dest.bindTarget("generateSMAABuffers", 1); dest.clear(GL_COLOR_BUFFER_BIT); edge_shader.bind(); @@ -7587,14 +7691,17 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) { if (!use_sample) { - src->bindTexture(0, channel, LLTexUnit::TFO_POINT); - gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); + //src->bindTexture(0, channel, LLTexUnit::TFO_POINT); + //gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); + src->bindTexture(0, channel, LLTexUnit::TFO_BILINEAR); } else { gGL.getTexUnit(channel)->bindManual(LLTexUnit::TT_TEXTURE, mSMAASampleMap); - gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); + //gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); + gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR); } + gGL.getTexUnit(channel)->setTextureAddressMode(LLTexUnit::TAM_CLAMP); } //if (use_stencil) @@ -7603,13 +7710,13 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) // glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); // glStencilMask(0xFF); //} - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + + renderTriangle(); edge_shader.unbind(); dest.flush(); - gGL.getTexUnit(channel)->unbindFast(LLTexUnit::TT_TEXTURE); + //gGL.getTexUnit(channel)->unbindFast(LLTexUnit::TT_TEXTURE); } { @@ -7619,7 +7726,7 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) LLRenderTarget& dest = mSMAABlendBuffer; LLGLSLShader& blend_weights_shader = gSMAABlendWeightsProgram[fsaa_quality]; - dest.bindTarget(); + dest.bindTarget("mSMAABlendBuffer", 1); dest.clear(GL_COLOR_BUFFER_BIT); blend_weights_shader.bind(); @@ -7651,8 +7758,8 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) // glStencilFunc(GL_EQUAL, 1, 0xFF); // glStencilMask(0x00); //} - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + + renderTriangle(); //if (use_stencil) //{ // glStencilFunc(GL_ALWAYS, 0, 0xFF); @@ -7664,9 +7771,10 @@ void LLPipeline::generateSMAABuffers(LLRenderTarget* src) gGL.getTexUnit(search_tex_channel)->unbindFast(LLTexUnit::TT_TEXTURE); } } + LOG_GLERROR("LLPipeline::generateSMAABuffers()"); } -void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) +bool LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) { llassert(!gCubeSnapshot); @@ -7677,10 +7785,13 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) multisample = gSMAAEdgeDetectProgram[0].isComplete() && mFXAAMap.isComplete() && mSMAABlendBuffer.isComplete(); } - // Present everything. - if (multisample) + if(!multisample) return false; + { LL_PROFILE_GPU_ZONE("aa"); + + generateSMAABuffers(src); + static LLCachedControl<U32> aa_quality(gSavedSettings, "RenderFSAASamples", 0U); U32 fsaa_quality = std::clamp(aa_quality(), 0U, 3U); @@ -7701,7 +7812,7 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) LLRenderTarget* bound_target = dst; LLGLSLShader& blend_shader = gSMAANeighborhoodBlendProgram[fsaa_quality]; - bound_target->bindTarget(); + bound_target->bindTarget("applySMAA", 1); bound_target->clear(GL_COLOR_BUFFER_BIT); blend_shader.bind(); @@ -7720,8 +7831,7 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) mSMAABlendBuffer.bindTexture(0, blend_channel, LLTexUnit::TFO_BILINEAR); } - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); bound_target->flush(); blend_shader.unbind(); @@ -7729,27 +7839,23 @@ void LLPipeline::applySMAA(LLRenderTarget* src, LLRenderTarget* dst) gGL.getTexUnit(blend_channel)->unbindFast(LLTexUnit::TT_TEXTURE); } } - else - { - copyRenderTarget(src, dst); - } + + LOG_GLERROR("LLPipeline::applySMAA()"); + return true; } void LLPipeline::copyRenderTarget(LLRenderTarget* src, LLRenderTarget* dst) { LL_PROFILE_GPU_ZONE("copyRenderTarget"); - dst->bindTarget(); - + dst->bindTarget("copyRenderTarget", 1); + dst->clear(GL_COLOR_BUFFER_BIT); gDeferredPostNoDoFProgram.bind(); gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src); - gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DEPTH, &mRT->deferredScreen, true); + //gDeferredPostNoDoFProgram.bindTexture(LLShaderMgr::DEFERRED_DEPTH, &mRT->deferredScreen, true); - { - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); - } + renderTriangle(); gDeferredPostNoDoFProgram.unbind(); @@ -7760,7 +7866,7 @@ void LLPipeline::combineGlow(LLRenderTarget* src, LLRenderTarget* dst) { // Go ahead and do our glow combine here in our destination. We blit this later into the front buffer. - dst->bindTarget(); + dst->bindTarget("combineGlow", 1); { @@ -7769,14 +7875,14 @@ void LLPipeline::combineGlow(LLRenderTarget* src, LLRenderTarget* dst) gGlowCombineProgram.bindTexture(LLShaderMgr::DEFERRED_DIFFUSE, src); gGlowCombineProgram.bindTexture(LLShaderMgr::DEFERRED_EMISSIVE, &mGlow[1]); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } dst->flush(); + LOG_GLERROR("LLPipeline::combineGlow()"); } -void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) +bool LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) { { bool dof_enabled = @@ -7784,6 +7890,8 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) RenderDepthOfField && !gCubeSnapshot; + if(!dof_enabled) return false; + gViewerWindow->setup3DViewport(); if (dof_enabled) @@ -7892,7 +8000,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) F32 magnification = focal_length / (subject_distance - focal_length); { // build diffuse+bloom+CoF - mRT->deferredLight.bindTarget(); + mRT->deferredLight.bindTarget("renderDOF", 1); gDeferredCoFProgram.bind(); @@ -7909,8 +8017,8 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) gDeferredCoFProgram.uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF); gDeferredCoFProgram.uniform1f(LLShaderMgr::DOF_RES_SCALE, CameraDoFResScale); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); + gDeferredCoFProgram.unbind(); mRT->deferredLight.flush(); } @@ -7919,7 +8027,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) U32 dof_height = (U32)(mRT->screen.getHeight() * CameraDoFResScale); { // perform DoF sampling at half-res (preserve alpha channel) - src->bindTarget(); + src->bindTarget("DoF sampling", 1); glViewport(0, 0, dof_width, dof_height); gGL.setColorMask(true, false); @@ -7931,8 +8039,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) gDeferredPostProgram.uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF); gDeferredPostProgram.uniform1f(LLShaderMgr::DOF_RES_SCALE, CameraDoFResScale); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); gDeferredPostProgram.unbind(); @@ -7942,7 +8049,7 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) { // combine result based on alpha - dst->bindTarget(); + dst->bindTarget("DoF combine", 1); glViewport(0, 0, dst->getWidth(), dst->getHeight()); gDeferredDoFCombineProgram.bind(); @@ -7955,19 +8062,134 @@ void LLPipeline::renderDoF(LLRenderTarget* src, LLRenderTarget* dst) gDeferredDoFCombineProgram.uniform1f(LLShaderMgr::DOF_WIDTH, (dof_width - 1) / (F32)src->getWidth()); gDeferredDoFCombineProgram.uniform1f(LLShaderMgr::DOF_HEIGHT, (dof_height - 1) / (F32)src->getHeight()); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); - gDeferredDoFCombineProgram.unbind(); + renderTriangle(); + gDeferredDoFCombineProgram.unbind(); dst->flush(); } } - else - { - copyRenderTarget(src, dst); - } } + + return true; +} + +bool LLPipeline::renderBloom(LLRenderTarget* src, LLRenderTarget* dst) +{ + static LLCachedControl<U32> mp_render_bloom(gSavedSettings, "MPRenderBloom", 0); + + if(mp_render_bloom < 1) return false; + + static LLCachedControl<F32> mp_bloom_extract_brightness(gSavedSettings, "MPBloomExtractBrightness", 0.10); + static LLCachedControl<F32> mp_bloom_radius(gSavedSettings, "MPBloomBlurRadius", 1.5); + static LLCachedControl<F32> mp_bloom_radius_add(gSavedSettings, "MPBloomBlurRadiusAdd", 0); + static LLCachedControl<F32> mp_bloom_strength(gSavedSettings, "MPBloomStrength", 1.0); + static LLCachedControl<F32> mp_bloom_metal(gSavedSettings, "MPBloomExtractMetal", 0.2); + static LLCachedControl<F32> mp_bloom_nonmetal(gSavedSettings, "MPBloomExtractNonMetal", 0.2); + + F32 clampValue = 1.0; + if(mHDRDisplay) clampValue = 11.0; + + LLGLDepthTest depth(GL_FALSE, GL_FALSE); + LLGLDisable blend(GL_BLEND); + + mBloomMap.bindTarget("mBloomMap", 1); + + glClearColor(0, 0, 0, 0); + mBloomMap.clear(); + + gBloomExtractProgram.bind(); + gBloomExtractProgram.bindTexture(LLShaderMgr::DIFFUSE_MAP, &mRT->screen); + gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_ORM, &mRT->deferredScreen, false, LLTexUnit::TFO_POINT, 1); + gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE, &mGlow[1], false, LLTexUnit::TFO_POINT, 0); + gBloomExtractProgram.bindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE2, &mRT->deferredScreen, false, LLTexUnit::TFO_POINT, 3); + + gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_BRIGHTNESS, 1.0 - mp_bloom_extract_brightness); + gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_METAL, mp_bloom_metal); + gBloomExtractProgram.uniform1f(LLShaderMgr::BLOOM_EXTRACT_NONMETAL, mp_bloom_nonmetal); + + renderTriangle(); + + gBloomExtractProgram.unbindTexture(LLShaderMgr::DIFFUSE_MAP); + gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_ORM); + gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE); + gBloomExtractProgram.unbindTexture(LLShaderMgr::BLOOM_EXTRACT_EMISSIVE2); + + gBloomExtractProgram.unbind(); + mBloomMap.flush(); + + + // ping pong blur + + S16 horizontal = 1, first_iteration = true; + unsigned int amount = mp_render_bloom; + if(amount > 10) amount = 10; + + F32 radius = mp_bloom_radius; + + gBloomBlurProgram.bind(); + + + // Iteration 0 + + gBloomBlurProgram.uniform1f(LLShaderMgr::BLOOM_BLUR_RADIUS, radius); + + mBloomBlur[0].bindTarget("", 1); + //mBloomBlur[0].clear(); + gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 0); + gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomMap); + renderTriangle(); + mBloomBlur[0].flush(); + + mBloomBlur[1].bindTarget("", 1); + gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 1); + gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[0]); + renderTriangle(); + mBloomBlur[1].flush(); + + + // additional iterations + + for (unsigned int i = 1; i < amount; i++) + { + radius += mp_bloom_radius_add; + gBloomBlurProgram.uniform1f(LLShaderMgr::BLOOM_BLUR_RADIUS, radius); + + mBloomBlur[0].bindTarget("", 1); + gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 0); + gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[1]); + renderTriangle(); + mBloomBlur[0].flush(); + + mBloomBlur[1].bindTarget("", 1); + gBloomBlurProgram.uniform1i( LLShaderMgr::BLOOM_BLURH, 1); + gBloomBlurProgram.bindTexture( LLShaderMgr::BLOOM_EMAP, &mBloomBlur[0]); + renderTriangle(); + mBloomBlur[1].flush(); + } + + gBloomBlurProgram.unbindTexture(LLShaderMgr::BLOOM_EMAP); + gBloomBlurProgram.unbind(); + + + // combine + + dst->bindTarget("bloom combine", 1); + //dst->clear(); + + gBloomCombineProgram.bind(); + + gBloomCombineProgram.bindTexture(LLShaderMgr::DIFFUSE_MAP, src); + gBloomCombineProgram.bindTexture(LLShaderMgr::BLOOM_BMAP, &mBloomBlur[1]); + gBloomCombineProgram.uniform1f(LLShaderMgr::BLOOM_STRENGTH, mp_bloom_strength); + gBloomCombineProgram.uniform1f(LLShaderMgr::BLOOM_CLAMP, clampValue); + + renderTriangle(); + + gBloomCombineProgram.unbind(); + dst->flush(); + + return true; } void LLPipeline::renderFinalize() @@ -7986,7 +8208,11 @@ void LLPipeline::renderFinalize() LLGLDisable blend(GL_BLEND); LLGLDisable cull(GL_CULL_FACE); - enableLightsFullbright(); + gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft; + gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom; + gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth(); + gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight(); + glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]); gGL.setColorMask(true, true); glClearColor(0, 0, 0, 0); @@ -7994,46 +8220,74 @@ void LLPipeline::renderFinalize() static LLCachedControl<bool> has_hdr(gSavedSettings, "RenderHDREnabled", true); bool hdr = gGLManager.mGLVersion > 4.05f && has_hdr(); + U16 activeRT = 0; + + LLRenderTarget* postHDRBuffer = &mRT->screen; + if (hdr) { copyScreenSpaceReflections(&mRT->screen, &mSceneMap); - generateLuminance(&mRT->screen, &mLuminanceMap); - - generateExposure(&mLuminanceMap, &mExposureMap); - - tonemap(&mRT->screen, &mPostMap); + if(!mHDRDisplay) + { + generateLuminance(&mRT->screen, &mLuminanceMap); + generateExposure(&mLuminanceMap, &mExposureMap); - applyCAS(&mPostMap, &mRT->screen); + tonemap(&mRT->screen, &mRT->deferredLight); + postHDRBuffer = &mRT->deferredLight; + } } - generateSMAABuffers(&mRT->screen); + gammaCorrect(postHDRBuffer, &mPostMaps[activeRT]); - gammaCorrect(&mRT->screen, &mPostMap); + + if(hdr) + { + generateGlow(&mPostMaps[activeRT]); + } LLVertexBuffer::unbind(); - applySMAA(&mPostMap, &mRT->screen); + if(hdr) + { + if(renderBloom(&mPostMaps[activeRT], &mPostMaps[1 - activeRT])) + { + activeRT = 1 - activeRT; + } + } - generateGlow(&mRT->screen); + if(hdr) + { + combineGlow(&mPostMaps[activeRT], &mPostMaps[1 - activeRT]); + activeRT = 1 - activeRT; + } - combineGlow(&mRT->screen, &mPostMap); + if(applyFXAA(&mPostMaps[activeRT], &mPostMaps[1 - activeRT])) + { + activeRT = 1 - activeRT; + } - gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft; - gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom; - gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth(); - gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight(); - glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]); + if(applySMAA(&mPostMaps[activeRT], &mPostMaps[1 - activeRT])) + { + activeRT = 1 - activeRT; + } - renderDoF(&mPostMap, &mRT->screen); + if(!mHDRDisplay) + { + //CAS breaks the hdr colors for now. + if(applyCAS(&mPostMaps[activeRT], &mPostMaps[1 - activeRT])) + { + activeRT = 1 - activeRT; + } + } - LLRenderTarget* finalBuffer = &mRT->screen; - if (RenderFSAAType == 1) + if(renderDoF(&mPostMaps[activeRT], &mPostMaps[1 - activeRT])) { - applyFXAA(&mRT->screen, &mPostMap); - finalBuffer = &mPostMap; + activeRT = 1 - activeRT; } + LLRenderTarget* finalBuffer = &mPostMaps[activeRT]; + if (RenderBufferVisualization > -1) { switch (RenderBufferVisualization) @@ -8063,6 +8317,36 @@ void LLPipeline::renderFinalize() } break; } + case 7: + visualizeBuffers(&mBloomMap, finalBuffer, 0); + break; + case 8: + visualizeBuffers(&mBloomBlur[1], finalBuffer, 0); + break; + case 9: + visualizeBuffers(&mPostMaps[activeRT], finalBuffer, 0); + break; + case 10: + visualizeBuffers(&mGlow[0], finalBuffer, 0); + break; + case 11: + visualizeBuffers(&mGlow[1], finalBuffer, 0); + break; + case 12: + visualizeBuffers(&mGlow[2], finalBuffer, 0); + break; + case 13: + visualizeBuffers(&mSceneMap, finalBuffer, 0); + break; + case 14: + visualizeBuffers(&mRT->screen, finalBuffer, 0); + break; + case 15: + visualizeBuffers(&mRT->deferredLight, finalBuffer, 0); + break; + case 16: + visualizeBuffers(&mPostMaps[1-activeRT], finalBuffer, 0); + break; default: break; } @@ -8080,8 +8364,7 @@ void LLPipeline::renderFinalize() { LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } gDeferredPostNoDoFNoiseProgram.unbind(); @@ -8106,6 +8389,7 @@ void LLPipeline::renderFinalize() // flush calls made to "addTrianglesDrawn" so far to stats machinery recordTrianglesDrawn(); + LOG_GLERROR("LLPipeline::renderFinalize()"); } void LLPipeline::bindLightFunc(LLGLSLShader& shader) @@ -8125,6 +8409,8 @@ void LLPipeline::bindLightFunc(LLGLSLShader& shader) void LLPipeline::bindShadowMaps(LLGLSLShader& shader) { + LOG_GLERROR("bindShadowMaps() 1"); + for (U32 i = 0; i < 4; i++) { LLRenderTarget* shadow_target = getSunShadowTarget(i); @@ -8138,6 +8424,8 @@ void LLPipeline::bindShadowMaps(LLGLSLShader& shader) } } + LOG_GLERROR("bindShadowMaps() 2"); + for (U32 i = 4; i < 6; i++) { S32 channel = shader.enableTexture(LLShaderMgr::DEFERRED_SHADOW0 + i); @@ -8246,7 +8534,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_ bindLightFunc(shader); - stop_glerror(); + LOG_GLERROR("bindDeferredShader()"); light_target = light_target ? light_target : deferred_light_target; channel = shader.enableTexture(LLShaderMgr::DEFERRED_LIGHT, light_target->getUsage()); @@ -8262,11 +8550,11 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_ } } - stop_glerror(); + LOG_GLERROR("bindDeferredShader() 2"); bindShadowMaps(shader); - stop_glerror(); + LOG_GLERROR("bindDeferredShader() 3"); F32 mat[16*6]; for (U32 i = 0; i < 16; i++) @@ -8281,7 +8569,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_ shader.uniformMatrix4fv(LLShaderMgr::DEFERRED_SHADOW_MATRIX, 6, false, mat); - stop_glerror(); + LOG_GLERROR("bindDeferredShader() 4"); if (!LLPipeline::sReflectionProbesEnabled) { @@ -8435,6 +8723,8 @@ void LLPipeline::renderDeferredLighting() return; } + LOG_GLERROR("renderDeferredLighting begin"); + llassert(!sRenderingHUDs); F32 light_scale = 1.f; @@ -8476,10 +8766,10 @@ void LLPipeline::renderDeferredLighting() tc_moon = mat * tc_moon; mTransformedMoonDir.set(tc_moon); - if ((RenderDeferredSSAO && !gCubeSnapshot) || RenderShadowDetail > 0) + if ((RenderDeferredSSAO && !gCubeSnapshot) || (RenderShadowDetail > 0 && RenderShadowDetail < 4)) { LL_PROFILE_GPU_ZONE("sun program"); - deferred_light_target->bindTarget(); + deferred_light_target->bindTarget("sun_shader", 1); { // paint shadow/SSAO light map (direct lighting lightmap) LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - sun shadow"); @@ -8511,7 +8801,7 @@ void LLPipeline::renderDeferredLighting() LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - soften shadow"); LL_PROFILE_GPU_ZONE("soften shadow"); // blur lightmap - screen_target->bindTarget(); + screen_target->bindTarget("SSAO", 1); glClearColor(1, 1, 1, 1); screen_target->clear(GL_COLOR_BUFFER_BIT); glClearColor(0, 0, 0, 0); @@ -8544,8 +8834,7 @@ void LLPipeline::renderDeferredLighting() { LLGLDisable blend(GL_BLEND); LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } screen_target->flush(); @@ -8553,21 +8842,20 @@ void LLPipeline::renderDeferredLighting() bindDeferredShader(gDeferredBlurLightProgram, screen_target); - deferred_light_target->bindTarget(); + deferred_light_target->bindTarget("blur light", 1); gDeferredBlurLightProgram.uniform2f(sDelta, 0.f, 1.f); { LLGLDisable blend(GL_BLEND); LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS); - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } deferred_light_target->flush(); unbindDeferredShader(gDeferredBlurLightProgram); } - screen_target->bindTarget(); + screen_target->bindTarget("renderDeferredLighting screen_target", 1); // clear color buffer here - zeroing alpha (glow) is important or it will accumulate against sky glClearColor(0, 0, 0, 0); screen_target->clear(GL_COLOR_BUFFER_BIT); @@ -8600,8 +8888,7 @@ void LLPipeline::renderDeferredLighting() LLGLDisable blend(GL_BLEND); // full screen blit - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } unbindDeferredShader(gDeferredSoftenProgram); @@ -8817,8 +9104,7 @@ void LLPipeline::renderDeferredLighting() gDeferredMultiLightProgram[idx].uniform1i(LLShaderMgr::CLASSIC_MODE, (psky->canAutoAdjust()) ? 1 : 0); far_z = 0.f; count = 0; - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); unbindDeferredShader(gDeferredMultiLightProgram[idx]); } } @@ -8854,6 +9140,9 @@ void LLPipeline::renderDeferredLighting() gDeferredMultiSpotLightProgram.uniform1i(LLShaderMgr::CLASSIC_MODE, (psky->canAutoAdjust()) ? 1 : 0); mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + /* + gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + */ } gDeferredMultiSpotLightProgram.disableTexture(LLShaderMgr::DEFERRED_PROJECTION); @@ -8916,11 +9205,14 @@ void LLPipeline::renderDeferredLighting() } } gGL.setColorMask(true, true); + + LOG_GLERROR("renderDeferredLighting end"); } void LLPipeline::doAtmospherics() { LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; + LOG_GLERROR("doAtmospherics begin"); if (sImpostorRender) { // do not attempt atmospherics on impostors @@ -8938,7 +9230,7 @@ void LLPipeline::doAtmospherics() LLRenderTarget& dst = gPipeline.mWaterDis; mRT->screen.flush(); - dst.bindTarget(); + dst.bindTarget("doAtmospherics dst", 1); gCopyDepthProgram.bind(); S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP); @@ -8948,11 +9240,10 @@ void LLPipeline::doAtmospherics() gGL.getTexUnit(depth_map)->bind(&depth_src, true); gGL.setColorMask(false, false); - gPipeline.mScreenTriangleVB->setBuffer(); - gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); dst.flush(); - mRT->screen.bindTarget(); + mRT->screen.bindTarget("atmospherics", 1); } LLGLEnable blend(GL_BLEND); @@ -8974,13 +9265,14 @@ void LLPipeline::doAtmospherics() LLGLDepthTest depth(GL_FALSE); // full screen blit - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); unbindDeferredShader(haze_shader); gGL.setSceneBlendType(LLRender::BT_ALPHA); } + + LOG_GLERROR("doAtmospherics end"); } void LLPipeline::doWaterHaze() @@ -9002,7 +9294,7 @@ void LLPipeline::doWaterHaze() LLRenderTarget& dst = gPipeline.mWaterDis; mRT->screen.flush(); - dst.bindTarget(); + dst.bindTarget("water haze copy depth", 1); gCopyDepthProgram.bind(); S32 diff_map = gCopyDepthProgram.getTextureChannel(LLShaderMgr::DIFFUSE_MAP); @@ -9012,11 +9304,10 @@ void LLPipeline::doWaterHaze() gGL.getTexUnit(depth_map)->bind(&depth_src, true); gGL.setColorMask(false, false); - gPipeline.mScreenTriangleVB->setBuffer(); - gPipeline.mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); dst.flush(); - mRT->screen.bindTarget(); + mRT->screen.bindTarget("water haze", 1); } LLGLEnable blend(GL_BLEND); @@ -9042,8 +9333,7 @@ void LLPipeline::doWaterHaze() LLGLDepthTest depth(GL_FALSE); // full screen blit - mScreenTriangleVB->setBuffer(); - mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3); + renderTriangle(); } else { @@ -9065,11 +9355,13 @@ void LLPipeline::doWaterHaze() gGL.setSceneBlendType(LLRender::BT_ALPHA); } + + LOG_GLERROR("after doWaterHaze()"); } void LLPipeline::doWaterExclusionMask() { - mWaterExclusionMask.bindTarget(); + mWaterExclusionMask.bindTarget("", 1); glClearColor(1, 1, 1, 1); mWaterExclusionMask.clear(); mWaterExclusionPool->render(); @@ -9222,6 +9514,7 @@ void LLPipeline::setupSpotLight(LLGLSLShader& shader, LLDrawable* drawablep) } } + LOG_GLERROR("setupSpotLight() end"); } void LLPipeline::unbindDeferredShader(LLGLSLShader &shader) @@ -9229,7 +9522,7 @@ void LLPipeline::unbindDeferredShader(LLGLSLShader &shader) LLRenderTarget* deferred_target = &mRT->deferredScreen; LLRenderTarget* deferred_light_target = &mRT->deferredLight; - stop_glerror(); + LOG_GLERROR("unbindDeferredShader() begin"); shader.disableTexture(LLShaderMgr::NORMAL_MAP, deferred_target->getUsage()); shader.disableTexture(LLShaderMgr::DEFERRED_DIFFUSE, deferred_target->getUsage()); shader.disableTexture(LLShaderMgr::DEFERRED_SPECULAR, deferred_target->getUsage()); @@ -9278,6 +9571,8 @@ void LLPipeline::unbindDeferredShader(LLGLSLShader &shader) gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); gGL.getTexUnit(0)->activate(); shader.unbind(); + + LOG_GLERROR("unbindDeferredShader() end"); } void LLPipeline::setEnvMat(LLGLSLShader& shader) @@ -9300,7 +9595,6 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader) S32 channel = shader.enableTexture(LLShaderMgr::REFLECTION_PROBES, LLTexUnit::TT_CUBE_MAP_ARRAY); bool bound = false; - if (channel > -1 && mReflectionMapManager.mTexture.notNull()) { mReflectionMapManager.mTexture->bind(channel); @@ -9333,6 +9627,11 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader) } // reflection probe shaders generally sample the scene map as well for SSR + + //if(RenderScreenSpaceReflections) + //{ + //LL_WARNS() << "binding SSR to reflection maps" << LL_ENDL; + channel = shader.enableTexture(LLShaderMgr::SCENE_MAP); if (channel > -1) { @@ -9358,8 +9657,10 @@ void LLPipeline::bindReflectionProbes(LLGLSLShader& shader) { gGL.getTexUnit(channel)->bind(&mSceneMap, true); } + //} + LOG_GLERROR("bindReflectionProbes() end"); } void LLPipeline::unbindReflectionProbes(LLGLSLShader& shader) @@ -9373,6 +9674,8 @@ void LLPipeline::unbindReflectionProbes(LLGLSLShader& shader) gGL.getTexUnit(channel)->enable(LLTexUnit::TT_TEXTURE); } } + + LOG_GLERROR("unbindReflectionProbes() end"); } @@ -9431,11 +9734,13 @@ static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_MASKED("Alpha Masked"); static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_BLEND("Alpha Blend"); static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_TREE("Alpha Tree"); static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_GRASS("Alpha Grass"); +static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_MATERIAL("Alpha Material"); static LLTrace::BlockTimerStatHandle FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED("Fullbright Alpha Masked"); void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCamera& shadow_cam, LLCullResult& result, bool depth_clamp) { - LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER); + LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; + LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER); LL_PROFILE_GPU_ZONE("renderShadow"); LLPipeline::sShadowRender = true; @@ -9496,6 +9801,7 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa } }; + LLVertexBuffer::unbind(); for (int j = 0; j < 2; ++j) // 0 -- static, 1 -- rigged { @@ -9512,8 +9818,10 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa gGL.setColorMask(false, false); } - LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow simple"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE); + LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow simple"); LL_PROFILE_GPU_ZONE("shadow simple"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE); + gGL.getTexUnit(0)->disable(); for (U32 type : types) @@ -9534,13 +9842,15 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow geom"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM); renderGeomShadow(shadow_cam); } - if(MPRenderShadowOpti < 3) { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha"); LL_PROFILE_GPU_ZONE("shadow alpha"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA); + const S32 sun_up = LLEnvironment::instance().getIsSunUp() ? 1 : 0; U32 target_width = LLRenderTarget::sCurResX; @@ -9551,6 +9861,7 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha masked"); LL_PROFILE_GPU_ZONE("shadow alpha masked"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MASKED); gDeferredShadowAlphaMaskProgram.bind(rigged); LLGLSLShader::sCurBoundShaderPtr->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_up); LLGLSLShader::sCurBoundShaderPtr->uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width); @@ -9560,12 +9871,15 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha blend"); LL_PROFILE_GPU_ZONE("shadow alpha blend"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_BLEND); renderAlphaObjects(rigged); } { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow fullbright alpha masked"); LL_PROFILE_GPU_ZONE("shadow alpha masked"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED); + gDeferredShadowFullbrightAlphaMaskProgram.bind(rigged); LLGLSLShader::sCurBoundShaderPtr->uniform1i(LLShaderMgr::SUN_UP_FACTOR, sun_up); LLGLSLShader::sCurBoundShaderPtr->uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width); @@ -9575,6 +9889,8 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha grass"); LL_PROFILE_GPU_ZONE("shadow alpha grass"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_GRASS); + gDeferredTreeShadowProgram.bind(rigged); LLGLSLShader::sCurBoundShaderPtr->setMinimumAlpha(ALPHA_BLEND_CUTOFF); @@ -9586,6 +9902,8 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa { LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha material"); LL_PROFILE_GPU_ZONE("shadow alpha material"); + LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MATERIAL); + renderMaskedObjects(LLRenderPass::PASS_NORMSPEC_MASK, true, false, rigged); renderMaskedObjects(LLRenderPass::PASS_MATERIAL_ALPHA_MASK, true, false, rigged); renderMaskedObjects(LLRenderPass::PASS_SPECMAP_MASK, true, false, rigged); @@ -9868,8 +10186,14 @@ public: void LLPipeline::generateSunShadow(LLCamera& camera) { - if (!sRenderDeferred || RenderShadowDetail <= 0 || (MPRenderShadowOpti > 0 && gCubeSnapshot)) + if (!sRenderDeferred || RenderShadowDetail <= 0) + { + return; + } + + if(gCubeSnapshot) { + LL_WARNS() << "generateSunShadow() gCubeSnapshot" << LL_ENDL; return; } @@ -9878,6 +10202,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera) LLDisableOcclusionCulling no_occlusion; + U32 splits = 4; + bool skip_avatar_update = false; if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK || !LLVOAvatar::sVisibleInFirstPerson) { @@ -9982,7 +10308,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera) LLPlane shadow_near_clip; { LLVector3 p = camera.getOrigin(); // gAgent.getPositionAgent(); - p += caster_dir * RenderFarClip*2.f; + p += caster_dir * RenderFarClip*1.1f; shadow_near_clip.setVec(p, caster_dir); } @@ -10055,30 +10381,36 @@ void LLPipeline::generateSunShadow(LLCamera& camera) update_min_max(min, max, fp[i]); } + F32 maxDist = gSavedSettings.getF32("MPRenderShadowMaxDist"); near_clip = llclamp(-max.mV[2], 0.01f, 4.0f); - F32 far_clip = llclamp(-min.mV[2]*2.f, 16.0f, 512.0f); - - //far_clip = llmin(far_clip, 128.f); + F32 far_clip = llclamp(-min.mV[2]*1.1, 16.0f, maxDist); far_clip = llmin(far_clip, camera.getFar()); F32 range = far_clip-near_clip; - LLVector3 split_exp = RenderShadowSplitExponent; + F32 closestDist = 2.0; + F32 closeDist = 10.0; - F32 da = 1.f-llmax( fabsf(lightDir*up), fabsf(lightDir*camera.getLeftAxis()) ); + mSunClipPlanes.mV[0] = near_clip + closestDist; + mSunClipPlanes.mV[1] = near_clip + closeDist; + mSunClipPlanes.mV[2] = mSunClipPlanes.mV[1] + (range-closeDist)*0.4; + mSunClipPlanes.mV[3] = far_clip; + /* + LLVector3 split_exp = RenderShadowSplitExponent; + F32 da = 1.f-llmax( fabsf(lightDir*up), fabsf(lightDir*camera.getLeftAxis()) ); da = powf(da, split_exp.mV[2]); - F32 sxp = split_exp.mV[1] + (split_exp.mV[0]-split_exp.mV[1])*da; - for (U32 i = 0; i < 4; ++i) + for (U32 i = 0; i < splits; ++i) { - F32 x = (F32)(i+1)/4.f; + F32 x = (F32)(i+1)/(F32)splits; x = powf(x, sxp); mSunClipPlanes.mV[i] = near_clip+range*x; } + */ - mSunClipPlanes.mV[0] *= 1.25f; //bump back first split for transition padding + //mSunClipPlanes.mV[0] *= 1.1f; //bump back first split for transition padding } if (gCubeSnapshot) @@ -10092,13 +10424,17 @@ void LLPipeline::generateSunShadow(LLCamera& camera) // convenience array of 4 near clip plane distances F32 dist[] = { near_clip, mSunClipPlanes.mV[0], mSunClipPlanes.mV[1], mSunClipPlanes.mV[2], mSunClipPlanes.mV[3] }; - if (mSunDiffuse == LLColor4::black) + if (mSunDiffuse == LLColor4::black || RenderShadowDetail == 3) { //sun diffuse is totally black shadows don't matter skipRenderingShadows(); } else { - for (S32 j = 0; j < (gCubeSnapshot ? 2 : 4); j++) + S32 begin = 0; + S32 end = splits-1; + if(gCubeSnapshot) end = 1; + + for (S32 j = begin; j <= end; j++) { if (!hasRenderDebugMask(RENDER_DEBUG_SHADOW_FRUSTA) && !gCubeSnapshot) { @@ -10136,8 +10472,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera) delta += (frust[i+4]-frust[(i+2)%4+4])*0.05f; delta.normVec(); F32 dp = delta*pn; - frust[i] = eye + (delta*dist[j]*0.75f)/dp; - frust[i+4] = eye + (delta*dist[j+1]*1.25f)/dp; + frust[i] = eye + (delta*dist[j]*0.9f)/dp; + frust[i+4] = eye + (delta*dist[j+1]*1.1f)/dp; } shadow_cam.calcAgentFrustumPlanes(frust); @@ -10150,12 +10486,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera) std::vector<LLVector3> fp; - U32 splits = 3; - if(MPRenderShadowOpti == 1) splits = 2; - else if(MPRenderShadowOpti >= 2) splits = 1; - - if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir) - || j > splits) + if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir)) { //no possible shadow receivers if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA) && !gCubeSnapshot) @@ -10165,7 +10496,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera) mShadowCamera[j+4] = shadow_cam; } - mRT->shadow[j].bindTarget(); + mRT->shadow[j].bindTarget("", 1); { LLGLDepthTest depth(GL_TRUE); mRT->shadow[j].clear(); @@ -10455,8 +10786,9 @@ void LLPipeline::generateSunShadow(LLCamera& camera) stop_glerror(); - mRT->shadow[j].bindTarget(); - mRT->shadow[j].getViewport(gGLViewport); + mRT->shadow[j].bindTarget("mRT->shadow[j] (rendering)", 1); + //mRT->shadow[j].getViewport(gGLViewport); + //mRT->shadow[j].getViewport(0, 0, SHADOWS_RESX, SHADOWS_RESY); mRT->shadow[j].clear(); { @@ -10604,8 +10936,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera) // - mSpotShadow[i].bindTarget(); - mSpotShadow[i].getViewport(gGLViewport); + mSpotShadow[i].bindTarget("mSpotShadow[i]", 1); + //mSpotShadow[i].getViewport(gGLViewport); mSpotShadow[i].clear(); static LLCullResult result[2]; @@ -10653,6 +10985,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera) { gAgentAvatarp->updateAttachmentVisibility(gAgentCamera.getCameraMode()); } + + LOG_GLERROR("LLPipeline::generateSunShadow()"); } void LLPipeline::renderGroups(LLRenderPass* pass, U32 type, bool texture) @@ -10668,6 +11002,8 @@ void LLPipeline::renderGroups(LLRenderPass* pass, U32 type, bool texture) pass->renderGroup(group,type,texture); } } + + LOG_GLERROR("LLPipeline::renderGroups()"); } void LLPipeline::renderRiggedGroups(LLRenderPass* pass, U32 type, bool texture) @@ -10683,6 +11019,8 @@ void LLPipeline::renderRiggedGroups(LLRenderPass* pass, U32 type, bool texture) pass->renderRiggedGroup(group, type, texture); } } + + LOG_GLERROR("LLPipeline::renderRiggedGroups()"); } void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments) @@ -10699,7 +11037,7 @@ void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments) LLGLSLShader* cur_shader = LLGLSLShader::sCurBoundShaderPtr; - mRT->deferredScreen.bindTarget(); + mRT->deferredScreen.bindTarget("mRT->deferredScreen in profileAvatar", 1); mRT->deferredScreen.clear(); if (!profile_attachments) @@ -10753,6 +11091,8 @@ void LLPipeline::profileAvatar(LLVOAvatar* avatar, bool profile_attachments) { cur_shader->bind(); } + + LOG_GLERROR("LLPipeline::profileAvatar()"); } void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool for_profile, LLViewerObject* specific_attachment) @@ -10973,7 +11313,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool { if (!avatar->mImpostor.isComplete()) { - avatar->mImpostor.allocate(resX, resY, GL_RGBA, true); + avatar->mImpostor.allocate(resX, resY, GL_RGBA8, true); if (LLPipeline::sRenderDeferred) { @@ -10989,7 +11329,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool avatar->mImpostor.resize(resX, resY); } - avatar->mImpostor.bindTarget(); + avatar->mImpostor.bindTarget("avatar->mImpostor", 1); } } @@ -11126,6 +11466,9 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool } LLVertexBuffer::unbind(); + + LOG_GLERROR("LLPipeline::generateImpostor()"); + LLGLState::checkStates(); } @@ -11450,7 +11793,7 @@ void LLPipeline::skipRenderingShadows() for (S32 j = 0; j < 4; j++) { - mRT->shadow[j].bindTarget(); + mRT->shadow[j].bindTarget("skip rendering shadows", 1); mRT->shadow[j].clear(); mRT->shadow[j].flush(); } diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index da9b8189e2..4bba462f78 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -125,11 +125,14 @@ public: private: //implementation of above, wrapped for easy error handling eFBOStatus doAllocateScreenBuffer(U32 resX, U32 resY); + void renderTriangle(); + public: //attempt to allocate screen buffers at resX, resY //returns true if allocation successful, false otherwise - bool allocateScreenBufferInternal(U32 resX, U32 resY); + //type 0 = screen, 1 = probe, 2 = mirror + bool allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_ = 0); bool allocateShadowBuffer(U32 resX, U32 resY); // rebuild all LLVOVolume render batches @@ -158,15 +161,17 @@ public: void tonemap(LLRenderTarget* src, LLRenderTarget* dst); void gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst); void generateGlow(LLRenderTarget* src); - void applyCAS(LLRenderTarget* src, LLRenderTarget* dst); - void applyFXAA(LLRenderTarget* src, LLRenderTarget* dst); + bool applyCAS(LLRenderTarget* src, LLRenderTarget* dst); + bool applyFXAA(LLRenderTarget* src, LLRenderTarget* dst); void generateSMAABuffers(LLRenderTarget* src); - void applySMAA(LLRenderTarget* src, LLRenderTarget* dst); - void renderDoF(LLRenderTarget* src, LLRenderTarget* dst); + bool applySMAA(LLRenderTarget* src, LLRenderTarget* dst); + bool renderDoF(LLRenderTarget* src, LLRenderTarget* dst); void copyRenderTarget(LLRenderTarget* src, LLRenderTarget* dst); void combineGlow(LLRenderTarget* src, LLRenderTarget* dst); void visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 bufferIndex); + bool renderBloom(LLRenderTarget* src, LLRenderTarget* dst); + void init(); void cleanup(); bool isInit() { return mInitialized; }; @@ -729,8 +734,12 @@ public: LLRenderTarget mExposureMap; LLRenderTarget mLastExposure; + LLRenderTarget mBloomMap; + LLRenderTarget mBloomBlur[2]; + // tonemapped and gamma corrected render ready for post - LLRenderTarget mPostMap; + //LLRenderTarget mPostMap; + LLRenderTarget mPostMaps[2]; // FXAA helper target LLRenderTarget mFXAAMap; @@ -812,6 +821,9 @@ public: bool mShadersLoaded; U32 mTransformFeedbackPrimitives; //number of primitives expected to be generated by transform feedback + + bool mHDRDisplay; + protected: bool mRenderTypeEnabled[NUM_RENDER_TYPES]; std::stack<std::string> mRenderTypeEnableStack; @@ -1008,10 +1020,9 @@ public: static bool RenderDeferred; static F32 RenderDeferredSunWash; static U32 RenderFSAAType; - static U32 RenderResolutionDivisor; + static F32 RenderResolutionDivisor; static bool RenderUIBuffer; static S32 RenderShadowDetail; - static S32 MPRenderShadowOpti; static S32 RenderShadowSplits; static bool RenderDeferredSSAO; static F32 RenderShadowResolutionScale; diff --git a/indra/newview/skins/contrast/textures/Blank.png b/indra/newview/skins/contrast/textures/Blank.png Binary files differdeleted file mode 100644 index f38e9f9100..0000000000 --- a/indra/newview/skins/contrast/textures/Blank.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/Rounded_Rect.png b/indra/newview/skins/contrast/textures/Rounded_Rect.png Binary files differdeleted file mode 100644 index c270c28039..0000000000 --- a/indra/newview/skins/contrast/textures/Rounded_Rect.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/alpha_gradient.tga b/indra/newview/skins/contrast/textures/alpha_gradient.tga Binary files differdeleted file mode 100644 index 6fdba25d4e..0000000000 --- a/indra/newview/skins/contrast/textures/alpha_gradient.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c b/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c Binary files differdeleted file mode 100644 index 5de5a80a65..0000000000 --- a/indra/newview/skins/contrast/textures/alpha_gradient_2d.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/arrow_down.tga b/indra/newview/skins/contrast/textures/arrow_down.tga Binary files differdeleted file mode 100644 index 81dc9d3b6c..0000000000 --- a/indra/newview/skins/contrast/textures/arrow_down.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/arrow_up.tga b/indra/newview/skins/contrast/textures/arrow_up.tga Binary files differdeleted file mode 100644 index 22195cf7fb..0000000000 --- a/indra/newview/skins/contrast/textures/arrow_up.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png b/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png Binary files differdeleted file mode 100644 index 84cc2159c1..0000000000 --- a/indra/newview/skins/contrast/textures/avatar_thumb_bkgrnd.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/badge_note.j2c b/indra/newview/skins/contrast/textures/badge_note.j2c Binary files differdeleted file mode 100644 index 1ab5233faf..0000000000 --- a/indra/newview/skins/contrast/textures/badge_note.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/badge_ok.j2c b/indra/newview/skins/contrast/textures/badge_ok.j2c Binary files differdeleted file mode 100644 index f85b880f1d..0000000000 --- a/indra/newview/skins/contrast/textures/badge_ok.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/badge_warn.j2c b/indra/newview/skins/contrast/textures/badge_warn.j2c Binary files differdeleted file mode 100644 index 26437ca426..0000000000 --- a/indra/newview/skins/contrast/textures/badge_warn.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png Binary files differdeleted file mode 100644 index 6b725e153a..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Avatar_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png Binary files differdeleted file mode 100644 index 9f22080d13..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_FreeCam_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png Binary files differdeleted file mode 100644 index 5b2a8eb339..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Orbit_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png Binary files differdeleted file mode 100644 index 9acf7053d5..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Pan_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png Binary files differdeleted file mode 100644 index 00158a7bc2..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png Binary files differdeleted file mode 100644 index 2b50986780..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Eye_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png Binary files differdeleted file mode 100644 index c49b8f9a27..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png b/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png Binary files differdeleted file mode 100644 index bc8c4db04d..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Front_On.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png Binary files differdeleted file mode 100644 index fade065ce7..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Move_Fly_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png Binary files differdeleted file mode 100644 index e2eb38e12d..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Move_Run_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png Binary files differdeleted file mode 100644 index f314d4e001..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Move_Walk_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png Binary files differdeleted file mode 100644 index eb2f3dbaa4..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Notices_Unread.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png Binary files differdeleted file mode 100644 index 4ab4bbe4af..0000000000 --- a/indra/newview/skins/contrast/textures/bottomtray/Snapshot_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Cone.png b/indra/newview/skins/contrast/textures/build/Object_Cone.png Binary files differdeleted file mode 100644 index 5167f1a820..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Cone.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Cube.png b/indra/newview/skins/contrast/textures/build/Object_Cube.png Binary files differdeleted file mode 100644 index e82af1ca82..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Cube.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Cylinder.png b/indra/newview/skins/contrast/textures/build/Object_Cylinder.png Binary files differdeleted file mode 100644 index fe1041d4c7..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Cylinder.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Grass.png b/indra/newview/skins/contrast/textures/build/Object_Grass.png Binary files differdeleted file mode 100644 index a88efd5f3e..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Grass.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png Binary files differdeleted file mode 100644 index 595f64d480..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png Binary files differdeleted file mode 100644 index dd41d56fb3..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png b/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png Binary files differdeleted file mode 100644 index 1489630624..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Prism.png b/indra/newview/skins/contrast/textures/build/Object_Prism.png Binary files differdeleted file mode 100644 index 51c6c161a0..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Prism.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Pyramid.png b/indra/newview/skins/contrast/textures/build/Object_Pyramid.png Binary files differdeleted file mode 100644 index a147b59553..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Pyramid.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png Binary files differdeleted file mode 100644 index ffb878dc72..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Pyramid_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Ring.png b/indra/newview/skins/contrast/textures/build/Object_Ring.png Binary files differdeleted file mode 100644 index a9790fd60c..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Ring.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Sphere.png b/indra/newview/skins/contrast/textures/build/Object_Sphere.png Binary files differdeleted file mode 100644 index 8e2dd92a82..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Sphere.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png Binary files differdeleted file mode 100644 index ee015e1786..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Sphere_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png b/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png Binary files differdeleted file mode 100644 index 23e22b1796..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png Binary files differdeleted file mode 100644 index 1afb115ce5..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Tetrahedron_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Torus.png b/indra/newview/skins/contrast/textures/build/Object_Torus.png Binary files differdeleted file mode 100644 index 15c62423a9..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Torus.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Tree.png b/indra/newview/skins/contrast/textures/build/Object_Tree.png Binary files differdeleted file mode 100644 index 82c422419b..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Tree.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png b/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png Binary files differdeleted file mode 100644 index f21b0e4043..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Tree_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Object_Tube.png b/indra/newview/skins/contrast/textures/build/Object_Tube.png Binary files differdeleted file mode 100644 index e47fce7511..0000000000 --- a/indra/newview/skins/contrast/textures/build/Object_Tube.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Tool_Create.png b/indra/newview/skins/contrast/textures/build/Tool_Create.png Binary files differdeleted file mode 100644 index 1f1097def5..0000000000 --- a/indra/newview/skins/contrast/textures/build/Tool_Create.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Tool_Dozer.png b/indra/newview/skins/contrast/textures/build/Tool_Dozer.png Binary files differdeleted file mode 100644 index 61744666f4..0000000000 --- a/indra/newview/skins/contrast/textures/build/Tool_Dozer.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Tool_Face.png b/indra/newview/skins/contrast/textures/build/Tool_Face.png Binary files differdeleted file mode 100644 index 5ab42a4ad6..0000000000 --- a/indra/newview/skins/contrast/textures/build/Tool_Face.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Tool_Grab.png b/indra/newview/skins/contrast/textures/build/Tool_Grab.png Binary files differdeleted file mode 100644 index 5c58288d5e..0000000000 --- a/indra/newview/skins/contrast/textures/build/Tool_Grab.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/build/Tool_Zoom.png b/indra/newview/skins/contrast/textures/build/Tool_Zoom.png Binary files differdeleted file mode 100644 index ad493b0d66..0000000000 --- a/indra/newview/skins/contrast/textures/build/Tool_Zoom.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/button_anim_pause.tga b/indra/newview/skins/contrast/textures/button_anim_pause.tga Binary files differdeleted file mode 100644 index 577f9195d0..0000000000 --- a/indra/newview/skins/contrast/textures/button_anim_pause.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga b/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga Binary files differdeleted file mode 100644 index 21384316a8..0000000000 --- a/indra/newview/skins/contrast/textures/button_anim_pause_selected.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/button_anim_play.tga b/indra/newview/skins/contrast/textures/button_anim_play.tga Binary files differdeleted file mode 100644 index 9ed55f829d..0000000000 --- a/indra/newview/skins/contrast/textures/button_anim_play.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/button_anim_play_selected.tga b/indra/newview/skins/contrast/textures/button_anim_play_selected.tga Binary files differdeleted file mode 100644 index b166a4178d..0000000000 --- a/indra/newview/skins/contrast/textures/button_anim_play_selected.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/checker.png b/indra/newview/skins/contrast/textures/checker.png Binary files differdeleted file mode 100644 index 1ab87e3f02..0000000000 --- a/indra/newview/skins/contrast/textures/checker.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/cloud-particle.png b/indra/newview/skins/contrast/textures/cloud-particle.png Binary files differdeleted file mode 100644 index f2080ddb9f..0000000000 --- a/indra/newview/skins/contrast/textures/cloud-particle.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/color_swatch_alpha.tga b/indra/newview/skins/contrast/textures/color_swatch_alpha.tga Binary files differdeleted file mode 100644 index 814a004e62..0000000000 --- a/indra/newview/skins/contrast/textures/color_swatch_alpha.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/crosshairs.tga b/indra/newview/skins/contrast/textures/crosshairs.tga Binary files differdeleted file mode 100644 index ac4d63dc59..0000000000 --- a/indra/newview/skins/contrast/textures/crosshairs.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/default_irradiance.png b/indra/newview/skins/contrast/textures/default_irradiance.png Binary files differdeleted file mode 100644 index 899e0ddf2a..0000000000 --- a/indra/newview/skins/contrast/textures/default_irradiance.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/default_land_picture.png b/indra/newview/skins/contrast/textures/default_land_picture.png Binary files differnew file mode 100644 index 0000000000..c53a5f6aa0 --- /dev/null +++ b/indra/newview/skins/contrast/textures/default_land_picture.png diff --git a/indra/newview/skins/contrast/textures/default_profile_picture.png b/indra/newview/skins/contrast/textures/default_profile_picture.png Binary files differnew file mode 100644 index 0000000000..5bade1cb36 --- /dev/null +++ b/indra/newview/skins/contrast/textures/default_profile_picture.png diff --git a/indra/newview/skins/contrast/textures/direction_arrow.tga b/indra/newview/skins/contrast/textures/direction_arrow.tga Binary files differdeleted file mode 100644 index f3ef1068c4..0000000000 --- a/indra/newview/skins/contrast/textures/direction_arrow.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/down_arrow.png b/indra/newview/skins/contrast/textures/down_arrow.png Binary files differdeleted file mode 100644 index 21a0fc5ec0..0000000000 --- a/indra/newview/skins/contrast/textures/down_arrow.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/eye_button_active.tga b/indra/newview/skins/contrast/textures/eye_button_active.tga Binary files differdeleted file mode 100644 index 014f785a7b..0000000000 --- a/indra/newview/skins/contrast/textures/eye_button_active.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/eye_button_inactive.tga b/indra/newview/skins/contrast/textures/eye_button_inactive.tga Binary files differdeleted file mode 100644 index 8666f0bbe6..0000000000 --- a/indra/newview/skins/contrast/textures/eye_button_inactive.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/flatnormal.tga b/indra/newview/skins/contrast/textures/flatnormal.tga Binary files differdeleted file mode 100644 index 6d5abd1782..0000000000 --- a/indra/newview/skins/contrast/textures/flatnormal.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/folder_arrow.tga b/indra/newview/skins/contrast/textures/folder_arrow.tga Binary files differdeleted file mode 100644 index 77d470731b..0000000000 --- a/indra/newview/skins/contrast/textures/folder_arrow.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/foot_shadow.j2c b/indra/newview/skins/contrast/textures/foot_shadow.j2c Binary files differdeleted file mode 100644 index f9ce9da7d1..0000000000 --- a/indra/newview/skins/contrast/textures/foot_shadow.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/green_checkmark.png b/indra/newview/skins/contrast/textures/green_checkmark.png Binary files differdeleted file mode 100644 index d2a5b348dc..0000000000 --- a/indra/newview/skins/contrast/textures/green_checkmark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icn_media_movie.tga b/indra/newview/skins/contrast/textures/icn_media_movie.tga Binary files differdeleted file mode 100644 index 43dd342c9d..0000000000 --- a/indra/newview/skins/contrast/textures/icn_media_movie.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icn_media_web.tga b/indra/newview/skins/contrast/textures/icn_media_web.tga Binary files differdeleted file mode 100644 index 7c9131dfff..0000000000 --- a/indra/newview/skins/contrast/textures/icn_media_web.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_auction.tga b/indra/newview/skins/contrast/textures/icon_auction.tga Binary files differdeleted file mode 100644 index baf7d0d000..0000000000 --- a/indra/newview/skins/contrast/textures/icon_auction.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_avatar_offline.tga b/indra/newview/skins/contrast/textures/icon_avatar_offline.tga Binary files differdeleted file mode 100644 index cfa95eb00e..0000000000 --- a/indra/newview/skins/contrast/textures/icon_avatar_offline.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_avatar_online.tga b/indra/newview/skins/contrast/textures/icon_avatar_online.tga Binary files differdeleted file mode 100644 index 45221213eb..0000000000 --- a/indra/newview/skins/contrast/textures/icon_avatar_online.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_diurnal.tga b/indra/newview/skins/contrast/textures/icon_diurnal.tga Binary files differdeleted file mode 100644 index fc720c8269..0000000000 --- a/indra/newview/skins/contrast/textures/icon_diurnal.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga b/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga Binary files differdeleted file mode 100644 index 6a99188f87..0000000000 --- a/indra/newview/skins/contrast/textures/icon_for_sale_adult.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_group.tga b/indra/newview/skins/contrast/textures/icon_group.tga Binary files differdeleted file mode 100644 index 79cd71689d..0000000000 --- a/indra/newview/skins/contrast/textures/icon_group.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event.tga b/indra/newview/skins/contrast/textures/icon_legacy_event.tga Binary files differdeleted file mode 100644 index 7805dbce60..0000000000 --- a/indra/newview/skins/contrast/textures/icon_legacy_event.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga b/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga Binary files differdeleted file mode 100644 index c344fb1e78..0000000000 --- a/indra/newview/skins/contrast/textures/icon_legacy_event_adult.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga b/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga Binary files differdeleted file mode 100644 index 61c879bc92..0000000000 --- a/indra/newview/skins/contrast/textures/icon_legacy_event_mature.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_place.tga b/indra/newview/skins/contrast/textures/icon_place.tga Binary files differdeleted file mode 100644 index e10655c6ec..0000000000 --- a/indra/newview/skins/contrast/textures/icon_place.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icon_top_pick.tga b/indra/newview/skins/contrast/textures/icon_top_pick.tga Binary files differdeleted file mode 100644 index 0b34882d2f..0000000000 --- a/indra/newview/skins/contrast/textures/icon_top_pick.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png b/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png Binary files differdeleted file mode 100644 index 3775690531..0000000000 --- a/indra/newview/skins/contrast/textures/icons/BackArrow_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png Binary files differdeleted file mode 100644 index c219ac4446..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png Binary files differdeleted file mode 100644 index 586f577181..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png b/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png Binary files differdeleted file mode 100644 index 697bee3bbd..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardMenu_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png Binary files differdeleted file mode 100644 index 12cc1857d4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png Binary files differdeleted file mode 100644 index 7b40e33e11..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png b/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png Binary files differdeleted file mode 100644 index e030c44f01..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ClipboardSmallMenu_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png b/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png Binary files differdeleted file mode 100644 index f4bbdc059d..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_log_inbox.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png Binary files differdeleted file mode 100644 index acb3904e32..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_add_person.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png Binary files differdeleted file mode 100644 index 70dec7cad1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_ne.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png Binary files differdeleted file mode 100644 index 13d424832b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_arrow_sw.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png Binary files differdeleted file mode 100644 index 1866dd965c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_call_log.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png Binary files differdeleted file mode 100644 index f4f2e2fd37..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_close.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png Binary files differdeleted file mode 100644 index 3c427a3cc5..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_collapse.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png Binary files differdeleted file mode 100644 index 6e8031b42c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_expand.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png Binary files differdeleted file mode 100644 index 887a3b8335..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_hang_up.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png Binary files differdeleted file mode 100644 index fc0da5a810..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_open_call.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png Binary files differdeleted file mode 100644 index 6d45dbbff6..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_plus.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png b/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png Binary files differdeleted file mode 100644 index e3e5f49741..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Conv_toolbar_sort.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Copy.png b/indra/newview/skins/contrast/textures/icons/Copy.png Binary files differdeleted file mode 100644 index 8448e70385..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Copy.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/CopyBright.png b/indra/newview/skins/contrast/textures/icons/CopyBright.png Binary files differdeleted file mode 100644 index ac65d68e0b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/CopyBright.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png b/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png Binary files differdeleted file mode 100644 index 1113b4effe..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Default_Outfit_Photo.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png b/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png Binary files differdeleted file mode 100644 index 2e1e2964a0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/DownArrow_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png b/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png Binary files differdeleted file mode 100644 index 2b9ba9dc10..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Edit_Wrench.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png b/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png Binary files differdeleted file mode 100644 index dc4532b5a1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ExternalBrowser_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Facebook.png b/indra/newview/skins/contrast/textures/icons/Facebook.png Binary files differdeleted file mode 100644 index 9e51e3ac7f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Facebook.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Female.png b/indra/newview/skins/contrast/textures/icons/Female.png Binary files differdeleted file mode 100644 index c9fef87b6e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Female.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png b/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png Binary files differdeleted file mode 100644 index 3b3a41c7c1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ForSale_Badge.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png b/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png Binary files differdeleted file mode 100644 index c33320cf6e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png b/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png Binary files differdeleted file mode 100644 index 86eb39c43a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ForwardArrow_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Group.png b/indra/newview/skins/contrast/textures/icons/Generic_Group.png Binary files differdeleted file mode 100644 index e96b7fc992..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Generic_Group.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png b/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png Binary files differdeleted file mode 100644 index 9396819bfb..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Generic_Group_Large.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png b/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png Binary files differdeleted file mode 100644 index 142390e3f3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Generic_Object_Small.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Person.png b/indra/newview/skins/contrast/textures/icons/Generic_Person.png Binary files differdeleted file mode 100644 index 162735d979..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Generic_Person.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png b/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png Binary files differdeleted file mode 100644 index 5be82418c1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Generic_Person_Large.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Group_Notices.png b/indra/newview/skins/contrast/textures/icons/Group_Notices.png Binary files differdeleted file mode 100644 index 601502d374..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Group_Notices.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png b/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png Binary files differdeleted file mode 100644 index 6d8ea5fd93..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png Binary files differdeleted file mode 100644 index 24f5210286..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Hierarchy_View_On.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png b/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png Binary files differdeleted file mode 100644 index fb57265dac..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Large.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png b/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png Binary files differdeleted file mode 100644 index 907113cbb7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Icon_Attachment_Small.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png b/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png Binary files differdeleted file mode 100644 index 28906001ea..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Icon_Color_Palette.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png b/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png Binary files differdeleted file mode 100644 index 37bdde69aa..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Icon_Font_Size.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png b/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png Binary files differdeleted file mode 100644 index 57a376f1bf..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Icon_For_Sale.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png b/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png Binary files differdeleted file mode 100644 index fdad36e2d3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Alpha.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Animation.png b/indra/newview/skins/contrast/textures/icons/Inv_Animation.png Binary files differdeleted file mode 100644 index 6715c736e7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Animation.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png b/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png Binary files differdeleted file mode 100644 index cb908a39fb..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_BodyShape.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png b/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png Binary files differdeleted file mode 100644 index ee87f8e595..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_CallingCard.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png b/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png Binary files differdeleted file mode 100644 index 430dca6b5e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Clothing.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Eye.png b/indra/newview/skins/contrast/textures/icons/Inv_Eye.png Binary files differdeleted file mode 100644 index d715f135d3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Eye.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png Binary files differdeleted file mode 100644 index ec99eaee9e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_FolderClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png Binary files differdeleted file mode 100644 index 615a6ec11b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_FolderOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png b/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png Binary files differdeleted file mode 100644 index 9fee34915e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Gesture.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png b/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png Binary files differdeleted file mode 100644 index aa151d5404..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Gloves.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Hair.png b/indra/newview/skins/contrast/textures/icons/Inv_Hair.png Binary files differdeleted file mode 100644 index 62b3ae81c2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Hair.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png b/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png Binary files differdeleted file mode 100644 index 6ab5ba5217..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Invalid.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png b/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png Binary files differdeleted file mode 100644 index 26514f1c0f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Jacket.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png b/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png Binary files differdeleted file mode 100644 index 338323fcee..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Landmark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Link.png b/indra/newview/skins/contrast/textures/icons/Inv_Link.png Binary files differdeleted file mode 100644 index 28c5f3635a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Link.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png b/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png Binary files differdeleted file mode 100644 index 7c43ed3a43..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LinkFolder.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png b/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png Binary files differdeleted file mode 100644 index 7c43ed3a43..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LinkItem.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png Binary files differdeleted file mode 100644 index 46f2038279..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png Binary files differdeleted file mode 100644 index 06a1b05983..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LookFolderOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png Binary files differdeleted file mode 100644 index fc9a2a2156..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LostClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png Binary files differdeleted file mode 100644 index b15dc3cfa3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_LostOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Material.png b/indra/newview/skins/contrast/textures/icons/Inv_Material.png Binary files differdeleted file mode 100644 index 5cbb4fc5c9..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Material.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png b/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png Binary files differdeleted file mode 100644 index 69217d1cdc..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Mesh.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png b/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png Binary files differdeleted file mode 100644 index 96f45bc55e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Notecard.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Object.png b/indra/newview/skins/contrast/textures/icons/Inv_Object.png Binary files differdeleted file mode 100644 index fe6b201570..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Object.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png b/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png Binary files differdeleted file mode 100644 index 3793594059..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Object_Multi.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Pants.png b/indra/newview/skins/contrast/textures/icons/Inv_Pants.png Binary files differdeleted file mode 100644 index 5673bc29ed..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Pants.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Physics.png b/indra/newview/skins/contrast/textures/icons/Inv_Physics.png Binary files differdeleted file mode 100644 index 43bd082d8a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Physics.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Script.png b/indra/newview/skins/contrast/textures/icons/Inv_Script.png Binary files differdeleted file mode 100644 index 68d2ac425f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Script.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Settings.png b/indra/newview/skins/contrast/textures/icons/Inv_Settings.png Binary files differdeleted file mode 100644 index ca6cf10314..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Settings.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png Binary files differdeleted file mode 100644 index d0c4b2cdcd..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsDay.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png Binary files differdeleted file mode 100644 index 5332404d37..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsSky.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png b/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png Binary files differdeleted file mode 100644 index 88ff803756..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_SettingsWater.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shape.png b/indra/newview/skins/contrast/textures/icons/Inv_Shape.png Binary files differdeleted file mode 100644 index e5db447b36..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Shape.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png Binary files differdeleted file mode 100644 index ffabff9c6c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Shirt.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png b/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png Binary files differdeleted file mode 100644 index 784d1d23a3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Shoe.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Skin.png b/indra/newview/skins/contrast/textures/icons/Inv_Skin.png Binary files differdeleted file mode 100644 index a232c5ac67..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Skin.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png Binary files differdeleted file mode 100644 index 5970f39b1b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Skirt.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png b/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png Binary files differdeleted file mode 100644 index 9eaca9e7ef..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Snapshot.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Socks.png b/indra/newview/skins/contrast/textures/icons/Inv_Socks.png Binary files differdeleted file mode 100644 index 95a3a68de6..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Socks.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Sound.png b/indra/newview/skins/contrast/textures/icons/Inv_Sound.png Binary files differdeleted file mode 100644 index 138d4c5c36..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Sound.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png Binary files differdeleted file mode 100644 index c3aae7c736..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png Binary files differdeleted file mode 100644 index 15fd8225fc..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_StockFolderOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png b/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png Binary files differdeleted file mode 100644 index af5a780685..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Tattoo.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Texture.png b/indra/newview/skins/contrast/textures/icons/Inv_Texture.png Binary files differdeleted file mode 100644 index 168a97515a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Texture.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png b/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png Binary files differdeleted file mode 100644 index c4b186c3de..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Toolbar_SearchVisibility.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png Binary files differdeleted file mode 100644 index 89f0caa5a2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_TrashClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png Binary files differdeleted file mode 100644 index d1f1eeaf42..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_TrashOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png b/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png Binary files differdeleted file mode 100644 index 77f8e55270..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Underpants.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png b/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png Binary files differdeleted file mode 100644 index 477d76cf11..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Undershirt.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_Universal.png b/indra/newview/skins/contrast/textures/icons/Inv_Universal.png Binary files differdeleted file mode 100644 index 65b2f88f02..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_Universal.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png b/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png Binary files differdeleted file mode 100644 index 603a6d7aaa..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_UnknownObject.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png b/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png Binary files differdeleted file mode 100644 index cd561d24ba..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderClosed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png b/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png Binary files differdeleted file mode 100644 index 6dc9d451cc..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Inv_VersionFolderOpen.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png b/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png Binary files differdeleted file mode 100644 index 125034b0cb..0000000000 --- a/indra/newview/skins/contrast/textures/icons/List_View_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/List_View_On.png b/indra/newview/skins/contrast/textures/icons/List_View_On.png Binary files differdeleted file mode 100644 index fcf77f004f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/List_View_On.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Lock.png b/indra/newview/skins/contrast/textures/icons/Lock.png Binary files differdeleted file mode 100644 index 2db6ed0213..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Lock.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Locked_Icon.png b/indra/newview/skins/contrast/textures/icons/Locked_Icon.png Binary files differdeleted file mode 100644 index 4985af1be1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Locked_Icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Male.png b/indra/newview/skins/contrast/textures/icons/Male.png Binary files differdeleted file mode 100644 index 803171f5c6..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Male.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Microphone_On.png b/indra/newview/skins/contrast/textures/icons/Microphone_On.png Binary files differdeleted file mode 100644 index 7a7d39d982..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Microphone_On.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/MusicNote.png b/indra/newview/skins/contrast/textures/icons/MusicNote.png Binary files differdeleted file mode 100644 index 8d3534a94b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/MusicNote.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png Binary files differdeleted file mode 100644 index 5755315e23..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png Binary files differdeleted file mode 100644 index 2e9a5faa21..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png b/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png Binary files differdeleted file mode 100644 index 1b08648b51..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OptionsMenu_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png Binary files differdeleted file mode 100644 index 1d2dbd6349..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png Binary files differdeleted file mode 100644 index f8f3367c42..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png Binary files differdeleted file mode 100644 index b1fd734100..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_On.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png Binary files differdeleted file mode 100644 index e234400b72..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_On_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png Binary files differdeleted file mode 100644 index 9e1b0e2dfc..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png Binary files differdeleted file mode 100644 index 14d9eacc52..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png Binary files differdeleted file mode 100644 index 7105380bff..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_3.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png Binary files differdeleted file mode 100644 index 0e65a60fc8..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_4.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png Binary files differdeleted file mode 100644 index 7acef05891..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_5.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png Binary files differdeleted file mode 100644 index d58826da67..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png Binary files differdeleted file mode 100644 index cad9f118b1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png b/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png Binary files differdeleted file mode 100644 index cd50d41903..0000000000 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png Binary files differdeleted file mode 100644 index dd12d94ad2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png Binary files differdeleted file mode 100644 index 4739c501ad..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_BuildNo_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png Binary files differdeleted file mode 100644 index 9826491efd..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Build_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png Binary files differdeleted file mode 100644 index 7634e5fab0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_DamageNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png Binary files differdeleted file mode 100644 index 7ecd645df2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Damage_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png Binary files differdeleted file mode 100644 index a1b0faa008..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Exp_Color.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png Binary files differdeleted file mode 100644 index 831c25a34b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png Binary files differdeleted file mode 100644 index be829fb5ef..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_FlyNo_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png Binary files differdeleted file mode 100644 index 579bfe58f8..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Fly_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png Binary files differdeleted file mode 100644 index 3f4ee0b482..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_ForSale_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png Binary files differdeleted file mode 100644 index 98618de927..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Health_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png Binary files differdeleted file mode 100644 index 2867004014..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png Binary files differdeleted file mode 100644 index a3a51973af..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_PushNo_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png Binary files differdeleted file mode 100644 index e8487ca092..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Push_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png Binary files differdeleted file mode 100644 index 5c165c2fac..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_R_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png Binary files differdeleted file mode 100644 index bfc55fc403..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_ScriptsNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png Binary files differdeleted file mode 100644 index 3477e0654c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Scripts_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png Binary files differdeleted file mode 100644 index eff089487e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png Binary files differdeleted file mode 100644 index 68f0b14d44..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOff_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png Binary files differdeleted file mode 100644 index 200e04a59f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png Binary files differdeleted file mode 100644 index 14cafc5bd2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_SeeAVsOn_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png Binary files differdeleted file mode 100644 index ec316e822e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png Binary files differdeleted file mode 100644 index de3532a70b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_VoiceNo_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png Binary files differdeleted file mode 100644 index 329620fa69..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Dark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png Binary files differdeleted file mode 100644 index 81e0fa7bc4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Parcel_Voice_Light.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png b/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png Binary files differdeleted file mode 100644 index d8fee0fef7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Pathfinding_Dirty.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png b/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png Binary files differdeleted file mode 100644 index ea2ad79611..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Pathfinding_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Off.png b/indra/newview/skins/contrast/textures/icons/Pause_Off.png Binary files differdeleted file mode 100644 index 5d44412783..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Pause_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Over.png b/indra/newview/skins/contrast/textures/icons/Pause_Over.png Binary files differdeleted file mode 100644 index d1609a144b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Pause_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Pause_Press.png b/indra/newview/skins/contrast/textures/icons/Pause_Press.png Binary files differdeleted file mode 100644 index 6b918d1ae6..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Pause_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png b/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png Binary files differdeleted file mode 100644 index d206af4433..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Permission_Ungranted.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Person_Check.png b/indra/newview/skins/contrast/textures/icons/Person_Check.png Binary files differdeleted file mode 100644 index 39a63a70cf..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Person_Check.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Person_Star.png b/indra/newview/skins/contrast/textures/icons/Person_Star.png Binary files differdeleted file mode 100644 index c4e625b3c1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Person_Star.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Play_Off.png b/indra/newview/skins/contrast/textures/icons/Play_Off.png Binary files differdeleted file mode 100644 index dac2f2d6db..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Play_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Play_Over.png b/indra/newview/skins/contrast/textures/icons/Play_Over.png Binary files differdeleted file mode 100644 index 1d261efcda..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Play_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Play_Press.png b/indra/newview/skins/contrast/textures/icons/Play_Press.png Binary files differdeleted file mode 100644 index f7251ce549..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Play_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Presets_Icon.png b/indra/newview/skins/contrast/textures/icons/Presets_Icon.png Binary files differdeleted file mode 100644 index 13642e88d1..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Presets_Icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png b/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png Binary files differdeleted file mode 100644 index 96d1021f81..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Presets_Icon_Graphic.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png b/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png Binary files differdeleted file mode 100644 index 55d922cda7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Offline.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png b/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png Binary files differdeleted file mode 100644 index febe8e78fa..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Friend_Online.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png Binary files differdeleted file mode 100644 index 2632eb173b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png Binary files differdeleted file mode 100644 index fd8b152c12..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Find_Enabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png Binary files differdeleted file mode 100644 index cef3ec4e5a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png Binary files differdeleted file mode 100644 index 5821566703..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Objects_Enabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png Binary files differdeleted file mode 100644 index ea1b55eca0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png b/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png Binary files differdeleted file mode 100644 index eb3fc9e713..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Profile_Perm_Online_Enabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png Binary files differdeleted file mode 100644 index ff277fc431..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_1.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png Binary files differdeleted file mode 100644 index 1c94e21d89..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_10.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png Binary files differdeleted file mode 100644 index 89bea9b474..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_11.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png Binary files differdeleted file mode 100644 index da38475ba4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_12.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png Binary files differdeleted file mode 100644 index c024275ebe..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_2.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png Binary files differdeleted file mode 100644 index 87b931e72e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_3.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png Binary files differdeleted file mode 100644 index 6dbef74361..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_4.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png Binary files differdeleted file mode 100644 index daccf9b375..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_5.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png Binary files differdeleted file mode 100644 index cafddcb88d..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_6.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png Binary files differdeleted file mode 100644 index 8acf6472d4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_7.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png b/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png Binary files differdeleted file mode 100644 index 293a7b8f5c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/ProgressLarge_9.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_1.png b/indra/newview/skins/contrast/textures/icons/Progress_1.png Binary files differdeleted file mode 100644 index bc7a1e7e96..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_1.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_10.png b/indra/newview/skins/contrast/textures/icons/Progress_10.png Binary files differdeleted file mode 100644 index acf4d21aba..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_10.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_11.png b/indra/newview/skins/contrast/textures/icons/Progress_11.png Binary files differdeleted file mode 100644 index 1842cd09d0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_11.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_12.png b/indra/newview/skins/contrast/textures/icons/Progress_12.png Binary files differdeleted file mode 100644 index 0ea9dda83e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_12.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_2.png b/indra/newview/skins/contrast/textures/icons/Progress_2.png Binary files differdeleted file mode 100644 index 29d6bbcbcb..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_2.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_3.png b/indra/newview/skins/contrast/textures/icons/Progress_3.png Binary files differdeleted file mode 100644 index 52a03125e9..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_3.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_4.png b/indra/newview/skins/contrast/textures/icons/Progress_4.png Binary files differdeleted file mode 100644 index 4b2798519f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_4.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_5.png b/indra/newview/skins/contrast/textures/icons/Progress_5.png Binary files differdeleted file mode 100644 index 3f02b8f31a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_5.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_6.png b/indra/newview/skins/contrast/textures/icons/Progress_6.png Binary files differdeleted file mode 100644 index 04c8f716d4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_6.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_7.png b/indra/newview/skins/contrast/textures/icons/Progress_7.png Binary files differdeleted file mode 100644 index c96b4c08d6..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_7.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_8.png b/indra/newview/skins/contrast/textures/icons/Progress_8.png Binary files differdeleted file mode 100644 index 9463f50707..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_8.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Progress_9.png b/indra/newview/skins/contrast/textures/icons/Progress_9.png Binary files differdeleted file mode 100644 index 928a3e934e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Progress_9.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Refresh_Off.png b/indra/newview/skins/contrast/textures/icons/Refresh_Off.png Binary files differdeleted file mode 100644 index e645a8159f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Refresh_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Search_Icon.png b/indra/newview/skins/contrast/textures/icons/Search_Icon.png Binary files differdeleted file mode 100644 index 0ea7b14f81..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Search_Icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Shirt_Large.png b/indra/newview/skins/contrast/textures/icons/Shirt_Large.png Binary files differdeleted file mode 100644 index 06fce6bbaa..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Shirt_Large.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Shop.png b/indra/newview/skins/contrast/textures/icons/Shop.png Binary files differdeleted file mode 100644 index 93353cf2fe..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Shop.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png b/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png Binary files differdeleted file mode 100644 index 20fd2b8e22..0000000000 --- a/indra/newview/skins/contrast/textures/icons/SkipBackward_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png b/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png Binary files differdeleted file mode 100644 index 30e28d3d31..0000000000 --- a/indra/newview/skins/contrast/textures/icons/SkipForward_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/StopReload_Off.png b/indra/newview/skins/contrast/textures/icons/StopReload_Off.png Binary files differdeleted file mode 100644 index 500a81d715..0000000000 --- a/indra/newview/skins/contrast/textures/icons/StopReload_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/StopReload_Over.png b/indra/newview/skins/contrast/textures/icons/StopReload_Over.png Binary files differdeleted file mode 100644 index a065a37d14..0000000000 --- a/indra/newview/skins/contrast/textures/icons/StopReload_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Stop_Off.png b/indra/newview/skins/contrast/textures/icons/Stop_Off.png Binary files differdeleted file mode 100644 index 2d00083e2e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Stop_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png b/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png Binary files differdeleted file mode 100644 index 7b39e7cd6f..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png Binary files differdeleted file mode 100644 index 218edaa986..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_1.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png Binary files differdeleted file mode 100644 index 23cb9d63c0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_2.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png Binary files differdeleted file mode 100644 index 490826011a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_3.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png Binary files differdeleted file mode 100644 index de1c815e90..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_4.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png Binary files differdeleted file mode 100644 index 2897b37382..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_5.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png b/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png Binary files differdeleted file mode 100644 index 862410e9e4..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Sync_Progress_6.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png b/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png Binary files differdeleted file mode 100644 index 01c6e31f41..0000000000 --- a/indra/newview/skins/contrast/textures/icons/System_Notification_Large.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png b/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png Binary files differdeleted file mode 100644 index 69b823d852..0000000000 --- a/indra/newview/skins/contrast/textures/icons/System_Notification_Small.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png Binary files differdeleted file mode 100644 index 800d9434d2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/TrashItem_Disabled.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png Binary files differdeleted file mode 100644 index 0cbff4f1d7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/TrashItem_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png b/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png Binary files differdeleted file mode 100644 index fac13226e7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/TrashItem_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png b/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png Binary files differdeleted file mode 100644 index 34ec3f5de8..0000000000 --- a/indra/newview/skins/contrast/textures/icons/UnZoom_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png b/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png Binary files differdeleted file mode 100644 index d5ddc353e7..0000000000 --- a/indra/newview/skins/contrast/textures/icons/UpArrow_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png b/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png Binary files differdeleted file mode 100644 index d37a189645..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Video_URL_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png b/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png Binary files differdeleted file mode 100644 index cf8f9c8f94..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Web_Profile_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png b/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png Binary files differdeleted file mode 100644 index ed1805c096..0000000000 --- a/indra/newview/skins/contrast/textures/icons/YouAreHere_Badge.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/Zoom_Off.png b/indra/newview/skins/contrast/textures/icons/Zoom_Off.png Binary files differdeleted file mode 100644 index 833e608201..0000000000 --- a/indra/newview/skins/contrast/textures/icons/Zoom_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png b/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png Binary files differdeleted file mode 100644 index 3730924ad8..0000000000 --- a/indra/newview/skins/contrast/textures/icons/collapse_to_one_line.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/copy_clipboard.png b/indra/newview/skins/contrast/textures/icons/copy_clipboard.png Binary files differdeleted file mode 100644 index 9ce67d8547..0000000000 --- a/indra/newview/skins/contrast/textures/icons/copy_clipboard.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/delete_icon.png b/indra/newview/skins/contrast/textures/icons/delete_icon.png Binary files differdeleted file mode 100644 index 5a80155d8b..0000000000 --- a/indra/newview/skins/contrast/textures/icons/delete_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/edit_mine.png b/indra/newview/skins/contrast/textures/icons/edit_mine.png Binary files differdeleted file mode 100644 index 2fb10deba2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/edit_mine.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/edit_theirs.png b/indra/newview/skins/contrast/textures/icons/edit_theirs.png Binary files differdeleted file mode 100644 index 586c08c181..0000000000 --- a/indra/newview/skins/contrast/textures/icons/edit_theirs.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png b/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png Binary files differdeleted file mode 100644 index 6c1a1a3c62..0000000000 --- a/indra/newview/skins/contrast/textures/icons/emoji_picker_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/expand_one_liner.png b/indra/newview/skins/contrast/textures/icons/expand_one_liner.png Binary files differdeleted file mode 100644 index 0d1a60547a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/expand_one_liner.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/file_upload.png b/indra/newview/skins/contrast/textures/icons/file_upload.png Binary files differdeleted file mode 100644 index 78b75fdd72..0000000000 --- a/indra/newview/skins/contrast/textures/icons/file_upload.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/map_placeholder.png b/indra/newview/skins/contrast/textures/icons/map_placeholder.png Binary files differdeleted file mode 100644 index 80e5deac7e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/map_placeholder.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png b/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png Binary files differdeleted file mode 100644 index b363848aba..0000000000 --- a/indra/newview/skins/contrast/textures/icons/multi_folder_mode.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png b/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png Binary files differdeleted file mode 100644 index c5f52f010e..0000000000 --- a/indra/newview/skins/contrast/textures/icons/nearby_chat_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/object_icon.png b/indra/newview/skins/contrast/textures/icons/object_icon.png Binary files differdeleted file mode 100644 index 51bf0b0649..0000000000 --- a/indra/newview/skins/contrast/textures/icons/object_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/paste_clipboard.png b/indra/newview/skins/contrast/textures/icons/paste_clipboard.png Binary files differdeleted file mode 100644 index ff8493d4ad..0000000000 --- a/indra/newview/skins/contrast/textures/icons/paste_clipboard.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/pop_up_caution.png b/indra/newview/skins/contrast/textures/icons/pop_up_caution.png Binary files differdeleted file mode 100644 index 63b5cdfe83..0000000000 --- a/indra/newview/skins/contrast/textures/icons/pop_up_caution.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png b/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png Binary files differdeleted file mode 100644 index 95e277aab0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_beta.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png Binary files differdeleted file mode 100644 index fb145901e2..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_beta_lifetime.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png Binary files differdeleted file mode 100644 index 3f7fd343b3..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_lifetime.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png b/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png Binary files differdeleted file mode 100644 index 6ab9fcebea..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_linden.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png Binary files differdeleted file mode 100644 index 5c68ad40ce..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_pplus_lifetime.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png b/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png Binary files differdeleted file mode 100644 index 58957b7b96..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_badge_premium_lifetime.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png Binary files differdeleted file mode 100644 index 331553492c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png Binary files differdeleted file mode 100644 index e9e9c1b626..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_off_pressed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png Binary files differdeleted file mode 100644 index 4f5374d614..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png b/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png Binary files differdeleted file mode 100644 index e8a64541ee..0000000000 --- a/indra/newview/skins/contrast/textures/icons/profile_group_visibility_eye_on_pressed.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/remove_icon.png b/indra/newview/skins/contrast/textures/icons/remove_icon.png Binary files differdeleted file mode 100644 index d8a45cc21c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/remove_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_back.png b/indra/newview/skins/contrast/textures/icons/single_folder_back.png Binary files differdeleted file mode 100644 index b93bb2525a..0000000000 --- a/indra/newview/skins/contrast/textures/icons/single_folder_back.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_forward.png b/indra/newview/skins/contrast/textures/icons/single_folder_forward.png Binary files differdeleted file mode 100644 index 12a21b2bba..0000000000 --- a/indra/newview/skins/contrast/textures/icons/single_folder_forward.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_mode.png b/indra/newview/skins/contrast/textures/icons/single_folder_mode.png Binary files differdeleted file mode 100644 index 0fc8475917..0000000000 --- a/indra/newview/skins/contrast/textures/icons/single_folder_mode.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/single_folder_up.png b/indra/newview/skins/contrast/textures/icons/single_folder_up.png Binary files differdeleted file mode 100644 index c1c8c63870..0000000000 --- a/indra/newview/skins/contrast/textures/icons/single_folder_up.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/snapshot_icon.png b/indra/newview/skins/contrast/textures/icons/snapshot_icon.png Binary files differdeleted file mode 100644 index 9b6ac6eeb0..0000000000 --- a/indra/newview/skins/contrast/textures/icons/snapshot_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/texture_icon.png b/indra/newview/skins/contrast/textures/icons/texture_icon.png Binary files differdeleted file mode 100644 index f5c205208c..0000000000 --- a/indra/newview/skins/contrast/textures/icons/texture_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png b/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png Binary files differdeleted file mode 100644 index 19629aba04..0000000000 --- a/indra/newview/skins/contrast/textures/icons/thumbnail_fallback_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/jump_left_in.tga b/indra/newview/skins/contrast/textures/jump_left_in.tga Binary files differdeleted file mode 100644 index e0656c901d..0000000000 --- a/indra/newview/skins/contrast/textures/jump_left_in.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/jump_left_out.tga b/indra/newview/skins/contrast/textures/jump_left_out.tga Binary files differdeleted file mode 100644 index fb6dac0c3d..0000000000 --- a/indra/newview/skins/contrast/textures/jump_left_out.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/jump_right_in.tga b/indra/newview/skins/contrast/textures/jump_right_in.tga Binary files differdeleted file mode 100644 index 010c748c2a..0000000000 --- a/indra/newview/skins/contrast/textures/jump_right_in.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/jump_right_out.tga b/indra/newview/skins/contrast/textures/jump_right_out.tga Binary files differdeleted file mode 100644 index 33355262d4..0000000000 --- a/indra/newview/skins/contrast/textures/jump_right_out.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/lag_status_critical.tga b/indra/newview/skins/contrast/textures/lag_status_critical.tga Binary files differdeleted file mode 100644 index bbc71d9e77..0000000000 --- a/indra/newview/skins/contrast/textures/lag_status_critical.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/lag_status_good.tga b/indra/newview/skins/contrast/textures/lag_status_good.tga Binary files differdeleted file mode 100644 index 680ba90f17..0000000000 --- a/indra/newview/skins/contrast/textures/lag_status_good.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/lag_status_warning.tga b/indra/newview/skins/contrast/textures/lag_status_warning.tga Binary files differdeleted file mode 100644 index 13ce3cc396..0000000000 --- a/indra/newview/skins/contrast/textures/lag_status_warning.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/legend.tga b/indra/newview/skins/contrast/textures/legend.tga Binary files differdeleted file mode 100644 index 0dbb8fda4f..0000000000 --- a/indra/newview/skins/contrast/textures/legend.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/locked_image.j2c b/indra/newview/skins/contrast/textures/locked_image.j2c Binary files differdeleted file mode 100644 index 9e8998d675..0000000000 --- a/indra/newview/skins/contrast/textures/locked_image.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_16.tga b/indra/newview/skins/contrast/textures/map_avatar_16.tga Binary files differdeleted file mode 100644 index f59e9e9193..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_16.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_32.tga b/indra/newview/skins/contrast/textures/map_avatar_32.tga Binary files differdeleted file mode 100644 index aebeab4093..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_32.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_8.tga b/indra/newview/skins/contrast/textures/map_avatar_8.tga Binary files differdeleted file mode 100644 index 8500eadeba..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_8.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_above_32.tga b/indra/newview/skins/contrast/textures/map_avatar_above_32.tga Binary files differdeleted file mode 100644 index 65bd0561a7..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_above_32.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_below_32.tga b/indra/newview/skins/contrast/textures/map_avatar_below_32.tga Binary files differdeleted file mode 100644 index 496c44b369..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_below_32.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga b/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga Binary files differdeleted file mode 100644 index d1192478c6..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_unknown_32.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_avatar_you_32.tga b/indra/newview/skins/contrast/textures/map_avatar_you_32.tga Binary files differdeleted file mode 100644 index 84b57aceaf..0000000000 --- a/indra/newview/skins/contrast/textures/map_avatar_you_32.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_event.tga b/indra/newview/skins/contrast/textures/map_event.tga Binary files differdeleted file mode 100644 index 2c06d08fd2..0000000000 --- a/indra/newview/skins/contrast/textures/map_event.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_home.tga b/indra/newview/skins/contrast/textures/map_home.tga Binary files differdeleted file mode 100644 index acaaa3db44..0000000000 --- a/indra/newview/skins/contrast/textures/map_home.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_infohub.tga b/indra/newview/skins/contrast/textures/map_infohub.tga Binary files differdeleted file mode 100644 index d0134fa5fe..0000000000 --- a/indra/newview/skins/contrast/textures/map_infohub.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_telehub.tga b/indra/newview/skins/contrast/textures/map_telehub.tga Binary files differdeleted file mode 100644 index 545b8e532c..0000000000 --- a/indra/newview/skins/contrast/textures/map_telehub.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_track_16.tga b/indra/newview/skins/contrast/textures/map_track_16.tga Binary files differdeleted file mode 100644 index 451ce24cf0..0000000000 --- a/indra/newview/skins/contrast/textures/map_track_16.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png b/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png Binary files differdeleted file mode 100644 index e4de49d4af..0000000000 --- a/indra/newview/skins/contrast/textures/map_ui_collapse_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/map_ui_expand_icon.png b/indra/newview/skins/contrast/textures/map_ui_expand_icon.png Binary files differdeleted file mode 100644 index 08734b4cc0..0000000000 --- a/indra/newview/skins/contrast/textures/map_ui_expand_icon.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/materials_ui_x_24.png b/indra/newview/skins/contrast/textures/materials_ui_x_24.png Binary files differdeleted file mode 100644 index 6d88554914..0000000000 --- a/indra/newview/skins/contrast/textures/materials_ui_x_24.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/menu_separator.png b/indra/newview/skins/contrast/textures/menu_separator.png Binary files differdeleted file mode 100644 index 7bb27c499d..0000000000 --- a/indra/newview/skins/contrast/textures/menu_separator.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/missing_asset.tga b/indra/newview/skins/contrast/textures/missing_asset.tga Binary files differdeleted file mode 100644 index 9a43f4db5d..0000000000 --- a/indra/newview/skins/contrast/textures/missing_asset.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png b/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png Binary files differdeleted file mode 100644 index 19569501fe..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Arrow_Left_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png b/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png Binary files differdeleted file mode 100644 index 3648c42656..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Arrow_Right_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png b/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png Binary files differdeleted file mode 100644 index d4f126f969..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Favorite_Link_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png b/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png Binary files differdeleted file mode 100644 index 5ab4abc5b8..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/FileMenu_Divider.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Flag.png b/indra/newview/skins/contrast/textures/navbar/Flag.png Binary files differdeleted file mode 100644 index df53c89224..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Flag.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Help_Press.png b/indra/newview/skins/contrast/textures/navbar/Help_Press.png Binary files differdeleted file mode 100644 index ed3695f9d5..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Help_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Home_Off.png b/indra/newview/skins/contrast/textures/navbar/Home_Off.png Binary files differdeleted file mode 100644 index fe3bc63b77..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Home_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Off.png b/indra/newview/skins/contrast/textures/navbar/Info_Off.png Binary files differdeleted file mode 100644 index 64722255a3..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Info_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Over.png b/indra/newview/skins/contrast/textures/navbar/Info_Over.png Binary files differdeleted file mode 100644 index 84f1d03129..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Info_Over.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Info_Press.png b/indra/newview/skins/contrast/textures/navbar/Info_Press.png Binary files differdeleted file mode 100644 index 169105829e..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Info_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Landmarks.png b/indra/newview/skins/contrast/textures/navbar/Landmarks.png Binary files differdeleted file mode 100644 index 2b35de913b..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Landmarks.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Lock.png b/indra/newview/skins/contrast/textures/navbar/Lock.png Binary files differdeleted file mode 100644 index cf569d6ad2..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Lock.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/navbar/Search.png b/indra/newview/skins/contrast/textures/navbar/Search.png Binary files differdeleted file mode 100644 index 4c29e57f7b..0000000000 --- a/indra/newview/skins/contrast/textures/navbar/Search.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/notify_caution_icon.tga b/indra/newview/skins/contrast/textures/notify_caution_icon.tga Binary files differdeleted file mode 100644 index abc23d1d7a..0000000000 --- a/indra/newview/skins/contrast/textures/notify_caution_icon.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/pixiesmall.j2c b/indra/newview/skins/contrast/textures/pixiesmall.j2c Binary files differdeleted file mode 100644 index a1ff64014b..0000000000 --- a/indra/newview/skins/contrast/textures/pixiesmall.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/red_x.png b/indra/newview/skins/contrast/textures/red_x.png Binary files differdeleted file mode 100644 index a61202f09b..0000000000 --- a/indra/newview/skins/contrast/textures/red_x.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/rounded_square.j2c b/indra/newview/skins/contrast/textures/rounded_square.j2c Binary files differdeleted file mode 100644 index c8bb572fa9..0000000000 --- a/indra/newview/skins/contrast/textures/rounded_square.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/script_error.j2c b/indra/newview/skins/contrast/textures/script_error.j2c Binary files differdeleted file mode 100644 index 893cb642e7..0000000000 --- a/indra/newview/skins/contrast/textures/script_error.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/silhouette.j2c b/indra/newview/skins/contrast/textures/silhouette.j2c Binary files differdeleted file mode 100644 index 3859d4cb34..0000000000 --- a/indra/newview/skins/contrast/textures/silhouette.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga b/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga Binary files differdeleted file mode 100644 index 552181d36a..0000000000 --- a/indra/newview/skins/contrast/textures/slim_icon_16_viewer.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/snapshot_download.png b/indra/newview/skins/contrast/textures/snapshot_download.png Binary files differdeleted file mode 100644 index 6aa1abded5..0000000000 --- a/indra/newview/skins/contrast/textures/snapshot_download.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/snapshot_email.png b/indra/newview/skins/contrast/textures/snapshot_email.png Binary files differdeleted file mode 100644 index dee784a9bf..0000000000 --- a/indra/newview/skins/contrast/textures/snapshot_email.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/spacer24.tga b/indra/newview/skins/contrast/textures/spacer24.tga Binary files differdeleted file mode 100644 index c7cab6b38c..0000000000 --- a/indra/newview/skins/contrast/textures/spacer24.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/tabarea.tga b/indra/newview/skins/contrast/textures/tabarea.tga Binary files differdeleted file mode 100644 index 5517aebfc8..0000000000 --- a/indra/newview/skins/contrast/textures/tabarea.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png b/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png Binary files differdeleted file mode 100644 index 213acbe87b..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/Activate_Checkmark.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png Binary files differdeleted file mode 100644 index 4e59042e33..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png Binary files differdeleted file mode 100644 index be7b298bb8..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Dock_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png Binary files differdeleted file mode 100644 index 1e234ff09b..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png Binary files differdeleted file mode 100644 index 48c78b453d..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/Sidebar_Icon_Undock_Press.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png Binary files differdeleted file mode 100644 index bc4e00c646..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Close_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png Binary files differdeleted file mode 100644 index 293aeef5e6..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Home_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png Binary files differdeleted file mode 100644 index 760db9360d..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Me_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png Binary files differdeleted file mode 100644 index 4556602f58..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Open_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png Binary files differdeleted file mode 100644 index 691b600510..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_People_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png Binary files differdeleted file mode 100644 index f5a5f7a846..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Places_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png Binary files differdeleted file mode 100644 index e56eda9802..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TabIcon_Things_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png b/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png Binary files differdeleted file mode 100644 index 4ed7a2b183..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Off.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png b/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png Binary files differdeleted file mode 100644 index b3316386b9..0000000000 --- a/indra/newview/skins/contrast/textures/taskpanel/TaskPanel_Tab_Selected.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/tearoff_pressed.tga b/indra/newview/skins/contrast/textures/tearoff_pressed.tga Binary files differdeleted file mode 100644 index 620d109de0..0000000000 --- a/indra/newview/skins/contrast/textures/tearoff_pressed.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/tearoffbox.tga b/indra/newview/skins/contrast/textures/tearoffbox.tga Binary files differdeleted file mode 100644 index 0670d2e91b..0000000000 --- a/indra/newview/skins/contrast/textures/tearoffbox.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png b/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png Binary files differdeleted file mode 100644 index 163cebe29f..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/360_capture.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png b/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png Binary files differdeleted file mode 100644 index e6b1365388..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/appearance.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png b/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png Binary files differdeleted file mode 100644 index 8fa0600cee..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/avatars.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/build.png b/indra/newview/skins/contrast/textures/toolbar_icons/build.png Binary files differdeleted file mode 100644 index e21ab3f0e4..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/build.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/chat.png b/indra/newview/skins/contrast/textures/toolbar_icons/chat.png Binary files differdeleted file mode 100644 index e0dbac495f..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/chat.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png b/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png Binary files differdeleted file mode 100644 index e2325f083a..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/destinations.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/environments.png b/indra/newview/skins/contrast/textures/toolbar_icons/environments.png Binary files differdeleted file mode 100644 index 620db9f793..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/environments.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png b/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png Binary files differdeleted file mode 100644 index ae524b643f..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/facebook.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png b/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png Binary files differdeleted file mode 100644 index 811efffc0b..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/favorite_folder.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png b/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png Binary files differdeleted file mode 100644 index 7fce9f0df2..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/flickr.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png b/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png Binary files differdeleted file mode 100644 index 2404bb4e25..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/gestures.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png b/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png Binary files differdeleted file mode 100644 index b92b93cfb4..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/grid_status.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/howto.png b/indra/newview/skins/contrast/textures/toolbar_icons/howto.png Binary files differdeleted file mode 100644 index 8594d71113..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/howto.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png b/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png Binary files differdeleted file mode 100644 index ab3191255e..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/inventory.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/land.png b/indra/newview/skins/contrast/textures/toolbar_icons/land.png Binary files differdeleted file mode 100644 index 89ea7604a4..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/land.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/map.png b/indra/newview/skins/contrast/textures/toolbar_icons/map.png Binary files differdeleted file mode 100644 index ed1049b7db..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/map.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png b/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png Binary files differdeleted file mode 100644 index 62bad20be6..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/marketplace.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png Binary files differdeleted file mode 100644 index 9eeb1d4e09..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/mini_cart.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png b/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png Binary files differdeleted file mode 100644 index ab0a654056..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/mini_map.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png b/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png Binary files differdeleted file mode 100644 index a6f90461d7..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/mktlistings.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/move.png b/indra/newview/skins/contrast/textures/toolbar_icons/move.png Binary files differdeleted file mode 100644 index 5c2ced7375..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/move.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png b/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png Binary files differdeleted file mode 100644 index 77a7cd5f44..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/nearbyvoice.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png b/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png Binary files differdeleted file mode 100644 index 0f3db1c47c..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/outbox.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/people.png b/indra/newview/skins/contrast/textures/toolbar_icons/people.png Binary files differdeleted file mode 100644 index 7228ae8e2f..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/people.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/performance.png b/indra/newview/skins/contrast/textures/toolbar_icons/performance.png Binary files differdeleted file mode 100644 index 91baf849c8..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/performance.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/picks.png b/indra/newview/skins/contrast/textures/toolbar_icons/picks.png Binary files differdeleted file mode 100644 index befda04b42..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/picks.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/places.png b/indra/newview/skins/contrast/textures/toolbar_icons/places.png Binary files differdeleted file mode 100644 index 97d9fa066c..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/places.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png b/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png Binary files differdeleted file mode 100644 index 4ccd7b8ae1..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/preferences.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/profile.png b/indra/newview/skins/contrast/textures/toolbar_icons/profile.png Binary files differdeleted file mode 100644 index 32fe2bf8ac..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/profile.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png b/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png Binary files differdeleted file mode 100644 index d5cb6ca259..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/report_abuse.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png b/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png Binary files differdeleted file mode 100644 index dc9ee9c428..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/resync_animations.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/search.png b/indra/newview/skins/contrast/textures/toolbar_icons/search.png Binary files differdeleted file mode 100644 index bcb11e950d..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/search.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png b/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png Binary files differdeleted file mode 100644 index d26da9b1d2..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/snapshot.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/speak.png b/indra/newview/skins/contrast/textures/toolbar_icons/speak.png Binary files differdeleted file mode 100644 index 10cd354c5c..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/speak.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/view.png b/indra/newview/skins/contrast/textures/toolbar_icons/view.png Binary files differdeleted file mode 100644 index ddf0df7c26..0000000000 --- a/indra/newview/skins/contrast/textures/toolbar_icons/view.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/transparent.j2c b/indra/newview/skins/contrast/textures/transparent.j2c Binary files differdeleted file mode 100644 index 1068e940b9..0000000000 --- a/indra/newview/skins/contrast/textures/transparent.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/up_arrow.png b/indra/newview/skins/contrast/textures/up_arrow.png Binary files differdeleted file mode 100644 index 76f839510e..0000000000 --- a/indra/newview/skins/contrast/textures/up_arrow.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/uv_test1.j2c b/indra/newview/skins/contrast/textures/uv_test1.j2c Binary files differdeleted file mode 100644 index 3d5b541796..0000000000 --- a/indra/newview/skins/contrast/textures/uv_test1.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/uv_test2.tga b/indra/newview/skins/contrast/textures/uv_test2.tga Binary files differdeleted file mode 100644 index a16000d1e4..0000000000 --- a/indra/newview/skins/contrast/textures/uv_test2.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/voice_meter_dot.j2c b/indra/newview/skins/contrast/textures/voice_meter_dot.j2c Binary files differdeleted file mode 100644 index e536c3338a..0000000000 --- a/indra/newview/skins/contrast/textures/voice_meter_dot.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/voice_meter_rings.j2c b/indra/newview/skins/contrast/textures/voice_meter_rings.j2c Binary files differdeleted file mode 100644 index 17e7c6c6a1..0000000000 --- a/indra/newview/skins/contrast/textures/voice_meter_rings.j2c +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/white.tga b/indra/newview/skins/contrast/textures/white.tga Binary files differdeleted file mode 100644 index 9fe68631cf..0000000000 --- a/indra/newview/skins/contrast/textures/white.tga +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png b/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png Binary files differdeleted file mode 100644 index 03d1e805e1..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_moon_back.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png b/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png Binary files differdeleted file mode 100644 index cdc52fe08a..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_moon_front.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png Binary files differdeleted file mode 100644 index c08b54c269..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png Binary files differdeleted file mode 100644 index a2b37d1b43..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_bottom_active.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png Binary files differdeleted file mode 100644 index 3439e8717f..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png Binary files differdeleted file mode 100644 index fa745175be..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_left_side_active.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png Binary files differdeleted file mode 100644 index f92fdb3d92..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png Binary files differdeleted file mode 100644 index 23571d6473..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_right_side_active.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png Binary files differdeleted file mode 100644 index ae67084a7d..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png b/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png Binary files differdeleted file mode 100644 index 4e1d0ad096..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_rotate_top_active.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png b/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png Binary files differdeleted file mode 100644 index 6ba8d3877f..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_sphere.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png b/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png Binary files differdeleted file mode 100644 index b3191ccc5d..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_sun_back.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png b/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png Binary files differdeleted file mode 100644 index 1cdcbf7861..0000000000 --- a/indra/newview/skins/contrast/textures/widgets/track_control_sun_front.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png Binary files differdeleted file mode 100644 index 0b99a72f32..0000000000 --- a/indra/newview/skins/contrast/textures/windows/add_payment_image_center.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png Binary files differdeleted file mode 100644 index a5b28d7023..0000000000 --- a/indra/newview/skins/contrast/textures/windows/add_payment_image_left.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png b/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png Binary files differdeleted file mode 100644 index 5724d39744..0000000000 --- a/indra/newview/skins/contrast/textures/windows/add_payment_image_right.png +++ /dev/null diff --git a/indra/newview/skins/contrast/textures/world/BeaconArrow.png b/indra/newview/skins/contrast/textures/world/BeaconArrow.png Binary files differdeleted file mode 100644 index 54934f738a..0000000000 --- a/indra/newview/skins/contrast/textures/world/BeaconArrow.png +++ /dev/null diff --git a/indra/newview/skins/contrast_gold/colors.xml b/indra/newview/skins/contrast_gold/colors.xml new file mode 100644 index 0000000000..7249e4e6eb --- /dev/null +++ b/indra/newview/skins/contrast_gold/colors.xml @@ -0,0 +1,1001 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<colors> + + <!-- Named Colors --> + <color + name="EmphasisColor" + value="0.857 0.668 0.308 1" /> + <color + name="EmphasisColor_13" + value="0.857 0.668 0.308 0.13" /> + <color + name="EmphasisColor_35" + value="0.857 0.668 0.308 0.35" /> + <color + name="BeaconColor" + value="0.857 0.668 0.308 1" /> + <color + name="White" + value="1 1 1 1" /> + <color + name="White_05" + value="1 1 1 0.05" /> + <color + name="White_10" + value="1 1 1 0.1" /> + <color + name="White_25" + value="1 1 1 0.25" /> + <color + name="White_50" + value="1 1 1 0.5" /> + <color + name="LtGray" + value="0.7 0.7 0.7 1" /> + <color + name="LtGray_35" + value="0.7 0.7 0.7 0.35" /> + <color + name="LtGray_50" + value="0.7 0.7 0.7 0.50" /> + <color + name="Gray" + value="0.4 0.4 0.4 1" /> + <color + name="DkGray0" + value="0.05 0.05 0.05 1" /> + <color + name="DkGray" + value="0.08 0.08 0.08 1" /> + <color + name="DkGray_66" + value="0.08 0.08 0.08 .66" /> + <color + name="DkGray2" + value="0.1 0.1 0.1 1" /> + <color + name="MouseGray" + value="0.12 0.12 0.12 1" /> + <color + name="Black" + value="0 0 0 1" /> + <color + name="Black_10" + value="0 0 0 0.1" /> + <color + name="Black_25" + value="0 0 0 0.25" /> + <color + name="Black_50" + value="0 0 0 0.5" /> + <color + name="FrogGreen" + value="0.26 0.33 0.42 1" /> + <!-- ^(Not actually green) --> + <color + name="Red" + value="1 0 0 1" /> + <color + name="Blue" + value="0 0 1 1" /> + <color + name="Yellow" + value="1 1 0 1" /> + <color + name="Green" + value="0 1 0 1" /> + <color + name="Transparent" + value="0 0 0 0" /> + <color + name="Purple" + value="1 0 1 1" /> + <color + name="Lime" + value=".8 1 .73 1" /> + <color + name="LtYellow" + value="1 1 .79 1" /> + <color + name="DrYellow" + value="1 0.86 0 1" /> + <color + name="LtOrange" + value="1 .85 .73 1" /> + <color + name="MdBlue" + value=".07 .38 .51 1" /> + <color + name="DkBlue" + value=".06 .06 .3 1" /> + <color + name="LtRed" + value="1 0.2 0.2 1" /> + <color + name="LtGreen" + value="0.2 1 0.2 1" /> + <color + name="Red_80" + value="1 0 0 0.8" /> + <color + name="DkRed" + value="0.3 0.06 0.06 1" /> + <color + name="Green_80" + value="0 1 0 0.8" /> + <color + name="Blue_80" + value="0 0 1 0.8" /> + <color + name="Orange" + value="1 .82 .46 1" /> + + <!-- This color name makes potentially unused colors show up bright purple. + Leave this here until all Unused? are removed below, otherwise + the viewer generates many warnings on startup. --> + <color + name="Unused?" + value=".831 1 0 1" /> + + <!-- UI Definitions --> + + <color + name="AccordionHeaderTextColor" + reference="Gray" /> + <color + name="AgentChatColor" + reference="White" /> + <color + name="AlertBoxColor" + value="0.24 0.24 0.24 1" /> + <color + name="AlertCautionBoxColor" + value="1 0.82 0.46 1" /> + <color + name="AlertCautionTextColor" + reference="LtYellow" /> + <color + name="AvatarListItemIconDefaultColor" + reference="White" /> + <color + name="AvatarListItemIconOnlineColor" + reference="White" /> + <color + name="AvatarListItemIconOfflineColor" + value="0.5 0.5 0.5 0.5" /> + <color + name="AvatarListItemIconVoiceInvitedColor" + reference="AvatarListItemIconOfflineColor" /> + <color + name="AvatarListItemIconVoiceJoinedColor" + reference="AvatarListItemIconOnlineColor" /> + <color + name="AvatarListItemIconVoiceLeftColor" + reference="AvatarListItemIconOfflineColor" /> + <color + name="BadgeImageColor" + value="1.0 0.40 0.0 1.0" /> + <color + name="BadgeBorderColor" + value="0.9 0.9 0.9 1.0" /> + <color + name="BadgeLabelColor" + reference="White" /> + <color + name="ButtonBorderColor" + reference="Unused?" /> + <color + name="ButtonCautionImageColor" + reference="Unused?" /> + <color + name="ButtonColor" + reference="Unused?" /> + <color + name="ButtonFlashBgColor" + reference="Unused?" /> + <color + name="ButtonImageColor" + reference="White" /> + <color + name="ButtonLabelColor" + reference="LtGray" /> + <color + name="ButtonLabelDisabledColor" + reference="White_25" /> + <color + name="ButtonLabelSelectedColor" + reference="White" /> + <color + name="ButtonLabelSelectedDisabledColor" + reference="White_25" /> + <color + name="ButtonSelectedBgColor" + reference="Unused?" /> + <color + name="ButtonSelectedColor" + reference="Unused?" /> + <color + name="ButtonUnselectedBgColor" + reference="Unused?" /> + <color + name="ButtonUnselectedFgColor" + reference="Unused?" /> + <color + name="ChatHistoryBgColor" + reference="Transparent" /> + <color + name="ChatHistoryTextColor" + reference="LtGray" /> + <color + name="ChicletFlashColor" + value="0.114 0.65 0.1" /> + <color + name="ColorDropShadow" + reference="Black_50" /> + <color + name="ColorPaletteEntry01" + reference="Black" /> + <color + name="ColorPaletteEntry02" + reference="Gray" /> + <color + name="ColorPaletteEntry03" + value="0.5 0 0 1" /> + <color + name="ColorPaletteEntry04" + value="0.5 0.5 0 1" /> + <color + name="ColorPaletteEntry05" + value="0 0.5 0 1" /> + <color + name="ColorPaletteEntry06" + value="0 0.5 0.5 1" /> + <color + name="ColorPaletteEntry07" + value="0 0 0.5 1" /> + <color + name="ColorPaletteEntry08" + value="0.5 0 0.5 1" /> + <color + name="ColorPaletteEntry09" + value="0.5 0.5 0 1" /> + <color + name="ColorPaletteEntry10" + value="0 0.25 0.25 1" /> + <color + name="ColorPaletteEntry11" + value="0 0.5 1 1" /> + <color + name="ColorPaletteEntry12" + value="0 0.25 0.5 1" /> + <color + name="ColorPaletteEntry13" + value="0.5 0 1 1" /> + <color + name="ColorPaletteEntry14" + value="0.5 0.25 0 1" /> + <color + name="ColorPaletteEntry15" + reference="White" /> + <color + name="ColorPaletteEntry16" + reference="LtYellow" /> + <color + name="ColorPaletteEntry17" + reference="White" /> + <color + name="ColorPaletteEntry18" + reference="LtGray" /> + <color + name="ColorPaletteEntry19" + reference="Red" /> + <color + name="ColorPaletteEntry20" + reference="Yellow" /> + <color + name="ColorPaletteEntry21" + reference="Green" /> + <color + name="ColorPaletteEntry22" + value="0 1 1 1" /> + <color + name="ColorPaletteEntry23" + reference="Blue" /> + <color + name="ColorPaletteEntry24" + reference="Purple" /> + <color + name="ColorPaletteEntry25" + value="1 1 0.5 1" /> + <color + name="ColorPaletteEntry26" + value="0 1 0.5 1" /> + <color + name="ColorPaletteEntry27" + value="0.5 1 1 1" /> + <color + name="ColorPaletteEntry28" + value="0.5 0.5 1 1" /> + <color + name="ColorPaletteEntry29" + value="1 0 0.5 1" /> + <color + name="ColorPaletteEntry30" + value="1 0.5 0 1" /> + <color + name="ColorPaletteEntry31" + reference="White" /> + <color + name="ColorPaletteEntry32" + reference="White" /> + <color + name="ComboListBgColor" + reference="DkGray" /> + <color + name="ConsoleBackground" + reference="Black" /> + <color + name="ContextSilhouetteColor" + reference="EmphasisColor" /> + <color + name="ConversationFriendColor" + value="0.5 0.7 0.85 1" /> + <color + name="DefaultHighlightDark" + reference="White_10" /> + <color + name="DefaultHighlightLight" + reference="White_25" /> + <color + name="DefaultShadowDark" + reference="Black_50" /> + <color + name="DefaultShadowLight" + reference="Black_50" /> + <color + name="EffectColor" + reference="White" /> + <color + name="FilterBackgroundColor" + reference="Black" /> + <color + name="FilterTextColor" + reference="EmphasisColor" /> + <color + name="FloaterButtonImageColor" + reference="Gray" /> + <color + name="FloaterDefaultBackgroundColor" + reference="DkGray_66" /> + <color + name="FloaterFocusBackgroundColor" + reference="DkGray2" /> + <color + name="FloaterFocusBorderColor" + reference="Black_50" /> + <color + name="FloaterUnfocusBorderColor" + reference="Black_50" /> + <color + name="FocusColor" + reference="EmphasisColor" /> + <color + name="FolderViewLoadingMessageTextColor" + value="0.3344 0.545 0.645 1" /> + <color + name="FpsTextColor" + value="0.34 0.51 0.64 0.8" /> + <color + name="GridFocusPointColor" + reference="White_50" /> + <color + name="GridlineBGColor" + value="0.92 0.92 1 0.78" /> + <color + name="GridlineColor" + reference="White" /> + <color + name="GridlineShadowColor" + value="0 0 0 0.31" /> + <color + name="GroupNotifyBoxColor" + value="0.3344 0.5456 0.5159 1" /> + <color + name="GroupNotifyTextColor" + reference="White"/> + <color + name="GroupNotifyDimmedTextColor" + reference="LtGray" /> + <color + name="GroupOverTierColor" + value="0.43 0.06 0.06 1" /> + <color + name="HTMLLinkColor" + reference="EmphasisColor" /> + <color + name="HealthTextColor" + reference="White" /> + <color + name="HelpBgColor" + reference="Unused?" /> + <color + name="HelpFgColor" + reference="Unused?" /> + <color + name="HelpScrollHighlightColor" + reference="Unused?" /> + <color + name="HelpScrollShadowColor" + reference="Unused?" /> + <color + name="HelpScrollThumbColor" + reference="Unused?" /> + <color + name="HelpScrollTrackColor" + reference="Unused?" /> + <color + name="HighlightChildColor" + reference="Yellow" /> + <color + name="HighlightInspectColor" + value="1 0 1 1" /> + <color + name="HighlightParentColor" + value="0.5 0.65 0.8 1" /> + <color + name="IMHistoryBgColor" + reference="Unused?" /> + <color + name="IMHistoryTextColor" + reference="Unused?" /> + <color + name="IconDisabledColor" + reference="White_25" /> + <color + name="IconEnabledColor" + reference="White" /> + <color + name="InventoryBackgroundColor" + reference="DkGray2" /> + <color + name="InventoryFocusOutlineColor" + reference="White_25" /> + <color + name="InventoryItemSuffixColor" + reference="White_25" /> + <color + name="InventoryItemLibraryColor" + reference="EmphasisColor" /> + <color + name="InventoryItemLinkColor" + reference="LtGray_50" /> + <color + name="InventoryMouseOverColor" + reference="LtGray_35" /> + <color + name="InventorySearchStatusColor" + reference="EmphasisColor" /> + <color + name="LabelDisabledColor" + reference="White_25" /> + <color + name="LabelSelectedColor" + reference="White" /> + <color + name="LabelSelectedDisabledColor" + reference="White_25" /> + <color + name="LabelTextColor" + reference="LtGray" /> + <color + name="LoginProgressBarBgColor" + reference="Unused?" /> + <color + name="LoginProgressBarFgColor" + reference="Unused?" /> + <color + name="LoginProgressBoxBorderColor" + value="0.857 0.668 0.308 0" /> + <color + name="LoginProgressBoxCenterColor" + value="0 0 0 0.78" /> + <color + name="LoginProgressBoxShadowColor" + value="0 0 0 0.78" /> + <color + name="LoginProgressBoxTextColor" + reference="White" /> + <color + name="MapAvatarColor" + reference="White" /> + <color + name="MapAvatarFriendColor" + value="0.5 0.7 0.85 1" /> + <color + name="MapAvatarSelfColor" + value="0.53125 0 0.498047 1" /> + <color + name="MapFrustumColor" + reference="White_10" /> + <color + name="MapParcelOutlineColor" + value="1 1 1 0.5" /> + <color + name="MapTrackColor" + reference="Red" /> + <color + name="MapTrackColorUnder" + reference="Blue" /> + <color + name="MapTrackDisabledColor" + value="0.5 0 0 1" /> + <color + name="MenuBarBgColor" + reference="MouseGray" /> + <color + name="MenuBarGodBgColor" + reference="FrogGreen" /> + <color + name="MenuDefaultBgColor" + reference="DkGray2" /> + <color + name="MenuItemDisabledColor" + reference="LtGray_50" /> + <color + name="MenuItemEnabledColor" + reference="LtGray" /> + <color + name="MenuItemHighlightBgColor" + reference="EmphasisColor_35" /> + <color + name="MenuItemFlashBgColor" + reference="BeaconColor" /> + <color + name="MenuItemHighlightFgColor" + reference="White" /> + <color + name="MenuNonProductionBgColor" + reference="Black" /> + <color + name="MenuNonProductionGodBgColor" + value="0.263 0.325 0.345 1" /> + <color + name="MenuPopupBgColor" + reference="DkGray2" /> + <color + name="ModelUploaderLabels" + value="1 0.6 0 1" /> + <color + name="MultiSliderDisabledThumbColor" + reference="Black" /> + <color + name="MultiSliderThumbCenterColor" + reference="White" /> + <color + name="MultiSliderThumbCenterSelectedColor" + reference="Green" /> + <color + name="MultiSliderThumbOutlineColor" + reference="Unused?" /> + <color + name="MultiSliderTrackColor" + reference="LtGray" /> + <color + name="MultiSliderTriangleColor" + reference="Yellow" /> + <!-- + <color + name="NameTagBackground" + value="0.85 0.85 0.85 0.80" /> + --> + <color + name="NameTagBackground" + value="0 0 0 1" /> + <color + name="NameTagChat" + reference="White" /> + <color + name="NameTagFriend" + value="0.5 0.7 0.85 1" /> + <color + name="NameTagLegacy" + reference="White" /> + <color + name="NameTagMatch" + reference="White" /> + <color + name="NameTagMismatch" + reference="White" /> + <color + name="NetMapBackgroundColor" + value="0 0 0 1" /> + <color + name="NetMapGroupOwnAboveWater" + value="0.85 0 0.85 1" /> + <color + name="NetMapGroupOwnBelowWater" + value="0.63 0 0.63 1" /> + <color + name="NetMapOtherOwnAboveWater" + value="0.24 0.24 0.24 1" /> + <color + name="NetMapOtherOwnBelowWater" + value="0.12 0.12 0.12 1" /> + <color + name="NetMapYouOwnAboveWater" + value="0 0.85 0.85 1" /> + <color + name="NetMapYouOwnBelowWater" + value="0 0.63 0.63 1" /> + <color + name="NotifyBoxColor" + value="LtGray" /> + <color + name="NotifyCautionBoxColor" + value="1 0.82 0.46 1" /> + <color + name="NotifyCautionWarnColor" + reference="White" /> + <color + name="NotifyTextColor" + reference="White" /> + <color + name="ObjectBubbleColor" + reference="DkGray_66" /> + <color + name="ObjectChatColor" + reference="LtYellow" /> + <color + name="OverdrivenColor" + reference="Red" /> + <color + name="PanelDefaultBackgroundColor" + reference="DkGray" /> + <color + name="PanelDefaultHighlightLight" + reference="White_50" /> + <color + name="PanelFocusBackgroundColor" + reference="DkGray2" /> + <color + name="PanelNotificationBackground" + value="1 0.3 0.3 0" /> + <color + name="ParcelHoverColor" + reference="White" /> + <color + name="PathfindingErrorColor" + reference="LtRed" /> + <color + name="PathfindingWarningColor" + reference="DrYellow" /> + <color + name="PathfindingGoodColor" + reference="LtGreen" /> + <color + name="MaterialErrorColor" + reference="LtRed" /> + <color + name="MaterialWarningColor" + reference="DrYellow" /> + <color + name="MaterialGoodColor" + reference="LtGreen" /> + <color + name="PathfindingDefaultBeaconColor" + reference="Red_80" /> + <color + name="PathfindingDefaultBeaconTextColor" + reference="White" /> + <color + name="PathfindingLinksetBeaconColor" + reference="Blue_80" /> + <color + name="PathfindingCharacterBeaconColor" + reference="Red_80" /> + <color + name="PieMenuBgColor" + value="0.24 0.24 0.24 0.59" /> + <color + name="PieMenuLineColor" + value="0 0 0 0.5" /> + <color + name="PieMenuSelectedColor" + value="0.72 0.72 0.74 0.3" /> + <color + name="PropertyColorAuction" + value="0.5 0 1 0.4" /> + <color + name="PropertyColorAvail" + reference="Transparent" /> + <color + name="PropertyColorForSale" + value="1 0.5 0 0.4" /> + <color + name="PropertyColorGroup" + value="0 0.72 0.72 0.4" /> + <color + name="PropertyColorOther" + value="1 0 0 0.4" /> + <color + name="PropertyColorSelf" + value="0 1 0 0.4" /> + <color + name="ScriptBgReadOnlyColor" + value="0.39 0.39 0.39 1" /> + <color + name="ScriptErrorColor" + reference="Red" /> + <color + name="ScrollBGStripeColor" + reference="Transparent" /> + <color + name="ScrollBgReadOnlyColor" + reference="Transparent" /> + <color + name="ScrollBgWriteableColor" + reference="White_05" /> + <color + name="ScrollDisabledColor" + reference="White_25" /> + <color + name="ScrollHighlightedColor" + reference="Unused?" /> + <color + name="ScrollHoveredColor" + reference="EmphasisColor_13" /> + <color + name="ScrollSelectedBGColor" + reference="EmphasisColor_35" /> + <color + name="ScrollSelectedFGColor" + reference="White" /> + <color + name="ScrollUnselectedColor" + reference="LtGray" /> + <color + name="ScrollbarThumbColor" + reference="White" /> + <color + name="ScrollbarTrackColor" + reference="Black" /> + <color + name="SelectedOutfitTextColor" + reference="EmphasisColor" /> + <color + name="SilhouetteChildColor" + value="0.13 0.42 0.77 1" /> + <color + name="SilhouetteParentColor" + reference="Yellow" /> + <color + name="SliderDisabledThumbColor" + reference="White_25" /> + <color + name="SliderThumbCenterColor" + reference="White" /> + <color + name="SliderThumbOutlineColor" + reference="White" /> + <color + name="SliderTrackColor" + reference="Unused?" /> + <color + name="SpeakingColor" + reference="FrogGreen" /> + <color + name="SystemChatColor" + reference="LtGray" /> + <color + name="TextBgFocusColor" + reference="White" /> + <color + name="TextBgReadOnlyColor" + reference="White_05" /> + <color + name="TextBgWriteableColor" + reference="LtGray" /> + <color + name="TextCursorColor" + reference="Black" /> + <color + name="TextDefaultColor" + reference="Black" /> + <color + name="TextEmbeddedItemColor" + value="0 0 0.5 1" /> + <color + name="TextEmbeddedItemReadOnlyColor" + reference="Unused?" /> + <color + name="TextFgColor" + value="0.102 0.102 0.102 1" /> + <color + name="TextFgReadOnlyColor" + reference="LtGray" /> + <color + name="TextFgTentativeColor" + value="0.4 0.4 0.4 1" /> + <color + name="TimeTextColor" + reference="LtGray" /> + <color + name="TitleBarFocusColor" + reference="White_10" /> + <color + name="ToastBackground" + value="0.15 0.15 0.15 0" /> + <color + name="ToolTipBgColor" + value="0.937 0.89 0.655 1" /> + <color + name="ToolTipBorderColor" + value="0.812 0.753 0.451 1" /> + <color + name="ToolTipTextColor" + reference="DkGray2" /> + <color + name="InspectorTipTextColor" + reference="LtGray" /> + <color + name="UserChatColor" + reference="White" /> + <color + name="llOwnerSayChatColor" + reference="LtOrange" /> + + <!-- New Colors --> + <color + name="OutputMonitorMutedColor" + reference="DkGray2" /> + <color + name="SysWellItemUnselected" + value="0 0 0 0" /> + <color + name="SysWellItemSelected" + value="0.3 0.3 0.3 1.0" /> + <color + name="ColorSwatchBorderColor" + value="0.45098 0.517647 0.607843 1"/> + <color + name="ChatTeleportSeparatorColor" + reference="Black" /> + <color + name="ChatTimestampColor" + reference="White" /> + <color + name="MenuBarBetaBgColor" + reference="DkBlue" /> + <color + name="MenuBarProjectBgColor" + reference="MdBlue" /> + <color + name="MenuBarTestBgColor" + reference="DkRed" /> + <color + name="MeshImportTableNormalColor" + value="1 1 1 1"/> + <color + name="MeshImportTableHighlightColor" + value="0.2 0.8 1 1"/> + + <color + name="DirectChatColor" + reference="LtOrange" /> + + <color + name="ToolbarDropZoneColor" + value=".48 .69 1 .5" /> + <color + name="PanelNotificationListItem" + value="0.3 0.3 0.3 .3" /> + + <!-- profiles --> + <color + name="StatusUserOnline" + reference="White" /> + <color + name="StatusUserOffline" + reference="LtGray_35" /> + <!-- Groups visible in own profiles --> + <color + name="GroupVisibleInProfile" + reference="TextBgFocusColor" /> + <color + name="GroupHiddenInProfile" + reference="Gray" /> + + + <!-- Generic color names (legacy) --> + <color + name="white" + value="1 1 1 1"/> + <color + name="black" + value="0 0 0 1"/> + <color + name="red" + value="1 0 0 1"/> + <color + name="green" + value="0 1 0 1"/> + <color + name="blue" + value="0 0 1 1"/> + + <!--Resize bar colors --> + + <color + name="ResizebarBorderLight" + value="0.231 0.231 0.231 1"/> + + <color + name="ResizebarBorderDark" + value="0.133 0.133 0.133 1"/> + + <color + name="ResizebarBody" + value="0.208 0.208 0.208 1"/> + + <!-- syntax highlighting (LSL Scripts) --> + <color + name="ScriptText" + reference="Black" /> + <color + name="ScriptBackground" + reference="White" /> + <color + name="ScriptCursorColor" + reference="Black" /> + <color + name="SyntaxLslComment" + value="0 0.5 0 1" /> + <color + name="SyntaxLslConstant" + value="0 0.6 0.6 1" /> + <color + name="SyntaxLslControlFlow" + value="0.4 0 0.8 1" /> + <color + name="SyntaxLslControlLabel" + value="0 0 0.8 1" /> + <color + name="SyntaxLslDataType" + value="0.8 0.4 0 1" /> + <color + name="SyntaxLslDeprecated" + value="0.9 0.0 0.66, 1" /> + <color + name="SyntaxLslEvent" + value="0 0.3 0.5 1" /> + <color + name="SyntaxLslFunction" + value="0.3 0 0.5 1" /> + <color + name="SyntaxLslGodMode" + value="0.7 .2 .35 1" /> + <color + name="SyntaxLslStringLiteral" + value="1 0.14 0 1" /> + <color + name="OutfitGalleryItemSelected" + reference="EmphasisColor_35" /> + <color + name="OutfitGalleryItemWorn" + reference="EmphasisColor_13" /> + <color + name="OutfitGalleryItemUnselected" + value="0.4 0.4 0.4 1" /> + <color + name="PanelGray" + value="0.27 0.27 0.27 1" /> + <color + name="PerformanceMid" + value="1 0.8 0 1" /> + <color + name="OutfitSnapshotMacMask" + value="0.115 0.115 0.115 1"/> + <color + name="OutfitSnapshotMacMask2" + value="0.1 0.1 0.1 1"/> +</colors> diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png Binary files differnew file mode 100644 index 0000000000..446daf6a90 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Center.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png Binary files differnew file mode 100644 index 0000000000..479c98903e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_In.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png Binary files differnew file mode 100644 index 0000000000..cc4e6f99ff --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Rotate_Out.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png Binary files differnew file mode 100644 index 0000000000..dbafbcc9f0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Center.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png Binary files differnew file mode 100644 index 0000000000..041a42ecf9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_In.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png Binary files differnew file mode 100644 index 0000000000..cffead1703 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Cam_Tracking_Out.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png Binary files differnew file mode 100644 index 0000000000..50239c8af8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/ChatBarHandle.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png b/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png Binary files differnew file mode 100644 index 0000000000..82f58b22b9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/DownArrow.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png Binary files differnew file mode 100644 index 0000000000..4dddc2b391 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_Off.png diff --git a/indra/newview/skins/contrast/textures/icons/see_them_on_map.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_On.png Binary files differindex d309980c13..1af8e6b956 100644 --- a/indra/newview/skins/contrast/textures/icons/see_them_on_map.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Backward_On.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_Off.png Binary files differindex 4c98e35868..2893c9a9f1 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_On.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png Binary files differnew file mode 100644 index 0000000000..4f97611db1 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Down_On.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png Binary files differnew file mode 100644 index 0000000000..80d227b6a7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_Off.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Grass_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_On.png Binary files differindex 19cf732d91..f01c9f3c63 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Grass_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Forward_On.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/PanOrbit_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_Off.png Binary files differindex 53efa3a9a9..3602efa9d9 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/PanOrbit_Off.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png Binary files differnew file mode 100644 index 0000000000..a120d46e99 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Left_On.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_Off.png Binary files differindex b919a0a152..9c3fc37dfe 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_Off.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_Off.png diff --git a/indra/newview/skins/contrast/textures/toolbar_icons/twitter.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_On.png Binary files differindex 0ad56f7802..c241ac75df 100644 --- a/indra/newview/skins/contrast/textures/toolbar_icons/twitter.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Right_On.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png Binary files differnew file mode 100644 index 0000000000..282e8d62de --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png Binary files differnew file mode 100644 index 0000000000..20ce7b9296 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnLeft_On.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png Binary files differnew file mode 100644 index 0000000000..5039e57c32 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png Binary files differnew file mode 100644 index 0000000000..7b3d2e8dd8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_TurnRight_On.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_Off.png Binary files differindex 3748f5e190..a49c43c2cf 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Back_On.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png Binary files differnew file mode 100644 index 0000000000..ecce0d0192 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Movement_Up_On.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_Off.png Binary files differindex de9da359a0..e9dea7e17e 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/Cam_Preset_Side_On.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_Off.png diff --git a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_On.png Binary files differindex 8d32cad95f..7a348ba22e 100644 --- a/indra/newview/skins/contrast/textures/bottomtray/Mouselook_View_Off.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Object_View_On.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png b/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png Binary files differnew file mode 100644 index 0000000000..e8fe243dc7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/Unread_Chiclet.png diff --git a/indra/newview/skins/contrast/textures/icons/hand.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl1.png Binary files differindex 3f497eefbb..3072512301 100644 --- a/indra/newview/skins/contrast/textures/icons/hand.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl1.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Ring_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl2.png Binary files differindex ccc1f6d221..28872be28f 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Ring_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl2.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png Binary files differnew file mode 100644 index 0000000000..14ec77b99a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Lvl3.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png Binary files differnew file mode 100644 index 0000000000..48be51e9af --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png Binary files differnew file mode 100644 index 0000000000..823acfc583 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/VoicePTT_On.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png Binary files differnew file mode 100644 index 0000000000..84711ddc29 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit.png diff --git a/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png Binary files differnew file mode 100644 index 0000000000..9b9468c574 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/bottomtray/WellButton_Lit_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/cloud-particle.png b/indra/newview/skins/contrast_gold/textures/cloud-particle.png Binary files differnew file mode 100644 index 0000000000..2196e764f7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/cloud-particle.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png Binary files differnew file mode 100644 index 0000000000..19c842b816 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png Binary files differnew file mode 100644 index 0000000000..b9879dcc8a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowClosed_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png Binary files differnew file mode 100644 index 0000000000..d506cda5c9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png Binary files differnew file mode 100644 index 0000000000..08f7493a02 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_ArrowOpened_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png Binary files differnew file mode 100644 index 0000000000..ec2c3f0b47 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png Binary files differnew file mode 100644 index 0000000000..9ce484130f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png Binary files differnew file mode 100644 index 0000000000..36edc1c7c4 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png Binary files differnew file mode 100644 index 0000000000..9a6b4b4a27 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Accordion_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Container.png b/indra/newview/skins/contrast_gold/textures/containers/Container.png Binary files differnew file mode 100644 index 0000000000..511eb94386 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Container.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png Binary files differnew file mode 100644 index 0000000000..3aad7243bc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png Binary files differnew file mode 100644 index 0000000000..cbf5721766 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Left_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png Binary files differnew file mode 100644 index 0000000000..4d2ab77048 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png Binary files differnew file mode 100644 index 0000000000..586593314f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png Binary files differnew file mode 100644 index 0000000000..4d2ab77048 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Middle_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png Binary files differnew file mode 100644 index 0000000000..fce7b8771d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png Binary files differnew file mode 100644 index 0000000000..fd13bb699d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Flashing.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png Binary files differnew file mode 100644 index 0000000000..4db77fbfde --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png Binary files differnew file mode 100644 index 0000000000..fce7b8771d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/TabTop_Right_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png Binary files differnew file mode 100644 index 0000000000..8935aa949b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Flash.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png Binary files differnew file mode 100644 index 0000000000..92ea6428a9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png Binary files differnew file mode 100644 index 0000000000..31e0f84278 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png Binary files differnew file mode 100644 index 0000000000..13af7b9039 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Left_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png Binary files differnew file mode 100644 index 0000000000..dd73d655e9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Flash.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png Binary files differnew file mode 100644 index 0000000000..17029352fc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png Binary files differnew file mode 100644 index 0000000000..f9bf4b69ab --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png Binary files differnew file mode 100644 index 0000000000..ba963bd6d3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Middle_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png Binary files differnew file mode 100644 index 0000000000..f6b775c2a0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Flash.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png Binary files differnew file mode 100644 index 0000000000..3cc431f70d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png Binary files differnew file mode 100644 index 0000000000..794731f9fc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png Binary files differnew file mode 100644 index 0000000000..b65ceb7edb --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/containers/Toolbar_Right_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c b/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c Binary files differnew file mode 100644 index 0000000000..d2a8726404 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/default_land_picture.j2c diff --git a/indra/newview/skins/contrast_gold/textures/default_land_picture.png b/indra/newview/skins/contrast_gold/textures/default_land_picture.png Binary files differnew file mode 100644 index 0000000000..c53a5f6aa0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/default_land_picture.png diff --git a/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c b/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c Binary files differnew file mode 100644 index 0000000000..09e03af0e9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/default_profile_picture.j2c diff --git a/indra/newview/skins/contrast_gold/textures/default_profile_picture.png b/indra/newview/skins/contrast_gold/textures/default_profile_picture.png Binary files differnew file mode 100644 index 0000000000..5bade1cb36 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/default_profile_picture.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png Binary files differnew file mode 100644 index 0000000000..d21b72b973 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png Binary files differnew file mode 100644 index 0000000000..64108d133a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png Binary files differnew file mode 100644 index 0000000000..3168f51757 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/AddItem_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png Binary files differnew file mode 100644 index 0000000000..dd89920fae --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png Binary files differnew file mode 100644 index 0000000000..a4fbec4144 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/AudioMute_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png b/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png Binary files differnew file mode 100644 index 0000000000..4f6f5512c8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Audio_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png b/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png Binary files differnew file mode 100644 index 0000000000..0268a0f9fb --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Audio_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png Binary files differnew file mode 100644 index 0000000000..3a19e79f82 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Condense.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png Binary files differnew file mode 100644 index 0000000000..f5331feb02 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Icon_Notification_Expand.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info.png b/indra/newview/skins/contrast_gold/textures/icons/Info.png Binary files differnew file mode 100644 index 0000000000..e05a585f0b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Info.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png b/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png Binary files differnew file mode 100644 index 0000000000..95fd5fa424 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Info_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png b/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png Binary files differnew file mode 100644 index 0000000000..c4ce13e132 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Info_Small.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png b/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png Binary files differnew file mode 100644 index 0000000000..b01e8f4ea3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/MP_Logo.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png Binary files differnew file mode 100644 index 0000000000..b62ed35182 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png Binary files differnew file mode 100644 index 0000000000..eb7b8838f7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png Binary files differnew file mode 100644 index 0000000000..2dc6081cb0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/MinusItem_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png Binary files differnew file mode 100644 index 0000000000..ab5a1680a7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Dark.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png Binary files differnew file mode 100644 index 0000000000..2db94e37c9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_M_Light.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png Binary files differnew file mode 100644 index 0000000000..e1f7613d04 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Dark.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png Binary files differnew file mode 100644 index 0000000000..04d13027d2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_PG_Light.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png b/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png Binary files differnew file mode 100644 index 0000000000..dbf43152b3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/Parcel_R_Light.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png b/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png Binary files differnew file mode 100644 index 0000000000..df0e825cef --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/ProgressLarge_8.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png b/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png Binary files differnew file mode 100644 index 0000000000..425ba267a5 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/VoiceMute_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png Binary files differnew file mode 100644 index 0000000000..3072512301 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl1.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Torus_Selected.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl2.png Binary files differindex ff1cce3a79..28872be28f 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Torus_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl2.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png Binary files differnew file mode 100644 index 0000000000..a4a171bd81 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Lvl3.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png Binary files differnew file mode 100644 index 0000000000..533663a4fa --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png Binary files differnew file mode 100644 index 0000000000..823acfc583 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/VoicePTT_On.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/add_icon.png b/indra/newview/skins/contrast_gold/textures/icons/add_icon.png Binary files differnew file mode 100644 index 0000000000..b5b09ae6e0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/add_icon.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png Binary files differnew file mode 100644 index 0000000000..0adf0b677e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_off.png diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_1.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_over.png Binary files differindex 85015fc913..13ce6a8e4d 100644 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_1.png +++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_over.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png Binary files differnew file mode 100644 index 0000000000..311a90ac22 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/back_arrow_press.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere_Selected.png b/indra/newview/skins/contrast_gold/textures/icons/check_mark.png Binary files differindex 2d1e035d41..ea59769d38 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Sphere_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/icons/check_mark.png diff --git a/indra/newview/skins/contrast/textures/icons/see_them_online.png b/indra/newview/skins/contrast_gold/textures/icons/see_me_online.png Binary files differindex 135e6cdd82..5684e27f43 100644 --- a/indra/newview/skins/contrast/textures/icons/see_them_online.png +++ b/indra/newview/skins/contrast_gold/textures/icons/see_me_online.png diff --git a/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png b/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png Binary files differnew file mode 100644 index 0000000000..9a4e7f8616 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/icons/unknown_icon.png diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png Binary files differnew file mode 100644 index 0000000000..f3872dea3f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_group.png diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png Binary files differnew file mode 100644 index 0000000000..550703968f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_auction.png diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png Binary files differnew file mode 100644 index 0000000000..209bb868ea --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_land_forsale.png diff --git a/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png b/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png Binary files differnew file mode 100644 index 0000000000..60cf42424a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/megapahit/icon_place.png diff --git a/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png Binary files differnew file mode 100644 index 0000000000..7c6920205f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_bar_bg.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Cone_Selected.png b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_light.png Binary files differindex 4aeb96c3ae..be6b263fb6 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Cone_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/model_wizard/progress_light.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png Binary files differnew file mode 100644 index 0000000000..3d9c758574 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png Binary files differnew file mode 100644 index 0000000000..69b0d43900 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/BuyArrow_Press.png diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_6.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Active.png Binary files differindex 4f5b34a643..6d42f52963 100644 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_6.png +++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Active.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png Binary files differnew file mode 100644 index 0000000000..82d044d817 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png Binary files differnew file mode 100644 index 0000000000..74861fdb58 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png Binary files differnew file mode 100644 index 0000000000..6670667022 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/Favorite_Star_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png Binary files differnew file mode 100644 index 0000000000..6a91700ae0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG.png diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_2.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoFav_Bevel.png Binary files differindex 6158242b68..c61dcde58c 100644 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Progress_2.png +++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoFav_Bevel.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png Binary files differnew file mode 100644 index 0000000000..9e3da34596 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/NavBar_BG_NoNav_Bevel.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png b/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png Binary files differnew file mode 100644 index 0000000000..d3870fb640 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/Row_Selection.png diff --git a/indra/newview/skins/contrast_gold/textures/navbar/separator.png b/indra/newview/skins/contrast_gold/textures/navbar/separator.png Binary files differnew file mode 100644 index 0000000000..c1d74e5a64 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/navbar/separator.png diff --git a/indra/newview/skins/contrast/textures/textures.xml b/indra/newview/skins/contrast_gold/textures/textures.xml index 1fe1ff333a..00082fb556 100644 --- a/indra/newview/skins/contrast/textures/textures.xml +++ b/indra/newview/skins/contrast_gold/textures/textures.xml @@ -857,8 +857,8 @@ with the same filename but different name <texture name="notify_caution_icon.tga" /> - <texture name="default_land_picture.j2c" /> - <texture name="default_profile_picture.j2c" /> + <texture name="default_land_picture.j2c" file_name="default_land_picture.png"/> + <texture name="default_profile_picture.j2c" file_name="default_profile_picture.png"/> <texture name="locked_image.j2c" /> <texture name="badge_note.j2c" /> <texture name="badge_warn.j2c" /> diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png Binary files differnew file mode 100644 index 0000000000..5f6a01eaa1 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_bottom.png diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png Binary files differnew file mode 100644 index 0000000000..0b8090314c --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_left.png diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png Binary files differnew file mode 100644 index 0000000000..044751560f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/caret_right.png diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png Binary files differnew file mode 100644 index 0000000000..eeb43d165d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting.png diff --git a/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png Binary files differnew file mode 100644 index 0000000000..79d812ee3e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/toolbar_icons/highlighting_selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png Binary files differnew file mode 100644 index 0000000000..8b592ed840 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Down.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png Binary files differnew file mode 100644 index 0000000000..04416541b9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Left.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png Binary files differnew file mode 100644 index 0000000000..e57452a558 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Right.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png Binary files differnew file mode 100644 index 0000000000..8694cdf2d4 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Down.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png Binary files differnew file mode 100644 index 0000000000..a1b82d5101 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Left.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png Binary files differnew file mode 100644 index 0000000000..0e05d76852 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Right.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png Binary files differnew file mode 100644 index 0000000000..348bc4c019 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Small_Up.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png Binary files differnew file mode 100644 index 0000000000..8b3da09d79 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Arrow_Up.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png Binary files differnew file mode 100644 index 0000000000..5abc1bf489 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png Binary files differnew file mode 100644 index 0000000000..57d3be2320 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Badge_Border.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png Binary files differnew file mode 100644 index 0000000000..e18872b6f6 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png Binary files differnew file mode 100644 index 0000000000..699ddd9bf3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png Binary files differnew file mode 100644 index 0000000000..12854bdb12 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png Binary files differnew file mode 100644 index 0000000000..1f04a1e9e8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Left_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png Binary files differnew file mode 100644 index 0000000000..2cf3de24c0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png Binary files differnew file mode 100644 index 0000000000..52bcf88258 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png Binary files differnew file mode 100644 index 0000000000..efdd13003a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png Binary files differnew file mode 100644 index 0000000000..3c66b1f1cc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Middle_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png Binary files differnew file mode 100644 index 0000000000..d9c9692114 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png Binary files differnew file mode 100644 index 0000000000..4935dae42e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png Binary files differnew file mode 100644 index 0000000000..6eeec08248 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png Binary files differnew file mode 100644 index 0000000000..2d6d08522b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/BreadCrumbBtn_Right_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png Binary files differnew file mode 100644 index 0000000000..8439f82e29 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png Binary files differnew file mode 100644 index 0000000000..cb9a04d84f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png Binary files differnew file mode 100644 index 0000000000..0ec090504a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png Binary files differnew file mode 100644 index 0000000000..5759f7de69 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png Binary files differnew file mode 100644 index 0000000000..ba46e91c55 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_On_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png Binary files differnew file mode 100644 index 0000000000..5f5a33d878 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Checkbox_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png Binary files differnew file mode 100644 index 0000000000..ebeb813349 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png Binary files differnew file mode 100644 index 0000000000..1377d35e1a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Hover.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png Binary files differnew file mode 100644 index 0000000000..4f573cf6fa --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Off.png diff --git a/indra/newview/skins/contrast/textures/icons/see_on_map.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_On.png Binary files differindex fc7057cacd..1d1ea1bd87 100644 --- a/indra/newview/skins/contrast/textures/icons/see_on_map.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_On.png diff --git a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Selected.png Binary files differindex 65d914c6b3..d87e46aba7 100644 --- a/indra/newview/skins/contrast/textures/icons/OutboxPush_Selected_Over.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png Binary files differnew file mode 100644 index 0000000000..5a067aca7c --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpOff.png diff --git a/indra/newview/skins/contrast/textures/icons/SL_Logo.png b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpSelected.png Binary files differindex 8234387058..34b0c70cb0 100644 --- a/indra/newview/skins/contrast/textures/icons/SL_Logo.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/ComboButton_UpSelected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png Binary files differnew file mode 100644 index 0000000000..115ec7a11f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DisclosureArrow_Opened_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png Binary files differnew file mode 100644 index 0000000000..30e14f8684 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png Binary files differnew file mode 100644 index 0000000000..fbc1f58aa5 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png Binary files differnew file mode 100644 index 0000000000..e21cd20ba9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png Binary files differnew file mode 100644 index 0000000000..dc19edd130 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_On.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png Binary files differnew file mode 100644 index 0000000000..dc19edd130 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropDown_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png b/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png Binary files differnew file mode 100644 index 0000000000..01e7a88861 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/DropTarget.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png Binary files differnew file mode 100644 index 0000000000..439fce3dd3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Error_Tag_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png Binary files differnew file mode 100644 index 0000000000..76e078100f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Alert.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png Binary files differnew file mode 100644 index 0000000000..6e71ef7b72 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Linden_Dollar_Background.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Over.png Binary files differindex c837e953da..0ec8de776e 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cylinder_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Over.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Cube_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Select.png Binary files differindex 9c9d4f506a..6dd7b3c638 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Cube_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/ListItem_Select.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png Binary files differnew file mode 100644 index 0000000000..37cd0f6108 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png Binary files differnew file mode 100644 index 0000000000..3d9d474966 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/MarketplaceBtn_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png Binary files differnew file mode 100644 index 0000000000..9eb4a5c55d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Marketplace_Dropzone_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png Binary files differnew file mode 100644 index 0000000000..3631d90825 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png Binary files differnew file mode 100644 index 0000000000..d9b78eeea4 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/New_Tag_Border.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png Binary files differnew file mode 100644 index 0000000000..85a8559ceb --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBar.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png Binary files differnew file mode 100644 index 0000000000..59a798464d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressBarSolid.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png b/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png Binary files differnew file mode 100644 index 0000000000..f4be9f5ccd --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ProgressTrack.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png Binary files differnew file mode 100644 index 0000000000..e99ec4b14b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png Binary files differnew file mode 100644 index 0000000000..8e7d932ab1 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png Binary files differnew file mode 100644 index 0000000000..038ba23be2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png Binary files differnew file mode 100644 index 0000000000..828aa1a139 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Login_Pressed.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png Binary files differnew file mode 100644 index 0000000000..8d0b56ade0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png Binary files differnew file mode 100644 index 0000000000..cdbcf6be4d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png Binary files differnew file mode 100644 index 0000000000..cdbcf6be4d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_On_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png Binary files differnew file mode 100644 index 0000000000..db8ad9d691 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png Binary files differnew file mode 100644 index 0000000000..cdbcf6be4d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png Binary files differnew file mode 100644 index 0000000000..cdbcf6be4d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png Binary files differnew file mode 100644 index 0000000000..c44b0d2083 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png Binary files differnew file mode 100644 index 0000000000..cdbcf6be4d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/PushButton_Selected_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png Binary files differnew file mode 100644 index 0000000000..32ec25fe0e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png Binary files differnew file mode 100644 index 0000000000..5d267af5dc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png Binary files differnew file mode 100644 index 0000000000..e6bf0db157 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png Binary files differnew file mode 100644 index 0000000000..72aae43618 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png Binary files differnew file mode 100644 index 0000000000..f3883b82b3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_On_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png Binary files differnew file mode 100644 index 0000000000..0025256045 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/RadioButton_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png Binary files differnew file mode 100644 index 0000000000..768909d447 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png Binary files differnew file mode 100644 index 0000000000..1c57521e9e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png Binary files differnew file mode 100644 index 0000000000..3db7be9ffa --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Down_Over_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png Binary files differnew file mode 100644 index 0000000000..9ef73f48a5 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png Binary files differnew file mode 100644 index 0000000000..0fb0671036 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png Binary files differnew file mode 100644 index 0000000000..464130c359 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Left_Over_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png Binary files differnew file mode 100644 index 0000000000..8a59274b8a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png Binary files differnew file mode 100644 index 0000000000..ab1f1ac90b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png Binary files differnew file mode 100644 index 0000000000..e5a94429a3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Right_Over_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png Binary files differnew file mode 100644 index 0000000000..064580f0c8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png Binary files differnew file mode 100644 index 0000000000..2cc4857d27 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png Binary files differnew file mode 100644 index 0000000000..2018b53af9 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollArrow_Up_Over_Opaque.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png Binary files differnew file mode 100644 index 0000000000..9afc907c1c --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Horiz.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png Binary files differnew file mode 100644 index 0000000000..ede643e528 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollThumb_Vert.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png Binary files differnew file mode 100644 index 0000000000..35da770073 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Horiz.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png Binary files differnew file mode 100644 index 0000000000..cf67c23133 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/ScrollTrack_Vert.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png Binary files differnew file mode 100644 index 0000000000..ba63751690 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png Binary files differnew file mode 100644 index 0000000000..1a9f7e9d71 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png Binary files differnew file mode 100644 index 0000000000..e4fcf491ba --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png Binary files differnew file mode 100644 index 0000000000..dbe6651dc8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png Binary files differnew file mode 100644 index 0000000000..dbe6651dc8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png Binary files differnew file mode 100644 index 0000000000..fb91d76860 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png Binary files differnew file mode 100644 index 0000000000..fb91d76860 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png Binary files differnew file mode 100644 index 0000000000..fb91d76860 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Left_Selected_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png Binary files differnew file mode 100644 index 0000000000..d9f05d33ec --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png Binary files differnew file mode 100644 index 0000000000..d2342f6538 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png Binary files differnew file mode 100644 index 0000000000..5e3b275c46 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png Binary files differnew file mode 100644 index 0000000000..5e3b275c46 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Middle_Selected_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png Binary files differnew file mode 100644 index 0000000000..ecd2144d6d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png Binary files differnew file mode 100644 index 0000000000..1901d5e843 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png Binary files differnew file mode 100644 index 0000000000..a09415cd59 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_On_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png Binary files differnew file mode 100644 index 0000000000..534c30cddc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png Binary files differnew file mode 100644 index 0000000000..a97612ce2f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png Binary files differnew file mode 100644 index 0000000000..a97612ce2f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png Binary files differnew file mode 100644 index 0000000000..ca7551a267 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png Binary files differnew file mode 100644 index 0000000000..d7e9451f76 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SegmentedBtn_Right_Selected_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png Binary files differnew file mode 100644 index 0000000000..5cfa3ae4e1 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png Binary files differnew file mode 100644 index 0000000000..66cdcbeb94 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png Binary files differnew file mode 100644 index 0000000000..0bf8e43e81 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderThumb_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png Binary files differnew file mode 100644 index 0000000000..720830f83f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Horiz.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png Binary files differnew file mode 100644 index 0000000000..c01db44707 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/SliderTrack_Vert.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png Binary files differnew file mode 100644 index 0000000000..ff21034095 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png Binary files differnew file mode 100644 index 0000000000..7349132503 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Down_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png Binary files differnew file mode 100644 index 0000000000..133845bdbc --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png Binary files differnew file mode 100644 index 0000000000..3dce7733c2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Stepper_Up_Press.png diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SysClosed.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Active.png Binary files differindex 2550cae0d4..66c3867b81 100644 --- a/indra/newview/skins/contrast/textures/icons/Inv_SysClosed.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Active.png diff --git a/indra/newview/skins/contrast/textures/icons/Inv_SysOpen.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Disabled.png Binary files differindex 5b56d86184..baf747f581 100644 --- a/indra/newview/skins/contrast/textures/icons/Inv_SysOpen.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Disabled.png diff --git a/indra/newview/skins/contrast/textures/icons/Sync_Enabled.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Off.png Binary files differindex 0e7e5157cb..a35562f950 100644 --- a/indra/newview/skins/contrast/textures/icons/Sync_Enabled.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png Binary files differnew file mode 100644 index 0000000000..572535f1ab --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Active.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png Binary files differnew file mode 100644 index 0000000000..94b4b158f7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Disabled.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png Binary files differnew file mode 100644 index 0000000000..7768da04e8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Highlight.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png Binary files differnew file mode 100644 index 0000000000..fccd38c807 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/TextField_Search_Off.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png b/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png Binary files differnew file mode 100644 index 0000000000..1be53bdaa2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/Tooltip.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png b/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png Binary files differnew file mode 100644 index 0000000000..6304124aec --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/bevel_background.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Prism_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_off.png Binary files differindex 6ec9e72c54..f623b501e2 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Prism_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_off.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_over.png Binary files differindex ae65f1d5e6..25d4173242 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Hemi_Cone_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_over.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Tube_Selected.png b/indra/newview/skins/contrast_gold/textures/widgets/buy_press.png Binary files differindex 5653f06af1..3195431c84 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Tube_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/buy_press.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png b/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png Binary files differnew file mode 100644 index 0000000000..631d653968 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/horizontal_drag_handle.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png Binary files differnew file mode 100644 index 0000000000..073606628c --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_in.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png Binary files differnew file mode 100644 index 0000000000..71d5c5c36a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_left_out.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png Binary files differnew file mode 100644 index 0000000000..96f8501932 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_in.png diff --git a/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png Binary files differnew file mode 100644 index 0000000000..9c02f5f649 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/widgets/jump_right_out.png diff --git a/indra/newview/skins/contrast/textures/widgets/vertical_drag_handle.png b/indra/newview/skins/contrast_gold/textures/widgets/vertical_drag_handle.png Binary files differindex d78e898a9c..d78e898a9c 100644 --- a/indra/newview/skins/contrast/textures/widgets/vertical_drag_handle.png +++ b/indra/newview/skins/contrast_gold/textures/widgets/vertical_drag_handle.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png b/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png Binary files differnew file mode 100644 index 0000000000..3a998abdc3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Dragbar.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png Binary files differnew file mode 100644 index 0000000000..3110d7f6b5 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Left.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png Binary files differnew file mode 100644 index 0000000000..4076bb393e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Pointer.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png Binary files differnew file mode 100644 index 0000000000..4c55cd6287 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Flyout_Right.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png Binary files differnew file mode 100644 index 0000000000..cb516886a2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png Binary files differnew file mode 100644 index 0000000000..283981f6ea --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png Binary files differnew file mode 100644 index 0000000000..b08ffbc742 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Close_Toast.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png Binary files differnew file mode 100644 index 0000000000..7508fcb25e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png Binary files differnew file mode 100644 index 0000000000..3f2c560398 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Dock_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png Binary files differnew file mode 100644 index 0000000000..7cf85bece4 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png Binary files differnew file mode 100644 index 0000000000..09d83e62e4 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png Binary files differnew file mode 100644 index 0000000000..fa998eee5d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png Binary files differnew file mode 100644 index 0000000000..603fa2f388 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Gear_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png Binary files differnew file mode 100644 index 0000000000..1bde4c040a --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png Binary files differnew file mode 100644 index 0000000000..f3b885283f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Help_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png Binary files differnew file mode 100644 index 0000000000..942efb40f7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png Binary files differnew file mode 100644 index 0000000000..1fe37b7a2e --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Minimize_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png Binary files differnew file mode 100644 index 0000000000..7840deccb8 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png Binary files differnew file mode 100644 index 0000000000..33258a0bc5 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Restore_Press.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png Binary files differnew file mode 100644 index 0000000000..df826226e6 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Icon_Undock_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png Binary files differnew file mode 100644 index 0000000000..3053269b84 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png Binary files differnew file mode 100644 index 0000000000..0cb846eba0 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_Hover.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png b/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png Binary files differnew file mode 100644 index 0000000000..e5899c55a7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Inspector_I.png diff --git a/indra/newview/skins/contrast/textures/build/Object_Cylinder_Selected.png b/indra/newview/skins/contrast_gold/textures/windows/Resize_Corner.png Binary files differindex 50bd865cfc..4a533011df 100644 --- a/indra/newview/skins/contrast/textures/build/Object_Cylinder_Selected.png +++ b/indra/newview/skins/contrast_gold/textures/windows/Resize_Corner.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png Binary files differnew file mode 100644 index 0000000000..00676350ca --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png Binary files differnew file mode 100644 index 0000000000..f37d8d085d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_CloseBtn.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png b/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png Binary files differnew file mode 100644 index 0000000000..5191e0858d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Toast_Over.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png Binary files differnew file mode 100644 index 0000000000..439e9fd2a1 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Volume_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png b/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png Binary files differnew file mode 100644 index 0000000000..8795ccd661 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Wearables_Divider.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png b/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png Binary files differnew file mode 100644 index 0000000000..1df5943e1b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Window_Background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png b/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png Binary files differnew file mode 100644 index 0000000000..988ec48eb7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/Window_Foreground.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg b/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg Binary files differnew file mode 100644 index 0000000000..860fed4ac7 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/first_login_image.jpg diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png Binary files differnew file mode 100644 index 0000000000..b449d3be7c --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_down.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png Binary files differnew file mode 100644 index 0000000000..d93d621067 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_left.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png Binary files differnew file mode 100644 index 0000000000..5e8def5a5b --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_lower_left.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png Binary files differnew file mode 100644 index 0000000000..3524487fb3 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_right.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png Binary files differnew file mode 100644 index 0000000000..aca440d712 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_arrow_up.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/hint_background.png b/indra/newview/skins/contrast_gold/textures/windows/hint_background.png Binary files differnew file mode 100644 index 0000000000..d045bc5e29 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/hint_background.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png Binary files differnew file mode 100644 index 0000000000..7526374ba2 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png Binary files differnew file mode 100644 index 0000000000..779d8ff649 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/login_mp_logo_small.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png Binary files differnew file mode 100644 index 0000000000..e4d4eb3ebf --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png Binary files differnew file mode 100644 index 0000000000..36fb15de08 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/login_sl_logo_small.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png b/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png Binary files differnew file mode 100644 index 0000000000..6a81a6451d --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/startup_logo.png diff --git a/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png b/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png Binary files differnew file mode 100644 index 0000000000..4a07282ecb --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/windows/yellow_gradient.png diff --git a/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png b/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png Binary files differnew file mode 100644 index 0000000000..2ccf098e0f --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/world/CameraDragDot.png diff --git a/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png b/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png Binary files differnew file mode 100644 index 0000000000..b295ba1281 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/world/NoEntryLines.png diff --git a/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png b/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png Binary files differnew file mode 100644 index 0000000000..34900e2c02 --- /dev/null +++ b/indra/newview/skins/contrast_gold/textures/world/NoEntryPassLines.png diff --git a/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml b/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml new file mode 100644 index 0000000000..7bf851a234 --- /dev/null +++ b/indra/newview/skins/contrast_gold/xui/en/panel_progress.xml @@ -0,0 +1,201 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel + follows="left|bottom|right|top" + height="768" + layout="topleft" + left="0" + name="login_progress_panel" + top="768" + width="1024"> + <layout_stack + follows="left|right|top|bottom" + height="768" + layout="topleft" + left="0" + name="horizontal_centering" + orientation="horizontal" + top="0" + width="1024"> + <layout_panel + layout="topleft" + min_width="10" + name="left" + width="150" /> + <layout_panel + height="768" + layout="topleft" + min_width="670" + name="center" + width="670"> + <layout_stack + follows="left|right|top|bottom" + height="768" + layout="topleft" + left="0" + orientation="vertical" + name="vertical_centering1" + top="0" + width="670"> + <layout_panel + height="200" + layout="topleft" + min_height="10" + name="panel3" + width="670" /> + <layout_panel + auto_resize="false" + height="255" + layout="topleft" + min_height="255" + name="panel4" + width="670"> + <icon + color="LoginProgressBoxCenterColor" + follows="left|right|bottom|top" + image_name="Rounded_Square" + layout="topleft" + left="0" + top="0" + height="255" + width="670" /> + <layout_stack + follows="left|right|top|bottom" + height="255" + layout="topleft" + left="0" + orientation="vertical" + name="vertical_centering2" + animate="false" + top="0" + width="670"> + <layout_panel + auto_resize="false" + height="30" + layout="topleft" + min_height="30" + name="panel_top_spacer" + width="670"> + </layout_panel> + <layout_panel + auto_resize="false" + height="100" + layout="topleft" + min_height="100" + name="panel_login" + width="670"> + <text + follows="left|right|top" + layout="topleft" + font="SansSerifHuge" + font_shadow="none" + halign="left" + height="20" + left="47" + top="32" + right="-47" + name="title_text" + text_color="LoginProgressBoxTextColor"/> + <text + follows="left|right|top" + layout="topleft" + font="SansSerif" + font_shadow="none" + halign="left" + height="20" + top_pad="5" + right="-47" + left_delta="0" + name="progress_text" + text_color="LoginProgressBoxTextColor" + word_wrap="true"/> + <progress_bar + color_bar="0.857 0.668 0.308 0.96" + follows="left|right|top" + layout="topleft" + image_fill="ProgressBarSolid" + height="16" + left="45" + top_pad="5" + name="login_progress_bar" + right="-45" /> + </layout_panel> + <layout_panel + auto_resize="false" + height="90" + layout="topleft" + min_height="90" + name="panel_motd" + width="670"> + <text + follows="left|right|top|bottom" + font="SansSerifLarge" + font_shadow="none" + halign="left" + valign="center" + height="80" + layout="topleft" + left="45" + line_spacing.pixels="2" + name="message_text" + text_color="LoginProgressBoxTextColor" + top="7" + right="-90" + word_wrap="true"/> + </layout_panel> + <layout_panel + auto_resize="false" + height="40" + layout="topleft" + min_height="40" + name="panel_icons" + width="670"> + <!--Logos are tied to following label from code--> + <text + follows="left|right|top" + layout="topleft" + font="SansSerifLarge" + font_shadow="none" + halign="left" + height="16" + width="240" + left="47" + top="6" + line_spacing.pixels="2" + name="logos_lbl" + text_color="LoginProgressBoxTextColor"> + Megapahit uses + </text> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel + height="200" + layout="topleft" + min_width="10" + name="panel5" + width="670" /> + </layout_stack> + </layout_panel> + <layout_panel + layout="topleft" + min_width="10" + name="right" + width="150" /> + </layout_stack> + <button + follows="right|bottom" + height="22" + layout="topleft" + left="-106" + name="cancel_btn" + top="700" + width="90" /> + <web_browser + follows="all" + layout="topleft" + left="0" + name="login_media_panel" + width="1024" + height="768" + top="0"/> +</panel> diff --git a/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml b/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml new file mode 100644 index 0000000000..e55950dd33 --- /dev/null +++ b/indra/newview/skins/contrast_gold/xui/en/widgets/progress_bar.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<progress_bar image_bar="ProgressTrack" + image_fill="ProgressBar" + color_bar.red="0,664" + color_bar.green="0,467" + color_bar.blue="0,156" + color_bar.alpha="1" + color_bg.red="0,664" + color_bg.green="0,467" + color_bg.blue="0,156" + color_bg.alpha="1" + /> diff --git a/indra/newview/skins/default/textures/megapahit/fps_button.png b/indra/newview/skins/default/textures/megapahit/fps_button.png Binary files differnew file mode 100644 index 0000000000..fa436a620d --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/fps_button.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png Binary files differnew file mode 100644 index 0000000000..1a27570786 --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_blue_bullet.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png Binary files differnew file mode 100644 index 0000000000..f4c28e4bc9 --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_green_bullet.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png Binary files differnew file mode 100644 index 0000000000..64c8933a78 --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_help_bullet.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png Binary files differnew file mode 100644 index 0000000000..c90767b9ac --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_info_bullet.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png Binary files differnew file mode 100644 index 0000000000..aeaa52b53b --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_red_bullet.png diff --git a/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png b/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png Binary files differnew file mode 100644 index 0000000000..026fbaf56d --- /dev/null +++ b/indra/newview/skins/default/textures/megapahit/mp_yellow_bullet.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 94c8119d4d..40ee205090 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -934,4 +934,14 @@ with the same filename but different name <texture name="ProgressLarge_12" file_name="icons/ProgressLarge_12.png" preload="true" /> <texture name="Icon_Pointer" file_name="icons/Icon_Pointer.png" preload="false"/> + + <texture name="mp_fpsButton" file_name="megapahit/fps_button.png" preload="false" /> + + <texture name="mp_red_bullet" file_name="megapahit/mp_red_bullet.png" preload="false" /> + <texture name="mp_yellow_bullet" file_name="megapahit/mp_yellow_bullet.png" preload="false" /> + <texture name="mp_green_bullet" file_name="megapahit/mp_green_bullet.png" preload="false" /> + <texture name="mp_blue_bullet" file_name="megapahit/mp_blue_bullet.png" preload="false" /> + <texture name="mp_help_bullet" file_name="megapahit/mp_help_bullet.png" preload="false" /> + <texture name="mp_info_bullet" file_name="megapahit/mp_info_bullet.png" preload="false" /> + </textures> diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 0d22d37085..4e7ce2c32f 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -103,8 +103,8 @@ gwigz (nya) EmilyAmiee Bavid Dailey Aria (Tashia Redrose) Cate (32a) Hiroo Ono Melodey Keysin (scoutkeysin) -Yikes Lopez Padoria Teuden -~ ( ^-^ ) ~ (cutie_qu) Markus Teuden +Yikes Lopez Padoria +~ ( ^-^ ) ~ (cutie_qu) </text_editor> <text follows="top|left" @@ -135,7 +135,6 @@ Vir Linden - Making it possible for the project to have a place in SL nutsobvious - Early testing and video proof Soft Linden - Security testing Kyle Linden - Giving TPV parcel 2 to Erik Kundiman -Signal Linden - Opening opportunities for Megapahit to contribute more </text_editor> </panel> </accordion_tab> diff --git a/indra/newview/skins/default/xui/en/floater_mp_performance.xml b/indra/newview/skins/default/xui/en/floater_mp_performance.xml index 1b5cf82dcb..13a32479fa 100644 --- a/indra/newview/skins/default/xui/en/floater_mp_performance.xml +++ b/indra/newview/skins/default/xui/en/floater_mp_performance.xml @@ -1,65 +1,66 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater - positioning="cascading" - legacy_header_height="40" - top="12" - right="-334" - height="80" - min_height="120" - width="330" - min_width="330" - can_minimize="true" - can_close="true" - can_resize="false" - layout="topright" - name="mpv_performance" - single_instance="true" - save_rect="true" - save_visibility="true" - title="FPS Limiter"> +positioning="cascading" +legacy_header_height="40" +top="12" +right="-334" +height="80" +min_height="120" +width="330" +min_width="330" +can_minimize="true" +can_close="true" +can_resize="false" +layout="topright" +name="mpv_performance" +single_instance="true" +save_rect="true" +save_visibility="true" +title="FPS Limiter"> - <panel - name="panel_fps" - border="false" - width="320" - height="60" - left="10" - top="40" - follows="left|top|right|bottom" - layout="topleft" - > +<panel + name="panel_fps" + border="false" + width="320" + height="60" + left="10" + top="40" + follows="left|top|right|bottom" + layout="topleft" + > - <slider - follows="left|top" - width="240" - height="15" - left="12" - layout="topleft" - name="fpsSlider" - enabled="true" - control_name="fpsSlider" - decimal_digits="0" - increment="12" - initial_value="0" - label="Max FPS:" - label_width="50" - text_width="2" - can_edit_text="false" - show_text="false" - > - </slider> + <slider + follows="left|top" + width="240" + height="15" + left="12" + layout="topleft" + name="fpsSliderCtrl" + enabled="true" + decimal_digits="0" + min_val="0" + max_val="132" + increment="12" + initial_value="132" + label="Max FPS:" + label_width="50" + text_width="2" + can_edit_text="false" + show_text="false" + > + </slider> - <text - follows="left|top" - width="50" - height="15" - left_delta="252" - layout="topleft" - type="string" - name="fpsText" - > - no limit - </text> + <text + follows="left|top" + width="50" + height="15" + left_delta="252" + layout="topleft" + type="string" + name="fpsTextCtrl" + > + no limit + </text> </panel> diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index 4b0e0bb221..97ff1fd5a2 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -100,6 +100,15 @@ layout="topleft" help_topic="preferences_display_tab" name="display" /> + + <panel + class="panel_preference_graphics3" + filename="panel_preferences_graphics3.xml" + label="Visual Effects" + layout="topleft" + help_topic="preferences_display_tab" + name="display3" /> + <panel class="panel_preference" filename="panel_preferences_sound.xml" diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml index 9b637d60f2..9644bb9f34 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml @@ -52,7 +52,7 @@ left_delta="330" width="20"> m - </text> + </text> <slider control_name="RenderMaxPartCount" decimal_digits="0" @@ -626,9 +626,9 @@ layout="topleft" left="385" name="vert_border" - top="16" + top="16" width="0"/> - + <text type="string" length="1" @@ -732,7 +732,7 @@ <check_box.commit_callback function="Pref.RenderOptionUpdate" /> </check_box> - + <text type="string" length="1" @@ -751,7 +751,7 @@ height="18" layout="topleft" left_delta="130" - top_delta="0" + top_delta="0" name="ShadowDetail" width="150"> <combo_box.item @@ -766,88 +766,12 @@ label="Sun/Moon + Projectors" name="2" value="2"/> - </combo_box> - - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="420" - name="RenderShadowQualityText" - text_readonly_color="LabelDisabledColor" - top_delta="22" - width="128"> - Shadows Optimisations - </text> - - <combo_box - control_name="MPRenderShadowOpti" - height="18" - layout="topleft" - left_delta="130" - top_delta="0" - name="MPShadowQuality" - width="150"> - <combo_box.item - label="No optimisation" - name="0" - value="0"/> - <combo_box.item - label="Medium" - name="1" - value="1"/> - <combo_box.item - label="Faster" - name="2" - value="2"/> - <combo_box.item - label="Fastest" + <combo_box.item + label="Projectors only" name="3" value="3"/> </combo_box> - <text - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - left="420" - name="RenderShadowResolutionScaleText" - text_readonly_color="LabelDisabledColor" - top_delta="22" - width="128"> - Shadows Resolution - </text> - - <combo_box - control_name="RenderShadowResolutionScale" - height="18" - layout="topleft" - left_delta="130" - top_delta="0" - name="RenderShadowResolutionScale" - width="150"> - <combo_box.item - label="Default" - name="Default" - value="1.0"/> - <combo_box.item - label="High" - name="High" - value="1.5"/> - <combo_box.item - label="Ultra" - name="Ultra" - value="2.0"/> - <combo_box.item - label="Crazy" - name="Crazy" - value="3.0"/> - </combo_box> - <check_box control_name="RenderScreenSpaceReflections" height="16" @@ -861,7 +785,7 @@ <check_box.commit_callback function="Pref.RenderOptionUpdate" /> </check_box> - + <text type="string" length="1" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index b27b6dd73a..43085b0c8a 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -213,6 +213,7 @@ layout="topleft" left="30" name="stream_notification_channel_enabled" + top_pad="10" width="256"> </check_box> <spinner @@ -250,7 +251,7 @@ layout="topleft" left="30" name="allow_multiple_viewer_check" - top_pad="15" + top_pad="20" width="237"/> <check_box control_name="ForceShowGrid" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml index 6fd6c81217..df9f467fca 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_colors.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_colors.xml @@ -505,7 +505,6 @@ Skin </text> <radio_group - control_name="skin_selection" height="20" layout="topleft" left="35" @@ -538,6 +537,15 @@ name="radio3" value="contrast" width="75" /> + <radio_item + label="contrast gold" + left_pad="0" + layout="topleft" + top_delta="0" + height="16" + name="radio2" + value="contrast_gold" + width="75" /> <radio_group.commit_callback function="Pref.SelectSkin" /> </radio_group> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml new file mode 100644 index 0000000000..ddc00915a5 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics3.xml @@ -0,0 +1,2063 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> + +<panel +name="Visuals effects panel" +follows="left|top|right|bottom" +label="Visuals Effects" +layout="topleft" +width="517" +height="438" +left="102" +top="1" +border="true" +> + +<tab_container +name="preferences_visuals_tab_container" +enabled="true" +top_pad="0" +follows="left|top" +width="517" +height="430" +left_delta="0" +tab_position="top" +tab_stop="false"> + +<panel +label="Megapahit" +name="preferences_visuals_megapahit" +layout="topleft" +follows="top|left"> + +<text +follows="left|top" +layout="topleft" +top_pad="20" +width="400" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +Megapahit recommended settings: +</text> + +<text +follows="left|top" +layout="topleft" +width="400" +height="18" +left="120" +top_pad="55" +font="SansSerifSmall" +> +Clicking the button below is a good starting point +</text> + +<button +name="MPBalancedButton" +follows="top|left" +layout="topleft" +width="200" +height="23" +left="155" +top_pad="40" +label="Recommended Settings" +> +</button> + +<text +follows="left|top" +layout="topleft" +width="460" +height="18" +left="50" +top_pad="60" +font="SansSerifSmall" +> +We recommend capping the fps (touch the fps counter on the top right corner) +</text> + +</panel> + +<panel +label="Antialiasing" +name="preferences_visuals_aa" +layout="topleft" +follows="top|left"> + +<text +name="mp_aa_lbl" +follows="left|top" +layout="topleft" +top_pad="20" +width="100" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +Antialiasing: +</text> + +<text +name="mp_aa_type_lbl" +type="string" +layout="topleft" +follows="left|top" +width="140" +height="16" +left="32" +top_pad="10" +text_readonly_color="LabelDisabledColor" +> +Type: +</text> + +<combo_box +name="mp_aatype_ctrl" +control_name="RenderFSAAType" +label="Antialiasing" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +initial_value="0" +> +<combo_box.item + label="Disabled" + name="FSAADisabled" + value="0" /> +<combo_box.item + label="FXAA" + name="FXAA" + value="1" /> +<combo_box.item + label="SMAA" + name="SMAA" + value="2" /> +</combo_box> + +<icon +name="mp_aa_bullet" +tool_tip="Low performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_aa_info_bullet" +tool_tip="Antialiasing method (FXAA is fast but blurry, SMAA is sharper)." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_aa_quality_lbl" +tool_tip="Antialiasing quality: We recommend High or Ultra" +type="string" +length="1" +layout="topleft" +follows="left|top" +width="140" +height="16" +left="32" +top_pad="10" +text_readonly_color="LabelDisabledColor" +> +Quality: +</text> + +<combo_box +name="mp_aa_quality_ctrl" +control_name="RenderFSAASamples" +label="Antialiasing" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="Low" +name="Low" +value="0" /> +<combo_box.item +label="Medium" +name="Medium" +value="1" /> +<combo_box.item +label="High" +name="High" +value="2" /> +<combo_box.item +label="Ultra" +name="Ultra" +value="3" /> +</combo_box> + +<icon +name="mp_aaq_bullet" +tool_tip="Low performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_aaq_info_bullet" +tool_tip="Quality of the selected antialiasing" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_cas_lbl" +type="string" +length="1" +layout="topleft" +follows="left|top" +width="140" +height="16" +left="32" +top_pad="20" +text_readonly_color="LabelDisabledColor" +> +Sharpness: +</text> + +<slider +name="mp_cas_ctrl" +control_name="RenderCASSharpness" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="0" +initial_value="0.0" +min_val="0.0" +max_val="1.0" +decimal_digits="1" +label_width="2" +> +</slider> + +<icon +name="mp_cas_bullet" +tool_tip="No performance impact, except there is an issue currently with the combination of SMAA and Sharpness, where the performance is going down. We are investigating..." +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_cas_info_bullet" +tool_tip="Add sharpness to the image." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +follows="left|top" +layout="topleft" +width="400" +height="18" +left="55" +top_pad="40" +font="SansSerifSmall" +> +Beware: SMAA + Sharpness currently causes a slow down on Mac. +</text> + +<text +follows="left|top" +layout="topleft" +width="400" +height="18" +left="55" +top_pad="12" +font="SansSerifSmall" +> +Disabling HUDS (Option + Shift + H) fixes the issue. +</text> + +<text +name="aniso_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="20" +top_pad="40" +font="SansSerifSmall" +text_color="White" +> +Texture Filtering +</text> + +<check_box +name="mp_aniso_ctrl" +control_name="RenderAnisotropic" +label="Anisotropic Filtering" +layout="topleft" +width="200" +height="16" +left="20" +top_delta="32" +initial_value="true" +> +<check_box.commit_callback +function="Pref.RenderOptionUpdate" /> +</check_box> + +<icon +name="mp_aniso_bullet" +tool_tip="Low performance impact on PC/Linux, Medium performance impact on Mac (We are investigating)" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_aniso_info_bullet" +tool_tip="Improves textures clarity at certain angles (i.e. ground). This should be on, but on Mac there is an abnormal performance penalty, currently." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +</panel> + +<panel +label="Shadows" +name="preferences_visuals_shadows" +layout="topleft" +follows="top|left"> + +<text +name="mp_shadows_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="20" +top_pad="20" +font="SansSerifSmall" +text_color="White" +> +Shadows +</text> + +<text +name="shadow_src_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Shadows source: +</text> + +<combo_box +name="ShadowDetailCtrl" +control_name="RenderShadowDetail" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="None" +name="0" +value="0"/> +<combo_box.item +label="Sun/Moon" +name="1" +value="1"/> +<combo_box.item +label="Sun/Moon + Projectors" +name="2" +value="2"/> +<combo_box.item +label="Projectors only" +name="3" +value="3"/> +</combo_box> + +<icon +name="mp_shadows_bullet" +tool_tip="High to extreme performance impact" +image_name="mp_red_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_shadows_info_bullet" +tool_tip="Enables a shadow source (Projectors only is experimental)" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="shadow_dist_lbl" +tool_tip="Maximum Shadow Draw distance (Enormous performance penalty)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall"> +Shadows Distance +</text> + +<slider +name="MPShadowDistCtrl" +control_name="MPRenderShadowMaxDist" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="8" +initial_value="64" +min_val="16" +max_val="256" +decimal_digits="0" +label_width="2"> +</slider> + +<icon +name="mp_shadowd_bullet" +tool_tip="Move to the left to improve performance" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_shadowd_info_bullet" +tool_tip="Limit the maximum shadow render distance" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="shadow_res_lbl" +tool_tip="Shadow Resolution (Important video memory impact. Lower this if you encounter performance drop, or instability.)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Shadows Resolution +</text> + +<slider +name="MPShadowResCtrl" +control_name="RenderShadowResolutionScale" +decimal_digits="1" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.5" +initial_value="1.5" +min_val="1.0" +max_val="6.0" +label_width="2" +> +</slider> + +<icon +name="mp_shadowdd_bullet" +tool_tip="Move to the right to improve quality: High memory usage and potentially unstable on lower end gpus" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_shadowdd_info_bullet" +tool_tip="Improves the shadow map resolution (Use carefully)" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="shadow_res_lbl" +tool_tip="Shadow smoothness (This will only work if you activate Ambient Occlusion)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Shadows Smoothness +</text> + +<slider +name="shadowBlurCtrl" +control_name="RenderShadowBlurSize" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.1" +initial_value="1.0" +min_val="0.0" +max_val="3.0" +decimal_digits="1" +label_width="2" +> +</slider> + +<icon +name="mp_shadowsblur_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_shadowsblur_info_bullet" +tool_tip="Adjust the shadow smoothness. This only works if SSAO is turned on" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="shadow_ssao_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="20" +top_pad="40" +font="SansSerifSmall" +text_color="White" +> +Ambient Occlusion +</text> + +<check_box +name="mp_ssao_ctrl" +control_name="RenderDeferredSSAO" +label="Screen Space Ambient Occlusion" +layout="topleft" +width="200" +height="16" +left="20" +top_delta="32" +initial_value="true" +> +<check_box.commit_callback +function="Pref.RenderOptionUpdate" /> +</check_box> + +<icon +name="mp_ssao_bullet" +tool_tip="Low to Medium performance impact" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_ssao_info_bullet" +tool_tip="Adds some shadow based on surface proximity." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +</panel> + +<panel +label="Bloom" +name="preferences_visuals_bloom" +layout="topleft" +follows="top|left"> + +<text +name="mp_bloom_lbl" +follows="left|top" +layout="topleft" +width="200" +height="18" +left="20" +top_pad="20" +font="SansSerifSmall" +text_color="White" +> +Bloom (experimental) +</text> + +<text +name="mp_bloom_level_lbl" +tool_tip="Bloom Level: The higher, the more diffuse (medium gpu cost)\n Note: This setting can fix a performance issue when antialiasing is turned on)" +type="string" +length="1" +follows="left|top" +width="140" +height="16" +layout="topleft" +left="32" +top_pad="10" +text_readonly_color="LabelDisabledColor" +> +Bloom level: +</text> + +<combo_box +name="MPBloomCtrl" +control_name="MPRenderBloom" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="None" +name="0" +value="0"/> +<combo_box.item +label="Level 1" +name="1" +value="1"/> +<combo_box.item +label="Level 2" +name="2" +value="2"/> +<combo_box.item +label="Level 3" +name="3" +value="3"/> +</combo_box> + +<icon +name="mp_blooml_bullet" +tool_tip="Low to Medium performance impact" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_blooml_info_bullet" +tool_tip="Bloom adds a glowing effect around the brightest areas. The level affects the number of iterations, and the quality." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_radius_lbl" +tool_tip="Bloom Radius" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Bloom Radius +</text> + +<slider +name="MPBloomRadiusCtrl" +control_name="MPBloomBlurRadius" +decimal_digits="2" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.01" +initial_value="1.0" +label_width="2" +min_val="0.0" +max_val="3.0" +> +</slider> + +<icon +name="mp_bloomr_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloomr_info_bullet" +tool_tip="Adjust the base radius of the effect" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_radiusadd_lbl" +tool_tip="Bloom Radius addition" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Bloom Radius addition +</text> + +<slider +name="MPBloomRadiusAddCtrl" +control_name="MPBloomBlurRadiusAdd" +decimal_digits="2" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.01" +initial_value="1.0" +label_width="2" +min_val="-3.0" +max_val="3.0" +> +</slider> + +<icon +name="mp_bloomra_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloomra_info_bullet" +tool_tip="Adjust the added radius for each iteration" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_extract_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Bloom Range +</text> + +<slider +name="MPBloomRangeCtrl" +control_name="MPBloomExtractBrightness" +decimal_digits="2" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.025" +initial_value="0.1" +label_width="2" +min_val="0.0" +max_val="0.5" +> +</slider> + +<icon +name="mp_bloomrange_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloomrange_info_bullet" +tool_tip="When moved to the right, it will take more of the bright areas." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_strength_lbl" +tool_tip="Bloom: Strength of the effect (no performance impact)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall"> +Bloom Strength +</text> + +<slider +name="MPBloomStrCtrl" +control_name="MPBloomStrength" +decimal_digits="1" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.1" +initial_value="1.0" +min_val="0.5" +max_val="4.0" +label_width="2" +> +</slider> + +<icon +name="mp_bloomstr_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloomstr_info_bullet" +tool_tip="Controls the effect strength" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_metal_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Bloom Metal +</text> + +<slider +name="MPBloomMetalCtrl" +control_name="MPBloomExtractMetal" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.05" +initial_value="0.2" +decimal_digits="2" +min_val="0.0" +max_val="1.0" +label_width="2" +> +</slider> + +<icon +name="mp_bloommetal_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloommetal_info_bullet" +tool_tip="When moved to the right, the effect will apply on more metallic surfaces." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="bloom_nonmetal_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall"> +Bloom Non Metal +</text> + +<slider +name="MPBloomNonMetalCtrl" +control_name="MPBloomExtractNonMetal" +layout="topleft" +follows="left|top" +width="200" +height="16" +left_delta="150" +top_delta="-1" +increment="0.05" +initial_value="0.2" +label_width="2" +decimal_digits="2" +min_val="0.0" +max_val="1.0" +> +</slider> + +<icon +name="mp_bloomnonmet_bullet" +tool_tip="No performance impact" +image_name="mp_blue_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_bloomnonmet_info_bullet" +tool_tip="When moved to the right, the effect will apply on more non-metallic surfaces." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +</panel> + +<panel +name="preferences_visuals_probes" +label="Probes" +layout="topleft" +follows="top|left" +> + +<text +name="mp_probes_lbl" +follows="left|top" +layout="topleft" +width="100" +height="18" +left="20" +top_pad="20" +font="SansSerifSmall" +text_color="White" +> +Reflection Probes +</text> + +<icon +name="mp_probedetail_info_bullet" +tool_tip="Reflection probes are a fundamental part of how pbr lighting is calculated" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="probes_detail_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Reflection Detail: +</text> + +<combo_box +name="mp_probes_detail_ctrl" +control_name="RenderReflectionProbeDetail" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="Static Only" +name="0" +value="0"/> +<combo_box.item +label="Static+Dynamic" +name="1" +value="1"/> +<combo_box.item +label="Realtime" +name="2" +value="2"/> +</combo_box> + +<icon +name="mp_probedetail_bullet" +tool_tip="High to extreme performance impact" +image_name="mp_red_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_probedetail_info_bullet" +tool_tip="Controls how often the reflection probes update with the surrounding. We recommend Static Only for daily usage (specially on Mac)" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="probes_coverage_lbl" +tool_tip="Reflection probes level (Important memory usage and performance penalty)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Reflection Coverage: +</text> + +<combo_box +name="probes_level_ctrl" +control_name="RenderReflectionProbeLevel" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="None" +name="0" +value="0"/> +<combo_box.item +label="Manual only" +name="1" +value="1"/> +<combo_box.item +label="Manual + terrain" +name="2" +value="2"/> +<combo_box.item +label="Full scene" +name="3" +value="3"/> +</combo_box> + +<icon +name="mp_probedetail_bullet" +tool_tip="Medium to High performance impact" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_probedetail_info_bullet" +tool_tip="Controls what part of the surrounding the reflections probes are capturing. We recommend Manual only." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="probes_count_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Max Reflection Probes: +</text> + +<combo_box +name="mp_probes_count_ctrl" +control_name="RenderReflectionProbeCount" +label="Max. Reflection Probes:" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="None" +name="1" +value="1"/> +<combo_box.item +label="Low" +name="32" +value="32"/> +<combo_box.item +label="Medium" +name="64" +value="64"/> +<combo_box.item +label="High" +name="128" +value="128"/> +<combo_box.item +label="Ultra" +name="256" +value="256"/> +</combo_box> + +<icon +name="mp_probecount_bullet" +tool_tip="Medium to High performance and memory usage impact" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_probecount_info_bullet" +tool_tip="Limits the maximum number of active reflections probes" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="probes_res_lbl" +tool_tip="Sets the resolution used to calculate the probes (Important to extreme video memory impact and performance)" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Reflection Resolution: +</text> + +<combo_box +name="ProbeResCtrl" +control_name="RenderReflectionProbeResolution" +layout="topleft" +width="150" +height="18" +left_delta="150" +top_delta="0" +> +<combo_box.item +label="Low" +name="low" +value="64"/> +<combo_box.item +label="Default" +name="default" +value="128"/> +<combo_box.item +label="High" +name="high" +value="256"/> +<combo_box.item +label="Maximum" +name="maximum" +value="512"/> +</combo_box> + +<icon +name="mp_proberes_bullet" +tool_tip="Medium to Extreme performance and memory usage impact" +image_name="mp_red_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="55" +top_delta="-2" +/> + +<icon +name="mp_proberes_info_bullet" +tool_tip="Improves the quality of the probes" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_probe_dd_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Draw Distance +</text> + +<slider +control_name="RenderReflectionProbeDrawDistance" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="32" +min_val="8" +max_val="64" +increment="8" +decimal_digits="0" +label_width="2"> +</slider> + +<icon +name="mp_probedd_bullet" +tool_tip="Medium to High performance impact" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_probedd_info_bullet" +tool_tip="Controls the draw distance at which the probes are calculating the surrounding" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_probe_ud_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Default Probe Update +</text> + +<slider +control_name="RenderDefaultProbeUpdatePeriod" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="15" +increment="1" +min_val="2" +max_val="60" +decimal_digits="0" +label_width="2" +> +</slider> + +<icon +name="mp_dprobeperiod_bullet" +tool_tip="When moved to the right, the performance will improve." +image_name="mp_green_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_dprobeperiod_info_bullet" +tool_tip="Controls how the default probe update is delayed." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_probe_ud_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Other Probes delay +</text> + +<slider +name="MPProbeUpdCtrl" +control_name="MPRenderProbeUpdatePeriod" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="15" +increment="1" +min_val="0" +max_val="60" +decimal_digits="0" +label_width="2" +> +</slider> + +<icon +name="mp_probeperiod_bullet" +tool_tip="When moved to the right, the performance will improve." +image_name="mp_green_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_probeperiod_info_bullet" +tool_tip="Controls how each probe update is delayed." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_probe_slow_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="10" +font="SansSerifSmall" +> +Refresh delay +</text> + +<slider +name="MPProbeSlowCtrl" +control_name="MPRenderProbeSlowDown" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="0.01" +increment="0.01" +min_val="0" +max_val="0.2" +decimal_digits="2" +label_width="2"> +</slider> + +<icon +name="mp_probeslowdown_bullet" +tool_tip="When moved to the right, the performance will improve." +image_name="mp_green_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_probeslowdown_info_bullet" +tool_tip="Controls how often the probes update process is called. When moved to the right, the update be slower." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +</panel> + +<panel +label="Quality" +name="preferences_visuals_others" +layout="topleft" +follows="top|left"> + +<text +name="mp_aa_lbl" +follows="left|top" +layout="topleft" +top_pad="20" +width="400" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +Visual Quality Settings: +</text> + +<check_box +name="VintageCtrl" +control_name="RenderDisableVintageMode" +label="HDR and Emissive" +layout="topleft" +width="300" +height="16" +left="20" +top_delta="32" +initial_value="false" +> +<check_box.commit_callback +function="Pref.RenderOptionUpdate" /> +</check_box> + +<icon +name="mp_hdr_bullet" +tool_tip="Low to Medium performance impact. We recommend it ON, unless you are using a weaker/older computer." +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="8" +top_delta="-2" +/> + +<icon +name="mp_hdr_info_bullet" +tool_tip="Enables Higher color fidelity, and several other post-processing effects." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<check_box +name="mp_transparent_water" +control_name="RenderTransparentWater" +label="Transparent Water" +layout="topleft" +width="300" +height="16" +left="20" +top_delta="32" +initial_value="true" +> +<check_box.commit_callback +function="Pref.RenderOptionUpdate" /> +</check_box> + +<icon +name="mp_twater_bullet" +tool_tip="Low to Medium performance impact. We recommend it ON, unless you are using a weaker/older computer." +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="8" +top_delta="-2" +/> + +<icon +name="mp_twater_info_bullet" +tool_tip="Enables higher quality water with transparency." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="mp_resdiv_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="30" +font="SansSerifSmall" +> +Resolution divisor +</text> + +<slider +control_name="RenderResolutionDivisor" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="1.0" +increment="0.1" +min_val="0.8" +max_val="2.0" +decimal_digits="2" +label_width="2"> +</slider> + +</panel> + +<panel +label="For nerds" +name="preferences_visuals_others" +layout="topleft" +follows="top|left"> + +<text +follows="left|top" +layout="topleft" +top_pad="20" +width="400" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +Advanced settings: +</text> + +<check_box +name="MultiTexCtrl" +control_name="RenderGLMultiThreadedTextures" +label="Multithreaded Textures" +layout="topleft" +width="400" +height="16" +left="20" +top_delta="32" +initial_value="false" +> +</check_box> + +<icon +name="mp_multitex_bullet" +tool_tip="Improves textures loading performance on certain hardware. But can be unstable." +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_multitex_info_bullet" +tool_tip="Enables loading textures using multiple threads." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<check_box +name="AppleMultGLCtrl" +control_name="RenderAppleUseMultGL" +label="Apple Multithreaded OpenGL" +layout="topleft" +width="400" +height="16" +left="20" +top_delta="32" +initial_value="false" +> +</check_box> + +<icon +name="mp_applemulti_bullet" +tool_tip="Variable performance impact. Can be unstable!" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_applemulti_info_bullet" +tool_tip="Enables Apple OpenGL Multithreaded optimisations. Can be unstable!!" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +name="color_precision_lbl" +follows="left|top" +layout="topleft" +width="200" +height="18" +left="32" +top_pad="20" +font="SansSerifSmall" +> +Color precision (needs restart): +</text> + +<combo_box +name="colorPrecisionCtrl" +control_name="MPColorPrecision" +layout="topleft" +width="80" +height="18" +left_pad="8" +top_delta="0" +> +<combo_box.item +label="Low" +name="low" +value="1"/> +<combo_box.item +label="Default" +name="default" +value="0"/> +<combo_box.item +label="High" +name="high" +value="2"/> +</combo_box> + +<icon +name="mp_lowcolor_bullet" +tool_tip="Low setting can help performance specially in high resolution" +image_name="mp_green_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="104" +top_delta="-2" +/> + +<icon +name="mp_lowcolor_info_bullet" +tool_tip="Sets the internal color resolution. Improves the speed or quality." +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<text +follows="left|top" +layout="topleft" +top_pad="30" +width="400" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +HDR Display (Experimental - Mac only): +</text> + +<icon +name="mp_hdrd_bullet" +tool_tip="You need an Apple hdr/xdr display" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<text +follows="left|top" +layout="topleft" +width="400" +height="18" +left="20" +top_pad="12" +font="SansSerifSmall" +text_color="White" +> +Warning: HDR shows extreme luminosity contrast. Use carefully! +</text> + +<check_box +name="HDRDisplayCtrl" +control_name="MPHDRDisplay" +label="HDR Display (Mac)" +layout="topleft" +width="250" +height="16" +left="20" +top_delta="32" +initial_value="true" +> +</check_box> + +<text +name="mp_hdrd_gamma_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="16" +font="SansSerifSmall" +> +Gamma +</text> + +<slider +control_name="MPHDRGamma" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="2.2" +increment="0.05" +min_val="1.8" +max_val="2.6" +decimal_digits="2" +label_width="2"> +</slider> + +<text +name="mp_hdrd_uiboost_lbl" +follows="left|top" +layout="topleft" +width="140" +height="18" +left="32" +top_pad="16" +font="SansSerifSmall" +> +UI Luminosity Boost +</text> + +<slider +control_name="MPHDRUIBoost" +follows="left|top" +layout="topleft" +width="200" +height="16" +left_delta="150" +top_delta="-1" +initial_value="1.0" +increment="0.1" +min_val="1.0" +max_val="1.4" +decimal_digits="2" +label_width="2"> +</slider> + +<text +follows="left|top" +layout="topleft" +top_pad="30" +width="400" +height="18" +left="20" +font="SansSerifSmall" +text_color="White" +> +Developer settings: +</text> + +<check_box +name="NoGLDebugCtrl" +control_name="MPNoGLDebug" +label="No GL Debug" +layout="topleft" +width="400" +height="16" +left="20" +top_delta="32" +initial_value="true" +> +</check_box> + +<icon +name="mp_nodebug_bullet" +tool_tip="Leave this always to ON for optimal performance" +image_name="mp_yellow_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="-2" +/> + +<icon +name="mp_nodebug_info_bullet" +tool_tip="Ensures there is no opengl debug. This should be set to ON!" +image_name="mp_info_bullet" +follows="left|top" +width="16" +height="16" +layout="topleft" +left_pad="5" +top_delta="0" +/> + +<check_box +name="MPAppleVBModeCtrl" +control_name="MPVertexBufferMode" +label="Megapahit Vertex Buffer Mode (needs restart)" +layout="topleft" +width="400" +height="16" +left="20" +top_delta="32" +initial_value="false" +> +</check_box> + +</panel> + + +</tab_container> + +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml index 52f9068264..fb88b752ae 100644 --- a/indra/newview/skins/default/xui/en/panel_snapshot_local.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_local.xml @@ -74,6 +74,10 @@ label="1600x1200" name="1600x1200" value="[i1600,i1200]" /> + <combo_box.item + label="2048x2048" + name="2048x2048" + value="[i2048,i2048]" /> <combo_box.item label="Custom" name="Custom" diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index e53a25ff6b..ef77698e0d 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -188,15 +188,21 @@ <button type="string" font="SansSerif" + image_unselected="mp_fpsButton" + image_selected="mp_fpsButton" + image_hover_unselected="mp_fpsButton" + image_pressed="mp_fpsButton" + image_pressed_selected="mp_fpsButton" + image_color="White" label_color="FpsTextColor" follows="right|top" halign="center" valign="center" height="18" top="1" - left_pad="4" + left_pad="2" name="FpsText" - tool_tip="fps" + tool_tip="fps: Color indicates frametime fluctuations (Green is optimal)" width="32"> 60 </button> |