# Create the VkSurface on the first call to IDXGISwapChain::Present, # rather than when creating the swap chain. Some games that start # rendering with a different graphics API may require this option, # or otherwise the window may stay black. # # Supported values: True, False # dxgi.deferSurfaceCreation = False # d3d9.deferSurfaceCreation = False # Enforce a stricter maximum frame latency. Overrides the application # setting specified by calling IDXGIDevice::SetMaximumFrameLatency. # Setting this to 0 will have no effect. # # Supported values : 0 - 16 # dxgi.maxFrameLatency = 0 # d3d9.maxFrameLatency = 0 # Override PCI vendor and device IDs reported to the application. Can # cause the app to adjust behaviour depending on the selected values. # # Supported values: Any four-digit hex number. # dxgi.customDeviceId = 0000 # dxgi.customVendorId = 0000 # d3d9.customDeviceId = 0000 # d3d9.customVendorId = 0000 # Report Nvidia GPUs as AMD GPUs by default. This is enabled by default # to work around issues with NVAPI, but may cause issues in some games. # # Supported values: True, False # dxgi.nvapiHack = True # Override maximum amount of device memory and shared system memory # reported to the application. This may fix texture streaming issues # in games that do not support cards with large amounts of VRAM. # # Supported values: Any number in Megabytes. # dxgi.maxDeviceMemory = 0 # dxgi.maxSharedMemory = 0 # Override back buffer count for the Vulkan swap chain. # Setting this to 0 or less will have no effect. # # Supported values: Any number greater than or equal to 2. # dxgi.numBackBuffers = 0 # Overrides synchronization interval (Vsync) for presentation. # Setting this to 0 disables vertical synchronization entirely. # A positive value 'n' will enable Vsync and repeat the same # image n times, and a negative value will have no effect. # # Supported values: Any non-negative number # dxgi.syncInterval = -1 # d3d9.presentInterval = -1 # Enables the mailbox present mode in case regular Vsync is disabled. # This should avoid tearing, but may be unsupported on some systems # or require setting dxgi.numBackBuffers to a higher value in order # to work properly. Please do not report issues with this option. # # Supported values: True, False # dxgi.tearFree = False # Performs range check on dynamically indexed constant buffers in shaders. # This may be needed to work around a certain type of game bug, but may # also introduce incorrect behaviour. # # Supported values: True, False # d3d11.constantBufferRangeCheck = False # Assume single-use mode for command lists created on deferred contexts. # This may need to be disabled for some applications to avoid rendering # issues, which may come at a significant performance cost. # # Supported values: True, False # d3d11.dcSingleUseMode = True # Override the maximum feature level that a D3D11 device can be created # with. Setting this to a higher value may allow some applications to run # that would otherwise fail to create a D3D11 device. # # Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1 # d3d11.maxFeatureLevel = 11_1 # Overrides the maximum allowed tessellation factor. This can be used to # improve performance in titles which overuse tessellation. # # Supported values: Any number between 8 and 64 # d3d11.maxTessFactor = 0 # Enables relaxed pipeline barriers around UAV writes. # # This may improve performance in some games, but may also introduce # rendering issues. Please don't report bugs with the option enabled. # # Supported values: True, False # d3d11.relaxedBarriers = False # Overrides anisotropic filtering for all samplers. Set this to a positive # value to enable AF for all samplers in the game, or to 0 in order to # disable AF entirely. Negative values will have no effect. # # Supported values: Any number between 0 and 16 # d3d11.samplerAnisotropy = -1 # d3d9.samplerAnisotropy = -1 # Declares vertex positions as invariant in order to solve # potential Z-fighting issues at a small performance cost. # # Supported values: True, False # d3d11.invariantPosition = False # d3d9.invariantPosition = False # Replaces NaN outputs from fragment shaders with zeroes for floating # point render target. Used in some games to prevent artifacting. # # Supported values: True, False # d3d11.enableRtOutputNanFixup = False # Clears workgroup memory in compute shaders to zero. Some games don't do # this and rely on undefined behaviour. Enabling may reduce performance. # # Supported values: True, False # d3d11.zeroWorkgroupMemory = False # Sets number of pipeline compiler threads. # # Supported values: # - 0 to automatically determine the number of threads to use # - any positive number to enforce the thread count # dxvk.numCompilerThreads = 0 # Toggles raw SSBO usage. # # Uses storage buffers to implement raw and structured buffer # views. Enabled by default on hardware which has a storage # buffer offset alignment requirement of 4 Bytes (e.g. AMD). # Enabling this may improve performance, but is not safe on # hardware with higher alignment requirements. # # Supported values: # - Auto: Don't change the default # - True, False: Always enable / disable # dxvk.useRawSsbo = Auto # Toggles early discard. # # Uses subgroup operations to determine whether it is safe to # discard fragments before the end of a fragment shader. This # is enabled by default on all drivers except RADV and Nvidia. # Enabling this may improve or degrade performance depending # on the game and hardware, or cause other issues. # # Supported values: # - Auto: Don't change the default # - True, False: Always enable / disable # dxvk.useEarlyDiscard = Auto # Sets enabled HUD elements # # Behaves like the DXVK_HUD environment variable if the # environment variable is not set, otherwise it will be # ignored. The syntax is identical. # dxvk.hud = # Reported shader model # # The shader model to state that we support in the device # capabilities that the applicatation queries. # # Supported values: # - 1: Shader Model 1 # - 2: Shader Model 2 # - 3: Shader Model 3 # d3d9.shaderModel = 3 # Evict Managed on Unlock # # Decides whether we should evict managed resources from # system memory when they are unlocked entirely. # # Supported values: # - True, False: Always enable / disable # d3d9.evictManagedOnUnlock = False # DPI Awareness # # Decides whether we should call SetProcessDPIAware on device # creation. Helps avoid upscaling blur in modern Windows on # Hi-DPI screens/devices. # # Supported values: # - True, False: Always enable / disable # d3d9.dpiAware = True # Strict Constant Copies # # Decides whether we should always copy defined constants to # the UBO when relative addresssing is used, or only when the # relative addressing starts a defined constant. # # Supported values: # - True, False: Always enable / disable # d3d9.strictConstantCopies = False # Strict Pow # # Decides whether we have an opSelect for handling pow(0,0) = 0 # otherwise it becomes undefined. # # Supported values: # - True, False: Always enable / disable # d3d9.strictPow = True # Lenient Clear # # Decides whether or not we fastpath clear anyway if we are close enough to # clearing a full render target. # # Supported values: # - True, False: Always enable / disable # d3d9.lenientClear = False # Max available memory # # Changes the max initial value used in tracking and GetAvailableTextureMem # Value in Megabytes # # Supported values: # - Any int32_t # d3d9.maxAvailableMemory = 4096 # Force enable/disable floating point quirk emulation # # Force toggle anything * 0 emulation # Tristate # Supported values: # - True/False # d3d9.floatEmulation = # Enable dialog box mode # # Changes the default state of dialog box mode. # *Disables* exclusive fullscreen when enabled. # # Supported values: # - True, False: Always enable / disable # d3d9.enableDialogMode = False # Overrides the application's MSAA level on the swapchain # # Supported values: -1 (application) and 0 to 16 (user override) # d3d9.forceSwapchainMSAA = -1 # Long Mad # # Should we make our Mads a FFma or do it the long way with an FMul and an FAdd? # This solves some rendering bugs in games that have z-pass shaders which # don't match entirely to the regular vertex shader in this way. # # Supported values: # - True/False # d3d9.longMad = False