diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-06-17 16:02:57 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-06-17 16:02:57 -0700 | 
| commit | d0dfffe659b24f5a6bfadc5cc612869e1f08bb93 (patch) | |
| tree | 8df3c672aba2f1aca8e9861bcf7626bd8116b107 /indra | |
| parent | 5e60392c273f0c9c5efa765a05414c618381780a (diff) | |
| parent | 375555012f92c1b836f2d122754f9facd050be62 (diff) | |
Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-develop
Diffstat (limited to 'indra')
37 files changed, 203 insertions, 156 deletions
| diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index ceb04b014b..d827afed26 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -108,6 +108,9 @@ if (WINDOWS)    # https://github.com/actions/runner-images/issues/10004#issuecomment-2153445161    # can be removed after the above issue is resolved and deployed across GHA    add_compile_definitions(_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) + +  # Allow use of sprintf etc +  add_compile_definitions(_CRT_SECURE_NO_WARNINGS)  endif (WINDOWS) diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h index 2c3f66fab8..80cfe554c4 100644 --- a/indra/llcommon/llmemory.h +++ b/indra/llcommon/llmemory.h @@ -134,7 +134,7 @@ public:                                     \      void ll_aligned_free_fallback( void* ptr );  //------------------------------------------------------------------------------------------------  #else -    inline void* ll_aligned_malloc_fallback( size_t size, int align ) +    inline void* ll_aligned_malloc_fallback( size_t size, size_t align )      {          LL_PROFILE_ZONE_SCOPED_CATEGORY_MEMORY;      #if defined(LL_WINDOWS) diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h index 4e8fc56de0..fa315291a3 100644 --- a/indra/llmath/llmath.h +++ b/indra/llmath/llmath.h @@ -517,7 +517,7 @@ inline void ll_remove_outliers(std::vector<VEC_TYPE>& data, F32 k)          i++;      } -    S32 j = data.size()-1; +    size_t j = data.size()-1;      while (j > 0 && data[j] > max)      {          j--; diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp index e47c842228..79979657f1 100644 --- a/indra/llrender/llglslshader.cpp +++ b/indra/llrender/llglslshader.cpp @@ -279,7 +279,7 @@ bool LLGLSLShader::readProfileQuery(bool for_runtime, bool force_read)              GLuint64 samples_passed = 0;              glGetQueryObjectui64v(mSamplesQuery, GL_QUERY_RESULT, &samples_passed); -            U64 primitives_generated = 0; +            GLuint64 primitives_generated = 0;              glGetQueryObjectui64v(mPrimitivesQuery, GL_QUERY_RESULT, &primitives_generated);              sTotalTimeElapsed += time_elapsed; @@ -476,6 +476,7 @@ bool LLGLSLShader::createShader()      }      else if (mFeatures.mIndexedTextureChannels > 0)      { //override texture channels for indexed texture rendering +        llassert(mFeatures.mIndexedTextureChannels == LLGLSLShader::sIndexedTextureChannels); // these numbers must always match          bind();          S32 channel_count = mFeatures.mIndexedTextureChannels; @@ -485,19 +486,41 @@ bool LLGLSLShader::createShader()              uniform1i(uniName, i);          } -        S32 cur_tex = channel_count; //adjust any texture channels that might have been overwritten +        //adjust any texture channels that might have been overwritten          for (U32 i = 0; i < mTexture.size(); i++)          { -            if (mTexture[i] > -1 && mTexture[i] < channel_count) +            if (mTexture[i] > -1)              { -                llassert(cur_tex < gGLManager.mNumTextureImageUnits); -                uniform1i(i, cur_tex); -                mTexture[i] = cur_tex++; +                S32 new_tex = mTexture[i] + channel_count; +                uniform1i(i, new_tex); +                mTexture[i] = new_tex;              }          } + +        // get the true number of active texture channels +        mActiveTextureChannels = channel_count; +        for (auto& tex : mTexture) +        { +            mActiveTextureChannels = llmax(mActiveTextureChannels, tex + 1); +        } + +        // when indexed texture channels are used, enforce an upper limit of 16 +        // this should act as a canary in the coal mine for adding textures +        // and breaking machines that are limited to 16 texture channels +        llassert(mActiveTextureChannels <= 16);          unbind();      } +    LL_DEBUGS("GLSLTextureChannels") << mName << " has " << mActiveTextureChannels << " active texture channels" << LL_ENDL; + +    for (U32 i = 0; i < mTexture.size(); i++) +    { +        if (mTexture[i] > -1) +        { +            LL_DEBUGS("GLSLTextureChannels") << "Texture " << LLShaderMgr::instance()->mReservedUniforms[i] << " assigned to channel " << mTexture[i] << LL_ENDL; +        } +    } +  #ifdef LL_PROFILER_ENABLE_RENDER_DOC      setLabel(mName.c_str());  #endif @@ -736,6 +759,10 @@ void LLGLSLShader::mapUniform(GLint index)                  //found it                  mUniform[i] = location;                  mTexture[i] = mapUniformTextureChannel(location, type, size); +                if (mTexture[i] != -1) +                { +                    LL_DEBUGS("GLSLTextureChannels") << name << " assigned to texture channel " << mTexture[i] << LL_ENDL; +                }                  return;              }          } @@ -774,25 +801,21 @@ GLint LLGLSLShader::mapUniformTextureChannel(GLint location, GLenum type, GLint          if (size == 1)          {              glUniform1i(location, mActiveTextureChannels); -            LL_DEBUGS("ShaderUniform") << "Assigned to texture channel " << mActiveTextureChannels << LL_ENDL;              mActiveTextureChannels++;          }          else          {              //is array of textures, make sequential after this texture -            GLint channel[32]; // <=== only support up to 32 texture channels -            llassert(size <= 32); -            size = llmin(size, 32); +            GLint channel[16]; // <=== only support up to 16 texture channels +            llassert(size <= 16); +            size = llmin(size, 16);              for (int i = 0; i < size; ++i)              {                  channel[i] = mActiveTextureChannels++;              }              glUniform1iv(location, size, channel); -            LL_DEBUGS("ShaderUniform") << "Assigned to texture channel " << -                (mActiveTextureChannels - size) << " through " << (mActiveTextureChannels - 1) << LL_ENDL;          } -        llassert(mActiveTextureChannels <= 32); // too many textures (probably)          return ret;      }      return -1; diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h index 9339e7998d..cc2ba0fcff 100644 --- a/indra/llrender/llglslshader.h +++ b/indra/llrender/llglslshader.h @@ -52,7 +52,6 @@ public:      bool hasSrgb = false;      bool isDeferred = false;      bool hasScreenSpaceReflections = false; -    bool disableTextureIndex = false;      bool hasAlphaMask = false;      bool hasReflectionProbes = false;      bool attachNothing = false; diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 634be615e6..574cf55a0e 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -295,7 +295,7 @@ bool LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)      if (features->hasLighting)      { -        if (features->disableTextureIndex) +        if (features->mIndexedTextureChannels <= 1)          {              if (features->hasAlphaMask)              { diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 28283964e2..441b7d6a6c 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -591,12 +591,20 @@ void LLView::deleteAllChildren()      updateBoundingRect();  } -void LLView::setAllChildrenEnabled(bool b) +void LLView::setAllChildrenEnabled(bool b, bool recursive /*= false*/)  {      for (LLView* viewp : mChildList)      {          viewp->setEnabled(b);      } + +    if (recursive) +    { +        for (LLView* viewp : mChildList) +        { +            viewp->setAllChildrenEnabled(b, recursive); +        } +    }  }  // virtual diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 3af748dda6..3ce7243370 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -287,7 +287,7 @@ public:      // children, etc.      virtual void deleteAllChildren(); -    void    setAllChildrenEnabled(bool b); +    void    setAllChildrenEnabled(bool b, bool recursive = false);      virtual void    setVisible(bool visible);      void            setVisibleDirect(bool visible) { mVisible = visible; } diff --git a/indra/newview/app_settings/keywords_lsl_default.xml b/indra/newview/app_settings/keywords_lsl_default.xml index 893b017367..f99b86bd39 100644 --- a/indra/newview/app_settings/keywords_lsl_default.xml +++ b/indra/newview/app_settings/keywords_lsl_default.xml @@ -1945,6 +1945,15 @@              <key>tooltip</key>              <string/>           </map> +         <key>INVENTORY_SETTING</key> +         <map> +            <key>type</key> +            <string>integer</string> +            <key>value</key> +            <integer>56</integer> +            <key>tooltip</key> +            <string/> +         </map>           <key>INVENTORY_SOUND</key>           <map>              <key>type</key> diff --git a/indra/newview/app_settings/logcontrol.xml b/indra/newview/app_settings/logcontrol.xml index 482012cdd6..51b5c66384 100644 --- a/indra/newview/app_settings/logcontrol.xml +++ b/indra/newview/app_settings/logcontrol.xml @@ -71,7 +71,7 @@  						     <string>Inventory</string>  						     <string>SceneLoadTiming</string>  						     <string>Avatar</string> -						     <string>Voice</string>		 +						     <string>Voice</string>  						-->  						</array>  				</map> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 88df548505..50632a7b07 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9253,17 +9253,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>RenderTerrainPBRForce</key> -    <map> -      <key>Comment</key> -      <string>Force-load PBR terrain if enabled</string> -      <key>Persist</key> -      <integer>0</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>RenderTerrainPBRDetail</key>      <map>        <key>Comment</key> diff --git a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl index 49470f0e39..ce018623a8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl @@ -23,8 +23,7 @@   * $/LicenseInfo$   */ -uniform sampler2D       noiseMap; -uniform sampler2D   normalMap; +uniform sampler2D   noiseMap;  uniform sampler2D   depthMap;  uniform float ssao_radius; diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl index 438e1d1b33..37dcbbd328 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl @@ -27,8 +27,6 @@  out vec4 frag_color; -uniform sampler2D diffuseMap; -  void main()  {      frag_color = vec4(1,1,1,1); diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl index d7d98477c0..23a3ca4911 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl @@ -27,7 +27,6 @@  out vec4 frag_color; -uniform sampler2D normalMap;  uniform sampler2D lightMap;  uniform float dist_factor; diff --git a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl index 3ea2248bec..ab0e4fd4d8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl @@ -50,7 +50,6 @@ SOFTWARE.  uniform sampler2D   normalMap;  uniform sampler2D   depthMap; -uniform sampler2D emissiveRect;  uniform sampler2D projectionMap; // rgba  uniform sampler2D brdfLut; diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl index 9db8f461dd..f208ac746b 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl @@ -27,8 +27,6 @@  out vec4 frag_color; -uniform sampler2D diffuseMap; -  in vec4 post_pos;  in float target_pos_x;  in vec4 vertex_color; diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl index 16cc7cfbbc..6f7bd2bf3c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowUtil.glsl @@ -24,7 +24,6 @@   */  uniform sampler2D   normalMap; -uniform sampler2D   depthMap;  #if defined(SUN_SHADOW)  uniform sampler2DShadow shadowMap0; diff --git a/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl b/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl index a70180c1b5..767416d564 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/textureUtilV.glsl @@ -135,8 +135,7 @@ vec3 tangent_space_transform(vec4 vertex_tangent, vec3 vertex_normal, vec4[2] kh      return (weights.x * vertex_binormal.xyz) + (weights.y * vertex_tangent.xyz);  } -// Similar to tangent_space_transform but no offset during coordinate system -// conversion, and no texture animation support. +// Similar to tangent_space_transform but no texture animation support.  vec3 terrain_tangent_space_transform(vec4 vertex_tangent, vec3 vertex_normal, vec4[2] khr_gltf_transform)  {      // Immediately convert to left-handed coordinate system ((0,1) -> (0, -1)) diff --git a/indra/newview/app_settings/shaders/class1/interface/copyF.glsl b/indra/newview/app_settings/shaders/class1/interface/copyF.glsl index edaa2488f0..094d147e86 100644 --- a/indra/newview/app_settings/shaders/class1/interface/copyF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/copyF.glsl @@ -25,7 +25,10 @@  in vec2 tc; +#if defined(COPY_DEPTH)  uniform sampler2D depthMap; +#endif +  uniform sampler2D diffuseMap;  out vec4 frag_color; diff --git a/indra/newview/app_settings/shaders/class3/deferred/hazeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/hazeF.glsl index 87977eb28c..7b82aa1a0d 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/hazeF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/hazeF.glsl @@ -25,8 +25,6 @@  out vec4 frag_color; -uniform sampler2D normalMap; -  // Inputs  uniform vec3 sun_dir;  uniform vec3 moon_dir; diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl index ac3fec23f6..4ed778371f 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl @@ -27,7 +27,6 @@  out vec4 frag_color; -uniform sampler2D depthMap;  uniform sampler2D diffuseRect;  uniform sampler2D specularRect;  uniform sampler2D emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl diff --git a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl index e419525bd5..6c13757149 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl @@ -29,10 +29,8 @@ out vec4 frag_color;  uniform sampler2D diffuseRect;  uniform sampler2D specularRect; -uniform sampler2D normalMap;  uniform sampler2D emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform sampler2D lightFunc; -uniform sampler2D depthMap;  uniform vec3 env_mat[3];  uniform float sun_wash; diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl index 529d1cba6b..ca88fe7482 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl @@ -29,7 +29,6 @@ out vec4 frag_color;  uniform sampler2D diffuseRect;  uniform sampler2D specularRect; -uniform sampler2D normalMap;  uniform sampler2D emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  const float M_PI = 3.14159265; @@ -38,7 +37,6 @@ const float M_PI = 3.14159265;  uniform sampler2D lightMap;  #endif -uniform sampler2D depthMap;  uniform sampler2D     lightFunc;  uniform float blur_size; diff --git a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl index 092b0c3c08..bc4d36d10d 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl @@ -29,12 +29,9 @@ out vec4 frag_color;  uniform sampler2D diffuseRect;  uniform sampler2D specularRect; -uniform sampler2D depthMap; -uniform sampler2D normalMap;  uniform sampler2D emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl  uniform samplerCube environmentMap;  uniform sampler2D lightMap; -uniform sampler2D projectionMap; // rgba  uniform sampler2D lightFunc;  uniform mat4 proj_mat; //screen space to light space diff --git a/indra/newview/app_settings/shaders/class3/deferred/waterHazeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/waterHazeF.glsl index a5a37d80dd..2bf785e773 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/waterHazeF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/waterHazeF.glsl @@ -28,8 +28,6 @@ out vec4 frag_color;  // Inputs  in vec4 vary_fragcoord; -uniform sampler2D normalMap; -  vec4 getPositionWithDepth(vec2 pos_screen, float depth);  float getDepth(vec2 pos_screen); diff --git a/indra/newview/app_settings/shaders/class3/environment/underWaterF.glsl b/indra/newview/app_settings/shaders/class3/environment/underWaterF.glsl index 728d70ebb2..1c02dc764d 100644 --- a/indra/newview/app_settings/shaders/class3/environment/underWaterF.glsl +++ b/indra/newview/app_settings/shaders/class3/environment/underWaterF.glsl @@ -25,7 +25,6 @@  out vec4 frag_color; -uniform sampler2D diffuseMap;  uniform sampler2D bumpMap;  #ifdef TRANSPARENT_WATER diff --git a/indra/newview/lldrawpoolterrain.cpp b/indra/newview/lldrawpoolterrain.cpp index 2897f3d749..afc5cc9d4e 100644 --- a/indra/newview/lldrawpoolterrain.cpp +++ b/indra/newview/lldrawpoolterrain.cpp @@ -202,7 +202,7 @@ void LLDrawPoolTerrain::drawLoop()  void LLDrawPoolTerrain::renderFullShader()  { -    const bool use_local_materials = gLocalTerrainMaterials.materialsReady(true, false); +    const bool use_local_materials = gLocalTerrainMaterials.makeMaterialsReady(true, false);      // Hack! Get the region that this draw pool is rendering from!      LLViewerRegion *regionp = mDrawFace[0]->getDrawable()->getVObj()->getRegion();      LLVLComposition *compp = regionp->getComposition(); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 52062a3ad2..0e8e64af69 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1253,10 +1253,10 @@ bool LLFace::getGeometryVolume(const LLVolume& volume,      {          color = tep->getColor(); -    if (tep->getGLTFRenderMaterial()) -    { -        color = tep->getGLTFRenderMaterial()->mBaseColor; -    } +        if (tep->getGLTFRenderMaterial()) +        { +            color = tep->getGLTFRenderMaterial()->mBaseColor; +        }      }      if (rebuild_color) diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 073cef3d73..c019bd047d 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -356,7 +356,7 @@ void LLFloaterRegionInfo::requestRegionInfo()      {          tab->getChild<LLPanel>("General")->setCtrlsEnabled(false);          tab->getChild<LLPanel>("Debug")->setCtrlsEnabled(false); -        tab->getChild<LLPanel>("Terrain")->setCtrlsEnabled(false); +        tab->getChild<LLPanel>("Terrain")->setAllChildrenEnabled(false, true);          tab->getChild<LLPanel>("Estate")->setCtrlsEnabled(false);          tab->getChild<LLPanel>("Access")->setCtrlsEnabled(false);      } @@ -553,7 +553,7 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)      panel->getChild<LLUICtrl>("terrain_raise_spin")->setValue(region_info.mTerrainRaiseLimit);      panel->getChild<LLUICtrl>("terrain_lower_spin")->setValue(region_info.mTerrainLowerLimit); -    panel->setCtrlsEnabled(allow_modify); +    panel->setAllChildrenEnabled(allow_modify, true);      if (floater->getVisible())      { @@ -668,7 +668,7 @@ void LLFloaterRegionInfo::disableTabCtrls()      tab->getChild<LLPanel>("General")->setCtrlsEnabled(false);      tab->getChild<LLPanel>("Debug")->setCtrlsEnabled(false); -    tab->getChild<LLPanel>("Terrain")->setCtrlsEnabled(false); +    tab->getChild<LLPanel>("Terrain")->setAllChildrenEnabled(false, true);      tab->getChild<LLPanel>("panel_env_info")->setCtrlsEnabled(false);      tab->getChild<LLPanel>("Estate")->setCtrlsEnabled(false);      tab->getChild<LLPanel>("Access")->setCtrlsEnabled(false); @@ -1657,7 +1657,7 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)                          || (region && (region->getOwner() == gAgent.getID()));      bool owner_or_god_or_manager = owner_or_god                          || (region && region->isEstateManager()); -    setCtrlsEnabled(owner_or_god_or_manager); +    setAllChildrenEnabled(owner_or_god_or_manager, true);      getChildView("apply_btn")->setEnabled(false); @@ -1669,8 +1669,8 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)          static LLCachedControl<bool> feature_pbr_terrain_enabled(gSavedSettings, "RenderTerrainPBREnabled", false); -        const bool textures_ready = compp->texturesReady(false, false); -        const bool materials_ready = feature_pbr_terrain_enabled && compp->materialsReady(false, false); +        const bool textures_ready = compp->makeTexturesReady(false, false); +        const bool materials_ready = feature_pbr_terrain_enabled && compp->makeMaterialsReady(false, false);          bool set_texture_swatches;          bool set_material_swatches; diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 226c32c396..89af765bb7 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -1805,7 +1805,6 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)                      getChild<LLUICtrl>("shinyOffsetV")->setValue(offset_y);                      getChild<LLUICtrl>("glossiness")->setValue(material->getSpecularLightExponent());                      getChild<LLUICtrl>("environment")->setValue(material->getEnvironmentIntensity()); -                    getChild<LLUICtrl>("mirror")->setValue(material->getEnvironmentIntensity());                      updateShinyControls(!material->getSpecularID().isNull(), true);                  } diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 284fff4d8c..81a70a81cf 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -2243,8 +2243,11 @@ void LLTextureCtrl::draw()              }              else              { -                preview = LLViewerTextureManager::getFetchedTexture(mImageAssetID, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); -                preview->setBoostLevel(LLGLTexture::BOOST_PREVIEW); +                mTexturep = LLViewerTextureManager::getFetchedTexture(mImageAssetID, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE); +                mTexturep->setBoostLevel(LLGLTexture::BOOST_PREVIEW); +                mTexturep->forceToSaveRawImage(0); + +                preview = mTexturep;              }          }      } diff --git a/indra/newview/lltinygltfhelper.cpp b/indra/newview/lltinygltfhelper.cpp index 7508956fd5..168708ca37 100644 --- a/indra/newview/lltinygltfhelper.cpp +++ b/indra/newview/lltinygltfhelper.cpp @@ -91,14 +91,14 @@ void LLTinyGLTFHelper::initFetchedTextures(tinygltf::Material& material,          {              if (material.pbrMetallicRoughness.metallicRoughnessTexture.index != material.occlusionTexture.index)              { -                LLImageDataLock lockIn(occlusion_img); -                LLImageDataLock lockOut(mr_img);                  // occlusion is a distinct texture from pbrMetallicRoughness                  // pack into mr red channel                  int occlusion_idx = material.occlusionTexture.index;                  int mr_idx = material.pbrMetallicRoughness.metallicRoughnessTexture.index;                  if (occlusion_idx != mr_idx)                  { +                    LLImageDataLock lockIn(occlusion_img); +                    LLImageDataLock lockOut(mr_img);                      //scale occlusion image to match resolution of mr image                      occlusion_img->scale(mr_img->getWidth(), mr_img->getHeight()); diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp index 56263f1afe..a28bbb3bf1 100644 --- a/indra/newview/lltracker.cpp +++ b/indra/newview/lltracker.cpp @@ -489,10 +489,17 @@ void draw_shockwave(F32 center_z, F32 t, S32 steps, LLColor4 color)      gGL.end();  } +  void LLTracker::drawBeacon(LLVector3 pos_agent, std::string direction, LLColor4 fogged_color, F32 dist)  { -    const U32 BEACON_VERTS = 256; -    F32 step; +    const F32 MAX_HEIGHT = 5020.f; +    const U32 BEACON_ROWS = 256; + +    U32 nRows; +    F32 height; +    F32 rowHeight; + +    LLColor4 c_col, col_next, col_edge, col_edge_next;      gGL.matrixMode(LLRender::MM_MODELVIEW);      gGL.pushMatrix(); @@ -501,59 +508,99 @@ void LLTracker::drawBeacon(LLVector3 pos_agent, std::string direction, LLColor4      {          gGL.translatef(pos_agent.mV[0], pos_agent.mV[1], pos_agent.mV[2]);          draw_shockwave(1024.f, gRenderStartTime.getElapsedTimeF32(), 32, fogged_color); -        step = (5020.0f - pos_agent.mV[2]) / BEACON_VERTS; +        height = MAX_HEIGHT - pos_agent.mV[2];      }      else      {          gGL.translatef(pos_agent.mV[0], pos_agent.mV[1], 0); -        step = pos_agent.mV[2] / BEACON_VERTS; +        height = pos_agent.mV[2];      } -        gGL.color4fv(fogged_color.mV); +    nRows = ceil((BEACON_ROWS * height) / MAX_HEIGHT); +    if(nRows<2) nRows=2; +    rowHeight = height / nRows; -        LLVector3 x_axis = LLViewerCamera::getInstance()->getLeftAxis(); -        F32 t = gRenderStartTime.getElapsedTimeF32(); +    gGL.color4fv(fogged_color.mV); -        for (U32 i = 0; i < BEACON_VERTS; i++) -        { -            F32 x = x_axis.mV[0]; -            F32 y = x_axis.mV[1]; - -            F32 z = i * step; -            F32 z_next = (i+1)*step; - -        bool tracking_avatar = getTrackingStatus() == TRACKING_AVATAR; -        F32 a = pulse_func(t, z, tracking_avatar, direction); -        F32 an = pulse_func(t, z_next, tracking_avatar, direction); - -            LLColor4 c_col = fogged_color + LLColor4(a,a,a,a); -            LLColor4 col_next = fogged_color + LLColor4(an,an,an,an); -            LLColor4 col_edge = fogged_color * LLColor4(a,a,a,0.0f); -            LLColor4 col_edge_next = fogged_color * LLColor4(an,an,an,0.0f); - -            a *= 2.f; -        a += 1.0f; - -            an *= 2.f; -        an += 1.0f; - -            gGL.begin(LLRender::TRIANGLE_STRIP); -            gGL.color4fv(col_edge.mV); -            gGL.vertex3f(-x*a, -y*a, z); -            gGL.color4fv(col_edge_next.mV); -            gGL.vertex3f(-x*an, -y*an, z_next); - -            gGL.color4fv(c_col.mV); -            gGL.vertex3f(0, 0, z); -            gGL.color4fv(col_next.mV); -            gGL.vertex3f(0, 0, z_next); - -            gGL.color4fv(col_edge.mV); -            gGL.vertex3f(x*a,y*a,z); -            gGL.color4fv(col_edge_next.mV); -            gGL.vertex3f(x*an,y*an,z_next); -        gGL.end(); +    LLVector3 x_axis = LLViewerCamera::getInstance()->getLeftAxis(); +    F32 t = gRenderStartTime.getElapsedTimeF32(); + +    F32 x = x_axis.mV[0]; +    F32 y = x_axis.mV[1]; +    F32 z = 0.f; +    F32 z_next; + +    F32 a,an; +    F32 xa,xan; +    F32 ya,yan; + +    bool tracking_avatar = getTrackingStatus() == TRACKING_AVATAR; + +    gGL.begin(LLRender::TRIANGLES); + +    for (U32 i = 0; i < nRows; i++) +    { +        z_next = z + rowHeight; + +        a = pulse_func(t, z, tracking_avatar, direction); +        an = pulse_func(t, z_next, tracking_avatar, direction); + +        c_col = fogged_color + LLColor4(a, a, a, a); +        col_next = fogged_color + LLColor4(an, an, an, an); +        col_edge = fogged_color * LLColor4(a, a, a, 0.0f); +        col_edge_next = fogged_color * LLColor4(an, an, an, 0.0f); + +        a = a + a + 1.f; +        an = an + an + 1.f; + +        xa = x*a; +        ya = y*a; +        xan = x*an; +        yan = y*an; + +        gGL.color4fv(col_edge.mV); +        gGL.vertex3f(-xa, -ya, z); + +        gGL.color4fv(col_next.mV); +        gGL.vertex3f(0, 0, z_next); + +        gGL.color4fv(col_edge_next.mV); +        gGL.vertex3f(-xan, -yan, z_next); + + +        gGL.color4fv(col_edge.mV); +        gGL.vertex3f(-xa, -ya, z); + +        gGL.color4fv(c_col.mV); +        gGL.vertex3f(0, 0, z); + +        gGL.color4fv(col_next.mV); +        gGL.vertex3f(0, 0, z_next); + + +        gGL.color4fv(c_col.mV); +        gGL.vertex3f(0, 0, z); + +        gGL.color4fv(col_edge_next.mV); +        gGL.vertex3f(xan, yan, z_next); + +        gGL.color4fv(col_next.mV); +        gGL.vertex3f(0, 0, z_next); + + +        gGL.color4fv(c_col.mV); +        gGL.vertex3f(0, 0, z); + +        gGL.color4fv(col_edge.mV); +        gGL.vertex3f(xa, ya, z); + +        gGL.color4fv(col_edge_next.mV); +        gGL.vertex3f(xan, yan, z_next); + +        z += rowHeight;      } + +    gGL.end();      gGL.popMatrix();  } diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 79dddb15e0..87eddefcba 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -2495,11 +2495,11 @@ void LLViewerRegion::setSimulatorFeatures(const LLSD& sim_features)              if (features.has("PBRTerrainTransformsEnabled"))              {                  bool enabled = features["PBRTerrainTransformsEnabled"]; -                gSavedSettings.setBOOL("RenderTerrainTransformsPBREnabled", enabled); +                gSavedSettings.setBOOL("RenderTerrainPBRTransformsEnabled", enabled);              }              else              { -                gSavedSettings.setBOOL("RenderTerrainTransformsPBREnabled", false); +                gSavedSettings.setBOOL("RenderTerrainPBRTransformsEnabled", false);              }          }; diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 5913e7ba6f..37fbfccbbb 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -515,8 +515,8 @@ void LLViewerShaderMgr::setShaders()      // when using indexed texture rendering, leave some texture units available for shadow and reflection maps      static LLCachedControl<S32> reserved_texture_units(gSavedSettings, "RenderReservedTextureIndices", 14); -    LLGLSLShader::sIndexedTextureChannels = -        llclamp<S32>(max_texture_index, 1, gGLManager.mNumTextureImageUnits-reserved_texture_units); +    LLGLSLShader::sIndexedTextureChannels = 4; +        //llclamp<S32>(max_texture_index, 1, gGLManager.mNumTextureImageUnits-reserved_texture_units);      reentrance = true; @@ -1432,7 +1432,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()                  (mapping == 1 ? "flat" : "triplanar"));          gDeferredPBRTerrainProgram.mFeatures.hasSrgb = true;          gDeferredPBRTerrainProgram.mFeatures.isAlphaLighting = true; -        gDeferredPBRTerrainProgram.mFeatures.disableTextureIndex = true; //hack to disable auto-setup of texture channels          gDeferredPBRTerrainProgram.mFeatures.calculatesAtmospherics = true;          gDeferredPBRTerrainProgram.mFeatures.hasAtmospherics = true;          gDeferredPBRTerrainProgram.mFeatures.hasGamma = true; @@ -1646,7 +1645,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()              shader->mFeatures.calculatesLighting = false;              shader->mFeatures.hasLighting = false;              shader->mFeatures.isAlphaLighting = true; -            shader->mFeatures.disableTextureIndex = true; //hack to disable auto-setup of texture channels              shader->mFeatures.hasSrgb = true;              shader->mFeatures.calculatesAtmospherics = true;              shader->mFeatures.hasAtmospherics = true; @@ -1754,7 +1752,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()          gDeferredAvatarEyesProgram.mFeatures.calculatesAtmospherics = true;          gDeferredAvatarEyesProgram.mFeatures.hasGamma = true;          gDeferredAvatarEyesProgram.mFeatures.hasAtmospherics = true; -        gDeferredAvatarEyesProgram.mFeatures.disableTextureIndex = true;          gDeferredAvatarEyesProgram.mFeatures.hasSrgb = true;          gDeferredAvatarEyesProgram.mFeatures.hasShadows = true; @@ -2155,7 +2152,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()          gDeferredTerrainProgram.mName = "Deferred Terrain Shader";          gDeferredTerrainProgram.mFeatures.hasSrgb = true;          gDeferredTerrainProgram.mFeatures.isAlphaLighting = true; -        gDeferredTerrainProgram.mFeatures.disableTextureIndex = true; //hack to disable auto-setup of texture channels          gDeferredTerrainProgram.mFeatures.calculatesAtmospherics = true;          gDeferredTerrainProgram.mFeatures.hasAtmospherics = true;          gDeferredTerrainProgram.mFeatures.hasGamma = true; @@ -2187,7 +2183,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()          gDeferredAvatarAlphaProgram.mFeatures.calculatesLighting = false;          gDeferredAvatarAlphaProgram.mFeatures.hasLighting = false;          gDeferredAvatarAlphaProgram.mFeatures.isAlphaLighting = true; -        gDeferredAvatarAlphaProgram.mFeatures.disableTextureIndex = true;          gDeferredAvatarAlphaProgram.mFeatures.hasSrgb = true;          gDeferredAvatarAlphaProgram.mFeatures.calculatesAtmospherics = true;          gDeferredAvatarAlphaProgram.mFeatures.hasAtmospherics = true; @@ -2426,7 +2421,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()          gDeferredWLSunProgram.mFeatures.hasAtmospherics = true;          gDeferredWLSunProgram.mFeatures.hasGamma = true;          gDeferredWLSunProgram.mFeatures.hasAtmospherics = true; -        gDeferredWLSunProgram.mFeatures.disableTextureIndex = true;          gDeferredWLSunProgram.mFeatures.hasSrgb = true;          gDeferredWLSunProgram.mShaderFiles.clear();          gDeferredWLSunProgram.mShaderFiles.push_back(make_pair("deferred/sunDiscV.glsl", GL_VERTEX_SHADER)); @@ -2445,7 +2439,6 @@ bool LLViewerShaderMgr::loadShadersDeferred()          gDeferredWLMoonProgram.mFeatures.hasGamma = true;          gDeferredWLMoonProgram.mFeatures.hasAtmospherics = true;          gDeferredWLMoonProgram.mFeatures.hasSrgb = true; -        gDeferredWLMoonProgram.mFeatures.disableTextureIndex = true;          gDeferredWLMoonProgram.mShaderFiles.clear();          gDeferredWLMoonProgram.mShaderFiles.push_back(make_pair("deferred/moonV.glsl", GL_VERTEX_SHADER)); @@ -2549,7 +2542,6 @@ bool LLViewerShaderMgr::loadShadersObject()          gObjectAlphaMaskNoColorProgram.mFeatures.hasGamma = true;          gObjectAlphaMaskNoColorProgram.mFeatures.hasAtmospherics = true;          gObjectAlphaMaskNoColorProgram.mFeatures.hasLighting = true; -        gObjectAlphaMaskNoColorProgram.mFeatures.disableTextureIndex = true;          gObjectAlphaMaskNoColorProgram.mFeatures.hasAlphaMask = true;          gObjectAlphaMaskNoColorProgram.mShaderFiles.clear();          gObjectAlphaMaskNoColorProgram.mShaderFiles.push_back(make_pair("objects/simpleNoColorV.glsl", GL_VERTEX_SHADER)); @@ -2561,7 +2553,6 @@ bool LLViewerShaderMgr::loadShadersObject()      if (success)      {          gImpostorProgram.mName = "Impostor Shader"; -        gImpostorProgram.mFeatures.disableTextureIndex = true;          gImpostorProgram.mFeatures.hasSrgb = true;          gImpostorProgram.mShaderFiles.clear();          gImpostorProgram.mShaderFiles.push_back(make_pair("objects/impostorV.glsl", GL_VERTEX_SHADER)); @@ -2573,7 +2564,6 @@ bool LLViewerShaderMgr::loadShadersObject()      if (success)      {          gObjectPreviewProgram.mName = "Object Preview Shader"; -        gObjectPreviewProgram.mFeatures.disableTextureIndex = true;          gObjectPreviewProgram.mShaderFiles.clear();          gObjectPreviewProgram.mShaderFiles.push_back(make_pair("objects/previewV.glsl", GL_VERTEX_SHADER));          gObjectPreviewProgram.mShaderFiles.push_back(make_pair("objects/previewF.glsl", GL_FRAGMENT_SHADER)); @@ -2592,8 +2582,6 @@ bool LLViewerShaderMgr::loadShadersObject()          gPhysicsPreviewProgram.mFeatures.hasGamma = false;          gPhysicsPreviewProgram.mFeatures.hasAtmospherics = false;          gPhysicsPreviewProgram.mFeatures.hasLighting = false; -        gPhysicsPreviewProgram.mFeatures.mIndexedTextureChannels = 0; -        gPhysicsPreviewProgram.mFeatures.disableTextureIndex = true;          gPhysicsPreviewProgram.mShaderFiles.clear();          gPhysicsPreviewProgram.mShaderFiles.push_back(make_pair("objects/previewPhysicsV.glsl", GL_VERTEX_SHADER));          gPhysicsPreviewProgram.mShaderFiles.push_back(make_pair("objects/previewPhysicsF.glsl", GL_FRAGMENT_SHADER)); @@ -2634,7 +2622,6 @@ bool LLViewerShaderMgr::loadShadersAvatar()          gAvatarProgram.mFeatures.hasAtmospherics = true;          gAvatarProgram.mFeatures.hasLighting = true;          gAvatarProgram.mFeatures.hasAlphaMask = true; -        gAvatarProgram.mFeatures.disableTextureIndex = true;          gAvatarProgram.mShaderFiles.clear();          gAvatarProgram.mShaderFiles.push_back(make_pair("avatar/avatarV.glsl", GL_VERTEX_SHADER));          gAvatarProgram.mShaderFiles.push_back(make_pair("avatar/avatarF.glsl", GL_FRAGMENT_SHADER)); @@ -2658,7 +2645,6 @@ bool LLViewerShaderMgr::loadShadersAvatar()          gAvatarEyeballProgram.mFeatures.hasAtmospherics = true;          gAvatarEyeballProgram.mFeatures.hasLighting = true;          gAvatarEyeballProgram.mFeatures.hasAlphaMask = true; -        gAvatarEyeballProgram.mFeatures.disableTextureIndex = true;          gAvatarEyeballProgram.mShaderFiles.clear();          gAvatarEyeballProgram.mShaderFiles.push_back(make_pair("avatar/eyeballV.glsl", GL_VERTEX_SHADER));          gAvatarEyeballProgram.mShaderFiles.push_back(make_pair("avatar/eyeballF.glsl", GL_FRAGMENT_SHADER)); diff --git a/indra/newview/llvlcomposition.cpp b/indra/newview/llvlcomposition.cpp index 703f33771c..ba255f2b24 100644 --- a/indra/newview/llvlcomposition.cpp +++ b/indra/newview/llvlcomposition.cpp @@ -127,12 +127,12 @@ void LLTerrainMaterials::apply(const LLModifyRegion& other)  bool LLTerrainMaterials::generateMaterials()  { -    if (texturesReady(true, true)) +    if (makeTexturesReady(true, true))      {          return true;      } -    if (materialsReady(true, true)) +    if (makeMaterialsReady(true, true))      {          return true;      } @@ -220,17 +220,17 @@ LLTerrainMaterials::Type LLTerrainMaterials::getMaterialType()  {      LL_PROFILE_ZONE_SCOPED; -    const bool use_textures = texturesReady(false, false) || !materialsReady(false, false); +    const bool use_textures = makeTexturesReady(false, false) || !makeMaterialsReady(false, false);      return use_textures ? Type::TEXTURE : Type::PBR;  } -bool LLTerrainMaterials::texturesReady(bool boost, bool strict) +bool LLTerrainMaterials::makeTexturesReady(bool boost, bool strict)  {      bool ready[ASSET_COUNT]; -    // *NOTE: Calls to textureReady may boost textures. Do not early-return. +    // *NOTE: Calls to makeTextureReady may boost textures. Do not early-return.      for (S32 i = 0; i < ASSET_COUNT; i++)      { -        ready[i] = mDetailTextures[i].notNull() && textureReady(mDetailTextures[i], boost); +        ready[i] = mDetailTextures[i].notNull() && makeTextureReady(mDetailTextures[i], boost);      }      bool one_ready = false; @@ -251,7 +251,7 @@ namespace      bool material_asset_ready(LLFetchedGLTFMaterial* mat) { return mat && mat->isLoaded(); }  }; -bool LLTerrainMaterials::materialsReady(bool boost, bool strict) +bool LLTerrainMaterials::makeMaterialsReady(bool boost, bool strict)  {      bool ready[ASSET_COUNT];      // *NOTE: This section may boost materials/textures. Do not early-return if ready[i] is false. @@ -315,7 +315,7 @@ bool LLTerrainMaterials::materialsReady(bool boost, bool strict)  // Boost the texture loading priority  // Return true when ready to use (i.e. texture is sufficiently loaded)  // static -bool LLTerrainMaterials::textureReady(LLPointer<LLViewerFetchedTexture>& tex, bool boost) +bool LLTerrainMaterials::makeTextureReady(LLPointer<LLViewerFetchedTexture>& tex, bool boost)  {      llassert(tex);      if (!tex) { return false; } @@ -377,17 +377,17 @@ bool LLTerrainMaterials::materialTexturesReady(LLPointer<LLFetchedGLTFMaterial>&          mat->mEmissiveTexture          = fetch_terrain_texture(mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_EMISSIVE]);      } -    // *NOTE: Calls to textureReady may boost textures. Do not early-return. +    // *NOTE: Calls to makeTextureReady may boost textures. Do not early-return.      bool ready[LLGLTFMaterial::GLTF_TEXTURE_INFO_COUNT];      ready[LLGLTFMaterial::GLTF_TEXTURE_INFO_BASE_COLOR] = -        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_BASE_COLOR].isNull() || textureReady(mat->mBaseColorTexture, boost); +        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_BASE_COLOR].isNull() || makeTextureReady(mat->mBaseColorTexture, boost);      ready[LLGLTFMaterial::GLTF_TEXTURE_INFO_NORMAL] = -        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_NORMAL].isNull() || textureReady(mat->mNormalTexture, boost); +        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_NORMAL].isNull() || makeTextureReady(mat->mNormalTexture, boost);      ready[LLGLTFMaterial::GLTF_TEXTURE_INFO_METALLIC_ROUGHNESS] =          mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_METALLIC_ROUGHNESS].isNull() || -        textureReady(mat->mMetallicRoughnessTexture, boost); +        makeTextureReady(mat->mMetallicRoughnessTexture, boost);      ready[LLGLTFMaterial::GLTF_TEXTURE_INFO_EMISSIVE] = -        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_EMISSIVE].isNull() || textureReady(mat->mEmissiveTexture, boost); +        mat->mTextureId[LLGLTFMaterial::GLTF_TEXTURE_INFO_EMISSIVE].isNull() || makeTextureReady(mat->mEmissiveTexture, boost);      if (strict)      { @@ -406,7 +406,7 @@ bool LLTerrainMaterials::materialTexturesReady(LLPointer<LLFetchedGLTFMaterial>&  // Boost the loading priority of every known texture in the material  // Return true when ready to use  // static -bool LLTerrainMaterials::materialReady(LLPointer<LLFetchedGLTFMaterial> &mat, bool &textures_set, bool boost, bool strict) +bool LLTerrainMaterials::makeMaterialReady(LLPointer<LLFetchedGLTFMaterial> &mat, bool &textures_set, bool boost, bool strict)  {      if (!material_asset_ready(mat)) { return false; } @@ -694,11 +694,11 @@ bool LLVLComposition::generateMinimapTileLand(const F32 x, const F32 y,      const bool use_textures = getMaterialType() != LLTerrainMaterials::Type::PBR;      if (use_textures)      { -        if (!texturesReady(true, true)) { return false; } +        if (!makeTexturesReady(true, true)) { return false; }      }      else      { -        if (!materialsReady(true, true)) { return false; } +        if (!makeMaterialsReady(true, true)) { return false; }      }      for (S32 i = 0; i < ASSET_COUNT; i++) diff --git a/indra/newview/llvlcomposition.h b/indra/newview/llvlcomposition.h index 763ff69442..61c35ade28 100644 --- a/indra/newview/llvlcomposition.h +++ b/indra/newview/llvlcomposition.h @@ -74,18 +74,18 @@ public:      const LLGLTFMaterial* getMaterialOverride(S32 asset) const override;      virtual void setMaterialOverride(S32 asset, LLGLTFMaterial* mat_override);      Type getMaterialType(); -    bool texturesReady(bool boost, bool strict); +    bool makeTexturesReady(bool boost, bool strict);      // strict = true -> all materials must be sufficiently loaded      // strict = false -> at least one material must be loaded -    bool materialsReady(bool boost, bool strict); +    bool makeMaterialsReady(bool boost, bool strict);  protected:      void unboost(); -    static bool textureReady(LLPointer<LLViewerFetchedTexture>& tex, bool boost); +    static bool makeTextureReady(LLPointer<LLViewerFetchedTexture>& tex, bool boost);      // strict = true -> all materials must be sufficiently loaded      // strict = false -> at least one material must be loaded -    static bool materialReady(LLPointer<LLFetchedGLTFMaterial>& mat, bool& textures_set, bool boost, bool strict); -    // *NOTE: Prefer calling materialReady if mat is known to be LLFetchedGLTFMaterial +    static bool makeMaterialReady(LLPointer<LLFetchedGLTFMaterial>& mat, bool& textures_set, bool boost, bool strict); +    // *NOTE: Prefer calling makeMaterialReady if mat is known to be LLFetchedGLTFMaterial      static bool materialTexturesReady(LLPointer<LLFetchedGLTFMaterial>& mat, bool& textures_set, bool boost, bool strict);      LLPointer<LLViewerFetchedTexture> mDetailTextures[ASSET_COUNT]; | 
