Skip to content

Releases: SpecialKO/SpecialK

SK_24_5_13

13 May 21:52
328f0f6
Compare
Choose a tag to compare

Minor Point Release Adds

  • Improved DLSS indicator by @Aemony in #175
  • Disable "rumble emulation" on DualSense controllers when there are no emulated left/right motor data in order to maintain compatibility with games that use native haptics.

Full Changelog: SK_24_5_2...SK_24_5_13

SK_24_5_2

02 May 18:23
e2ca17e
Compare
Choose a tag to compare

NVIDIA Streamline Compatibility

It is no longer necessary to delete sl.interposer.dll for Streamline compatibility
It is possible to use scRGB HDR in DLSS Frame Generation games now

DirectStorage Features

DirectStorage Control Panel section indicates what, if any, features a game actually uses
GPU Decompression can be forced off to improve performance on low-end GPUs or high-end CPUs
Telemetry built-in to DirectStorage (yes, this really is a thing) can be forced off

DLSS Features

DLSS Control Panel section to configure Preset, Resolution Scaling and Sharpening overrides
DLSS Active Resolution, Preset and Frame Generation status added to text OSD
Alternate DLSS versions can be loaded from a shared location without replacing game files

Latency / Framepacing Features

Latency Widget (NVIDIA) overhauled to include GPU/CPU Busy and CPU/GPU-bound indicators
Frametime graph can be configured to measure intervals using Start-of-Frame or End-of-Frame
New "DLSS-G Pacing" limiter mode enables framerate limits in Framegen without adding latency
AutoVRR mode has been enhanced to control NVIDIA Reflex based on user's latency preferences
Latent Sync auto-bias dynamically adjusts latency reduction as much as possible without tearing
Effective VRR Display Refresh Rate added to OSD / Control Panel for NVIDIA users
Resizable BAR configuration added to Display Menu (NIVIDA)

HDR Features

Auto-detect when games switch from SDR to HDR and disable SK's own HDR when applicable
Configurable Content EOTF (i.e. Linear, sRGB, 2.2, 2.4, Custom) for Inverse Tonemapping
HDR10 is now available as an alternative to scRGB for games that glitch in FP16 color
Improved HDR remaster compatibility by offering 16-bpc UNORM as an alternative to FP16 color
DLSS3 Frame Generation can now be used with BOTH, SK's HDR10 and scRGB HDR modes
"Zero-Copy" mode reduces memory bandwidth usage by 1/2 in native DXGI Flip Model games
GPU-side image processing time added to HDR widget to measure GPU overhead
AVIF Screenshot Support and Configurable Encoding Quality for AVIF / JPEG-XR
Advanced ReShade (6.0+) integration allows post-processing before SK does Tonemapping
Improved Perceptual Boost with new Color Intensity setting

Input Features

Add Support for DualSense Edge in some games that only support DualSense
Native support for DualShock 3/4 and DualSense (USB and Bluetooth) controllers
"XInput Mode" enables PlayStation controllers in games that only support Xbox controllers
Configurable Battery Level indicator warns before a PlayStation controller's battery dies
DualSense Edge users can map left/right paddles and function buttons to keyboard
DualShock4 and DualSense (Edge) users can map trackpad click to keyboard
Wireless PlayStation controllers can be turned off by pressing PlayStation + Triangle
Individual gamepad input APIs can be blocked to prevent games from displaying wrong input icons
Blocking keyboard input to games will no longer prevent using ReShade and Steam overlays or Alt+F4
Added Chorded input functionality using PlayStation / Guide Button + Some Other Button
Improved compatibility with Steam Input

OpenGL Features

Automatically upgrade games color buffers to 10-bpc unless they use sRGB gamma
Automatically upgrade games depth/stencil buffers to 24-bit and 8-bit respectively
Eliminated 1 extra framebuffer BltCopy during OpenGL/DXGI interop if HDR is used
OpenGL's Debug Output extension (and necessary debug context) can be turned on in any game
Workaround AMD driver bugs that try to enable AMD's OpenGL/DXGI interop in non-OpenGL games

Display Management Features

Active Refresh Rate Indicator for VRR displays (NVIDIA-only)
"Fake Fullscreen" allows windowed native HDR in games that need Fullscreen Exclusive (NVIDIA-only)
Screensaver is automatically disabled when playing Borderless Fullscreen games using a gamepad

Audio Features

Audio output can be redirected to a different device while games are running
Display devices can pair with audio devices; automatic redirection when games change displays
DualSense Mute button can be used to Mute / Unmute game audio

Plug-In Features

New ReShade 6.0+ AddOn API allows hot-loading ReShade in an already running game using a keybind
When loaded as a Plug-In, ReShade loads Shaders and Textures from a shared location in all games

UI Features

New Notification (Toast) System replaces old Warning / Errors with user-configurable Notifications
ImGui codebase updated after 5 years in order to use ImPlot for some of SK's new advanced graphs
Current frame number added as an optional text OSD stat for video sync and speed run validation
Control Panel can be accessed using the Xbox or PlayStation buttons on gamepads

Steam Features

Implemented Achievement Unlock Icons for Achievement Popups in D3D12 games
"Continue Rendering" now supports background gamepad input in Steam Input games
SteamAPI Integration can be turned off in the Control Panel instead of manual INI edits
Steam Overlay can be disabled using SK's Control Panel, independent from the client's setting
Valve Plug XInput DLL offers a full-kill for all Steam input device manipulation (see GitHub)

Epic Features

Implemented Achievement Popups for Epic Game Store Games

Texture Injection Features

