Driver Profile Settings

From Bo3b's School for Shaderhackers
Revision as of 18:56, 21 February 2015 by DarkStarSword (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page is a work in progress - feel free to expand it with extra knowledge, before & after screenshots, etc.


Contents

Tools

There are two tools that can be used to edit the game profiles:

NVIDIA Inspector (English mirror)

and

GeForce 3D Profile Manager

Note that NVIDIA Inspector has some bugs and limitations, which may prevent some settings from being displayed (e.g. almost any text setting) and in some cases edited in full (Helifax noted this prevents changes to 2DDHUDSettings from taking effect).


NVIDIA Inspector Custom Stereo Settings Names

Download this CustomSettingNames_en-EN.xml file to replace the one from NVIDIA Inspector, which will add all the settings listed on this page to the Stereo category.


The Mystery Stereo Setting 0x701EB457

This setting is known to be very important to stereo profiles.

Observations

- The mere existance of this setting on a DX9 profile will enable Stereo in windowed mode, regardless of the value.

- This setting is required to enable a lot of stereo related code in the driver.

- Certain other stereo settings (e.g. StereoTextureEnable) may be ignored without this setting.

Bit Definitions

0xFFFFFFFF UNKNOWN :(

Known Values

0x00000001 Seen in many stereo profiles created with Ctrl+F7
0x2241AB21 Used by many games (Aion, Prototype 2, ...)


Notable Settings

StereoTextureEnable (0x70edb381)

Believed to control the heuristics that determine which texture render targets are stereoised and which are not.

Observations

- Setting this to all F's will turn a game into mono, suggesting that some high bits might filter out some render targets, rather than enabling them.

Bit Definitions

Chiri determined a number of these (see this post)

0x00000001 [ET] = Stereoize render target textures which are of size or exceeding the size of the backbuffer (and are not square).
0x00000002 [ESMT] = Stereoize all non square render target textures smaller then backbuffer.
0x00000004 [ESQT] = Stereoize sqare render target textures.
0x00000008 [DBBST] = ???
0x00000010 [DBBS] = ???


StereoUseMatrix (0x70e34a78)

- Able to automatically fix halo type issues in many games

Known Values

0x1945B570 Used by Aion, Prototype 2, etc.


StereoFlagsDX10 (0x702442fc)

- Able to resolve mono depth buffer issues in DirectX 11 games, such as Far Cry 4 and Ryse: Son of Rome.

Bit Definitions

0x00004000 Fixes mono depth buffer issue in Far Cry 4 (SLI users can alternatively resolve this with custom SLI compatibility bits)
0x00000024 One of these two bits negated the separation value reported to 3Dmigoto in Far Cry 4, but not Max Payne 3?

Known Values

0x1C22FE24 Max Payne 3 (good profile to use for testing)


StereoCutoff (0x709a1ddf)

Present in almost all Stereo profiles, but meaning unknown. My complete guess is that it may be related to driver heuristics to decide when the stereo correction formula is applied (e.g. for UI elements)?

Observations

- Setting this to 0x00000000 broke shadows in Miasmata


Compatibility Mode Settings

Helifax created a guide with more information about these settings: Guide: How to Enable and TWEAK 3D Compatibility Mode in any DX11 Game

2DDHUDSettings (0x709adada)

2DDConvergence (0x709adadb)

Disable2DD (0x709adadd)

2DD_Notes (0x709adadc)

VR Direct Settings

These settings have appeared in recent drivers and are believed to be related to VR Direct:

StereoVRConvergenceBias (0x708db8c6)

StereoVRRefreshRateOverride (0x708db8c8)

StereoVRVsync (0x708db8c9)

Key Bindings

These are believed to be key bindings due to their names. It has not been confirmed if these override the registry settings or are ignored. Some of these settings may not work at all in recent drivers.

There is a good guide for how these are encoded here: Guide: How to Enable and TWEAK 3D Compatibility Mode in any DX11 Game

StereoToggle (0x70d76b8b)

StereoSeparationAdjustLess (0x705d1e02)

StereoSeparationAdjustMore (0x70ab8d32)

StereoConvergenceAdjustLess (0x70d4add7)

StereoConvergenceAdjustMore (0x701ed576)

SaveStereoImage (0x70121853)

WriteConfig (0x700498b3)

DeleteConfig (0x70c73ba2)

ToggleLaserSight (0x70b7bd1f)

LaserAdjustXPlus (0x70d8bae6)

LaserAdjustXMinus (0x7048b7dc)

LaserAdjustYPlus (0x7024eda4)

LaserAdjustYMinus (0x70fb9e1e)

GammaAdjustMore (0x703f4521)

GammaAdjustLess (0x70e8420c)

StereoVerticalAdjustMore (0x7087fe61)

StereoVerticalAdjustLess (0x703acfc6)

StereoHorizontalAdjustMore (0x70062f07)

StereoHorizontalAdjustLess (0x70871a39)

ToggleAutoConvergence (0x70085de3)

NOTE: AFAIK this was never implemented

ToggleAutoConvergenceRestore (0x703bc51e)

NOTE: AFAIK this was never implemented

RHWAtScreenMore (0x7066a22e)

RHWAtScreenLess (0x709139ad)

RHWLessAtScreenMore (0x704e4bca)

RHWLessAtScreenLess (0x70b378a1)

CutoffNearDepthLess (0x70d1bdb5)

CutoffNearDepthMore (0x7020c991)

CutoffFarDepthLess (0x704c9a46)

CutoffFarDepthMore (0x70fbc04d)

CutoffStepLess (0x704b45c7)

CutoffStepMore (0x700f2971)

GlassesDelayPlus (0x701fc5b4)

NOTE: Believed to no longer work in recent drivers

GlassesDelayMinus (0x70b8a743)

NOTE: Believed to no longer work in recent drivers


Unidentified Settings

These setting names were found in the driver, but their purpose or whether they are even functional is unknown:

Time (0x70ad05c8)

RunTimeName (0x701a8be4)

EnableConsumerStereoSupport (0x70cb9168)

StereoViewer (0x704915a1)

StereoViewerType (0x708f9ef7)

ShowAllViewerTypes (0x708e5cb4)

StereoAdjustEnable (0x70538ab1)

StereoDisableTnL (0x70633bd9)

StereoTransformationType (0x70c27e3c)

StereoSeparation (0x70933c00)

StereoSeparationStep (0x7082555b)

StereoConvergence (0x708db8c5)

StereoConvergenceMultiplier (0x70efbb5b)

RHW2DDetectionMin (0x7029432b)

RHWGreaterAtScreen (0x702c861a)

RHWEqualAtScreen (0x70ab2e09)

RHWLessAtScreen (0x70381472)

AutoConvergence (0x702a0ab2)

AutoConvergenceAdjustPace (0x70bf3c6b)

StereoToggleMode (0x70d76b8c)

StereoSuggestSettings (0x706315af)

StereoUnsuggestSettings (0x7017861c)

FavorSZ (0x705faed7)

LaserSight (0x7058b6e1)

LaserSightFile (0x707ac50d)

LaserSightEnabled (0x7054837a)

LaserSightIndex (0x70da83c6)

LaserSightProperty (0x7032243a)

StereoPointer (0x70364596)

GameSpecific0 (0x702244b7)

StereoDefaultOn (0x70ab30a7)

FrustumAdjustMode (0x70a1411a)

MonitorSize (0x7086ebe9)

MaxMonitorSize (0x7032022c)

MaxVertexCount (0x709e4a94)

PartialClearMode (0x709794cc)

LaserXAdjust (0x7057e831)

LaserYAdjust (0x70225308)

LaserZAdjust (0x7014fca2)

StereoRefreshDefaultOn (0x702ba385)

MixedTnL (0x70bd11e0)

StereoGamma (0x70c8b5d1)

LineCodeColor (0x70dc4a12)

LeftAnaglyphFilter (0x70d51cd1)

RightAnaglyphFilter (0x70f4a930)

InterleavePattern0 (0x70b1c8cc)

InterleavePattern1 (0x7091a772)

StereoForceVSync (0x70aae185)

StereoColorKey (0x70e5773b)

ZDirection (0x70b17872)

StereoCompatibility (0x70a2000e)

LeftColorFilter0 (0x70ac6888)

LeftColorFilter1 (0x7090b6ca)

RightColorFilter0 (0x70b9a2f7)

RightColorFilter1 (0x70aca0cc)

SharpVPI (0x706e0041)

StereoMode (0x701baa09)

Watchdog (0x700a5654)

StereoOSDEnable (0x70f455aa)

StereoOrthoEnable (0x703564f6)

StereoNotSupported (0x709aa171)

ModesetWarning (0x70969bb0)

StereoFirstTime (0x70af6400)

StereoRefreshRate (0x70ded3c0)

GameConfigs (0x704a905a)

CompareEyes (0x70729e58)

CompareFrom (0x70efb726)

StereoImageType (0x7097906c)

SnapShotQuality (0x7004e7a6)

NoLockSubstitute (0x7005ad16)

PushbufSubstituteSize (0x7054fbf8)

DiscardHotkeys (0x70175566)

StereoLCDPatternType (0x707cfb97)

GlassesSwitchDelay (0x70057bb6)

StartZBit (0x7044d7a6)

DisableOnOutOfMemory (0x70c71508)

StereoWindowedEnable (0x709b3484)

AllowNonExclusiveStereo (0x702c7709)

Rhwinf (0x706e1913)

Rhwscr (0x70a4995c)

Zinf (0x70fc13ad)

Zscr (0x707f0e69)

InGameLaserSight (0x7064f0c2)

StereoCutoffDepthNear (0x7050e011)

StereoCutoffDepthFar (0x70add220)

EnableCE (0x702b8c95)

MediaPlayer (0x70a8fc7f)

StereoDX9 (0x70d10d2b)

StereoMsgVerticalOffset (0x70160ebf)

LaserSightTrigger (0x70031b88)

StereoLaserSightMaxCount (0x70bc864d)

StereoLaserSightCount (0x70077042)

StereoEasyZCheck (0x70b6d6ed)

StereoStrictLSCheck (0x709bc378)

StereoDisableAsync (0x70de5533)

EnablePartialStereoBlit (0x7096eced)

StereoMemoEnabled (0x707f4b45)

StereoNoDepthOverride (0x709dea62)

StereoShaderMatrixCheck (0x7044f8fb)

StereoLogShaders (0x7052bdd0)

StereoEpsilon (0x70e5a749)

DelayedStereoDesktop (0x7042eef1)

DX10VSCBNumber (0x70f8e408)

DX10DSCBNumber (0x70092d4a)

InGameLaserSightDX9States (0x706139ad)

StereoMiscFlags (0x70ccb5f0)

StereoHiddenProfile (0x70e46f20)

StereoLinkDll (0x70e46f2a)

EnableStereoCursor (0x70e46f2b)

CreateStereoDTAfterPresentNum (0x70a7fc7f)

Date_Rel (0x705fafec)

Game (0x70c8d48e)

Style (0x709cc5e0)

Publisher (0x706c7030)

Developer (0x703c4026)

API (0x70b5603f)

Value (0x7049c7ec)

Compat (0x7051e5f5)

PF_Issues (0x704cde5a)

Comments (0x704d456e)

Developer_Issues (0x704f5928)

P1SH0 (0x70998683)

V1SH0 (0x70e6a3cf)

PSH0 (0x7046516e)

VSH0 (0x708b7af8)

VSH1 (0x708b7af9)

VSH2 (0x708b7afa)

VSH3 (0x708b7afb)

VSH4 (0x708b7afc)

VSH5 (0x708b7afd)

VSH6 (0x708b7afe)

VSH7 (0x708b7aff)

VSH8 (0x708b7b00)

VSH9 (0x708b7b01)

VSH10 (0x708b7b02)