;========================================================================== ; === Text based config file for dgVoodoo2 ; === Use this file if you are a game modder/hacker or an experted user and ; want to modify some advanced properties not available via the CPL. ;========================================================================== Version = 0x282 ;-------------------------------------------------------------------------- [General] ; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "d3d11_fl11_0", ; "d3d12_fl11_0", "d3d12_fl12_0", "bestavailable" ; Adapters: "all", or the ordinal of the adapter (1, ...) ;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...) ; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", "stretched_ar_crt", ; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64" ; ;InheritColorProfileInFullScreenMode: ; Enabled by default and can only be disabled only when a D3D11 output API ; is explicitly selected. Disabled case is intended for avoiding extra ; rendering resources on old hardware for better performance, if required. OutputAPI = bestavailable Adapters = all FullScreenOutput = default FullScreenMode = true ScalingMode = unspecified ProgressiveScanlineOrder = false EnumerateRefreshRates = false Brightness = 100 Color = 100 Contrast = 100 InheritColorProfileInFullScreenMode = true KeepWindowAspectRatio = true CaptureMouse = true CenterAppWindow = false ;-------------------------------------------------------------------------- [GeneralExt] ; DesktopResolution: Desktop (native) resolution can be forced for dgVoodoo's internal calculations. ; Useful for rare applications that pre-set the desktop to other than the native ; resolution before dgVoodoo gets in action. Only the compact format can be used here, ; and applies to all outputs of the desktop. ; DesktopBitDepth: You can define what screen bit depth should be reported through dgVoodoo ; (8, 16, 32) ; DeframerSize: When resolution is forced to other than the app default then ; a black frame is drawn around the output image coming from a wrapped API ; to remove scaling artifacts - ; frame thickness can be defined in pixels (max 16, 0 = disable) ; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API ; Always done by nearest point filtering, independent on scaling mode ; (0 = max available) ; Separate factors can be defined for horizontal and vertical scaling ; by subproperties, e.g. ; ImageScaleFactor = x:3, y:2 ; CursorScaleFactor: Integer factor for scaling the emulated hardware mouse (max 16) ; (0 = automatic, 1 = no scale, 2 = double scale, ...) ; DisplayROI: Display region of interest ; If scaling is done by the dgVoodoo then you can define a subrect of the ; output image, coming from a wrapped API, to be displayed. The defined subrect ; is mapped to the display output according to the current scaling mode ; It can be useful for applications rendering a widescreen subimage into a 4:3 ; resolution; in this case you can scale up that subimage to (nearly) fill the ; whole screen on a widescreen monitor. ; DisplayROI empty value means the whole image. ; DisplayROI value can be a proportion in form of %d_%d or a pixel size (%d|%d) ; Pos subproperty is not mandatory and can be 'centered' or a pixel position (%d|%d) ; Examples: DisplayROI = 16_9, pos:centered ; DisplayROI = (320|200), pos:(10|10) ; Resampling: When scaling is done by the dgVoodoo for the given scaling mode, ; you can choose which filter is to be used for resampling the output image ; Available filters are: "pointsampled", "bilinear", "bicubic", "lanczos-2", "lanczos-3" ; PresentationModel: Low-level swapchain swap effect: if you know what you are doing then it can be ; overridden here. Flip models are better suited for modern OS features like auto HDR, ; while plain legacy models provide the best presentation performance under ideal conditions ; Not all model + output API + OS version combinations are supported. ; "auto", "discard", "seq", "flip_discard", "flip_seq" ; ColorSpace: Color space of the swap chain: ; "appdriven" - an application can choose argb2101010 through D3D9, but it means ; the legacy argb8888_srgb in any other case ; "argb8888_srgb" - Legacy 32 bit output for SDR displays ; "argb2101010_sdr" - 32 bit extended precision for SDR displays ; "argb2101010_sdr_wcg" - Wide Color Gamut format for SDR displays (available from Windows 11 22H2) ; "argb16161616_hdr" - Float16 HDR output (available from Windows 10 1709) ; FreeMouse: If true then physical mouse is free to move inside the game window ; when using emulated scaling and/or application and forced resolution ; differs; can be useful when a game relies on the physical window size ; WindowedAttributes: You can define attributes for forced windowed appearance (separated by commas): ; "borderless" - forces the app window not have any border ; "alwaysontop" - forces the app window into the top-most band ; "fullscreensize" - forces the app window to be full screen size with image scaling inside ; FullscreenAttributes: You can define attributes for fullscreen appearance (separated by commas): ; "fake" - forces fake fullscreen mode with a screen-size window ; FPSLimit: An integer or rational (fractional) value, 0 = unlimited ; Environment: Software environment in which dgVoodoo is running: can be left unspecified (native) ; or can be set to 'DosBox' or 'QEmu'. ; SystemHookFlags: You can define which part of the system should be hooked (x86-DX only): ; "gdi" - for showing graphical contents rendered through GDI ; (like movie playback through the ancient Windows Multimedia AVI player library) ; "cursor" - for suppressing double-cursor symptoms when the cursor is emulated DesktopResolution = DesktopBitDepth = DeframerSize = 1 ImageScaleFactor = 1 CursorScaleFactor = 0 DisplayROI = Resampling = bilinear PresentationModel = auto ColorSpace = appdriven FreeMouse = false WindowedAttributes = FullscreenAttributes = FPSLimit = 0 Environment = SystemHookFlags = ;-------------------------------------------------------------------------- [Glide] ; VideoCard: "voodoo_graphics", "voodoo_rush", "voodoo_2", "voodoo_banshee", "other_greater" ; OnboardRAM: in MBs ; MemorySizeOfTMU: in kBs ; TMUFiltering: "appdriven", "pointsampled", "bilinear" ; ; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "desktop", "%dx", ; "max_%dx", "max_isf_%dx", "max_fhd_%dx", "max_fhd_isf_%d"x, "max_qhd_%dx", "max_qhd_isf_%dx", "desktop_%dx" ; or subproperties: h: horizontal, v: vertical ; + optional subproperty refrate: refresh rate in Hz ; e.g. Resolution = max, refrate:60 ; Resolution = 2x, refrate:59 ; Resolution = h:1280, v:1024, refrate:75 ; Resolution = max_2x ; or just use the compact form like "1024x768@60" or "512x384" ; ;Antialiasing: "off", "appdriven", "2x", "4x", "8x", "16x" (your GPU must support the chosen one) VideoCard = voodoo_2 OnboardRAM = 8 MemorySizeOfTMU = 4096 NumberOfTMUs = 2 TMUFiltering = appdriven DisableMipmapping = false Resolution = unforced Antialiasing = appdriven EnableGlideGammaRamp = true ForceVerticalSync = true ForceEmulatingTruePCIAccess = false 16BitDepthBuffer = false 3DfxWatermark = true 3DfxSplashScreen = false PointcastPalette = false EnableInactiveAppState = false ;-------------------------------------------------------------------------- [GlideExt] ; DitheringEffect: "pure32bit", "dither2x2", "dither4x4" ; Dithering: "disabled", "appdriven", "forcealways" ; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size ; 1 = normal, 2 = double size, etc. ; 0 = automatic (the aim is to have some retro feel&look) DitheringEffect = pure32bit Dithering = forcealways DitherOrderedMatrixSizeScale = 0 ;-------------------------------------------------------------------------- [DirectX] ; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500", ; "matrox_parhelia-512", "geforce_fx_5700_ultra", "geforce_9800_gt" ; VRAM: in MBs (default) or in GBs (e.g. VRAM = 2GB) ; Filtering: "appdriven", "pointsampled", "bilinear", "pointmip", "linearmip", "trilinear" ; or the integer value of an anisotropic filtering level (1-16) ; Mipmapping: "appdriven", "disabled", "autogen_point", "autogen_bilinear" ; KeepFilterIfPointSampled: if enabled then forced filtering affects only non-point sampled textures ; Bilinear2DOperations: if enabled then DirectDraw Blit and CPU-written data is transferred with bilinear scaling DisableAndPassThru = false VideoCard = internal3D VRAM = 512 Filtering = appdriven Mipmapping = appdriven KeepFilterIfPointSampled = false Resolution = unforced Antialiasing = appdriven AppControlledScreenMode = true DisableAltEnterToToggleScreenMode = true Bilinear2DOperations = false PhongShadingWhenPossible = false ForceVerticalSync = false dgVoodooWatermark = false FastVideoMemoryAccess = false ;-------------------------------------------------------------------------- [DirectXExt] ; AdapterIDType: "nvidia", "amd", "intel" or leave it undefined ; You can define what type of driver version and vendor id's the wrapper should report to ; the application; Some games rely on that information so it can be useful for them ; Can be defined only for SVGA and Internal3D card types; the others have their own wired ; information ; VendorID, DeviceID, SubsystemID, RevisionID: ; Can be defined only for SVGA and Internal3D card types ; You can overwrite these properties even if a non-default AdapterIDType is defined; ; say, you defined an nvidia id type but would like to refine the vendor id ; DefaultEnumeratedResolutions: you can define what resolutions should be enumerated to the application by default ; "all", "classics", "none" ; ExtraEnumeratedResolutions: you can add extra resolutions (separated by commas, max 16) that will get ; enumerated to the application as display adapter supported ones - ; can be useful if an app supports rendering at arbitrary resolutions ; and you have a particular favorite resolution that are not ; enumerated to the application by default ; you can either use the compact resolution format here, or ; "max", "max@refrate" meaning your desktop resolution with a potential refresh rate, or ; "max_4_3", "max_4_3@refrate", "max_16_9", "max_16_9@refrate" ; meaning the maximum resolution with the given aspect ratio calculated from ; the desktop resolution with the given refresh rate, e.g. "max_4_3@60", "max_16_9" ; EnumeratedResolutionBitdepths: you can filter what bitdepths are included in the resolution enumeration ; any subset of {"8", "16", "32"}, or "all" ; DitheringEffect: "high_quality", "ordered2x2", "ordered4x4" ; Dithering: "disabled", "appdriven", "forceon16bit", "forcealways" ; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size ; 1 = normal, 2 = double size, etc. ; 0 = automatic ; DepthBuffersBitDepth: internal bit depth of depth/stencil buffers for 3D rendering (32 bit is not recommended) ; "appdriven", "forcemin24bit", "force32bit" ; Default3DRenderFormat: default format of 3D rendering ; "auto", "argb8888", "argb2101010", "argb16161616" ; auto corresponds to the selected color space ; argb2101010 has the benefit that it is still 32 bit but it can corrupt the rendering ; because of the lowered alpha bits, not recommended ; MaxVSConstRegisters: Max number of vertex shader constant registers (DX8/9 only) ; Can be defined only for SVGA and Internal3D card types ; Valid values are 256 (default), 512 or 1024 ; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9) ; 0 = app driven ; 1 = disable ; 2 to 8 = a forced tesselation level ; Altough tesselation works with all vertex shader versions, you can force level higher than 1 ; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons ; (forced tesselation also disables adaptive mode (D3D9), but forcing is not recommended at all, anyway) ; DisplayOutputEnableMask: Each bit in this 32 bit value corresponds to a display output. Display outputs of the adapters are numbered ; sequentially. If Adapter0 has n display outputs and Adapter1 has m display outputs attached then the lowest ; n bits match Adapter0 display outputs, the next m bits match Adapter1 outputs, and so on. The lowest bit ; in a group corresponds to Output0. If a bit value is 0 then the display output is disabled for the device ; enumeration, in other words, it is invisible to the application. It can be useful for D3D9 multihead- ; or very special applications where you want to enable only individual displays on your monitor wall. ; MSD3DDeviceNames: if true then original Microsoft D3D device names are exposed ; (some applications check for them and they fail) ; RTTexturesForceScaleAndMSAA: if true then forced resolution scaling and MSAA is ; applied also to rendertarget textures ; Set it to false for games requiring pixel-precise rendering ; but be careful it can EASILY break certain things, not recommended ; SmoothedDepthSampling: if true then extra smoothing is added to depth textures ; when they are sampled ; DeferredScreenModeSwitch: If true the switching to full screen is deferred after the application initialized ; the DirectX device; can be useful for games that don't expect rendering window changes ; during initialization and crash ; PrimarySurfaceBatchedUpdate: If true then direct changes of the primary surface are batched together for presenting them ; If false then each change is instantly presented (debug-like mode) ; SuppressAMDBlacklist: Some AMD GPU models are blacklisted to workaround the solid-color-textures driver issue ; You can suppress it to check out if the problem is fixed in your current driver AdapterIDType = VendorID = DeviceID = SubsystemID = RevisionID = DefaultEnumeratedResolutions = all ExtraEnumeratedResolutions = EnumeratedResolutionBitdepths = all DitheringEffect = high_quality Dithering = forcealways DitherOrderedMatrixSizeScale = 0 DepthBuffersBitDepth = appdriven Default3DRenderFormat = auto MaxVSConstRegisters = 256 NPatchTesselationLevel = 0 DisplayOutputEnableMask = 0xffffffff MSD3DDeviceNames = false RTTexturesForceScaleAndMSAA = true SmoothedDepthSampling = true DeferredScreenModeSwitch = false PrimarySurfaceBatchedUpdate = false SuppressAMDBlacklist = false ;-------------------------------------------------------------------------- [Debug] ; This section affects only debug/spec release builds ; ; Info, Warning, Error ; "Disable" - disables all messages and debugger break ; "Enable" - enables messages and disables debugger break ; "EnableBreak" - enables both messages and breaking into debugger ; ; MaxTraceLevel: Maximum level of tracing API calls ; 0 - Disable ; 1 - API Functions and methods ; 2 - Additional trace info for internals ; ; LogToFile: if false or debugger is detected then output goes to the debug output ; if true and no debugger detected then output goes to 'dgVoodoo.log' ; (not implemented yet, always the default debug output is used) Info = enable Warning = enable Error = enable MaxTraceLevel = 0 ;LogToFile = false