Releases: megai2/d912pxy
Release v1.6
Changelog
Optimized multithreaded GPU write code, this should make replay_threads > 1 configs more viable (AMD rejoice!)
Optimized out batching when no data is written on GPU (less GPU usage)
Extended RTV & DSV heaps, to fix out of slots crash (your 69 characters are safe now =])
Fixed hang due to texture-surface ref counting going out of order
Added new NaN guard flags in config to fix NRM opcode behaivour (fixes that dirty spring snow in BnS, and maybe even more)
Fixed some instability in BnS (probably including prem effects crash)
Changed perf_graph results, now it shows statistics in stacked up image that consists of dx9 and dx12 results.
Updated shader profiles for GW2, shader profiles and cache for BnS.
Extra
Do clean install on this release due to shader related pck and config update.
Thanks for Jojo and Alrai for shader profiles and cache.
Release v1.5
Summary
-Fixed shadows in BnS
-Fixes related to BnS GPU crashes
-General crashfixes
-Optimized GPU-CPU transfers
-Optimized DUP calls
Note: Do a clean install with this update.
Detailed changelog
-Fixed memory leak in com deallocation
-Silenced up some error messages
-GPU crashfix in DUP calls
-GPU crashfix in thread ref logic
-Added force crash on vfs file IO error at startup
-DEPTH semantic implementation for HLSL generator
-Improved RCE code to include more IA entry types
-Fixed cull render state
-Crashfixes in com ref counting
-Fixed GPU execute wait crash
-Updated default shader profiles & cache for BnS
-Optimized GPU upload code
-Optimized DUP calls
Special thanks
apitrace - for providing good method to trace down things on dx9
Ehren Eugen - for troubleshooting BnS GPU crash
Release v1.4
Changelog:
-Optimized reduntant state set calls (BnS renderer)
-Fixed some frame/thread transition errors (visual corruption/flicker)
-dx9 mode perf graph now writes data to disk every 5 minutes
-Improved debug logging
-Crashfix in DUP DPI buffer allocation (BnS UI renderer)
-Added placed resource approach for surfaces/textures (that is optional)
-Added TDR crash logging and reg files to switch TdrDelay at will (BnS load screen crash)
Release v1.3.1 hotfix #2
Changelog:
-Fixed CPU over utilization
-Added VRAM usage counter to metrics
-Fixed GPU crash with surface_ctor=1
-Lowered default BnS config RAM usage
-Fixed draw up GPU crash
Release v1.3
Changelog:
-Fixed screenshot crash in BnS (may depend on GPU driver)
-Fixed some GPU crashes related to overlay/BnS
-Fixed GPU crash related to offscreen surface rendering
-Fixed visual bug related to texture filtering mode
-Fixed visual bug from wrong HLSL precision (black squares on shadow in gw2)
-Tweaked default config to save some RAM usage
-Added custom config for high power rigs (for Gw2 only, rename/copy gw2_hiend_config.ini to config.ini)
-Tweaked thread wake factors to cut some CPU waits
-Switched GPU write to lockfree algorithm when replay_threads > 1. (currently it will heavily load GPU)
-Optmized out some unused upload memory
-Fixed shader profile application and improved PCF profile collection
-Added config option to disable GPU object residency manipulation
-Allowed >4Gb vstream and upload pools
Note: Do a clean install with this update.
Release v1.2
Changelog:
-Fixed transparency issues in BnS
-Fixed StateSafeFlush to prevent artifacts/garbadge on screen when hiting batch limit (most notable in BnS)
-Allowed more than 4 Gb pool limits
-Added extra config option to force object residency (for stutter-free configs)
-Buffered DUP vstream objects to improve performance (0,4ms cut)
-Some crashfixes/GPU crashfixes
Release v1.1
General changes
1. Object layout and COM representation low level optimization
In summary this pushed API overhead cut to almost 90%
2. Page-aligned memory allocation for COM objects and GPU host memory
This proved to fix some memory fragmentation problems lowering extra memory commission
3. Global objects lookup change
This change lowered summary CPU time usage on whole project,
but opened up some parallelism problems on replay threads more than 1,
effectively showing parts to improve.
Memory usage and pooling
1. Upload memory is now filled tightly, without extra 64kb aligment
This lowered shared GPU memory usage, bandwith and object creation times, what gived less stutter on dynamic scenes.
2. Fixed a BIG bug in texture memory size calculations
This lowered memory usage in textures by ~75%
3. Added per draw replay items configuration
This can be usefull if you want to cut persistent memory usage.
4. Pooling config for vertex streams and upload memory is changed
Now it is using plain megabyte values instead of per group limits.
Visual fixes
1. Added big pack of shader profiles for Gw2
Give a big thanks to Alrai as this pack should fix many problems with reflections in water
2. Added various optional HLSL recompilation switches
By default that switches configured to fix some visual bugs (like a Skyscale horns) with low performance impact
Still they give ability to cut more bugs if found.
3. Fixed occlusion culling flicker
Occlusion queryes will work only with 1 replay thread.
Due to nature of dx12 they will cut overall performance if enabled!
Support for "Blade and Soul"
HLSL recompilation switches and upload memory usage improvements fixed most problems with Blade and Soul renderer.
Currently there is still 0.4-1ms frame time improvement window, but overall things work good.
Read wiki page on installing: https://github.com/megai2/d912pxy/wiki/Installing-for-Blade-&-Soul
Special thanks
BnS version testing and shader profiles collection: HGI.
Gw2 fx bugs debugging: Alrai.
Release v1.0 Hotfix #1
Changelog:
-fixed startup crash in occlusion query code
Release v1.0
Summary changelog from "Beta v0.9.9"
-Visual fixes
-Added memory alloc retry and logging
-Added bunch of debugging tools related to memory managing
-Fixed memleak in surface code
-Crashfix in fixed pipeline draw calls
-Replace ps and pb builds with config.ini options
-Partly offloaded GPU write code to replay thread
-Changed output of perf graphs to html files
-Fixed black pieces on mount models(for Skyscale at least)
-Optimized memory allocation a bit
-Optimized PSO cache memory bandwith
-Crashfix in triangle fan skip code
Visual bugs aid:
-HLSL generator fixes & improvements
-DX9 PSO realtime check support (optional)
-Occlusion query implementation (optional)
-CommitBatch2 for more complex drawing
-DrawUP/DrawIndexedUP improvements/implementation
-MinVertexIndex usage implemenation
Optimizations:
-CommitBatch optimization
-Zero write render target optimization
-HLSL generator in-memory compile
-CPU based API reduction code (optional)
Additional:
Basic support for Blade & Soul
Note:
This release need a clean install.
Special thanks:
to AlraiLux for testing/tinkering with latest occlusion code
Beta v0.9.9.4 / RC 1
Changelog:
Visual bugs aid
-HLSL generator fixes & improvements
-DX9 PSO realtime check support (optional)
-Occlusion query implementation (currently slow & optional)
-CommitBatch2 for more complex drawing
-DrawUP/DrawIndexedUP improvements/implementation
-MinVertexIndex usage implemenation
Optimizations
-CommitBatch optimization
-Zero write render target optimization
-HLSL generator in-memory compile
-CPU based API reduction code (optional)
Basic support for Blade & Soul