Added Support for D3D11 Typeless Textures (by appending _TYPELESS to the filename)
Removed BC6H (HDR) and BC7 textures from "Generate Mipmaps" because compressing them is VERY slow
Notification counting textures found at startup helps quickly indicate correct texture mod setup

SKIF Features

Profile directory names use SKIF's display name instead of <game.exe> for non-Steam/Epic games
Optional XInput DLL adds native PlayStation support and allows SKIF to power-off idle gamepads

DRM Features (?)

Universal CAPCOM anti-tamper workaround for all CAPCOM games published since 2016

Special K v 23.8.26

26 Aug 23:37
Compare
Choose a tag to compare

23.8.26

  • Merge pull request #80 from Aemony/main
    • Bypass EAC for Armored Core VI
  • Merge pull request #72 from Nustat0/dgvoodoo-d3d12
    • Fixed GUI not showing up when bootstrapping dgVoodoo (D3D12)

23.8.22

  • Updated HDR Profile 0 to use .96 gamma by default
  • Changed HDR Gamut Expansion to use D65 white instead of D60

23.8.21

  • Updated HDR Profile 0 for new gamut unclamped HDR processing

    This profile targets 534 nits

  • Moved the old HDR Profile 0 defaults to Profile 1 (570 nits)
  • Disabled Raw Input caching because it breaks keyboard input in some games

23.8.19.1

  • Fixed Baldur's Gate 3 game detection only testing the Vulkan executable
  • Fixed Baldur's Gate 3 alt-tab flakiness (do not use Multitasking On Top)

23.8.19

  • Removed the Energy Efficiency section from the Framerate Limiter / Advanced
    control panel, unless the user has an AMD CPU.
  • Removed the experimental tuning knobs for busy-wait ratio; they are not
    needed on AMD CPUs and will be brought back in the future if Intel's
    equivalent MWAITX instruction is integrated into SK.

23.8.18.3

  • Handle D3D11 implementations where ID3D11Device1::GetImmediateContext1 is
    not a vftable alias to ID3D11Device::GetImmediateContext
  • If a game raises multiple exceptions from the same address more than 3 times,
    it will stop being logged unless log level is >= 1.
  • Removed log spam for shader cache collisions due to games compiling the same
    shader on multiple threads unless log level is >= 1.

23.8.18.2

  • Decreased color gamut on SK's HDR UI slightly

23.8.18.1

  • Assign *pcbSize the same value as GetRawInputData returns to fix Fallout 4

23.8.18

  • Optimized Unreal Engine's use of Raw Input (2 calls per-data polled)
  • Removed black point compensation from SK's HDR UI since EDID info is wrong
  • Increased color gamut on SK's HDR UI

23.8.17.2

  • Disable PreventEnumDevices option by default in NieR Replicant
  • Destroy framerate limiter and stats when a tracked SwapChain is destroyed
  • Shutdown framepacing statistics thread when framerate limiter is destroyed

23.8.17.1

  • Optimized NVIDIA's Vulkan/DXGI interop to use a single ID3D11Device rather
    than destroying it and creating a new one every time a window is resized.

    This is necessary in 32-bit Vulkan games (i.e. DXVK) to prevent running
    out of memory during resolution changes.

    • It also ensures that switching games in Yuzu works without having to
      completely restart the emulator when using NVIDIA's interop.

23.8.17

  • Implicitly force windowed mode if "Render in Background" is configured, to
    prevent Fullscreen Exclusive games from not responding when Alt-Tabbing
    back in.

23.8.16.2

  • Fixed mouse input not tracking in Yuzu's multi-window mode and in some
    Fullscreen Exclusive games

23.8.16.1

  • Avoid calling ID3D11DeviceContext::UpdateSubresource (...) twice sometimes
  • Forward the return address to SK_D3D11_UpdateSubresource_Impl so that texture
    cache invalidation is attributed to the correct DLL in log files

23.8.16

  • SK::Diagnostics::CrashHandler::InitSyms (...) no longer implicitly installs
    SK's unhandled exception filter if handle_crashes is set to false

23.8.15.3

  • Properly handle API name change on AMD Vk interop (D3D12 SwapChain)

23.8.15.2

  • Do not cache D3D12 SwapChains when AMD's Vulkan interop is detected
  • Change API name to Vulkan instead of D3D12 when using AMD's Vulkan interop

23.8.15.1

  • Disable SwapDeviceContextState because it causes the Steam Overlay to crash

23.8.15

  • Fixed handling of WM_NCACTIVATE when borderless is enabled causing WatchDogs2
    to think its window is always in the background
  • Added nullptr checks to various ID3D11DeviceContext hooks
  • Switched D3D11 stateblock code to use SwapDeviceContextState (...) for
    immediate contexts when supported by the driver

23.8.14.3

  • Game window is back to being considered active by default, because otherwise
    SDL2 thinks no input devices are attached

23.8.14.2

  • Game window is initially considered inactive to prevent things like
    confining the mouse cursor to the game window from applying at startup
    when the game window is not in the foreground
  • Fixed D3D11 Immediate Device Contexts being wrapped twice in some cases

23.8.14.1

  • Always wrap D3D11 Immediate Device Contexts, because NV's DXGI/Vk interop
    breaks during window resize if there is no immediate context to flush
  • Improved thread safety when reporting unexpected COM QueryInterface IIDs

23.8.14

  • Moved saturation back to applying after Perceptual Boost to fix hue shift
  • Fixed incorrect HDR gamut overshoot visualization due to unnormalized xyY color

