SL-18785 Fix for corrupt reflection probes on various preference changes. Add UI for Screen Space Reflections.
parent
3ec5110129
commit
c489481ec5
|
|
@ -796,8 +796,8 @@ void LLVertexBuffer::cleanupClass()
|
|||
|
||||
llassert(0 == LLVBOPool::sBytesPooled);
|
||||
llassert(0 == LLVBOPool::sIndexBytesPooled);
|
||||
llassert(0 == sAllocatedBytes);
|
||||
llassert(0 == sAllocatedIndexBytes);
|
||||
//llassert(0 == sAllocatedBytes);
|
||||
//llassert(0 == sAllocatedIndexBytes);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -10327,7 +10327,8 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RenderReflectionDetail</key>
|
||||
|
||||
<key>RenderReflectionDetail</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>DEPRECATED -- use RenderTransparentWater and RenderReflectionProbeDetail -- Detail of reflection render pass.</string>
|
||||
|
|
@ -10349,6 +10350,17 @@
|
|||
<key>Value</key>
|
||||
<integer>2</integer>
|
||||
</map>
|
||||
<key>RenderReflectionsEnabled</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Enable/disable reflection probes</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RenderReflectionProbeDetail</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version 41
|
||||
version 42
|
||||
// The version number above should be incremented IF AND ONLY IF some
|
||||
// change has been made that is sufficiently important to justify
|
||||
// resetting the graphics preferences of all users to the recommended
|
||||
|
|
@ -47,7 +47,8 @@ RenderMaxPartCount 1 8192
|
|||
RenderObjectBump 1 1
|
||||
RenderLocalLights 1 1
|
||||
RenderTransparentWater 1 1
|
||||
RenderReflectionProbeDetail 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 2
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTreeLODFactor 1 1.0
|
||||
|
|
@ -90,7 +91,8 @@ RenderGlowResolutionPow 1 8
|
|||
RenderLocalLights 1 0
|
||||
RenderMaxPartCount 1 0
|
||||
RenderTransparentWater 1 0
|
||||
RenderReflectionProbeDetail 1 -1
|
||||
RenderReflectionsEnabled 1 0
|
||||
RenderReflectionProbeDetail 1 0
|
||||
RenderTerrainDetail 1 0
|
||||
RenderTerrainLODFactor 1 1
|
||||
RenderTreeLODFactor 1 0
|
||||
|
|
@ -115,7 +117,8 @@ RenderGlowResolutionPow 1 8
|
|||
RenderMaxPartCount 1 2048
|
||||
RenderLocalLights 1 1
|
||||
RenderTransparentWater 1 0
|
||||
RenderReflectionProbeDetail 1 -1
|
||||
RenderReflectionsEnabled 1 0
|
||||
RenderReflectionProbeDetail 1 0
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainLODFactor 1 1.0
|
||||
RenderTreeLODFactor 1 0.5
|
||||
|
|
@ -149,6 +152,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 0
|
||||
|
||||
//
|
||||
|
|
@ -174,6 +178,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -199,6 +204,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -224,6 +230,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 2
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -249,6 +256,7 @@ RenderDeferredSSAO 1 1
|
|||
RenderUseAdvancedAtmospherics 1 0
|
||||
RenderShadowDetail 1 2
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -288,4 +296,6 @@ RenderGLContextCoreProfile 1 0
|
|||
|
||||
list GL3
|
||||
RenderFSAASamples 0 0
|
||||
RenderReflectionProbeDetail 0 -1
|
||||
RenderReflectionsEnabled 0 0
|
||||
RenderReflectionProbeDetail 0 0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version 41
|
||||
version 42
|
||||
// The version number above should be incremented IF AND ONLY IF some
|
||||
// change has been made that is sufficiently important to justify
|
||||
// resetting the graphics preferences of all users to the recommended
|
||||
|
|
@ -71,6 +71,7 @@ RenderFSAASamples 1 16
|
|||
RenderMaxTextureIndex 1 16
|
||||
RenderGLContextCoreProfile 1 1
|
||||
RenderGLMultiThreaded 1 0
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 2
|
||||
|
||||
//
|
||||
|
|
@ -97,7 +98,8 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 0
|
||||
RenderReflectionProbeDetail 1 -1
|
||||
RenderReflectionsEnabled 1 0
|
||||
RenderReflectionProbeDetail 1 0
|
||||
|
||||
//
|
||||
// Medium Low Graphics Settings
|
||||
|
|
@ -122,7 +124,8 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 0
|
||||
RenderReflectionProbeDetail 1 -1
|
||||
RenderReflectionsEnabled 1 0
|
||||
RenderReflectionProbeDetail 1 0
|
||||
|
||||
//
|
||||
// Medium Graphics Settings (standard)
|
||||
|
|
@ -147,6 +150,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 0
|
||||
|
||||
//
|
||||
|
|
@ -172,6 +176,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 0
|
||||
|
||||
//
|
||||
|
|
@ -197,6 +202,7 @@ RenderUseAdvancedAtmospherics 1 0
|
|||
RenderShadowDetail 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -222,6 +228,7 @@ RenderShadowDetail 1 2
|
|||
RenderUseAdvancedAtmospherics 1 0
|
||||
WLSkyDetail 1 48
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -247,6 +254,7 @@ RenderDeferredSSAO 1 1
|
|||
RenderUseAdvancedAtmospherics 1 0
|
||||
RenderShadowDetail 1 2
|
||||
RenderFSAASamples 1 2
|
||||
RenderReflectionsEnabled 1 1
|
||||
RenderReflectionProbeDetail 1 1
|
||||
|
||||
//
|
||||
|
|
@ -291,4 +299,5 @@ RenderFSAASamples 1 0
|
|||
|
||||
list GL3
|
||||
RenderFSAASamples 0 0
|
||||
RenderReflectionProbeDetail 0 -1
|
||||
RenderReflectionProbeDetail 0 0
|
||||
RenderReflectionsEnabled 0 0
|
||||
|
|
|
|||
|
|
@ -1220,10 +1220,19 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
|
|||
getChildView("fsaa")->setEnabled(FALSE);
|
||||
}
|
||||
|
||||
if (!LLFeatureManager::instance().isFeatureAvailable("RenderReflectionProbeDetail"))
|
||||
enabled = false;
|
||||
if (!LLFeatureManager::instance().isFeatureAvailable("RenderReflectionsEnabled"))
|
||||
{
|
||||
getChildView("ReflectionDetail")->setEnabled(FALSE);
|
||||
getChildView("ReflectionsEnabled")->setEnabled(FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
enabled = gSavedSettings.getBOOL("RenderReflectionsEnabled");
|
||||
}
|
||||
|
||||
getChildView("ReflectionDetail")->setEnabled(enabled);
|
||||
getChildView("ReflectionDetailText")->setEnabled(enabled);
|
||||
getChildView("ScreenSpaceReflections")->setEnabled(enabled);
|
||||
|
||||
// Hardware settings
|
||||
|
||||
|
|
|
|||
|
|
@ -724,6 +724,7 @@ void settings_setup_listeners()
|
|||
setting_setup_signal_listener(gSavedSettings, "RenderResolutionDivisor", handleRenderResolutionDivisorChanged);
|
||||
// DEPRECATED - setting_setup_signal_listener(gSavedSettings, "RenderDeferred", handleRenderDeferredChanged);
|
||||
setting_setup_signal_listener(gSavedSettings, "RenderReflectionProbeDetail", handleReflectionProbeDetailChanged);
|
||||
setting_setup_signal_listener(gSavedSettings, "RenderReflectionsEnabled", handleReflectionProbeDetailChanged);
|
||||
setting_setup_signal_listener(gSavedSettings, "RenderShadowDetail", handleSetShaderChanged);
|
||||
setting_setup_signal_listener(gSavedSettings, "RenderDeferredSSAO", handleSetShaderChanged);
|
||||
setting_setup_signal_listener(gSavedSettings, "RenderPerformanceTest", handleRenderPerfTestChanged);
|
||||
|
|
|
|||
|
|
@ -912,7 +912,7 @@ std::string LLViewerShaderMgr::loadBasicShaders()
|
|||
ch = llmax(LLGLSLShader::sIndexedTextureChannels, 1);
|
||||
}
|
||||
|
||||
bool has_reflection_probes = gSavedSettings.getS32("RenderReflectionProbeDetail") >= 0 && gGLManager.mGLVersion > 3.99f;
|
||||
bool has_reflection_probes = gSavedSettings.getBOOL("RenderReflectionsEnabled") && gGLManager.mGLVersion > 3.99f;
|
||||
|
||||
std::vector<S32> index_channels;
|
||||
index_channels.push_back(-1); shaders.push_back( make_pair( "windlight/atmosphericsVarsF.glsl", mShaderLevel[SHADER_WINDLIGHT] ) );
|
||||
|
|
|
|||
|
|
@ -410,7 +410,7 @@ void LLPipeline::init()
|
|||
sRenderAttachedLights = gSavedSettings.getBOOL("RenderAttachedLights");
|
||||
sRenderAttachedParticles = gSavedSettings.getBOOL("RenderAttachedParticles");
|
||||
|
||||
mInitialized = true;
|
||||
mInitialized = true;
|
||||
|
||||
stop_glerror();
|
||||
|
||||
|
|
@ -1019,8 +1019,6 @@ void LLPipeline::updateRenderBump()
|
|||
void LLPipeline::updateRenderDeferred()
|
||||
{
|
||||
sRenderPBR = sRenderDeferred;
|
||||
static LLCachedControl<S32> sProbeDetail(gSavedSettings, "RenderReflectionProbeDetail", -1);
|
||||
sReflectionProbesEnabled = sProbeDetail >= 0 && gGLManager.mGLVersion > 3.99f;
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
@ -1112,7 +1110,9 @@ void LLPipeline::refreshCachedSettings()
|
|||
CameraDoFResScale = gSavedSettings.getF32("CameraDoFResScale");
|
||||
RenderAutoHideSurfaceAreaLimit = gSavedSettings.getF32("RenderAutoHideSurfaceAreaLimit");
|
||||
RenderScreenSpaceReflections = gSavedSettings.getBOOL("RenderScreenSpaceReflections");
|
||||
sReflectionProbesEnabled = gSavedSettings.getBOOL("RenderReflectionsEnabled");
|
||||
RenderSpotLight = nullptr;
|
||||
|
||||
updateRenderDeferred();
|
||||
|
||||
if (gNonInteractive)
|
||||
|
|
@ -7397,8 +7397,6 @@ void LLPipeline::doResetVertexBuffers(bool forced)
|
|||
LLVOPartGroup::destroyGL();
|
||||
gGL.resetVertexBuffer();
|
||||
|
||||
mReflectionMapManager.cleanup();
|
||||
|
||||
SUBSYSTEM_CLEANUP(LLVertexBuffer);
|
||||
|
||||
if (LLVertexBuffer::sGLCount != 0)
|
||||
|
|
|
|||
|
|
@ -647,31 +647,57 @@
|
|||
name="2"
|
||||
value="2"/>
|
||||
</combo_box>
|
||||
|
||||
<check_box
|
||||
control_name="RenderReflectionsEnabled"
|
||||
height="16"
|
||||
initial_value="true"
|
||||
label="Reflections (requires restart)"
|
||||
layout="topleft"
|
||||
left="420"
|
||||
name="ReflectionsEnabled"
|
||||
top_delta="16"
|
||||
width="240">
|
||||
<check_box.commit_callback
|
||||
function="Pref.RenderOptionUpdate" />
|
||||
</check_box>
|
||||
|
||||
<check_box
|
||||
control_name="RenderScreenSpaceReflections"
|
||||
height="16"
|
||||
initial_value="true"
|
||||
label="Screen Space Reflections"
|
||||
layout="topleft"
|
||||
left="440"
|
||||
name="ScreenSpaceReflections"
|
||||
top_delta="16"
|
||||
width="240">
|
||||
<check_box.commit_callback
|
||||
function="Pref.RenderOptionUpdate" />
|
||||
</check_box>
|
||||
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="16"
|
||||
layout="topleft"
|
||||
left="420"
|
||||
name="RenderReflectionDetailText"
|
||||
left="440"
|
||||
name="ReflectionDetailText"
|
||||
text_readonly_color="LabelDisabledColor"
|
||||
top_delta="16"
|
||||
width="128">
|
||||
Reflections:
|
||||
Reflection Detail:
|
||||
</text>
|
||||
|
||||
<combo_box
|
||||
control_name="RenderReflectionProbeDetail"
|
||||
height="18"
|
||||
layout="topleft"
|
||||
left_delta="130"
|
||||
left_delta="110"
|
||||
top_delta="0"
|
||||
name="ReflectionDetail"
|
||||
width="150">
|
||||
<combo_box.item
|
||||
label="Disabled"
|
||||
name="0"
|
||||
value="-1"/>
|
||||
<combo_box.item
|
||||
label="Static Only"
|
||||
name="0"
|
||||
|
|
|
|||
Loading…
Reference in New Issue