Files
UnrealEngineUWP/Engine/Source/Runtime/Renderer/Private/PostProcess/PostProcessWeightedSampleSum.h
guillaume abadie 59a7373ea7 Fixes a D3D11 validation failure binding a Texture2DArray into a RWTexture2D with TSR, sg.AntiAliasingQuality=0, sg.MotionBlurQuality=0
TSR's UpdateHistory now always render half or quarter res in a Texture2DArray of size 1, to not introduce shader permutation or dynamic branch on SceneColorOutputMip1 that could create dependent image_store on some hardware.

#jira UE-179496

[CL 30605439 by guillaume abadie in ue5-main branch]
2024-01-12 17:20:16 -05:00

34 lines
964 B
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ScreenPass.h"
struct FGaussianBlurInputs
{
// Friendly names of the blur passes along the X and Y axis. Used for logging and profiling.
const TCHAR* NameX = nullptr;
const TCHAR* NameY = nullptr;
// The input texture to be filtered.
FScreenPassTextureSlice Filter;
// The input texture to be added after filtering.
FScreenPassTexture Additive;
// The color to tint when filtering.
FLinearColor TintColor;
// Controls the cross shape of the blur, in both X / Y directions. See r.Bloom.Cross.
FVector2f CrossCenterWeight = FVector2f::ZeroVector;
// The filter kernel size in percentage of the screen.
float KernelSizePercent = 0.0f;
bool UseMirrorAddressMode = false;
};
using FGaussianBlurOutputs = FScreenPassTexture;
extern RENDERER_API FGaussianBlurOutputs AddGaussianBlurPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FGaussianBlurInputs& Inputs);