dxvk.conf 13.8 KB
Newer Older
castro-fidel's avatar
castro-fidel committed
1
# Create the VkSurface on the first call to IDXGISwapChain::Present,
Mikhail Tergoev's avatar
Mikhail Tergoev committed
2 3 4
# 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.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
5
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
6 7 8 9 10 11 12 13 14
# 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.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
15
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
16 17
# Supported values : 0 - 16

Mikhail Tergoev's avatar
Mikhail Tergoev committed
18 19
# dxgi.maxFrameLatency = 1
# d3d9.maxFrameLatency = 1
castro-fidel's avatar
castro-fidel committed
20 21 22 23 24 25 26

# Enables frame rate limiter. The main purpose of this is to work around
# bugs in games that have physics or other simulation tied to their frame
# rate, but do not provide their own limiter.
#
# Supported values : Any non-negative integer

27 28
dxgi.maxFrameRate = 240
d3d9.maxFrameRate = 240
Mikhail Tergoev's avatar
Mikhail Tergoev committed
29 30 31 32 33 34 35


# 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.

castro-fidel's avatar
castro-fidel committed
36 37
dxgi.customDeviceId = 222F
dxgi.customVendorId = 10de
Mikhail Tergoev's avatar
Mikhail Tergoev committed
38

castro-fidel's avatar
castro-fidel committed
39 40
# d3d9.customDeviceId = 222F
# d3d9.customVendorId = 10de
Mikhail Tergoev's avatar
Mikhail Tergoev committed
41

castro-fidel's avatar
castro-fidel committed
42 43

# Override the reported device description
Mikhail Tergoev's avatar
Mikhail Tergoev committed
44
#
castro-fidel's avatar
castro-fidel committed
45 46 47 48 49
# Supported values: Any string.

# dxgi.customDeviceDesc = ""
# d3d9.customDeviceDesc = ""

Mikhail Tergoev's avatar
Mikhail Tergoev committed
50 51 52 53 54 55 56 57 58 59 60 61


# 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


castro-fidel's avatar
castro-fidel committed
62 63 64 65 66 67 68 69 70
# Some games think we are on Intel given a lack of NVAPI or
# AGS/atiadlxx support. Report our device memory as shared memory,
# and some small amount for a "carveout".

# Supported values: True, False

# dxgi.emulateUMA = False


Mikhail Tergoev's avatar
Mikhail Tergoev committed
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
# 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
# d3d9.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

87 88
# dxgi.syncInterval = 0
# d3d9.presentInterval = 0
Mikhail Tergoev's avatar
Mikhail Tergoev committed
89 90 91 92 93


# True 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
Mikhail Tergoev's avatar
Mikhail Tergoev committed
94
# to work properly.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
#
# False enables the relaxed fifo present mode in case regular Vsync is enabled.
# This should result in tearing but reduce stutter if FPS are too low,
# but may be unsupported on some systems.
#
# Please do not report issues with this option.
#
# Supported values: Auto, True, False

# dxgi.tearFree = Auto
# d3d9.tearFree = Auto


# 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.
#
castro-fidel's avatar
castro-fidel committed
121
# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1, 12_0, 12_1
Mikhail Tergoev's avatar
Mikhail Tergoev committed
122

castro-fidel's avatar
castro-fidel committed
123
# d3d11.maxFeatureLevel = 12_1
Mikhail Tergoev's avatar
Mikhail Tergoev committed
124 125 126 127


# Overrides the maximum allowed tessellation factor. This can be used to
# improve performance in titles which overuse tessellation.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
128
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
129 130
# Supported values: Any number between 8 and 64

Mikhail Tergoev's avatar
Mikhail Tergoev committed
131
# d3d11.maxTessFactor = 16
Mikhail Tergoev's avatar
Mikhail Tergoev committed
132 133 134


# Enables relaxed pipeline barriers around UAV writes.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
135
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
136 137 138 139 140 141 142 143
# 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