23.8.13.3

  • Changed Perceptual Boost back to Rec709; accidentally left in 2020 in .2
  • Fixed potential crash in PresentMon if presentation stalls long enough and
    pLast is nullptr

23.8.13.2

  • Added GDeflate support and usage tracking for DirectStorage titles

23.8.13.1

  • Apply saturation and gamma before Perceptual Boost

    Default presets have been changed to 100% saturation to compensate for
    MASSIVE loss in color gamut

23.8.13

  • Tales of Vesperia defaults to D3D11 Deferred Mode for DoF disable to work

23.8.12.3

  • Added HDR "Import" button to HDR widget and changed behavior of "Reset"
  • Reload Global\hdr.ini whenever "Import" is used to allow manual changes

23.8.12.2

  • Fixed various D3D11 render state tracking related features not working in
    Tales of Vesperia and Yakuza 0

23.8.12.1

  • Minor tweak to implicit window focus on foreground status
  • Fixed Perceptual Boost not being enabled by default in HDR Profile 1

23.8.12

  • Optimized D3D11 render state tracker code for wrapped/hooked D3D11 device
    interfaces.

23.8.11.3

  • Optimized D3D11 HDR processing pipeline by eliminating an extra texture copy
    when previous frame images are not needed to mitigate NaN (99% of games).

23.8.11.2

  • Fix Alt-Tab problem in Baldur's Gate 3 and any other game that ignores
    WM_SETFOCUS when alt-tabbing back in.

23.8.11.1

  • Optimized HDR shader slightly by skipping NaN / Infinity removal on the input
    image, and only performing it before clamping the output to Rec 2020.

23.8.11

  • Added HDR processing time (GPU execution) to HDR widget in D3D11-based modes

  • Added new Profile 1 default values, this profile has less black crush and
    improves UI/midtone visibility BUT the value on the luminance slider is
    not accurate.

    If you want to adjust Profile 1, familiarize yourself with using the
    tonemap visualization mode (after profiling display).

    • The luminance slider can't calculate the light output for this profile.

23.8.10.1

  • Allow games to use dxdiagn.dll at startup as default policy, the ones that
    do (mostly Ubisoft) will take a good minute or two to start because they're
    collecting your hardware info using dxdiag EVERY TIME you start the game.

23.8.10

  • Fixed potential crashes in newer Unity engine games that use
    Buffered Raw Input.

23.8.9.2

  • Fixed mouse input not working in control panel when Disabled to Game.

23.8.9.1

  • Fixed mouse input not working in control panel in emulators like Yuzu

23.8.9

  • Added keybinding to use the previously gamepad-only "hide all widgets"

    • NOTE: This is actually a toggle and hidden widgets will be restored
      by pressing the keybind a second time.
  • If users has "hide all widgets" (LT+RT while control panel is open)
    active and then uses a widget toggle keybind, "hide all widgets" will
    now disengage to make things less confusing.

23.8.8

  • Perceptual Boost is now performed in LMS color space
  • Changed handling of NaN/Infinity in sRGB <--> Linear conversion shader
  • Updated HDR screenshot tonemapping code to work with wide gamut colors,
    it's not great but at least produces sensible colors now.

23.8.7.4

  • Fixed Middle Gray Slider to work in unclamped color.

    Any existing HDR profiles that used a non-zero middle gray value
    will need to be re-calibrated.

23.8.7.2

  • Cursor auto-hide works when mouse input is set to "Disabled to Game"
  • ImGui cursor is removed from screen when other windows have focus

23.8.7.1

  • Fixed potential crash in Baldur's Gate 3 due to mouse Raw Input data
  • Fixed mouse cursor not centering on control panel when first opening it
  • Fixed mouse anti-warp settings related to control panel state applying
    even when control panel is not open
  • Set default preference for anti-warp when windows cursor is visible to off

23.8.7

  • Fix potential black screen issues in Yuzu using Vulkan
  • Changed HDR Perceptual Boost to run in Rec 2020 colorspace, the final
    image should have less aggressive red saturation.

23.8.6.3

  • Improved compatibility with Vulkan/DXGI interop when the Steam overlay
    is not disabled (D3D11 texture cache needs to be cleared if enabled)

    It is still HIGHLY recommended that you disable the Steam overlay when
    using Special K in Vk games, because it hooks both Vulkan and D3D11!

23.8.6.2

  • Add locks back around shader cache management code to fix God of War

23.8.6.1

  • Fixed rare XInput ...
Read more

Special K (23.6.2.2)

02 Jun 22:24
Compare
Choose a tag to compare

23.6.2.2

  • Add warning message when launching Diablo IV

23.6.2.1

  • Prevent Bethesda games from turning off legacy input APIs during
    RawInput device registration (fixes Fallout New Vegas issues)
  • Enable Vulkan Bridge in No Man's Sky by default

23.6.2

  • Removed "regular" Font Awesome Icons in favor of solid
  • Added a splash of color to the Plug-In file selector dialog

23.6.1

  • Eliminate overly aggressive framepacing defaults in NieR: Automata

23.5.31

  • Improved automatic detection of WINE to disable low-level Windows-specific
    features of SK that have no purpose on other platforms and crash WINE.

23.5.30.2

  • Disable hook caching in Yuzu so HDR works in Vulkan

23.5.30.1

  • Revert SetForegroundWindow / BringWindowToTop changes from 23.5.28.3
  • Updated internal fonts to Font Awesome Free v6.2.1

