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