castro-fidel's avatar
castro-fidel committed
144 145 146 147 148 149 150 151 152 153
# Ignores barriers around UAV writes from fragment shaders.
#
# 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.ignoreGraphicsBarriers = False


Mikhail Tergoev's avatar
Mikhail Tergoev committed
154 155 156
# 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.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
157
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
158 159 160 161 162 163
# Supported values: Any number between 0 and 16

# d3d11.samplerAnisotropy = -1
# d3d9.samplerAnisotropy = -1


castro-fidel's avatar
castro-fidel committed
164 165 166 167 168 169 170 171 172 173
# Changes the mipmap LOD bias for all samplers. The given number will be
# added to the LOD bias provided by the application, rather than replacing
# it entirely. Positive values will reduce texture detail, while negative
# values may increase sharpness at the cost of shimmer.
#
# Supported values: Any number between -2.0 and 1.0

# d3d11.samplerLodBias = -0.3


Mikhail Tergoev's avatar
Mikhail Tergoev committed
174 175 176 177 178 179
# Declares vertex positions as invariant in order to solve
# potential Z-fighting issues at a small performance cost.
#
# Supported values: True, False

# d3d11.invariantPosition = True
castro-fidel's avatar
castro-fidel committed
180
# d3d9.invariantPosition = True
Mikhail Tergoev's avatar
Mikhail Tergoev committed
181 182


castro-fidel's avatar
castro-fidel committed
183 184
# Forces the sample count of all textures to 1, and performs
# the needed fixups in resolve operations and shaders.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
185 186 187
#
# Supported values: True, False

castro-fidel's avatar
castro-fidel committed
188
# d3d11.disableMsaa = False
Mikhail Tergoev's avatar
Mikhail Tergoev committed
189 190 191 192 193 194 195 196 197 198


# 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


castro-fidel's avatar
castro-fidel committed
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
# Resource size limit for implicit discards, in kilobytes. For small staging
# resources mapped with MAP_WRITE, DXVK will sometimes allocate new backing
# storage in order to avoid GPU synchronization, so setting this too high
# may cause memory issues, setting it to -1 disables the feature.

# d3d11.maxImplicitDiscardSize = 256


# Resource size limit for buffer-mapped dynamic images, in kilobytes.
# A higher threshold may reduce memory usage and PCI-E bandwidth in
# some games, but may also increase GPU synchronizations. Setting it
# to -1 disables the feature.

# d3d11.maxDynamicImageBufferSize = -1


# Allocates dynamic resources with the given set of bind flags in
# cached system memory rather than uncached memory or host-visible
# VRAM, in order to allow fast readback from the CPU. This is only
# useful for buggy applications, and may reduce GPU-bound performance.
#
# Supported values: Any combination of the following:
# - v: Vertex buffers
# - i: Index buffers
# - c: Constant buffers
# - r: Shader resources
# - a: All dynamic resources

# d3d11.cachedDynamicResources = ""


# Force-enables the D3D11 context lock via the ID3D10Multithread
# interface. This may be useful to debug race conditions.
#
# Supported values: True, False

# d3d11.enableContextLock = False


Mikhail Tergoev's avatar
Mikhail Tergoev committed
238
# Sets number of pipeline compiler threads.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
239
#
castro-fidel's avatar
castro-fidel committed
240 241 242 243
# If the graphics pipeline library feature is enabled, the given
# number of threads will be used for shader compilation. Some of
# these threads will be reserved for high-priority work.
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
244
# Supported values:
castro-fidel's avatar
castro-fidel committed
245
# - 0 to use all available CPU cores
Mikhail Tergoev's avatar
Mikhail Tergoev committed
246 247 248 249 250 251
# - any positive number to enforce the thread count

# dxvk.numCompilerThreads = 0


# Toggles raw SSBO usage.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
252
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
253 254 255 256 257
# 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.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
258
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
259 260 261 262 263 264 265
# Supported values:
# - Auto: Don't change the default
# - True, False: Always enable / disable