23.5.30

  • Merge pull request #64 from WallSoGB/SilentCrashHandler

    • Silent crash handler + Y-m-d for crash timestamps
  • Fixed hook address caching not respecting Enable{Local|Global}Cache setting

  • Removed Unicode formatting direction characters from locale timestamps

23.5.29.2

  • Fixed deadlock in games that raise Thread Name exceptions without a string
  • Fixed HDR gamut expansion not applying

23.5.29

  • Fixed incorrect structure size on NV_GPU_DITHER_CONTROL_V1, which was
    causing the dithering setting on NVIDIA GPUs to read as "Default".

    HDR users should test the dithering setting using the HDR widget's
    HDR Visualization: "Tonemap Curve and Grayscale".

     ( 10-bit Temporal is ideal for HDR on 12-bpc displays )
    
  • Increased HDR visualization list size so Grayscale shows without scrolling

23.5.28.3

  • Various fixes for games with splash screens that are Win32 dialogs

23.5.28.2

  • Steam Overlay's Vulkan layer cannot be disabled -- its D3D11 Overlay will
    not cleanup resources correctly on NVIDIA's DXGI Layer and will deadlock.

23.5.28.1

  • Replaced AsyncInit workaround with Env. Variables to disable Vk layers

23.5.28

  • Improved global injection compatibility with Yuzu
  • Disabled AsyncInit for games using Vulkan Bridge to ensure that third-party
    layer disablement code works as intended

23.5.27.3

  • Automatically disable OBS's Vulkan layer if SK's Vulkan Bridge is active
  • Automatically disable Steam's Vulkan layer if SK's Vulkan Bridge is active
  • Automatically disable RTSS's Vulkan layer if SK's Vulkan Bridge is active

23.5.27.2

  • Add 5 frame delay before centering mouse cursor over exit confirmation
  • Add error when launching Yuzu without SK's injection service running

23.5.27

  • Auto-close Audio Session Selector pop-up if there are no sessions
  • Increased the minimum size of the Audio Session Selector pop-up in
    the Volume Management section of the control panel for low-res users

23.5.26.1

  • Add support for ++ and -- to floating-point cvars

23.5.26

  • Add "Num Plus" (for Numberpad +) as a possible keybinding
  • All D3D9 games running in DXVK will be forced into windowed mode
  • FFXIV is forced into windowed mode by default

23.5.24

  • NOP all calls to ChangeDisplaySettings{Ex}(A|W) when forcing windowed mode

23.5.19

  • Add check for PresentMon user permissions before attempting to enable

23.5.18

  • For NVIDIA GPU users, if DXVK (D3D9) is detected, a prompt to enable native
    Vulkan support will be presented when first launching a game.

23.5.17.6

  • Fixed potential deadlock in Yuzu at start during Streamline Interposer check

23.5.17.5

          -[ Vulkan no longer sucks on Windows! ]-

VulkanBridge grants high-performance Borderless Window mode (w/ G-SYNC),
HDR, Latent Sync, Multiplane Overlays, etc. to NVIDIA GPU owners.

(*) All of those features are normally D3D exclusive.

                              (NVIDIA Driver Version 526.98+ Required)
  • Enabled VulkanBridge by default in cemu and RPCS3

23.5.17.4

  • Enable VulkanBridge by default in Ryujinx and Yuzu
  • RunDLL_NvAPI_SetDWORD will create new NV driver profiles if necessary
  • Workaround SteamAPI crash if DLL is too old to implement ISteamScreenshots
  • Renamed EnableRTXRemix setting to EnableVulkanBridge
    -------------- ------------------
  • Eliminate an unnecessary extra game restart when first enabling RTX Remix
  • Fixed parsing executable names with spaces in RunDLL_NvAPI_SetDWORD

