forked from SpecialKO/SpecialK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
4316 lines (3157 loc) · 166 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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
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
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 before...
22.8.4-D3D9-IK
==============
+ For games that use SteamAPI Manual Callback Dispatch (i.e. new Unity games),
Special K will load its own SteamAPI DLL that ships in the Plug-Ins directory
and isolate itself to prevent Steamworks features from failing to work.
22.8.3.1-D3D9-IK
================
+ Improved Steam Overlay compatibility with D3D9Ex overrides
+ Fixed D3DX9_43 texture hooks calling into SK's texture manager uninitialized
+ Removed sRGB warning from Genshin Impact (auto-applies Passthrough)
22.8.3-D3D9-IK
==============
+ Fixed The Witness for SDR users with MSAA enabled
+ Fixed MSAA in many Unity engine games when flip model is enabled
+ Re-introduced sRGB warning because Genshin Impact is broken and does not handle
input/output colorspace correctly
>> Other Unity engine games will start banding in sRGB mode as a result of this,
so set them to 'Strip' and leave Genshin Impact on 'Passthrough'
22.8.2.1-D3D9-IK
================
+ Fixed D3D11On12 overlay compatibility (e.g. Steam/EGS/RTSS)
22.8.2-D3D9-IK
==============
+ Added automatic Large Address Aware .exe patch when 32-bit non-LAA games crash
+ Fixed rare issue with control panel sliding to the left when scaling is active
22.8.1.1-D3D9-IK
================
+ Fixed jittery text on latency analysis widget
+ Fixed framepacing widget debug view crashing in non-DXGI graphics APIs
+ Added automatic global injection delay for .NET software
+ SteamAPI integration is auto-disabled in games that use Manual Callback Dispatch
in order to prevent deadlock (fixes Tererria / Lords of Xulima)
22.8.1-NOCEGUI
==============
+ Split D3D9Ex override INI cfg into ForceD3D9Ex and EnableFlipEx (D3D9 Flip Model)
+ Fixed SteamAPI process abort in Control during achievement user statistics fetch
+ Added texture name to dumped texture metadata file for D3D11 engines that include
debug names in retail games (i.e. Unity)
22.7.31-NOCEGUI
===============
+ Added D3D9 texture injection support for engines that use LockRect/UnlockRect
+ Added D3D9 Managed Pool -> D3D9Ex Default Pool memory mgmt. to support D3D9Ex
+ Fixed D3D9 texture dumping for certain DXT1-5 texture allocations
22.7.29-NOCEGUI
===============
+ Added 10 second global injection delay to executables with "Launcher" in name
(Fixes Final Fantasy 8)
+ Fixed screenshots in D3D12 software with third-party resolution overrides
+ Fixed local injection as "dxgi.dll" if VBLANK Virtualization bypass is enabled
22.7.25-NOCEGUI
===============
+ Added DXGI 1.6 Dynamic Refresh Rate (VBLANK Virtualization) Bypass
>> This bypass is applied by default on Windows 11 systems
* Think of DRR as DPI Scaling for Refresh Rate
Software has to declare itself Dynamic Refresh Aware effectively, or Windows
is going to hide VSYNC timing information from the software and give it a
fake, floaty VSYNC instead
The bypass can be turned off in SK's INI using the following new setting:
[Render.DXGI]
DisableVirtualizedBlanking=false
+ Improved HDR -> SDR tonemap quality in Screenshots
22.7.19-NOCEGUI
===============
+ Fixed HDR screenshots for D3D12 resolutions not aligned to 32-pixel bounds
22.7.18-NOCEGUI
===============
+ Fixed potential unaligned memory load/store in D3D9/12 screenshot capture
+ Fixed MSAA sample count override in D3D11 BitBlt SwapChains
22.6.30.1-NOCEGUI
=================
+ Removed Unordered Access View flag from D3D12 SwapChains when using HDR
22.6.30-NOCEGUI
===============
+ Completely fixed HDR problems in Tales of Arise
+ Eliminated potential graphics memory leaks in sRGB and HDR games
22.6.29.1-NOCEGUI
=================
+ Fixed HDR compatibility in Days Gone
+ Fixed an issue that prevented some Unreal Engine games (i.e. The Quarry)
from starting
+ Blacklisted Days Gone's launcher and error reporter utility
22.6.28.1-NOCEGUI
=================
+ Fixed D3D11 games lacking support for Unordered Access Views on their
SwapChain from crashing in HDR
22.6.28-NOCEGUI
===============
+ Fixed / reduced HDR issues in Tales of Arise (turn off 11-bit Remastering)
+ Semi-broken Adaptive Tonemap mode...
+ Added color gamut visualizer to HDR widget (D3D11 only)
+ Fixed issues with HDR in D3D12, crashing and missing widget options
22.6.26-NOCEGUI
===============
+ Added new experimental 128-bit color remastering option, cause why not?
+ Optimized luminance analysis compute shaders, feel free to keep
adaptive tonemapping enabled
- ACES tonemap is currently broken, don't use it :)
22.6.25-NOCEGUI
===============
+ Added optional 'Adaptive Tonemap' mode to handle scenes too bright for HGIG
>> This adds a Compute Shader stage that may use 1-2% extra GPU, so leave it
off if performance is already tight in a game.
- ACES tonemap is currently broken, don't use it :)
22.6.24-NOCEGUI
===============
+ Fixed HDR gamut clamp on scRGB Passthrough Mode
- ACES tonemap is currently broken, don't use it :)
22.6.22-NOCEGUI
===============
+ 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.2-NOCEGUI
=================
+ 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.
22.6.20.1-NOCEGUI
=================
+ 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.
22.6.20-NOCEGUI
===============
+ Fixed Windows Version check in Project Diva's first patch
+ Fixed >60 FPS mod for Project Diva
22.6.18.1-NOCEGUI
=================
+ Fixed accidental pre-multiplied alpha blending on HDR image process in D3D12
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 ]
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 ]
22.6.12.1-NOCEGUI
=================
+ Changed SK's ResizeBuffers skip to issue unsynchronized Presents as many times as necessary to get
the SwapChain backbuffer index to wrap-around to 0 before the function returns.
This reproduces the side-effects of a successful D3D12 IDXGISwapChain3::ResizeBuffers (...) call
-> Fixes compat. with The Quarry in D3D12
22.6.12-NOCEGUI
===============
+ Added support for middle-gray contrast and color saturation adjustment to Passthrough tonemap mode
+ Added range tests to prevent NaN (black pixels that bleed through UI) during tonemapping
+ Added sliders to the HDR widget to make tuning Perceptual Boost easier
+ Bumped the Color Saturation slider's maximum up to 140%
22.6.11-NOCEGUI
===============
+ Made Perceptual Boost into a mode rather than a Tonemap (refer to the new checkbox in HDR widget)
+ Extra tuning parameters have been added when PB is enabled.
>> The first two control overall brightness and the second two can scale things back if
mid-tone detail is being lost.
22.6.9-NOCEGUI
==============
+ Added ACES Filmic + Perceptual Boost Tonemap Mode to HDR Widget
>> Increases perceptual brightness slightly, make sure to check the vs. Max Average Luminance
visualization to ensure clipping is not taking place -- maximum luminance target may need
to be lowered.
+ Fixed white/black objects in some D3D11 games that use Multisampled RenderTargets
22.6.8.1-NOCEGUI
================
+ Fixed brightness of ImGui UI in sRGB
+ Added sRGB framebuffer status when flip model override is active
+ Added locking to INI file write/parse to prevent rare crashes when opening SK's control panel
22.6.8-NOCEGUI
==============
+ Add support for ID3D11Resource and ID3D11Texture2D1 to SwapChain wrapper when DXGI Flip Model
is being forced on
+ Added support for rendering ImGui into multisampled non-Flip SwapChain backbuffers
+ Improved MSAA resolve for sRGB games when flip model is active
+ Fixed various sRGB issues and removed confirmation dialog when forcing flip in an sRGB game
22.6.2-NOCEGUI
==============
+ Removed most default config overrides for Hatsune Miku, including the default 60 FPS limit
+ Hatsune Miku's framerate limiter is now completely disabled except in game menus,
whether or not Special K has a framerate limit set.
* VSYNC becomes the default framerate limiting mechanism; users are encouraged to turn
SK's framerate limiter on in the control panel (it will auto-match refresh rate).
22.6.1-NOCEGUI
==============
+ Separate High FPS mod for Hatsune Miku no longer required, just set SK's framerate limit
* Menus will be locked to 60 FPS or your limit (whichever is lowest) for proper gameplay
+ Installing Special K locally for Hatsune Miku disables its stutter inducing network code
* This code is unrelated to leaderboards.
22.5.31-NOCEGUI
===============
+ Enabled SK's dynamic spinlock feature in Hatsune Miku to minimize audio/render desync
+ Configured default settings for Hatsune Miku to minimize latency at 60 FPS w/o Latent Sync
* If you did not read the original thread for this game, reset your config
-- Thread explaining ideal configuration was deleted when Valve banned me.
Summary of information lost thanks to Valve:
> Setup 16-bit / 44.1 or 48 kHz Sample Rate in Windows
> Setup a 60 FPS limit (game's averages 60.5 - 64)
> Consider Latent Sync if your display is 60 Hz
> Mod for >60 FPS: https://sk-data.special-k.info/misc/DivaModLoader_HighRefresh.zip
22.5.30-NOCEGUI
===============
+ Patched failure prone Windows (10+) version check code out of Hatsune Miku Project DIVA
>> Game has been tested and works on Windows 8... might even work in 7 (SK will not! :P)
22.5.29-NOCEGUI
===============
+ Improved compatibility with Disgaea 5 (uses more than 128 D3D11 device contexts)
+ Fixed incorrect D3D11 Shader State Tracking introduced after 21.07.23
+ Set D3D11 "Low Spec Mode" by default (new config files only) to minimize
state tracking performance overhead in high drawcall games
22.5.28-NOCEGUI
===============
+ Added Extended Model/Family to CPUID for Intel CPUs
+ Made D3D12 Feature Level 12_2 optional depending on build environment's WDK version
22.5.27-NOCEGUI
===============
+ Updated compiler requirements in README
+ Removed single-threaded limitations from Hatsune Miku Project DIVA Mega Mouthful+
22.5.15-NOCEGUI
===============
+ Removed EOS online warning; problem caused by incorrect critical section
initialization in EOSSDK
+ Added Chrono Cross flicker fix when using unlocked framepacing
22.4.27-NOCEGUI
===============
+ Added warning message for EOS online games, since they do not work for some
22.4.20-NOCEGUI
===============
+ Removed a few texture scaling artifacts in Chrono Cross
22.4.19.2-NOCEGUI
=================
+ Improved 60 FPS functionality for Chrono Cross
+ Added 1440p / 4K resolution modes to Chrono Cross
+ Added protection against launchers clobbering actual game INI files
22.4.17-NOCEGUI
===============
+ Handle RTV/SRV destruction occurring while Render Mod Tools window is open
22.4.15.2-NOCEGUI
=================
+ Fixed initialization races in some widgets if drawn on frame 0
+ Fixed potential DXGI Do Not Sequence + Restart flags on first frame
+ Avoid calling ResizeTarget (...) on redundant Fullscreen mode changes
+ Added support for Multisample Resolve between UNORM and FP buffers
+ Improved HDR support (pipeline remaster w/o MSAA) in Chrono Cross
22.4.15.1-NOCEGUI
=================
+ Fixed Chrono Cross timing override not actually applying at game start
+ Added an event when games exit for SKIF to use to stop injection
22.4.15-NOCEGUI
===============
+ Added Large Address Aware patch functionality to Special K for 32-bit games
that are not Large Address Aware (see the File Menu in affected games)
+ Automatically apply Large Address Aware patch to Chrono Cross
22.4.14-NOCEGUI
===============
+ Added Frame Pacing Fixes for Chrono Cross
+ Added optional compressed fonts for Chrono Cross for users whose drivers
cannot run the game and report "Out of Memory"
*) See: https://sk-data.special-k.info/misc/SK_ChronoCross_FontFix.7z
SK_Res\...
22.4.11.1-NOCEGUI
=================
+ Fixed calling the DLL import version of GetSystemCpuSetInformation (...)
+ Improved HDR black point compensation for less grayscale banding near-black
22.4.10.2-NOCEGUI
=================
+ Fixed OpenGL-IK displaying a black screen when flip model is enabled
22.4.10.1-NOCEGUI
=================
+ Fixed a number of issues related to fullscren refresh rate overrides in D3D11
+ Improved reliability of fullscreen mode transitions while using Flip Model
>> Special K is now a virus... according to Discord.
] Uploads now have to be encrypted, or Discord deletes them and then replaces
the original message with something stupid about cooking.
* Password: skummy , as in that's a really scummy thing to do Discord.
22.4.10-NOCEGUI
===============
+ Fixed a few Structured Exception Handling stack unwinds
+ Added skeleton implementation of D3D9-IK, non-functional, just enough to test
whether and where this will crash D3D9 games when finished.
22.4.9.2-NOCEGUI
================
+ Fixed a rare race to initialize framerate limiter that could result in an
integer divide by zero.
+ Set the default AutoStopBehavior for SKIF to Auto-Stop On First Frame
>> This option has lower compatibility than Stop When Game Exits, but
will result in far fewer arguments
22.4.9.1-NOCEGUI
================
+ Added SKIF Auto-Stop Behavior Configuration to SK (belongs in SKIF, but whatever)
Refer to "Documents\My Mods\SpecialK\Global\platform.ini"
[SKIF.System]
AutoStopBehavior={0|1|2|...}
0: Auto-Stop Never
1: Auto-Stop when a game first starts
2: Auto-Stop when a game exits [Default]
Anything else: Stop whenever SK feels like it, including if the game crashes
22.4.9-NOCEGUI
==============
+ Added support for SwapChain-based MSAA when using Flip Model / HDR
(Chrono Cross is 8x MSAA by default, and works as intended now)
22.4.8.3-NOCEGUI
================
+ Changed SK's Injection Success Event to not signal if SKIF has explicitly
been configured not to stop injection.
+ Added Chrono Cross's launcher to internal injection blacklist
+ Fixed Flip Discard emulation discarding the wrong surface in fullscreen mode
22.4.8.2-NOCEGUI
================
+ Added XInputGetKeystroke (...) hook to correctly block input while SK's control panel
is active in games that use buffered-input for XInput rather than polling.
22.4.8.1-NOCEGUI
================
+ Changed behavior of Fullscreen + Borderless slightly, it now will always adjust both
the window size and framebuffer resolution.
* This is helpful for games that had odd-ball resolutions preventing flip model,
such as Final Fantasy XIV. But it's also a departure from previous design.
Because the Borderless + Fullscreen option now always matches window and framebuffer,
it may cause problems with games that have options for sub-native resolution windows.
>> You should turn SK's "Fullscreen" option off in those cases, or use SK's Display
menu instead to select a desktop resolution to run Borderless+Fullscreen.
+ Corrected long-standing issue in Horizon Zero Dawn where its Fullscreen mode would add
a window border rather than remove it when SK was used :)
22.4.8-NOCEGUI
==============
+ Created Plug-In for ELEX2 to speed file I/O (load screens) up by a factor of 100x
>> Not joking, load screens go from 2 minutes to instant.
22.4.7.2-NOCEGUI
================
+ Added proxy backbuffer surfaces for non-flip (D3D11) games to support fullscreen
22.4.7.1-NOCEGUI
================
+ Fixed D3D12 "Fullscreen Mode" (lol) in some games after Alt+Tab
22.4.7-NOCEGUI
==============
*** Portable Global Injection ***
Global Injection supports installing to arbitrary paths now, profiles and all
supporting assets will be loaded relative to the directory that SpecialK32.dll
and SpecialK64.dll are in.
You can keep entirely different installs of Special K if that's your thing, just
put SKIF and Special K's DLLs in their own directory :)
22.4.6.1-NOCEGUI
================
+ Fixed resource management crash in Death Stranding Director's Cut (D3D12)
+ Added an options dialog to turn on 'Force Windowed' mode or disable Flip Model
in games that fail to transition into / out of fullscreen exclusive (D3D11)
22.4.6-NOCEGUI
==============
+ Improved reliability of Fullscreen Exclusive workaround in D3D11.
=> Alt + Enter generally doesn't work for games that have had
Flip Model forced on, but mode changes requested from the
game's control panel should work.
22.4.4-NOCEGUI
==============
+ Added recovery mechanism for games that fail to correctly engage
Fullscreen Exclusive while DXGI Flip Model is enabled (D3D11)
+ Fixed HDR paper white setting not scaling correctly for Rec 709 luminance
22.4.3.1-NOCEGUI
================
+ New performance logging rules prevent RTSS from flooding logs with timer
resolution change messages
+ Changed initialization order for framerate limiter / scheduler to minimize
timing interference from third-party software
22.4.3-NOCEGUI
==============
+ Special K's local copies of XInput and dbghelp DLLs from System32 are now
checked to make sure they are the same version as the DLLs stored in System32,
and will update themselves otherwise.
+ Bypass software that may be setting per-process timer resolution higher (worse)
than intended via repeated calls to NtSetTimerResolution / timeBeginPeriod.
>> This -seems- to be a bug in Windows, because it should not be possible for
the timer resolution of a process to change while SK has these functions
nop'd.
* Fix is only applied while SK's framerate limiter is engaged, so always? ;)
22.4.2.2-NOCEGUI
================
+ Added a preference under the HDR Menu for SK's automatic HDR On/Off feature
+ HDR menu now shows in Control Panel for users with HDR capable displays running
on SDR desktop (previously it only showed if desktop HDR was enabled)
22.4.2.1-NOCEGUI
================
+ Code cleanup and race condition removal
+ AVX2 DLL size reduced, offers marginal gains, but free performance is always nice
>> Rename AVX2 DLL to simply SpecialK64.dll to use it instead of the normal SSE2 version.
22.4.2-NOCEGUI
==============
+ Slight improvements to 10-bpc SDR mode (D3D9/11/12)
+ Handle dummy window creation by third-party overlays and mods better,
so that they don't trigger assertion failures when SK can't figure out
which window is supposed to be handling input.
+ Added AVX2 version of Special K (64-bit), probably will not have much effect, but
I am curious :)
22.4.1.2-NOCEGUI
================
+ Added option to force 10-bpc in SDR (D3D9/D3D11/D3D12), stability not guaranteed
[Display.Output]
Force10bpcSDR=true ; Possibly broken game, hurray! :)
[ 10-bpc screenshots are not supported in D3D9 yet ]
+ Fixed a number of VSYNC related issues in D3D9 games
* Tooltip in control panel now reports correct values
* Forcing present interval 0 correctly turns off VSYNC (when fullscreen exclusive)
* Resolution, Format and VSYNC Overrides are applied at D3D9 device creation instead
of delaying them until the first device reset (Alt+Enter / Alt-Tab)
22.4.1.1-NOCEGUI
================
+ Fixed potential crash during shutdown in Tales of Arise
22.4.1-NOCEGUI
==============
+ Added additional device (integrated/discrete) GPU selection info to OpenGL-IK logs
+ Disable logging for deferred D3D11 contexts Twitch's overlay constantly creates
+ Fixed assertion failure triggered by some overlays when passing invalid shaders
+ Added CD Projekt launchers to internal blacklist
22.3.25.1-NOCEGUI
=================
+ Fixed HDR-related crash in Ghostwire: Tokyo (D3D12) from SwapChain readback
>> This game has non-defeatable HDR settings, you can bypass the game's HDR:
[Render.DXGI]
HideHDRSupport=true
22.3.25-NOCEGUI
===============
+ Added Epic Overlay HDR Color Correction and Luminance Control (D3D11)
22.3.22.1-NOCEGUI
=================
+ Added 15 frame initialization delay to Elden Ring plug-in to avoid
compatibility problems with Flawless Widescreen's framerate stuff
22.3.22-NOCEGUI
===============
+ Removed C++20 std::format usage from SK's ini parser for stability reasons
+ Handle a regression in Elden Ring 1.3.2 that uses the old button textures
>> Elden Ring PS4 button users must re-enable button mods from control panel
22.3.21.2-NOCEGUI
=================
+ Disable in-process SteamAPI achievement statistics fetch since achievement
popups are not implemented in NOCEGUI branch
22.3.21.1-NOCEGUI
=================
+ Control panel's overlay pause feature is now disabled by default
( compat hack for "Going Under" )
+ Changed CPU Widget driver install procedure to use SKIF
22.3.20-NOCEGUI
===============
+ Added support for SKIFsvc{64|32} to install/uninstall WinRing0
+ Added 7.5s timeout for RunDLL-based WinRing0 install
22.3.19-NOCEGUI
===============
+ Added 'Compact' FPS detail mode (see "OSD Settings" / "Basic Monitoring")
+ Cleanup plug-in ABI (missing / incorrectly named DLL exports)
22.3.18.2-NOCEGUI
=================
+ Update game speed memory pattern for Elden Ring 1.3.1
+ Elden Ring DualShock 4 controller users should open SK's control panel and
re-enable PS buttons.
>> This will delete the old texture and download the correct new one.
22.3.18-NOCEGUI
===============
+ Updated Elden Ring plug-in with new button texture hash and game speed code
+ Restored normal HDR Peak Luminance behavior for scRGB / ACES Filmic tonemaps
22.3.11.3-NOCEGUI
=================
+ Added extra logging for D3D12 SwapChain format issues during ImGui init
22.3.11.2-NOCEGUI
=================
+ Fixed OpenGL-IK DX/GL Interop Shader broken in 22.3.11
+ Fixed HDR in Life is Strange True Colors (D3D12)
+ Fixed Latent Sync causing crashes in some D3D12 "Fullscreen" games
22.3.11-NOCEGUI
===============
+ Added support for HDR override in Guardians of the Galaxy and Forza Horizon 5
22.3.7.1-NOCEGUI
================
+ Removed Restart option from File menu if Global Injection is not active
+ Changed ] and [ keybinds in D3D9 mod tools window to behave like D3D11
+ Fixed D3D9 Blocking Texture loads delaying more threads than intended
+ Added Initialize Texutre Mods to File menu for D3D9/12
22.3.7-NOCEGUI
==============
+ Added 64-bit Steam AppID support (non-Steam games launched via Steam)
+ Fixed accidental removal of Latent Sync keybind config logic
+ Partially restored D3D9 texture mod support
22.3.6-NOCEGUI
==============
+ Fixed SteamInputAppID not being set to 0 initially
+ Removed libScePad.dll resource dependency from project
+ Fixed wrong game speed value being written to Elden Ring INI
22.3.5-NOCEGUI
==============
+ Reduced D3D12 Copy Command Allocator overhead in Elden Ring
+ Testing alternate Thread Pool scheduling to fix 'EzWorkPool' dumping all
of its threads onto core 0/2 in Elden Ring
>> Set [SpecialK.System] GameOutput=false to opt-in
* Consult the Thread Widget to confirm 'Ez...' threads are being
distributed to different CPU cores.
22.3.4.3-NOCEGUI
================
+ Optimized overlapping D3D12 HDR / Texture Injection code that was activating for HDR
users without texture mods present
+ Elden Ring's Priority Inversion fix applies correct default state when toggled
22.3.4.2-NOCEGUI
================
+ Added in-game option to download and install PlayStation buttons in Elden Ring
+ Added HUD Toggle / Screenshot keybind settings to Elden Ring's control panel
22.3.4.1-NOCEGUI
================
+ Fixed recent changes to memory pattern scanning that caused NieR: Automata's
plug-in to scan past the end of commited executable memory
.1) Fixed the fix for NieR breaking Elden Ring, ugh.