# dxvk.useRawSsbo = Auto


castro-fidel's avatar
castro-fidel committed
266
# Controls graphics pipeline library behaviour
Mikhail Tergoev's avatar
Mikhail Tergoev committed
267
#
castro-fidel's avatar
castro-fidel committed
268 269 270
# Can be used to change VK_EXT_graphics_pipeline_library usage for
# debugging purpose. Doing so will likely result in increased stutter
# or degraded performance.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
271
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
272
# Supported values:
castro-fidel's avatar
castro-fidel committed
273 274 275
# - Auto: Enable if supported, and compile optimized pipelines in the background
# - True: Enable if supported, but do not compile optimized pipelines
# - False: Always disable the feature
Mikhail Tergoev's avatar
Mikhail Tergoev committed
276

castro-fidel's avatar
castro-fidel committed
277
# dxvk.enableGraphicsPipelineLibrary = Auto
Mikhail Tergoev's avatar
Mikhail Tergoev committed
278 279


castro-fidel's avatar
castro-fidel committed
280
# Controls pipeline lifetime tracking
Mikhail Tergoev's avatar
Mikhail Tergoev committed
281
#
castro-fidel's avatar
castro-fidel committed
282 283 284
# If enabled, pipeline libraries will be freed aggressively in order
# save memory and address space. Has no effect if graphics pipeline
# libraries are not supported or disabled.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
285 286
#
# Supported values:
castro-fidel's avatar
castro-fidel committed
287 288 289
# - Auto: Enable tracking for 32-bit applications only
# - True: Always enable tracking
# - False: Always disable tracking
Mikhail Tergoev's avatar
Mikhail Tergoev committed
290

castro-fidel's avatar
castro-fidel committed
291
# dxvk.trackPipelineLifetime = Auto
Mikhail Tergoev's avatar
Mikhail Tergoev committed
292 293 294


# Sets enabled HUD elements
Mikhail Tergoev's avatar
Mikhail Tergoev committed
295
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
296 297 298 299
# Behaves like the DXVK_HUD environment variable if the
# environment variable is not set, otherwise it will be
# ignored. The syntax is identical.

Mikhail Tergoev's avatar
Mikhail Tergoev committed
300
# dxvk.hud =
Mikhail Tergoev's avatar
Mikhail Tergoev committed
301 302 303 304 305 306


# Reported shader model
#
# The shader model to state that we support in the device
# capabilities that the applicatation queries.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
307
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
308 309 310 311 312 313 314 315 316
# Supported values:
# - 1: Shader Model 1
# - 2: Shader Model 2
# - 3: Shader Model 3

# d3d9.shaderModel = 3


# DPI Awareness
Mikhail Tergoev's avatar
Mikhail Tergoev committed
317
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
318 319 320 321 322 323 324 325 326 327 328
# 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
Mikhail Tergoev's avatar
Mikhail Tergoev committed
329
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
330 331 332 333 334 335 336 337 338 339 340
# Decides whether we should always copy defined constants to
# the UBO when relative addressing is used, or only when the
# relative addressing starts a defined constant.
#
# Supported values:
# - True, False: Always enable / disable

# d3d9.strictConstantCopies = False


# Strict Pow
Mikhail Tergoev's avatar
Mikhail Tergoev committed
341
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370
# 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:
# - Max Available Memory: Any int32_t
# - Memory Tracking Testing: True, False

castro-fidel's avatar
castro-fidel committed
371
# d3d9.maxAvailableMemory = 4096
Mikhail Tergoev's avatar
Mikhail Tergoev committed
372
# d3d9.memoryTrackTest = False
Mikhail Tergoev's avatar
Mikhail Tergoev committed
373 374 375


