diff options
| -rw-r--r-- | indra/llrender/llgl.cpp | 16 | ||||
| -rw-r--r-- | indra/llrender/llshadermgr.cpp | 3 | ||||
| -rw-r--r-- | indra/llrender/llshadermgr.h | 1 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 12 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/starsF.glsl | 1 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl | 1 | ||||
| -rw-r--r-- | indra/newview/featuretable.txt | 1 | ||||
| -rw-r--r-- | indra/newview/featuretable_mac.txt | 1 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolalpha.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llviewercontrol.cpp | 43 | ||||
| -rw-r--r-- | indra/newview/llviewershadermgr.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/pipeline.h | 2 | 
13 files changed, 9 insertions, 143 deletions
| diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 9dfe5ef9ff..8bb83d4250 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -1018,8 +1018,6 @@ bool LLGLManager::initGL()  		LL_ERRS("RenderInit") << "Calling init on LLGLManager after already initialized!" << LL_ENDL;  	} -	stop_glerror(); -  #if 0 && LL_WINDOWS  	if (!glGetStringi)  	{ @@ -1055,8 +1053,6 @@ bool LLGLManager::initGL()  	}  #endif -	stop_glerror(); -  	// Extract video card strings and convert to upper case to  	// work around driver-to-driver variation in capitalization.  	mGLVendor = ll_safe_string((const char *)glGetString(GL_VENDOR)); @@ -1128,10 +1124,8 @@ bool LLGLManager::initGL()  		mGLVendorShort = "MISC";  	} -	stop_glerror();  	// This is called here because it depends on the setting of mIsGF2or4MX, and sets up mHasMultitexture.  	initExtensions(); -	stop_glerror();  	S32 old_vram = mVRAM;  	mVRAM = 0; @@ -1192,29 +1186,19 @@ bool LLGLManager::initGL()  		mVRAM = old_vram;  	} -	stop_glerror(); -  	glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &mNumTextureImageUnits); -    stop_glerror();  	glGetIntegerv(GL_MAX_COLOR_TEXTURE_SAMPLES, &mMaxColorTextureSamples); -    stop_glerror();  	glGetIntegerv(GL_MAX_DEPTH_TEXTURE_SAMPLES, &mMaxDepthTextureSamples); -    stop_glerror();  	glGetIntegerv(GL_MAX_INTEGER_SAMPLES, &mMaxIntegerSamples); -    stop_glerror();  	glGetIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &mMaxSampleMaskWords); -    stop_glerror();      glGetIntegerv(GL_MAX_SAMPLES, &mMaxSamples); -    stop_glerror();      if (mGLVersion >= 4.59f)      {          glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY, &mMaxAnisotropy); -        stop_glerror();      }  	initGLStates(); -	stop_glerror();  	return true;  } diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index ee8ac359c7..44b8ea164b 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -1320,9 +1320,8 @@ void LLShaderMgr::initAttribsAndUniforms()  	mReservedUniforms.push_back("depth_cutoff");  	mReservedUniforms.push_back("norm_cutoff");  	mReservedUniforms.push_back("shadow_target_width"); -    mReservedUniforms.push_back("view_dir"); // DEFERRED_VIEW_DIR -	llassert(mReservedUniforms.size() == LLShaderMgr::DEFERRED_VIEW_DIR+1); +	llassert(mReservedUniforms.size() == LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH+1);  	mReservedUniforms.push_back("tc_scale");  	mReservedUniforms.push_back("rcp_screen_res"); diff --git a/indra/llrender/llshadermgr.h b/indra/llrender/llshadermgr.h index 90a8c2853c..f6abfe9027 100644 --- a/indra/llrender/llshadermgr.h +++ b/indra/llrender/llshadermgr.h @@ -157,7 +157,6 @@ public:          DEFERRED_DEPTH_CUTOFF,              //  "depth_cutoff"          DEFERRED_NORM_CUTOFF,               //  "norm_cutoff"          DEFERRED_SHADOW_TARGET_WIDTH,       //  "shadow_target_width" -        DEFERRED_VIEW_DIR,                  //  "view_dir"          FXAA_TC_SCALE,                      //  "tc_scale"          FXAA_RCP_SCREEN_RES,                //  "rcp_screen_res" diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ec4125c2bf..d262a1285f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9668,18 +9668,6 @@      <real>368.0</real>    </map> -  <key>RenderPBR</key> -  <map> -    <key>Comment</key> -    <string>DEPRECATED - only true supported - Use PBR rendering pipeline (Physically Based Rendering).</string> -    <key>Persist</key> -    <integer>1</integer> -    <key>Type</key> -    <string>Boolean</string> -    <key>Value</key> -    <integer>1</integer> -  </map> -    <key>RenderDeferred</key>    <map>      <key>Comment</key> diff --git a/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl b/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl index 6376527273..152316c117 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/starsF.glsl @@ -36,7 +36,6 @@ VARYING vec2 vary_texcoord0;  VARYING vec2 screenpos;  uniform sampler2D diffuseMap; -uniform sampler2D altDiffuseMap;  uniform float blend_factor;  uniform float custom_alpha;  uniform float time; diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl index 5f6982746b..8e4197ae77 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl @@ -41,7 +41,6 @@ uniform sampler2D diffuseRect;  uniform sampler2D specularRect;  uniform sampler2D normalMap;  uniform sampler2D emissiveRect; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl -uniform sampler2D altDiffuseMap; // PBR: irradiance, skins/default/textures/default_irradiance.png  const float M_PI = 3.14159265; diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 21babc9e5f..cf0968dfd2 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -62,7 +62,6 @@ Disregard128DefaultDrawDistance	1	1  Disregard96DefaultDrawDistance	1	1  RenderCompressTextures		1	1  RenderShaderLightingMaxLevel	1	3 -RenderPBR                   1   1  RenderReflectionProbeCount  1   256  RenderDeferred				1	1  RenderDeferredSSAO			1	1 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 45e3827f60..d57a0b8105 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -61,7 +61,6 @@ Disregard96DefaultDrawDistance	1	1  RenderCompressTextures		1	1  RenderShaderLightingMaxLevel	1	3  RenderDeferred				1	1 -RenderPBR                   1   1  RenderDeferredSSAO			1	1  RenderUseAdvancedAtmospherics 1 0  RenderShadowDetail			1	2 diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index ed952689fa..20d3818934 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -86,11 +86,6 @@ void LLDrawPoolAlpha::prerender()      // TODO: is this even necessay?  These are probably set to never discard      LLViewerFetchedTexture::sFlatNormalImagep->addTextureStats(1024.f*1024.f);      LLViewerFetchedTexture::sWhiteImagep->addTextureStats(1024.f * 1024.f); - -    if (LLPipeline::sRenderPBR) -    { -        gPipeline.setupHWLights(NULL); -    }  }  S32 LLDrawPoolAlpha::getNumPostDeferredPasses()  @@ -659,12 +654,11 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)                  LLRenderPass::applyModelMatrix(params);                  LLMaterial* mat = NULL; -                LLGLTFMaterial *gltf_mat = params.mGLTFMaterial; // Also see: LLPipeline::getPoolTypeFromTE() -                bool is_pbr = LLPipeline::sRenderPBR && gltf_mat; +                LLGLTFMaterial *gltf_mat = params.mGLTFMaterial;  -                LLGLDisable cull_face(is_pbr && gltf_mat->mDoubleSided ? GL_CULL_FACE : 0); +                LLGLDisable cull_face(gltf_mat && gltf_mat->mDoubleSided ? GL_CULL_FACE : 0); -                if (is_pbr && gltf_mat->mAlphaMode == LLGLTFMaterial::ALPHA_MODE_BLEND) +                if (gltf_mat && gltf_mat->mAlphaMode == LLGLTFMaterial::ALPHA_MODE_BLEND)                  {                      target_shader = &gDeferredPBRAlphaProgram;                      if (params.mAvatar != nullptr) diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 364bd830f5..8b9df88fd4 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -152,7 +152,6 @@ static bool handleSetShaderChanged(const LLSD& newvalue)          // ALM depends onto atmospheric shaders, state might have changed          bool old_state = LLPipeline::sRenderDeferred;          LLPipeline::refreshCachedSettings(); -        gPipeline.updateRenderDeferred();          if (old_state != LLPipeline::sRenderDeferred)          {              gPipeline.releaseGLBuffers(); @@ -208,7 +207,6 @@ bool handleRenderTransparentWaterChanged(const LLSD& newvalue)  	if (gPipeline.isInit())  	{  		gPipeline.updateRenderTransparentWater(); -		gPipeline.updateRenderDeferred();  		gPipeline.releaseGLBuffers();  		gPipeline.createGLBuffers();  		gPipeline.resetVertexBuffers(); @@ -439,7 +437,6 @@ static bool handleReflectionProbeDetailChanged(const LLSD& newvalue)      if (gPipeline.isInit())      {          LLPipeline::refreshCachedSettings(); -        gPipeline.updateRenderDeferred();          gPipeline.releaseGLBuffers();          gPipeline.createGLBuffers();          gPipeline.resetVertexBuffers(); @@ -448,46 +445,6 @@ static bool handleReflectionProbeDetailChanged(const LLSD& newvalue)      return true;  } -#if 0 // DEPRECATED -// NOTE: may be triggered by RenderDeferred OR RenderPBR changing, don't trust "newvalue" -static bool handleRenderDeferredChanged(const LLSD& newvalue) -{ -    LLRenderTarget::sUseFBO = gSavedSettings.getBOOL("RenderDeferred"); -	if (gPipeline.isInit()) -	{ -		LLPipeline::refreshCachedSettings(); -		gPipeline.updateRenderDeferred(); -		gPipeline.releaseGLBuffers(); -		gPipeline.createGLBuffers(); -		gPipeline.resetVertexBuffers(); -		if (LLPipeline::sRenderDeferred == (BOOL)LLRenderTarget::sUseFBO) -		{ -			LLViewerShaderMgr::instance()->setShaders(); -		} -	} -	return true; -} - -// This looks a great deal like handleRenderDeferredChanged because -// Advanced Lighting (Materials) implies bumps and shiny so disabling -// bumps should further disable that feature. -// -static bool handleRenderBumpChanged(const LLSD& newval) -{ -    LLRenderTarget::sUseFBO = newval.asBoolean() && gSavedSettings.getBOOL("RenderDeferred"); -	if (gPipeline.isInit()) -	{ -		gPipeline.updateRenderBump(); -		gPipeline.updateRenderDeferred(); -		gPipeline.releaseGLBuffers(); -		gPipeline.createGLBuffers(); -		gPipeline.resetVertexBuffers(); -		LLViewerShaderMgr::instance()->setShaders(); -	} -	return true; -} -#endif -  static bool handleRenderDebugPipelineChanged(const LLSD& newvalue)  {  	gDebugPipeline = newvalue.asBoolean(); diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index ebc6df22ac..e40c337f04 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -468,7 +468,6 @@ void LLViewerShaderMgr::setShaders()      gPipeline.releaseGLBuffers();      LLPipeline::sRenderGlow = gSavedSettings.getBOOL("RenderGlow");  -    LLPipeline::updateRenderDeferred();      //hack to reset buffers that change behavior with shaders      gPipeline.resetVertexBuffers(); @@ -497,10 +496,8 @@ void LLViewerShaderMgr::setShaders()      //bool canRenderDeferred = true; // DEPRECATED -- LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred");      //bool hasWindLightShaders = true; // DEPRECATED -- LLFeatureManager::getInstance()->isFeatureAvailable("WindLightUseAtmosShaders"); -    S32 shadow_detail            = gSavedSettings.getS32("RenderShadowDetail"); -    bool pbr = gSavedSettings.getBOOL("RenderPBR"); +    //S32 shadow_detail            = gSavedSettings.getS32("RenderShadowDetail");      bool doingWindLight = true; //DEPRECATED -- hasWindLightShaders&& gSavedSettings.getBOOL("WindLightUseAtmosShaders"); -    bool useRenderDeferred = true; //DEPRECATED -- doingWindLight&& canRenderDeferred&& gSavedSettings.getBOOL("RenderDeferred");      S32 light_class = 3;      S32 interface_class = 2; @@ -509,32 +506,7 @@ void LLViewerShaderMgr::setShaders()      S32 effect_class = 2;      S32 wl_class = 1;      S32 water_class = 3; -    S32 deferred_class = 0; - -    if (useRenderDeferred) -    { -        //shadows -        switch (shadow_detail) -        {                 -            case 1: -                deferred_class = 2; // PCF shadows -            break;  - -            case 2: -                deferred_class = 2; // PCF shadows -            break;  - -            case 0:  -            default: -                deferred_class = 1; // no shadows -            break;  -        } -    } - -    if (deferred_class > 0 && pbr) -    { -        deferred_class = 3; -    } +    S32 deferred_class = 3;      if (doingWindLight)      { @@ -3859,6 +3831,7 @@ BOOL LLViewerShaderMgr::loadShadersInterface()      {          gReflectionProbeDisplayProgram.mName = "Reflection Probe Display Shader";          gReflectionProbeDisplayProgram.mFeatures.hasReflectionProbes = true; +        gReflectionProbeDisplayProgram.mFeatures.hasSrgb = true;          gReflectionProbeDisplayProgram.mShaderFiles.clear();          gReflectionProbeDisplayProgram.mShaderFiles.push_back(make_pair("interface/reflectionprobeV.glsl", GL_VERTEX_SHADER));          gReflectionProbeDisplayProgram.mShaderFiles.push_back(make_pair("interface/reflectionprobeF.glsl", GL_FRAGMENT_SHADER)); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index beaa3cdb69..2a55a299ac 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -326,7 +326,6 @@ bool	LLPipeline::sRenderAttachedLights = true;  bool	LLPipeline::sRenderAttachedParticles = true;  bool	LLPipeline::sRenderDeferred = false;  bool	LLPipeline::sReflectionProbesEnabled = false; -bool    LLPipeline::sRenderPBR = false;  S32		LLPipeline::sVisibleLightCount = 0;  bool	LLPipeline::sRenderingHUDs;  F32     LLPipeline::sDistortionWaterClipPlaneMargin = 1.0125f; @@ -1009,12 +1008,6 @@ void LLPipeline::updateRenderBump()  }  // static -void LLPipeline::updateRenderDeferred() -{ -    sRenderPBR = sRenderDeferred; -} - -// static  void LLPipeline::refreshCachedSettings()  {      LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; @@ -1103,11 +1096,9 @@ void LLPipeline::refreshCachedSettings()  	CameraDoFResScale = gSavedSettings.getF32("CameraDoFResScale");  	RenderAutoHideSurfaceAreaLimit = gSavedSettings.getF32("RenderAutoHideSurfaceAreaLimit");      RenderScreenSpaceReflections = gSavedSettings.getBOOL("RenderScreenSpaceReflections"); -    sReflectionProbesEnabled = gSavedSettings.getBOOL("RenderReflectionsEnabled"); +    sReflectionProbesEnabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderReflectionsEnabled") && gSavedSettings.getBOOL("RenderReflectionsEnabled");  	RenderSpotLight = nullptr; -	updateRenderDeferred(); -  	if (gNonInteractive)  	{  		LLVOAvatar::sMaxNonImpostors = 1; @@ -1207,7 +1198,6 @@ void LLPipeline::createGLBuffers()      stop_glerror();  	assertInitialized(); -	updateRenderDeferred();  	if (LLPipeline::sRenderTransparentWater)  	{ //water reflection texture  		U32 res = (U32) llmax(gSavedSettings.getS32("RenderWaterRefResolution"), 512); @@ -6881,10 +6871,9 @@ void LLPipeline::doResetVertexBuffers(bool forced)  	LLVOPartGroup::destroyGL();      gGL.resetVertexBuffer(); -	LLVertexBuffer::unbind();	 +	LLVertexBuffer::unbind();  	updateRenderBump(); -	updateRenderDeferred();  	sBakeSunlight = gSavedSettings.getBOOL("RenderBakeSunlight");  	sNoAlpha = gSavedSettings.getBOOL("RenderNoAlpha"); @@ -8358,17 +8347,6 @@ void LLPipeline::renderDeferredLighting()              soften_shader.uniform1i(LLShaderMgr::SUN_UP_FACTOR, environment.getIsSunUp() ? 1 : 0);              soften_shader.uniform3fv(LLShaderMgr::LIGHTNORM, 1, environment.getClampedLightNorm().mV); -            if (!LLPipeline::sUnderWaterRender && LLPipeline::sRenderPBR) -            { -                soften_shader.bindTexture(LLShaderMgr::ALTERNATE_DIFFUSE_MAP, LLViewerFetchedTexture::sDefaultIrradiancePBRp); // PBR: irradiance -            } - -            if(LLPipeline::sRenderPBR) -            { -                LLVector3 cameraAtAxis = LLViewerCamera::getInstance()->getAtAxis(); -                soften_shader.uniform3fv(LLShaderMgr::DEFERRED_VIEW_DIR, 1, cameraAtAxis.mV); -            } -              {                  LLGLDepthTest depth(GL_FALSE);                  LLGLDisable   blend(GL_BLEND); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 689dc385ae..83d316e15f 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -428,7 +428,6 @@ public:  	static void updateRenderTransparentWater();  	static void updateRenderBump(); -	static void updateRenderDeferred();  	static void refreshCachedSettings();  	void addDebugBlip(const LLVector3& position, const LLColor4& color); @@ -648,7 +647,6 @@ public:  	static bool				sRenderAttachedParticles;  	static bool				sRenderDeferred;      static bool				sReflectionProbesEnabled; -    static bool				sRenderPBR;  	static S32				sVisibleLightCount;  	static bool				sRenderingHUDs;      static F32              sDistortionWaterClipPlaneMargin; | 
