Features:
- Added Russian and Spanish translations
- Added keyboard shortcuts to toggle FPS or frame time overlay
- Added option to show date in overlay clock
- Added resolution and format info to statistics page
- Added checkbox list widget
uniform bool4 variable < ui_items = "First Component\0Second Component\0Third Component\0Fourth Component\0"; >;
- Added "ddx_coarse", "ddx_fine", "ddy_coarse" and "ddy_fine" intrinsics
- Added effect compile error when attempting to sample from texture that is also used as render target
- Added ReShade FX support for default arguments on functions
static const int SOME_CONSTANT = 3;
int my_func(int a, int b = 1, int c = SOME_CONSTANT + 1)
{
return a + b + c;
}
...
int res = my_func(0); // res = 5
- Changed pixel shader to be optional in pass definitions
- Improved performance of D3D12 mipmap generation (using single-pass downsampling technique)
- (Add-on support) Added "swapchain_desc::fullscreen_state" and "swapchain_desc::fullscreen_refresh_rate" to control fullscreen mode during swapchain creation
Bug fixes:
- Fixed crash on startup with GOG Galaxy overlay in Cyberpunk 2077 (and other D3D12 games using DLSS Frame Generation)
- Fixed anisotropic filtering in D3D9/OpenGL/Vulkan
- Fixed mipmap generation in passes with "SRGBWriteEnable"
- Fixed variables declared "const" with a non-constant initializer getting removed in generated HLSL/GLSL
- Fixed function parameter names in HLSL shader model 3 entry point generation
- Fixed missing component-wise conditional overloads for boolean vectors in GLSL code generation
- Fixed shader model 4 implementation of "tex2Dgather" intrinsics and cleaned up other atomic/texture intrinsics
- Fixed hang when encountering unbounded array function parameter
- Fixed technique toggle key not being reset on preset switch
- Fixed matrix uniform variables not being updated after value was changed in widget
- Fixed preset modification state after changing effect preprocessor definition
- Fixed duplicated effect compile errors when preprocessed source was cached
- Fixed OpenGL vertex arrays acting up with multiple OpenGL contexts
- Fixed incorrect code path chosen when attempting to resolve depth-stencil resource in Vulkan
- Fixed WinSock error state not being preserved
- (Add-on support) Fixed D3D9 cull mode conversion
- (Add-on support) Fixed D3D9 index buffer format (now sourced based on "resource_desc::buffer::stride")
- (Add-on support) Fixed duplicated "addon_event::map_texture_region"/"addon_event::unmap_texture_region" events in D3D9
- (Add-on support) Fixed crash when "IDirect3DDevice9::GetStreamSource" succeeds with no vertex buffer being bound
- (Add-on support) Fixed DXGI_USAGE_SHARED not being applied correctly when "addon_event::create_swapchain" event is used
- (Add-on support) Fixed D3D12 root signature being created with incorrect root parameters when there are static samplers
- (Add-on support) Fixed D3D12 texture update for mipmaps and block compressed data
- (Add-on support) Fixed D3D12 "command_list::push_descriptors" implementation on 32-bit
- (Add-on support) Fixed OpenGL pipeline creation without shaders
- (Add-on support) Fixed OpenGL uniform value to push constant conversion
- (Add-on support) Fixed OpenGL primitive topology not being updated on non-indexed draw calls
- (Add-on support) Fixed OpenGL texture swizzle not being taken into account for "addon_event::init_resource" events
- (Add-on support) Fixed out of order "gl[...]TexImage2D" cubemap face handling
- (Add-on support) Fixed OpenGL buffer storage flag conversion
- (Add-on support) Fixed OpenGL mipmap generation for non-2D textures
- (Add-on support) Fixed "addon_event::push_constants" potentially being called with invalid location value in OpenGL
- (Add-on support) Fixed "addon_event::push_descriptors" event potentially being called before the resource has been created in OpenGL
- (Add-on support) Fixed fill mode and sample mask not being updated with the right pipeline stage flags in OpenGL
- (Add-on support) Fixed usage flags of default OpenGL depth-stencil resource
- (Add-on support) Fixed OpenGL integer vertex attribute formats
- (Add-on support) Fixed OpenGL primitive topology update not setting patch vertex number when using patch topology
- (Add-on support) Fixed incorrect number of subresource data elements passed to "addon_event::create_resource"/"addon_event::init_resource" for mipmapped textures in OpenGL
Miscellaneous:
- Added support for imageless framebuffers in Vulkan (VK_KHR_imageless_framebuffer extension)
- Added support for more than two views in OpenXR
- Added tag for potentially reversed depth buffers to list in built-in Generic Depth add-on
- Changed loading bar at the top to be more compact after the initial load
- Changed environment variable name to disable OpenXR layer to include a layer version suffix
- Clarified message about errors in technique list
- Removed global config options to force windowed/fullscreen/refresh rate ("ForceWindowed", "ForceFullscreen", "ForceResolution", "ForceDefaultRefreshRate", "ForceVsync")
- (Add-on support) Added support for creating D3D9 textures with an unknown format
- (Add-on support) Added support for creating D3D9 offscreen surfaces
- (Add-on support) Added fake vertex and index buffer events for "IDirect3DDevice9::Draw(Indexed)PrimitiveUP"
- (Add-on support) Added support for D3D10/11/12 render target view creation from buffer resources
- (Add-on support) Added support for creating null descriptor resource views in D3D12
- (Add-on support) Added support for static samplers in pipeline layout creation in D3D12/Vulkan
- (Add-on support) Added "addon_event::bind_pipeline" event for OpenGL vertex attribute arrays
- (Add-on support) Added some missing formats to OpenGL attribute format conversion
- (Add-on support) Added separate OpenGL push constants range for unsigned integer values
- (Add-on support) Changed default pipeline primitive topology in pipeline creation to undefined
- (Add-on support) Changed "IDXGISwapChain::GetFullscreenState" to return forced fullscreen state when set by an add-on or config
- (Add-on support) Improved "command_list::bind_pipeline_states" implementation by batching related values for less graphics API calls
- (Add-on support) Improved handling of D3D9 A2M1, ATOC, RESZ and NULL driver hacks
- (Add-on support) Improved handling of non-conforming input layouts in D3D9/10/11/12
- (Add-on support) Improved handling of D3D11/12 raw buffer views
- (Add-on support) Improved handling of D3D11/12 read-only depth-stencil views
- (Add-on support) Improved Vulkan graphics pipeline libraries support
- (Add-on support) Removed fake resource and pipeline layout handles (mostly no more 0xFFFFFFFFFFFFFFFF handles)
- (Add-on support) Removed "resource_flags::structured" in favor of automatic deduction based on "resource_desc::buffer::stride"
Setup tool:
- Optimized total size of setup tool
- Improved text readability of setup tool in Windows high contrast mode
- Fixed no graphics API checkbox being checked in setup tool for applications using D3D10/11/12
- Changed OpenXR installation to be disabled by default always
- Changed cancel button to a skip button during effect and add-on selection
|