Releases: NVIDIAGameWorks/rtx-remix
remix-1.2.4
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/changelog/remix-releasenotes.html
RTX Remix Runtime 1.2.4 Release Notes:
New Features
-
RTX Remix Particle System: Remix now includes a path-traced particle system, allowing for realistic VFX in over 165 games. Path tracing particles is a rarity in games, giving Remix particles the unique ability to cast real time lighting, shadows, and reflections. Remix supports two workflows for adding particles:
-
Make particles while you play: From the Game setup tab of the RTX Remix Runtime, tag any texture you see as a “Particle emitter”. Then, define global properties for particles to change how they animate (Rendering Tab > Particles). This is great for prototyping or implementing a handful of particles in your mod. See an example in this video.
Note: the texture driving the look of these particles will be the same texture emitting it.
-
Author particles in the Toolkit: Add particles to any prim, load particle systems from USDA files, a trail system for advanced visuals, and new controls for collisions, velocity, rotation, and color range. You can also adjust parameters directly through the GUI.
-
-
Change particles however you like: the look, size, quantity, light emission, and physics, including turbulence and gravity–It’s easy to start making particles, with a lot of controls to master.
-
Settings Clamping: We added support for clamping in RTX Options, which means developers can set valid ranges for settings. This prevents you from entering invalid or out-of-range values, making configuration safer and more user-friendly.
-
SPIR-V Shader Compilation: The shader compilation process now generates SPIR-V directly from Slang, enabling support for new shader functionalities like cooperative vector intrinsics for neural shading.
Performance and Memory Optimizations
- Improved Build Stability and Speed: We've improved Remix project build stability and reduced compilation times.
- Better Rendering Efficiency: The renderer now has more robust calculations, fixing several sources of invalid values throughout the pipeline.
- Efficient Resource Management: Remix now tracks replacements for instances and lights, which lays the groundwork for future features and more efficient resource management.
Image Quality & Compatibility
- Order-Independent Transparency: Remix now supports order-independent transparency, which greatly improves how it handles scenes with many overlapping, alpha-blended objects like smoke or foliage.
- Expanded Bloom Effect: You can now control the blooming radius (with the
rtx.bloom.steps
option) and we've increased the maximum number of bloom steps from 5 to 8, allowing for a wider, more expansive bloom filter effect. - Vertex Color Improvements: We've improved the vertex color support for the emissive channel.
- Vertex Capture Precision: We've improved vertex capture by performing the perspective divide earlier, significantly increasing precision in games that rely on vertex shaders. This makes new titles like OutRun 2006: Coast 2 Coast more compatible.
- System Information Logging: Remix log files now include system details (CPU, memory, OS, etc.) to help with various actions including diagnosing and categorizing user issues more effectively.
For Developers/Contributors
- Improved Shader Compilation Logging: Runtime shader compilation now outputs to
stdout
/stderr
, so you can see the output directly in the IDE debugger. - Unified Global Time System: A new unified global time system ensures consistent timing queries across the code.
Community Contributions
- Ignore Baked Vertex Color Lighting: Thanks to @watbulb (NVIDIAGameWorks/dxvk-remix#99), you can now ignore all baked vertex color lighting in vertex processing via the
rtx.conf
file (rtx.ignoreAllVertexColorBakedLighting
). This simplifies workflows for games with inconsistent baked lighting, removing the need to manually tag many textures.
Bug Fixes
-
Rendering Fixes:
- Fixed an issue where users couldn't create materials with controllable emissive parameters for alpha-blended objects.
- Fixed a bug where emissive materials from USD files would only be emissive at runtime if they specified a non-default intensity.
- Fixed an issue that prevented some texture categories from being applied.
- Fixed flickering artifacts and unexpected image scaling in certain games when DLSS-FG was enabled.
- Fixed an issue with volumetric atmosphere incorrectly centering around the origin instead of the camera.
- Fixed a bug where a BLAS (Bottom-Level Acceleration Structure) wouldn't update, causing geometry to remain fixed in place.
-
Stability & Crash Fixes:
- Fixed several rare crashes in the RTX Neural Radiance Cache, including a race condition and a regression where switching presets failed.
- Fixed a rare use-after-free bug related to replacement instance objects.
- Fixed a crash that could occur when a replacement light was overridden by an unrelated game light.
- Fixed a crash in a corner case where different draw calls shared the same object and transform.
- Fixed several Vulkan validation errors to improve stability.
- Fixed crashes in the light manager by ensuring the debugger UI doesn't access deleted lights.
- Fixed a crash when the number of replacement prims attached to a light changes.
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-1.1.0
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/changelog/remix-releasenotes.html
RTX Remix Runtime 1.1.0 Release Notes:
Improvements and extensions
- Created Contributing.md guide with information on how to effectively contribute. (NVIDIAGameWorks/dxvk-remix#70 by @anchorlightforge)
- Refactored and cleaned up RtxOptions to better support future RTX Remix features. Simplified and standardized the RtxOption API.
- Support external memory for dxvk buffers.
- Readded Runtime Shader Recompilation support.
- Added support to update BLAS (rather than build) where possible for better performance.
- Optimized memory and performance of BVH building by utilizing instancing.
- For lower VRAM GPUs, Opacity Micro-Map will now consume less VRAM
- Reparametrized NRC to tighten training dimensions and perform more practical number bounces during training.
- Added support to specify path to NRC CUDA DLL dependencies path for RTX Toolkit.
- Added animated water to disocclusion mask for RR, added blur support to it to handle instabilities on mask boundaries.
- Implemented Resource Aliasing GUI to help developers find resource aliasing opportunities. Aliased more resources saving additional 25MB at 1080p.
- Sorted texture hashes before storing them in rtx.conf for easier diffing.
- Extended Nan/Inf debug view to cover more resources and support accumulation.
- Extended Composite Debug Views to automatically generate composite debug views for all debug views.
- Added an additional ACES transform for a more precise conversion between color spaces.
- Migrated Bridge into the dxvk-remix repo.
- Migrated MDL files into the dxvk-remix repo.
- Added invalidation of volumetrics history buffer on camera cuts.
- Heterogeneous Fog/Noise Improvements.
- Made animated water with translucent materials work without a texture transform.
- Added DLAA to show in User Graphics Menu.
- Added a limit to max bones per vertex to improve skinning performance. There is a new config option rtx.limitedBonesPerVertex which defaults to 4.
Fixes
- Added Gitignore tests/rtx/dxvk_rt_testing/apics to remove them from git tracking both internally and externally. (NVIDIAGameWorks/dxvk-remix#81 by @xoxor4d)
- Documentation fixes (NVIDIAGameWorks/dxvk-remix#85 by @EliteCombineSoldier)
- Correct VirtualKeys parsing for custom keybinds. (NVIDIAGameWorks/dxvk-remix#95 by @skurtyyskirts)
- Path Termination Fixes. Fixed invalid direction samples being used to continue the path. Fixed Russian Roulette to take recent sampled direction's throughput into account.
- Fixed green corruption issue in SSS and optimized SSS textures.
- Removed verbose printing to improve Toolkit performance.
- Disabled Anti-Culling when free camera is activated to prevent artifacting as this mode is not supported.
- Fixed parsing of USD vertex color and vertex opacity attributes.
- Fixed Vulkan Validation Layer errors.
- Fixed resource aliasing bug when taking a screenshot via Developer Menu.
- Fixed incorrect secondary sky reflections in PSR
- Volumetric Attenuation Fixes. Fixed bugs with attenuation calculations. Fixed heterogeneous fog time scale.
- Fixed translated world space for atmospheric volumetrics.
- Fixed thread pool task result memory order for weakly-ordered systems.
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-1.0.0
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/remix-releasenote.html
RTX Remix Runtime 1.0.0 Release Notes:
DXVK:
- DLSS4: multi-frame frame generation, transformer model for ray reconstruction
- Neural Radiance Cache (NRC): a live-trained AI approach that estimates indirect light more accurately and performantly
- RTX Skin: ray traced subsurface scattering support, using the RTX Character Rendering SDK.
- RTX Volumetrics: higher quality volumetrics with more detailed light shafts. RTX Remix runtime now exposes variables to manipulate atmospheric characteristics, with presets (heavy fog, mist, smoke, etc.)
- Volumetric light intensity multiplier: enables modifying volumetric contribution on a per light basis. (Note that this is not a physically-based parameter and may cause odd visuals if the contribution is biased too far away from the original physical quantity.)
- New Texture streaming system: optimizes VRAM usage to maximize texture quality within the available video memory budget
- USD GeomPointInstancer support: reduces CPU cost for rendering many copies of a replacement mesh. This improves performance when rendering props like grass, where many instances of the same object are typically used.
- Various performance improvements and memory usage optimizations:
- Optimized memory and performance of BVH builds by utilizing instancing
- Limited max bones per vertex for skinned meshes
- Improved OMM budgeting to work better in scenarios using most of VRAM
- Added runtime normal compression for replacement assets to reduce memory usage
- Removed unnecessary resource allocations based on active graphics features
- Disabled rendering passes that are not needed for active graphics features
- More reuse of compatible resources' memory across different rendering passes
- Used VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR on lower memory GPUs
- Tweaked RTXDI quality settings for more performance when RayReconstruction is enabled
- Switched from host visible to device local allocations for mesh replacement buffers
- Optimized CPU cost of CreateSurfaceMaterial by caching and reusing RtSurfaceMaterial within the same frame
- Reused instance matching and projection decomposition to lower per instance CPU cost
- Improved Ray Reconstruction responsiveness with animated textures.
- Remix will now only prewarm shaders that are actually being used, improving shader compilation time at first launch. Note that this may lead to shader compile stalls when changing Remix options that require different shader permutations.
- Added asynchronous shader compilation functionality and a progress UI
- Updated NRD to 4.13 for better performance, sharper and more stable denoising
- animatedWaterTexture now works for translucent materials
- Fixed flickering in reflection & refraction rays that hit the sky
- Fixed incorrectly hidden meshes after hide / show is used in Usd Composer
- Added support for rays starting underwater or inside other translucent materials based on the game's fog state
- Fixed bugs with terrain and displace_out interactions
- Improved free camera keyboard turning controls
- Added max light intensity for light conversion
Bridge:
- Corrected an issue where inputs would sometimes not be forwarded.
- Added support for AddDirtyBox(), AddDirtyRect() and SetSoftwareVertexProcessing() API call forwarding.
- Corrected an issue where certain bridge messaging systems ignored that timeouts were disabled, which could cause timeout related crashes if the default value was too low for the host application.
- Corrected an issue where the bridge server or client could hang indefinitely when timeouts are disabled.
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.6.0
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/remix-releasenote.html
RTX Remix Runtime 0.6.0 Release Notes:
DXVK:
- Several CPU and GPU performance improvements
- Fixed crash and memory leaks when switching Ray Reconstruction on/off
- Added Remix API examples
- Quality improvements for skyboxes and DLSS
- UI option to enable/disable ray tracing is now exposed (NVIDIAGameWorks/dxvk-remix#32 by @watbulb)
- Fixed capture light positions for some games that use left-handed coordinate systems
- Allow overriding vertex and pixel shader versions independently (NVIDIAGameWorks/dxvk-remix#68 by @Xenthio)
- Stability and image quality improvements in NEE cache
- Fixed a crash on window focus change that caused a dialog box with an error message to pop up
- Enabled offsetting of the player model, allowing adjustments to the position of the shadow / reflection of the player model relative to the camera
- Improved bloom filter, to better preserve finer details
- Improved depth sorting with overlapping decals
- Enabled ray tracing and replacements for skybox geometry (part of NVIDIAGameWorks/dxvk-remix#73 by @KingDavidW)
- Fixed crash when toggling eye adaptation
- Added texture tag to ignore alpha channel (NVIDIAGameWorks/dxvk-remix#76 by @xoxor4d)
- Added yaw/pitch controls to free camera navigation (addresses NVIDIAGameWorks/dxvk-remix#534)
- Initial render target support, enables forwarding of rays through surfaces with render targets as textures (e.g., TV screens)
- Fixed geometry corruption in some shader-based games
Bridge:
- More robust winproc handling, fixes Remix menu not working in some games
- More robust DirectInput handling, addressing several issues with mouse and keyboard input
- Fixed bug causing full screen borderless windows to be placed off-center when using non-native resolutions
- Added support for Remix API forwarding through the bridge, enabling 32-bit games to use the Remix API (NVIDIAGameWorks/bridge-remix#12 by @xoxor4d)
- Server will now display a message box and exit gracefully on fatal error
- Compatibility fixes for dxwrapper DX7
- Addressed bug that caused some in-game screenshots to render black
- CPU performance improvements
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.5.4
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/remix-releasenote.html
RTX Remix Runtime 0.5.4 Release Notes:
DXVK:
- Fixed an issue that caused incorrect distant light orientation between captures and replacement assets. Note that this requires updates to existing data files, as the data contained in captures was incorrect. A tool is provided with the latest toolkit release to apply these corrections automatically.
- Fixed a use-after-free bug in descriptor set writes that caused GPU crashes and device lost errors
- Fixed a synchronization issue leading to GPU crashes and device lost errors when toggling eye adaptation
- Updated minimum required NVIDIA driver version to 560.81
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.5.1
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/remix-releasenote.html
RTX Remix Runtime 0.5.1 Release Notes:
DXVK:
- Fixed an issue preventing the Remix runtime from starting on AMD hardware with the latest Windows drivers
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.5.0
For the full release notes for RTX Remix, please visit https://docs.omniverse.nvidia.com/kit/docs/rtx_remix/latest/docs/remix-releasenote.html
RTX Remix Runtime 0.5.0 Release Notes:
DXVK:
- Added DLSS 3.5 Ray Reconstruction support
- Added the d3d8to9 wrapper to the runtime release
- Changes to texture tagging flow (NVIDIAGameWorks/dxvk-remix#49 by @xoxor4d)
- Improved vertex capture system
- Introduced dithering to local tonemapper and temporal accumulation to resolve visual artifacts
- Added config options to hide Remix splash banner and display custom welcome message on startup
- Added option to pass original game cubemaps to Remix backend for texture tagging (without rendering them)
- Added ability to ignore baked lighting associated with certain textures
- Added option to configure scene world space coordinate system (NVIDIAGameWorks/dxvk-remix#65 by @jdswebb)
- Adds option to use AABBs to differentiate instances (NVIDIAGameWorks/dxvk-remix#67 by @xoxor4d)
- Default to RT pipelines for RADV (NVIDIAGameWorks/dxvk-remix#63 @pixelcluster)
- Fix distant light orientation (NVIDIAGameWorks/dxvk-remix#66 by @mmdanggg2)
- Fixed issues with texture capture, capture stutter and capture corruption
Bridge:
- Enabled function logging in DebugOptimized builds
- Added "logServerCommands" option, which logs commands sent to the server in the bridge log file
- Added additional logging mode "logAllCommands", which logs both server commands as well as additional status information
- Improved build system reliability
- Added client-side validation for SetTransform calls
- Fixed issue that caused a deadlock when the client emits an API call with a null pointer as argument
- Fixed a bug that caused data queue corruption on queue overflow
- Disabled server timeouts to avoid terminating the bridge prematurely in certain cases
- Bridge client now closes down properly when the server unexpectedly terminates
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.4.1
RTX Remix Runtime 0.4.1 Release Notes:
DXVK:
- Fixed an issue where captures for many games were not showing correctly in Remix Toolkit.
- Fixed an issue where a captured scene was showing flipped upside down in Remix Toolkit.
- Fixed an issue in the Remix renderer that caused Remix Toolkit to crashes on unsupported hardware.
Bridge:
- Made a variety of changes that should further improve compatibility.
- Added new
sendCreateFunctionServerResponses
configuration option, which is enabled by default and improves stability during startup for many games. - Fixed an issue where the Bridge would crash or hang on startup due to multiple threads having access to shared data at the same time.
- Fixed an issue where the improper
MinSurfacePitch
value was used in a 32-bit build of the Bridge client, causing game crashes on some texture update operations. - Fixed an issue where the Bridge client filtered out calls to
CreateVertexDeclaration()
under certain conditions, which could lead to a game crash during subsequentSetVertexDeclaration()
calls. - Fixed an issue where the Bridge client would improperly initialize cached option values that it uses, potentially leading to mouse or keyboard input not working in the Remix user or developer menu UI.
How to Report an Issue:
Prerequisite: You need to have a (free) GitHub account
- Go the RTX Remix Github Issues page
- Click the green "New Issue" button
- Select the bug template (Runtime, Documentation, Toolkit, Feature Request) and click "Get Started"
- Fill out the form template, providing as much detailed information as you can, including attaching files and/or images
- Click the green "Submit new issue" to send a ticket directly to the RTX Remix Team!
Need to leave feedback about the RTX Remix Documentation? Click here!
remix-0.4.0
Notable changes since Remix 0.3.0:
DXVK:
- Fixed several capture-related issues.
- Fixed geometry corruption in shader-based games.
- Added texture sampler state capture support.
- Resolved an issue with sampler state overriding in the mod.
- Fixed a race condition causing crashes when loading scenes with no textures in HdRemix.
- Code improvements and bug fixes for Opacity Micromap.
- Fixed draw call corruption in cases of high CPU load.
- Simplified decal handling for better performance.
- Several stability fixes for DLSS-FG
- Removed the warning about assets not being production-ready.
- Fixed a bug preventing toolkit from adding replacements during instance capture.
- Moved doublesided flag to instance info for better handling.
- Added support for dome lights via the Remix SDK API.
- Prevented division by zero by clamping transmittance color.
- Added gamma correction to debug view for improved visualization.
- Improvements for anti-culling system for in-game lights
- Stability and performance improvements for terrain baking
- Improved and extended Parallax Occlusion Mapping support
- Updates and fixes for subsurface scattering support on thin surfaces
Bridge:
- Fixed command retry behavior in both the bridge server and client, which could have led to the game hanging forever.
- Also fixed a failure case where the client improperly gave up on trying to avoid a data queue override, which could lead to game crashes.
- Improved server behavior where now the DataQueue will only wait briefly instead of waiting for the server to catch up completely, which could cause game hangs or crashes.
- Fixed a corner case where the writer will overwrite data the reader hasn't read yet when the reader is exactly one circular buffer behind the writer. This could cause buffer corruption, leading to subsequent game crashes.
- Fixed issue with GetRenderTargetData() API response handling to make it safe for multithreading by using the same mechanism applied to other APIs to ensure thread safety.
remix-0.3.0
- Enhancements and Optimizations:
- DLSS 3.0 (Frame Generation) support comes to the RTX Remix runtime, with better stability and frame pacing
- Collapsed Capture UI when capturing is disabled:
- Prevents UI below the capture section from moving when toggling enhancements.
- Optimized Terrain Baking of Secondary PBR Textures via Shader Injection:
- Introduces changes related to texture baking and shader support.
- Included USD Folder in GitHub Artifacts
- Refactor Instance Categories for Toolkit Support:
- Refactors instance categories and texture tagging for toolkit support.
- SER and Graphics Pipeline:
- Implemented a coherence hint, boosting indirect pass performance by 2-8% in scenes with particles.
- Graphics Pipeline Optimization:
- Reworked ThreadPool for ~30% CPU time improvement on both CS and main sides
- Used a separate command list to process skinning dispatches, resulting in improved performance
- Combined hit shaders used for TraceRay dispatches into a single shader for optimization
- Updated legacy state handling in the D3D9 layer
- RTXIO Integration:
- Added multi-package support to RTXIO.
- Modified USD mod to work without loose image files.
- Cleaned up object references in RTXIO.
- Material Texture Budgeting:
- Implemented a budget for material textures. As users start to run out of VRAM, Remix will automatically reduce texture resolution to keep users within their budget.
- Moved texture caching to the texture manager.
- Implemented logic for dynamic mip dropping when the budget is full.
- Bug Fixes and Stability:
- Fixed Anti-Culling Bugs:
- Resolves corner cases in SAT and duplication issues in anti-culling.
- Modifies default settings slightly.
- Fixed a crash when dealing with replacements relating to skies in some scenarios
- Fixed heap corruption crashes in debug builds
- Updated USD to the latest version, resolving compatibility problems.
- Fixed Anti-Culling Bugs:
- Texture Handling Fixes:
- Fixed texture transform usage in the Opacity Micromap baker.
- Fixed incorrect Scratch Buffer alignment.
- Fully evicted cached memory after loading images.
- General Bug Fixes:
- Fixed recursive_copy.bat for paths with spaces.
- Fixed file naming format to follow DXVK and RTX shader format.
- Performance and Resource Management:
- Enhanced resource management by releasing terrain baker resources when terrain baking is not in use
- Texture Transform Tweaks:
- Optimized texture transform storage in surface structures, reducing footprint.
- Added warnings for unsupported texture transforms in Remix.
- Shader and Rendering Improvements:
- Implemented support for sky probes in games using shader-based rendering.
- Added support for Shader Model 2.0+ in the new terrain baking approach.
- Falls back to the previous compute shader approach for unsupported draw calls.
- Optimized shader compilation for better performance and reduced boot times
- Shader Handling and UI Rendering
- Improved shader performance by allocating vertex capture buffers in VID.
- Implemented a way for users to ignore object2world transforms for improved compatibility with shader based games.
- Implemented geometry hash for sky boxes.
- Implemented vertex shader hash as a hash component.
- Ensured UI rendering in draw calls that use shaders.
- Vertex Attribute Handling: Removed the need for the invertedUV attribute.
- Code Clean-up and Optimization:
- Made Remix leak- and circular reference-free.
- GPU Print Functionality:
- Added basic GPU print functionality.
- Supported printing of float4 values with one value per frame.
- Bridge Improvements:
- Enhancements and Optimizations:
- Added support for multithreaded devices and module level calls for games that use those D3D features.
- Added proper support for games that use CreateDeviceEx() function parameters.
- Added support for D3D Query() functions.
- Generally made things more thread safe for any multithreaded interactions between the bridge client and server components.
- Added alwaysCopyEntireStaticBuffer option to bridge.conf settings, which is off by default but can be used for certain games that don't follow the correct way of copying buffers during lock/unlock operations and require this workaround.
- We now ensure that when we use DirectInput for input capture we inject ourselves into the system libraries rather than a local copy that might exist in the game directory.
- We added GitHub Actions for per commit bridge builds to produce debug, debug optimized, and release packages. In most cases the release package should be used, but the other two can be helpful for logging additional information and creating crash dumps when trying to troubleshoot certain issues.
- Added extra logging to debug builds that help understand the nested command flow of longer D3D command sequences, which makes troubleshooting issues a lot easier.
- We also now log a list of the most recent client and server bridge commands in case of a crash to help with troubleshooting.
- Bug Fixes and Stability:
- Fixed various issues where the bridge was not handling D3D input or behaving the same way as the system D3D runtime, which led to changes in rendering behavior that could cause crashes, hangs, or visual glitches. As a result games will run much more stable now.
- Fixed an issue where a game might ask for an impossibly large buffer size to be copied. Now, in those situations, buffer size will be kept to a maximum limit.
- Fixed an edge case that could cause the bridge server to exit prematurely under certain circumstances.
- Fixed issues with reference counting for textures and surfaces, which could lead to instability and crashing.
- Fixed an issue where releasing a D3D volume with a parent texture could lead to a crash.
- Enhancements and Optimizations: