Features:
- Added builtin add-on that synchronizes preset between effect runtime instances/windows (this is enabled in VR by default, so that changes in the desktop window are automatically synchronized to VR)
- Added Korean translation
- Added option to show current preset name in OSD window
- Added "create_pipeline_layout" add-on event
- Added "set_fullscreen_state" add-on event
- Added options to filter by custom width and height or format to generic depth add-on
- Added anisotropic texture filtering (needs to be combined with e.g. "tex2Dgrad" or custom vertex shaders of course)
Bug fixes:
- Fixed HLSL/GLSL code generation for constant arrays duplicating the array data on every access
- Fixed GLSL layout qualifier image format for 32-bit unsigned integer textures
- Fixed crash when encountering division by zero in preprocessor expression
- Fixed crash in D3D12 due to attempt of unlocking mutex that was not locked before
- Fixed crash due to potential "AddRef" call on destroyed resource
- Fixed "End" key state updates
- Fixed code editor undo/redo/deletion selection
- Fixed repeated runtime reset if "IDXGISwapChain3::SetColorSpace1" is called every frame (e.g. in World of Warcraft)
- Fixed deadlock in "ID3D11DeviceContext::ClearDepthStencilView" with generic depth add-on
- Fixed Vulkan timestamp frequency calculation
- Fixed resource creation succeeding in Vulkan if initial data upload failed
- Fixed nullptr descriptor heap being set in D3D12 when "bind_descriptor_tables" is called with zero tables and there was no heap before
- Fixed D3D12 "clear_unordered_access_view_uint/float" with typeless resource
- Fixed "init_pipeline" add-on event not being called in D3D12 applications not using "ID3D12Device2" or higher
- Fixed independent blend value in D3D10/11/12 blend state creation
- Fixed D3D12 root descriptor handling
- Fixed pipeline creation failing in D3D10/11/12 when using certain dynamic states
- Fixed "create_pipeline"/"init_pipeline" add-on event being called with zero shaders in some cases
- Fixed resource creation failing in D3D12 when format was changed by an add-on and optimized clear value was passed in
Miscellaneous:
- Updated imgui to 1.90.4 (add-ons may now use 1.90.0-4, 1.89.7 or 1.86)
- Increased font size maximum to 64
- Added support for "ID3D12Device14" and "ID3D12GraphicsCommandList10"
- Added limit to number of effect loading threads in 32-bit, to reduce likelihood of out of memory situations
- Changed texture creation to clear render target textures using clear command instead of initial data to avoid big memory allocations
- Changed file selection dialog to not show hidden files and directories
- Changed preprocessor to not evaluate expressions or check syntax in disabled code
- Changed add-on API for descriptor types to split SRV/UAV in separate types for buffer/texture views
- Changed "effect_runtime::set_current_preset_path" to trigger add-on events
- Changed "effect_runtime::set_current_preset_path" to always reload preset when it is called in case the preset was modified on disk
Setup tool:
- Added dedicated back button
- Added effect installation for add-on packages
- Added add-on deletion to setup tool uninstallation
- Changed add-on page description to clarify potential compatibility issues of add-ons
- Fixed effect package/add-on download failing if there are many temporary files
- Fixed application list no longer being focused by default
- Fixed unhandled exception when target executable has invalid import directory entries
|