23.5.17

  • Added INI option to enable DXVK + DXGI Layered Present (RTX Remix)

    [NVIDIA.API]
    EnableRTXRemix :: 0=Disable, 1=Enable, -1=Don't Care

    • The game will restart itself to apply these changes.
  • Added RunDLL_NvAPI_SetDWORD to apply NVIDIA Profile Settings:

    Example: (Setup RTX Remix for Dragon's Dogma (ddda.exe))

    rundll32 SpecialK64.dll,RunDLL_NvAPI_SetDWORD 0x20324987 0x80001 ddda.exe
                                                  {Setting}  {Value} {EXE}
    

    NOTE: Some settings (i.e. the one above) require Admin privileges to set.

23.5.16.3

  • Prevent NV's Vulkan/DXGI Layered SwapChain from loading Ansel
  • Disable HDR widget if 10-bpc SDR is active
  • Promote NV's Vulkan/DXGI Layered SwapChain to 10-bpc in SDR
  • Disabled assertion if game window changes, unless log level >= 1

23.5.16

  • Fixed NV Vulkan/DXGI SwapChain cleanup that could cause games to freeze
  • Renamed "Maximum Frame Interval" to "Minimum Refresh" in Reflex widget

23.5.13.1

  • Add extra Wallpaper Engine executables to blacklist
  • Disable OpenGL Scissor Test during glBlitFramebuffer for OpenGL-IK

23.5.8

  • Changed the "Prevent Always-On-Top" option to check the state once per-frame
    and remove a game window's Always-On-Top state if needed.

    (The old behavior only did this following window (de)activation).
    

Special K (23.5.7)

06 May 21:00
Compare
Choose a tag to compare

23.5.7

  • Merge pull request #63 from Aemony/D3D9-IK

    • Restores Windows 7 compatibility (just don't ask for support)
  • Merge pull request #59 from SpecialKO/Aemony-patch-1

    • Added build.bat to automate build process further
  • Merge pull request #34 from Trass3r/D3D9-IK

    • Add Continuous Integration

23.5.6.3

  • Disable SK's internal debugger in Honkai: Star Rail to workaround anti-cheat
  • Added compat hacks to non-Steam version of Path of Exile as well
  • Export/Reset Profiles in HDR widget also store their INI values as
    described in 23.5.6

23.5.6

  • Changed HDR widget to store profiled display data using monitor GUID instead
    of the full GDI device path (since parts of it are not invariant).
  • New INI Key Name: GSMC0A0.{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}

  • Old INI Key Name:
    DISPLAY#GSMC0A0#5&2dafe0a1&5&UID45314#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}

    Old Global\hdr.ini files will have invalid entries; consider deleting.

     @ Re-run "Profile Display Capabilities" after deleting...
    

23.5.5

  • Only display Effective Power Mode in control panel if game is foreground
  • Clicking the Aspect Ratio Stretch background will activate the game window
  • Prevent Aspect Ratio Stretch background window from becoming foreground

23.5.4.2

  • Do not attempt to register for Effective Power Mode change notifications
    on WINE, since it will just crash the game and complain about a stub.

23.5.4.1

  • Added Effective Power Mode to SK's Control Panel.

    If it does not say Game Mode (while the game is in the foreground),
    then check the Windows Game Bar with the game is running...

    • Ensure the Game Bar has 'Remember this is a Game' checked.

23.5.4

  • Fixed aspect ratio stretch background window stealing focus from the game
    window when Aspect Ratio Stretch is enabled.

23.5.3

  • Remove leading and trailing spaces from config profile directory names if
    the Steam manifest uses them in the game name...

    (i.e. " Dead Space" and "Star Wars: Jedi Fallen Order™ ")
    

23.5.2

  • RunDLL_DisableGFEForSKIF also disables VRR for SKIF

23.5.1.1

  • Added [Scheduler.Boost] DenyForeignChange option to prevent Game Mode from
    lowering process priority when certain combinations of scheduler boost
    are active.

23.5.1

  • Disable GeForce Experience Overlay for SKIF the first time SK is injected

    Game has to be run as Admin for this to happen automatically

    • To do manually (from an Admin command prompt):

      rundll32 SpecialK64.dll,RunDLL_DisableGFEForSKIF

23.4.30.4

  • Disable warning about "Continue Rendering" if a game tries to engage
    Fullscreen Exclusive and SK is overriding it to Borderless Fullscreen.
  • Blacklisted processes no longer signal SKIF's OnExit event when exiting
  • Added EASteamProxy.exe to internal injection blacklist
  • Added Link2EA.exe to internal injection blacklist (EA, stop dammit!)
  • Added dsx.exe to internal injection blacklist

23.4.29

  • Added internal list of executables that acquire multiple references
    to SK's DLL during injection shutdown.

23.4.28

  • Added check if Microsoft's GLOn12 layer is active before using OpenGL-IK

23.4.27

  • Added SteamAPI workaround for CRAPCOM anti-piracy shenanigans in
    Megaman Battle Network Legacy Collection (no more dimming screen).

23.4.26

  • Added button to HDR menu to disable a game's native HDR

    Intended for games that force HDR on; requires game restart.

  • Removed streaming_client.exe (Steam streaming) from internal blacklist.

    Using SK for streamed games requires placing SpecialK.dxgi in the
    same directory as streaming_client.exe.

23.4.25

  • Renamed HDR Presets 2 and 3 to scRGB Native and HDR10 Native

    Use these for HDR native games; ignore luminance slider

  • Disabled color saturation and gamma control in HDR10 mode

23.4.24

  • Added horizontal tear bars to Latent Sync for Steam Deck's derpy display
  • Raised SDR->HDR gamma for profile 0 to 0.933 (from 0.925)
  • Added peak luminance estimate when using profile 0's Perceptual Boost
  • Lowered the slider range for Perceptual Boost to ~285 - 2000 nits

23.4.23

  • Renamed HDR Peak White Luminance slider when Perceptual Boost is enabled
  • Tweaked default HDR profile 0 to target 575 nits w/ PB

23.4.14

  • Fixed achievement unlock ratios for games with > 50 achievements

23.4.12

  • Fixed incorrect CPU load % on Windows 11 as a result of invalid
    idle time accumulation in SystemProcessorPerformanceInformation

  • Amended 'Disable Transparency' changes so that HDR display profiling
    is not broken by 10k nits transparency blending

23.4.11.1

  • Improved HDR near-black and out-of-gamut color processing

23.4.11

  • Added current values (top-left) to GPU monitoring widget graphs
  • Removed Windows.UI.dll from auto-exclusion during global injection

23.4.10.2

  • Fixed SwapChain settings in Control Panel not UI-scaling correctly
  • Added tip on configuring the OSD's Startup Banner, to the banner...

23.4.10.1

  • Fixed potential creation of 'Profiles' directory at the root of disks
  • Merged fix for 'Disable Transparency' option in UI settings
  • Merged fix for building with newer Visual Studio toolchains

23.4.10

  • Merge pull request #58 from Nustat0/D3D9-IK

    • Fix dgVoodoo plugin detection for local ddraw/d3d8
  • Merge pull request #52 from cathyjf/fix-get-file-size-for-symlinks

    • Fix SK_File_GetSize for symlinks
  • Added Plug-In file selector to the Control Panel's Plug-Ins section

  • Added Multiplane Overlay plane count to Display menu.

  • Automatically disable Window Proc hooks and SteamAPI integration in CRAPCOM
    games to avoid angering their abhorrent DLC anti-piracy

  • Fixed missing PresentMon info in windowed mode D3D9 (NOT D3D9Ex) games

  • Fixed MGS V compatability when it requests non-0 DXGI SwapChain buffers

  • "Continue Rendering" Window Management mode is disabled automatically if a
    DXGI-based (D3D10/11/12) game attempts to use Fullscreen Exclusive

  • Changed message on DPI Scaling AppCompat Fix when games cannot be restarted
    automatically:

    "A one-time game restart is required to fix DPI Scaling issues in this game"

  • Added "Aspect Ratio Stretch" mode to the Display menu in SK's Control Panel.

    • Run (borderless windowed) games at custom aspect ratios properly centered
      with letter/pillar-boxing without changing display modes.
  • Improved HDR -> SDR screenshot tonemapping in D3D11 and D3D12 games

  • Added NVIDIA Streamline workarounds, including an optional replacement
    Interposer DLL compatible with Global Injection and HDR.

    (see: Wiki Compatibility; note some new DLSS features may not work.)
    
  • Added HDR gamut expansion feature to increase saturation on HDR highlights

  • Renamed "DWM Tearing" to simply "Tearing" in SwapChain settings, since it
    has nothing to do with the DWM and requires Flip Model bypass the DWM.

  • Updated Chrono Cross and Hatsune Miku Project Diva plug-ins for new patches.

  • Implemented achievement popup location setting and removed animated option.

  • Made ieframe.dll pinned (not unloadable) to workaround Steam crash.

  • Exempt explicitly whitelisted games from internal libcef.dll blacklist

  • No longer return processes that are not running in SKX_GetInjectedPIDs (...)

22.9.26

  • Fixed PresentMon performance in Windows 11 22H2 without disabling it
  • Replaced 'Low-Latency' checkbox with 'Mode' option in control panel's
    'Framerate Limiter | Advanced' section

22.9.25 (HOTFIX)

  • Added option to disable PresentMon to address Windows 11 22H2 performance

    [Render.FrameRate]
    EnableETWTracing=false

  • Fixed HUDless screenshots if D3D11 state tracking is disabled

22.9.19

  • Re-enabled friend achievement unlock statistic fetch by default
  • Fixed achievement unlock-triggered screenshots snapping twice
  • Disabled screenshot sound for achievement unlocks

    The Steam overlay may still play a sound

22.9.18

  • Stabalized NV hardware stats (load %, temp., clocks) that are not sampled
    every polling interval

22.9.17

  • Disabled ImGui assertions if log level < 1 to avoid achievement popup issues
    while SK's control panel is visible

Special K (22.9.16)

16 Sep 16:55
Compare
Choose a tag to compare

22.9.16

  • Merge pull request #24 from Aemony/D3D9-IK
    • Added separation between swapchain mgnt sections
  • Added Soul Hackers 2 HUD vertex shaders to built-in HUD database

22.9.15

  • Added MyDockFinder to injection blacklist to keep SK's OSD out of the Windows shell
  • Added option to disable Steam Input

22.9.8-D3D9-IK

  • Added error if Global Injection is attempted in software using NVIDIA Streamline
  • Silenced API call tracing for NtSetTimerResolution (...) when log level < 1

22.9.6-D3D9-IK

  • Fixed Reflex latency statistics in D3D12

Special K (22.8.18)

18 Aug 06:17
Compare
Choose a tag to compare

22.8.18-D3D9-IK

  • Fixed memory leak in achievement icon loader
  • Added Global / Friend unlock % to achievement popups
  • Centered description and established consistent aspect ratio for achievements

22.8.17.2-D3D9-IK

  • Partial re-implementation of achievement unlock popups

    Duration is the only setting currently implemented, and achievement icons
    are only loaded in D3D9/D3D11/GL at the moment.

  • Optimized D3D11 texture cache for games with many small textures

22.8.17.1-D3D9-IK

  • Switched debug symbol loader back to deferred to speed up init
  • Empty crash/steam/debug out/eos logs are deleted at exit
  • steam_api.log is renamed platform.log in non-Steam games
  • Added extra checks to avoid loading SteamAPI DLL in non-Steam games

22.8.17-D3D9-IK

  • Changed SK's Plug-In based SteamAPI DLLs to use steam_api_sk{64}.dll instead
    of the traditional steam_api{64}.dll to avoid collisions with software that
    loads SteamAPI DLLs using incomplete paths.
  • Fixed API auto-detect prioritization issues introduced in 22.8.7

22.8.16.4-D3D9-IK

  • Fixed various issues with local installs of ReShade
  • Clear DXGI/D3D11 hook cache when installing plug-ins from control panel
  • Disabled crash sound when games crash -after- SK's DLL has cleanly unloaded

22.8.16.3-D3D9-IK

  • Improved ReShade Plug-In support, Unreal and most other engines work reliably
    w/ Lazy load order when using Global Injection.

    Unity almost never works loading ReShade this way... big surprise.

  • Clicking "Disable All But the Active API" in Compatibility | Render Backends
    will no longer disable OpenGL when a game is using OpenGL-IK (D3D11).

  • Blacklisted CrashReportClient.exe so SK will no longer render an overlay on
    top of fancy Unreal Engine crash dialogs :)

22.8.16.2-D3D9-IK

  • Cleaned up Input Management control panel section
  • Fixed incorrect gamma on SDR thumbnails and HDR->SDR tonemapped screenshots

22.8.16.1-D3D9-IK

  • Fixed SDR screenshot (lossy / Steam Import) brightness in D3D11/D3D12
  • Large Address Aware patch only applies once now and then turns itself off

22.8.16-D3D9-IK

  • Fixed potential deadlocks during debug symbol load
  • Fixed incorrect texture cache eviction rules for uncompressed textures (Unity fix)
  • Added support for SPECIALK_PATH environment variable to define the install path
    (i.e. profile directories) for Global Injection

    Takes precedent over the registry key (HKCU\Software\Kaldaien\SpecialK\Path).

22.8.15.3-D3D9-IK

  • Added checks to make sure (D3D11) resource views are created using the same device
    as their resource.
  • Eliminated mipmap-related assertion failure when starting Genshin Impact

22.8.15.2-D3D9-IK

  • Added conditional device input blocking:

    ( Enabled / Disabled (Always) / Disabled (in Background) )

    Keyboard input defaults to Disabled (in Background) for new INI files generated;
    for existing INI files, preference will be assigned Enabled or Disabled (Always).

  • Added mipmap support to SK_D3D11_BltCopySurface (format conversion (HDR<-->SDR))

    • This properly fixes character portraits in Pillars of Eternity 2

22.8.15.1-D3D9-IK

  • Fixed rare crash in ImGui when opening control panel at the same time as game
    polls cursor position
  • Improved handling of cursor clipping and window activation when game window is
    in the background
  • Removed texture caching auto-disable in Unity engine games

22.8.15-D3D9-IK

  • Worked-around bug in Martha is Dead that causes crashing at startup
  • Re-enabled texture injection in games using D3D11 UpdateSubresource (...)
    (i.e. NieR: Replicant)

22.8.14-D3D9-IK

  • Added configurable debug layer settings (i.e. mute/break-on error) for D3D11 games
  • Fixed compatibility with Spider-Man Remastered when Special K HDR is enabled

22.8.13.2-D3D9-IK

  • Fixed D3D9 window hooks not being installed correctly

22.8.13.1-D3D9-IK

  • Fixed potential deadlock in Unity engine games when window focus changes

22.8.13-D3D9-IK

  • Fixed mouse input not being blocked when render in background is enabled
  • Fixed character portraits not displaying in Pillars of Eternity 2

22.8.11-D3D9-IK

  • HDR toggle in OpenGL is real-time now in all games and does not require Alt+Enter
  • Additional mouse input tweaks for emulators to prevent cursor auto-hide when cursor
    is not even in the game window.

22.8.10.2-D3D9-IK

  • Alt menus no longer blocked while SK's control panel is open
  • No longer display Alt+F4 confirmation dialog in SK's control panel when closing
    child dialog boxes in emulators :)
  • Improved support for switching between detached and single-window mode in Yuzu
  • Removed assertion message when an application's root window changes

22.8.10.1-D3D9-IK

  • Added luminance tilemap output from adaptive tonemapper to HDR widget
  • Fixed shadowmap issues in certain games introduced in 22.8.9.1
  • Fixed shader profiler timer query reference leak in D3D11 render mod tools

22.8.10-D3D9-IK

  • Added new initialization option for Global Injection to hook D3D synchronously,
    this allows Global Injection to work ~the same as Local in some games that
    otherwise wouldn't be compatible with ReShade and SK simultaneously.

    [Compatibility.General]
    AsyncInit=false

This also affects D3D9, and may allow D3D9Ex + FlipEx in some games using Global.

  • More ReShade compatibility work; early load-order should no longer crash
  • Fixed HDR in Crash Bandicoot so that it does not require 8-bit remastering

22.8.9.1-D3D9-IK

  • Merge pull request #21 from Braasileiro/megamixplus-1.02,

    • Updated framerate unlock and Windows version check bypass for Project Diva 1.02
  • Improved compatibility with recent ReShade releases

  • Added logging/fix if games try to create typeless Shader Resource Views for
    Depth/Stencil surfaces that Special K is not managing

  • Fixed black screens and missing visual effects in Final Fantasy XIV and YS IX

22.8.8-D3D9-IK

  • Fixed MSAA while HDR remastering is enabled in many Unity engine games
  • Fixed resolution mismatches in Disgaea 5 leading to black screens at startup

22.8.7-D3D9-IK

  • sRGB Passthrough (for SDR users) is automated now, Passthrough/Strip is the correct
    setting in 99.9% of cases. The warning has been removed and the option is pending
    removal.

    For HDR, this cannot be automated and the sRGB Bypass option in the calibration
    widget will remain, even after SDR Passthrough/Strip/Apply options are removed.

  • Added experimental D3D11 Debug Layer integration in the D3D11 | Advanced (Debug) tab

    • Unreal Engine games are not compatible with this, and you must force the layer on
      using dxcpl if you want to use it in SK.

    @ This is a developer-centric feature, if you don't know what the Debug Layer is,
    then turning it on is probably going to utterly destroy performance for you :)

22.8.6-D3D9-IK

  • Still more sRGB and MSAA optimization for D3D11 games :)

    sRGB Passthrough / Strip / Apply work as designed and usually apply immediately

  • Fixed gamma regression in SDR mode in The Witness

22.8.5.2-D3D9-IK

  • Fixed issue in EOS integration w/ repeating screenshots triggered when callbacks
    for achievements that are already unlocked are sent by Epic
  • Improved sRGB compatibility in Flip Model, removed some forms of MSAA support
  • Removed assertion when games try to set HDR metadata in windowed mode and are not
    natively DXGI Flip Model.

