AD SPACE AVAILABLE · BRAND PARTNERS WELCOME

ReShade Depth Buffer Access: Multiplayer Anti-Cheat Bans and Depth Flickering Fixes

365Finds Editorial
Indexed 11,430 Wiki articles

Put 365 Wiki to work with your AI

Copy the prompt below, paste it into the AI you already use, then ask your question.

Download full Skill

Try it with the prompt first. If you use 365 Wiki often, install the full 365Wiki Skill so you do not have to paste it again. No regular AI? Gemini or Microsoft Copilot on the web will work.

365Wiki Skill

Architecture Matrix: Standard ReShade vs Full Add-on Build Anti-Cheat Compliance

ReShade injects post-processing shaders via graphics API wrappers (dxgi.dll, d3d11.dll, opengl32.dll). To prevent wallhacking and unfair exploitation of depth maps in multiplayer games, ReShade enforces built-in network heuristic limits that interact distinctly with commercial kernel anti-cheats (Easy Anti-Cheat, BattlEye, Ricochet, Vanguard).

ReShade DistributionNetwork Activity DetectionAnti-Cheat Sanction ProfileDepth Buffer Access Status
Standard Official InstallerDisables depth buffer access automatically upon network trafficWhitelisted by EAC and BattlEye in most non-competitive titlesDepth effects (AO, DoF) turn off in multiplayer sessions
ReShade with Full Add-on SupportDepth buffer remains active regardless of network socketsHard-blocked at launcher; triggers instant permanent bansFull access enabled (strictly offline single-player only)
Modified / Renamed WrappersBypasses standard signature checks via custom export namesFlagged as unknown memory hook or injected DLL by kernel driverGame aborts with "Untrusted system file" or code 00000001
Vulkan Layer IntegrationRegistered in Windows registry under ExplicitLayersLower detection profile than DLL injection in older APIsRequires correct device extension enumeration

Root Causes of Inverted, Distorted, or Flickering Depth Maps

When Ambient Occlusion (MXAO) or Depth of Field (ADOF) renders completely black, upside down, or flickers wildly:

  1. Reversed Depth Buffer (Z-Buffer Inversion): Modern engines (DirectX 12 / Unreal Engine 5) frequently utilize a reversed floating-point depth buffer (where near plane is 1.0 and far plane is 0.0) to maximize precision.
  2. Logarithmic or Non-Linear Depth Encoding: The depth values are mapped logarithmically, causing shaders to calculate all objects as infinitely far away.
  3. Multiple Concurrent Render Targets: The engine renders UI elements, shadow cascades, and primary geometry to separate render target buffers. ReShade may hook the wrong resolution surface.

Global Preprocessor Definition Calibration

Configure ReShade's global preprocessor definitions to match the rendering architecture of your target game:

  1. Press the Home key inside the game to open the ReShade overlay.
  2. Navigate to the Edit global preprocessor definitions menu at the bottom of the Home tab.
  3. Adjust the following fundamental parameters based on the rendering pipeline:
    • RESHADE_DEPTH_INPUT_IS_REVERSED: Set to 1 for Unreal Engine 4/5 and modern DirectX 12 titles; set to 0 for legacy DirectX 9/11 titles.
    • RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN: Set to 0 for DirectX; set to 1 for OpenGL or Vulkan if the depth preview appears inverted.
    • RESHADE_DEPTH_INPUT_IS_LOGARITHMIC: Set to 1 if distant geometry exhibits harsh dark banding or step-artifacts.
  4. Enable the DisplayDepth.fx diagnostic shader:
    • The left half of the screen should display a crisp grayscale gradient representing world distance.
    • The right half should show crisp surface normal vectors (blue/green/red shading).

Resolving Depth Buffer Flickering and Multi-Target Switching

// PowerShell query to verify ReShade configuration file syntax in game directory
$GameDir = "C:\Games\TargetTitle"
$ReShadeIni = Join-Path $GameDir "ReShade.ini"

if (Test-Path $ReShadeIni) {
    Get-Content $ReShadeIni | Select-String "DepthCopyAtClearIndex", "DisableDepthBufferPreshow"
    Write-Host "ReShade.ini configuration located." -ForegroundColor Green
}
  1. In the ReShade overlay, open the Add-ons tab (or Generic Depth settings).
  2. Under "Depth Buffers", examine the list of active resolution buffers.
  3. Check the box corresponding to the buffer matching your native display resolution (e.g. 2560x1440 with high draw call counts).
  4. Check Copy depth buffer before clear operations to prevent the game engine from clearing the buffer before post-processing shaders sample it.