Back to mods
Upshift project artwork

CurseForge · Minecraft mod

Upshift

UpShift add FSR, XeSS and DLSS for minecraft

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Upshift release matches 26.2?

Updated today
beta file Upshift 1.6.1
Game version 26.2
Loader Fabric

Upshift 1.6.1 targets 26.2 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is Upshift required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Upshift 1.6.1 need?

Upshift 1.6.1 on 26.2. Every mod below is checked against that same setup.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Upshift without breaking your instance.

Built for Upshift 1.6.1 on 26.2. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use Upshift 1.6.1. It targets 26.2 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside Upshift 1.6.1. It opens that exact file at the source.

About this project

What does Upshift add?

Render less, see more. Upshift draws Minecraft's world at a lower internal resolution and resolves it back up with real upscalers, then adds a frame generator that does not need a vendor runtime. Everything lives inside Sodium's video settings, and everything works on the OpenGL and the Vulkan backend.

  • Three upscalers that actually run: FSR 1 (AMD's EASU + RCAS), NIS (NVIDIA Image Scaling), and Upshift's own temporal accumulate.
  • Frame generation without a vendor runtime: the previous world image is reprojected to the predicted camera pose and presented through the game's own present. One texture fetch per generated frame.
  • Quality presets per family, using the exact fractions each vendor publishes.
  • Automatic resolution driven by real render work, not by frame spacing.
  • Performance panel: fps (+generated), frame, 1% low, work, CPU/GPU load, temperatures, clocks, VRAM, RAM, the resolution chain in use, a frame-time graph.
  • Profiles for balanced, CPU-first, GPU-first and integrated graphics machines.
  • No crashes, no driver hacks, no vendor libraries. If a device cannot run a family, the settings say why instead of hiding it.

Install

  1. Minecraft 26.2, Fabric Loader 0.19.5+, Java 25+.
  2. Drop the jar in .minecraft/mods.
  3. Sodium is strongly recommended (the settings page lives in its video settings screen). Without Sodium the mod still runs, it just has no UI - the config file config/upshift.json is used.

Where the settings are

Options → Video Settings → Upshift Group Options Upscaling profile, automatic resolution, target frame rate Upscaler upscaler family, quality preset, internal resolution, sharpness, full EASU Behaviour automatic fallback, experimental backends, debug overlay Frame generation generator, always generate, capability report

Reading the panel

frame is the spacing between presented frames. work is how long the renderer actually spent. They differ by everything the frame was parked on - vertical sync, the frame limiter, the away-from-keyboard limiter - and both decisions the mod makes follow work: automatic resolution will not collapse because the game capped itself, and frame generation will not generate when real frames already fill the display.


What runs, and what cannot

Feature State Why FSR 1 (EASU + RCAS) works AMD's MIT reference kernels, ported to fragment passes NIS works NVIDIA's MIT shader plus its 2048-entry coefficient tables Temporal accumulate (TAAU) works jittered projection, rotation reprojection, clamped history Fast bilinear + sharpen works one pass, five taps Built-in frame generation works render-skip reprojection, OpenGL and Vulkan Automatic resolution, profiles, panel works - DLSS hardware-blocked needs NGX and tensor cores (Turing or later) DLSS / FSR / XeSS frame generation blocked needs the vendor's optical-flow runtime and swapchain ownership XeSS hardware-blocked XMX needs Arc; the DP4a path needs Pascal-class instructions FSR 2 / 3.1 / 4 blocked needs the FidelityFX runtime, which is not shipped and cannot be a fragment pass

Hardware-blocked families still appear in the list, marked with the specific reason. A list that silently hides what a machine cannot do is worse than one that says it.

Measured on a GTX 750 Ti

i5-3470, 1400x900 window, New World, render distance 8, CPU-first profile Configuration Presented fps Render work Native, no upscaler 519 0.4 ms Temporal, quality (933x600 → 1400x900) 725 0.3 ms NIS, quality (933x600 → 1400x900) 331 0.5 ms Frame generation, forced (770x495) 336 (+195 generated) 0.6 ms

Upscaling only pays when the graphics card is the limit. On a processor-bound machine the same chunks are drawn either way and the resolve is pure cost - the panel's work number and the CPU/GPU loads tell you which one you are looking at.


How it works

renderLevel HEAD
  ├─ frame generation wants this frame?
  │     yes → warp the previous image to the predicted pose, cancel the world pass,
  │           HUD on top, the game presents once                            (~0.4 ms)
  │     no  ↓
  ├─ swap the main target for the internal one (a field, no reallocation)
  …  world renders at internal resolution …
renderLevel RETURN
  ├─ swap the window target back
  ├─ temporal resolve (temporal path only)
  ├─ upscale → window target
  └─ record pose and work time
  …  HUD, screens and screenshots at window resolution …

The window target is never resized. Internal targets are cached per size and freed only at shutdown, because the frame graph and the sky renderer capture references to whichever target was current when they were built; freeing one mid-frame leaves a null texture behind.

Why a built-in temporal pass. FSR 2's value is not its nine passes, it is accumulating jittered frames into one image. This engine exposes no motion vectors, so the vendor kernel cannot be fed - but the camera's rotation is a pure homography in clip space, which reprojects history correctly for everything the camera sees, and a neighbourhood clamp catches the rest. That is the mechanism, without the runtime, on hardware from 2014.

Why frame generation keeps its cost down. The first version presented the swapchain twice: a deadlock on Vulkan, and a full present of cost everywhere else. This one replaces a rendered frame instead of adding a present: on every second frame the world pass is skipped and the previous image is warped straight into the window target, HUD on top. One present per frame, 0.2-0.6 ms per generated frame.


Compatibility

  • Minecraft 26.2, Fabric. Client side only.
  • OpenGL and Vulkan backends both work.
  • Sodium: settings page provided through the Sodium Config API. Optional, but you want it.
  • No conflict with shader packs by design (an upscaler is not a shader loader), but a shader pack that already reprojects or temporally accumulates its own history will fight the temporal path - in that case use NIS or FSR 1.

Project description from CurseForge.

Pick your setup

Upshift by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Upshift versions and loaders

8 of 8 releases match
Clear filters

Looking for an older file? The official CurseForge project page is in Resources.