22.8.5-D3D9-IK

  • Added option to disable DxDiagn.dll from loading into games.
    $ DxDiag probes all available versions of DirectX and leads to problems
    (especially in 32-bit software)

  • Added option to disable Large Address Aware auto-patching on affected 32-bit games

    [Compatibility.General]
    AllowDxDiagn=false
    AutoLargeAddressPatch=true

  • Corrected 'SoundFile' option in Global\platform.ini and local INI files not loading
    because it was blank and the INI parser was accidentally set to remove blank keys

22.8.4.3-D3D9-IK

  • Added support for mouse cursor auto-hide when using 'Block Mouse Input to Game'
  • Fixed incorrect mouse activation behavior when background render is enabled and
    the game window is activated by clicking on SK's UI
  • Remove spurious calls to glClampColor (...) to clamp vertex/fragment colors,
    that feature is deprecated in GL3 core profiles

22.8.4.2-D3D9-IK

  • Cleaned up D3D11 texture mod UI slightly and include additional sources
    (i.e. SRV + Resource) for deducing texture and RenderTarget debug names

  • Fixed potential crash dumping D3D11 textures w/ engine-assigned debug names

  • Optimized MSAA and copies between surfaces with incompatible direct copy
    formats (e.g. for HDR MSAA Resolve from FP16 to R8G8B8A8).

    VRAM usage may increase slightly, but framerate increases significantly :)

    *) This only affects HDR users, and only D3D11 performance
    (and primarily games with MSAA support).

22.8.4.1-D3D9-IK

  • HDR can now be turned on/off without restarting D3D11 games()!
    (
    ): ...usually
  • Added 'Lazy' load order as an option to Plug-Ins in the control panel, this is
    not a new feature but the config UI has never shown it...
Read more

Special K (22.6.22)

22 Jun 12:30
Compare
Choose a tag to compare

22.6.22

  • Added new tooltips to the HDR Widget and Display Profiler to explain calibration
  • Fixed incorrect number of 32-bit values in D3D12 Root Signature for HDR processing
  • Re-implemented HDR color saturation slider in ACEScg colorspace
  • Fixed D3D11 render state leaks (depth buffer / tessellation) in HDR image processing

22.6.20

  • Added "Export" button to the HDR widget to export the currently selected preset for
    use in other games.

    Load exported presets using the "Reset" button.

  • Added HDR peak white clipping configuration for displays that do not have valid EDID

    See the "Profile Display Capabilities" button in the HDR widget for more info,
    the goal is to find the smallest value that turns the test patterns pure white

    Once saved, the new maximum luminance will be used for HDR range visualizations
    (i.e. HDR vs. Max Local Luminance) to indicate when an image is too bright.

  • Fixed Windows Version check in Project Diva's first patch

  • Fixed >60 FPS mod for Project Diva

Special K (22.6.18)

17 Jun 14:23
Compare
Choose a tag to compare

22.6.18-NOCEGUI

  • Fixed black-point compensation causing HDR full white to clip in HGIG
  • Fixed Steam Overlay HDR luminance control if D3D11 State Tracking is disabled

22.6.17.1-NOCEGUI

  • Hid the HDR Perceptual Boost sliders in an "Experimental" tab

  • Added Tonemap Curve / Grayscale Visualization mode to HDR widget

    The goal when tuning things using this new visualization is to
    get the end-point as near as possible to the top-right.

    ( SK comes pre-tuned (preset 0) for LG OLEDS - 800 nits (HGIG) clipping )

    • LG OLEDs do not have valid EDID values for max/avg. luminance, so
      it is not possible to correctly tune the tonemap curve yet.

    A tool to find your display's -actual- HDR clipping points will be
    added in a later build; this is more for TVs than monitors.

22.6.17-NOCEGUI

  • Merge pull request #8 from WallSoGB:
    "R and B color switch fix for D3D9 ImGUI when alpha is disabled"
  • Improved WinRing0 Driver Management

22.6.16-NOCEGUI

  • "Reset" now resets the active preset's perceptual parameters
  • Perceptual Boost HDR mode is on by default for HDR preset #0
  • Perceptual Boost parameters are now stored per-preset
  • Fixed a problem with Yakuza engine games destroying DXGI adapters
    SK is holding references to so the busted engine will not crash

22.6.15.3-NOCEGUI

  • Standard logging is now silent when loaded via SKIF or RunDLL32, to prevent deadlock

22.6.15.2-NOCEGUI

  • Prevent SKIF from recursively spawning driver install if not elevated to Admin
  • Merge pull request #4 from cathyjf [ SK_LoadImportModule: Expand environment variables ]
  • Merge pull request #7 from WallSoGB [ Fix "Show OSD in Video Capture" in OGL-IK ]

Special K (22.6.15)

15 Jun 13:55
ed24ec8
Compare
Choose a tag to compare

22.6.15.1-NOCEGUI

  • Fallback to Documents\My Mods\SpecialK if path is unreadable or
    if it cannot be created.
  • Special K now uses "HKCU\Software\Kaldaien\Special K\Path" to find
    the shared centralized directory for profiles, plug-ins, etc.

22.6.14.4-NOCEGUI

  • Perceptual Boost HDR mode now works in D3D12 titles
  • Added HUD shader definitions for The Quarry for HUDless screenshots
  • Fixed audio stutter in The Quarry due to wrong thread priorities
  • Fixed multiple calls issued per-ID3D11DeviceContext::UpdateSubresource (...) when hooked and wrapped
  • Added protection for games that change thread priority while an SK thread priority override is active
  • Merge pull request #6 from WallSoGB [ Corrected Intel CPU power and clock readings ]