# Force enable/disable floating point quirk emulation
castro-fidel's avatar
castro-fidel committed
376
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
377
# Force toggle anything * 0 emulation
castro-fidel's avatar
castro-fidel committed
378
# Setting it to True will use a faster but less accurate approach that works for most games.
Mikhail Tergoev's avatar
Mikhail Tergoev committed
379
# Supported values:
castro-fidel's avatar
castro-fidel committed
380 381 382 383
# - True: Use a faster but less accurate approach. Good enough for most games
# - False: Disable float emulation completely
# - Strict: Use a slower but more correct approach. Necessary for some games
# - Auto: DXVK will pick automatically
Mikhail Tergoev's avatar
Mikhail Tergoev committed
384

Mikhail Tergoev's avatar
Mikhail Tergoev committed
385
# d3d9.floatEmulation = Auto
Mikhail Tergoev's avatar
Mikhail Tergoev committed
386 387 388 389 390 391 392 393 394 395 396 397 398


# 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
castro-fidel's avatar
castro-fidel committed
399
#
Mikhail Tergoev's avatar
Mikhail Tergoev committed
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444
# 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

# Device Local Constant Buffers
#
# Enables using device local, host accessible memory for constant buffers in D3D9.
# This tends to actually be slower for some reason on AMD,
# and the exact same performance on NVIDIA.
#
# Supported values:
# - True/False

# d3d9.deviceLocalConstantBuffers = False

# No Explicit Front Buffer
#
# Disables the front buffer
#
# Supported values:
# - True/False

# d3d9.noExplicitFrontBuffer = False

# Support DF formats
#
# Support the vendor extension DF floating point depth formats
#
# Supported values:
# - True/False

# d3d9.supportDFFormats = True

castro-fidel's avatar
castro-fidel committed
445 446 447 448 449 450 451 452 453
# Use D32f for D24
#
# Useful for reproducing AMD issues on other hw.
#
# Supported values:
# - True/False

# d3d9.useD32forD24 = False

Mikhail Tergoev's avatar
Mikhail Tergoev committed
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535
# Support X4R4G4B4
#
# Support the X4R4G4B4 format.
# The Sims 2 is a horrible game made by complete morons.
#
# Supported values:
# - True/False

# d3d9.supportX4R4G4B4 = True

# Support D32
#
# Support the D32 format.
#
# Supported values:
# - True/False

# d3d9.supportD32 = True

# Disable A8 as a Render Target
#
# Disable support for A8 format render targets
# Once again, The Sims 2 is a horrible game made by complete morons.
#
# Supported values:
# - True/False

# d3d9.disableA8RT = False


# Force Sampler Type Spec Constants
#
# Useful if games use the wrong image and sampler
# type combo like Halo: CE or Spellforce.
# Can fix rendering in older, broken games in some instances.
#
# Supported values:
# - True/False

# d3d9.forceSamplerTypeSpecConstants = False

# Force Aspect Ratio
#
# Only exposes modes with a given aspect ratio.
# Useful for titles that break if they see ultra-wide.
#
# Supported values:
# - Any ratio, ie. "16:9", "4:3"

# d3d9.forceAspectRatio = ""

# Allow Discard
#
# Allow the discard lock flag to be used
# Useful if some apps use this incorrectly.
#
# Supported values:
# - True/False

# d3d9.allowDiscard = True

# Enumerate by Displays
#
# Whether we should enumerate D3D9 adapters by display (windows behaviour)
# or by physical adapter.
# May be useful in PRIME setups.
#
# Supported values:
# - True/False

# d3d9.enumerateByDisplays = True

# APITrace Mode
#
# Makes all host visible buffers cached and coherent
# Improves performance when apitracing, but also can impact
# some dumb games.
#
# Supported values:
# - True/False

# d3d9.apitraceMode = False
castro-fidel's avatar
castro-fidel committed
536 537 538 539 540 541 542 543 544 545

# Seamless Cubes
#
# Don't use non seamless cube maps even if they are supported.
# Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges.
#
# Supported values:
# - True/False

# d3d9.seamlessCubes = False