FIRE-34012: Add additional render target for 1024x dynamic texture bakes; might also fix FIRE-34016 happening on Intel GPUs

master
Ansariel 2024-06-12 13:38:14 +02:00
parent 6fba1530bb
commit ecc4e93920
3 changed files with 23 additions and 2 deletions

View File

@ -191,7 +191,9 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
return TRUE;
}
LLRenderTarget& bake_target = gPipeline.mAuxillaryRT.deferredScreen;
// <FS:Ansariel> Auxillary render target pack for 1024px LLDynamicTexture
//LLRenderTarget& bake_target = gPipeline.mAuxillaryRT.deferredScreen;
LLRenderTarget& bake_target = gPipeline.mDynamicTextureRT.deferredScreen;
if (!bake_target.isComplete())
{

View File

@ -219,7 +219,9 @@ S32 LLPipeline::RenderHeroProbeUpdateRate;
S32 LLPipeline::RenderHeroProbeConservativeUpdateMultiplier;
LLTrace::EventStatHandle<S64> LLPipeline::sStatBatchSize("renderbatchsize");
const U32 LLPipeline::MAX_BAKE_WIDTH = 512;
// <FS:Ansariel> 1024px previews
//const U32 LLPipeline::MAX_BAKE_WIDTH = 512;
const U32 LLPipeline::MAX_BAKE_WIDTH = 1024;
const F32 BACKLIGHT_DAY_MAGNITUDE_OBJECT = 0.1f;
const F32 BACKLIGHT_NIGHT_MAGNITUDE_OBJECT = 0.08f;
@ -860,6 +862,12 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
allocateScreenBuffer(res, res, samples);
}
// <FS:Ansariel> Auxillary render target pack for 1024px LLDynamicTexture
mRT = &mDynamicTextureRT;
res = MAX_BAKE_WIDTH;
allocateScreenBuffer(res, res, samples);
// </FS:Ansariel>
mRT = &mMainRT;
gCubeSnapshot = FALSE;
}
@ -1257,6 +1265,14 @@ void LLPipeline::releaseScreenBuffers()
mHeroProbeRT.fxaaBuffer.release();
mHeroProbeRT.deferredScreen.release();
mHeroProbeRT.deferredLight.release();
// <FS:Ansariel> Auxillary render target pack for 1024px LLDynamicTexture
mDynamicTextureRT.uiScreen.release();
mDynamicTextureRT.screen.release();
mDynamicTextureRT.fxaaBuffer.release();
mDynamicTextureRT.deferredScreen.release();
mDynamicTextureRT.deferredLight.release();
// </FS:Ansariel>
}
void LLPipeline::releaseSunShadowTarget(U32 index)

View File

@ -719,6 +719,9 @@ public:
// Auxillary render target pack scaled to the hero probe's per-face size.
RenderTargetPack mHeroProbeRT;
// <FS:Ansariel> Auxillary render target pack for 1024px LLDynamicTexture
RenderTargetPack mDynamicTextureRT;
// currently used render target pack
RenderTargetPack* mRT;