diff options
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>  | 
