1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-08 01:54:15 +01:00

[d3d11] Properly initialize optons struct

No bug, but it's good practice either way.
This commit is contained in:
Philip Rebohle 2024-10-31 19:47:15 +01:00 committed by Philip Rebohle
parent bdf4cb765a
commit a5e8a42288

View File

@ -18,104 +18,104 @@ namespace dxvk {
/// This can substantially speed up some games, but may /// This can substantially speed up some games, but may
/// cause issues if the game submits command lists more /// cause issues if the game submits command lists more
/// than once. /// than once.
bool dcSingleUseMode; bool dcSingleUseMode = false;
/// Zero-initialize workgroup memory /// Zero-initialize workgroup memory
/// ///
/// Workargound for games that don't initialize /// Workargound for games that don't initialize
/// TGSM in compute shaders before reading it. /// TGSM in compute shaders before reading it.
bool zeroInitWorkgroupMemory; bool zeroInitWorkgroupMemory = false;
/// Force thread-group shared memory accesses to be volatile /// Force thread-group shared memory accesses to be volatile
/// ///
/// Workaround for compute shaders that read and /// Workaround for compute shaders that read and
/// write from the same shared memory location /// write from the same shared memory location
/// without explicit synchronization. /// without explicit synchronization.
bool forceVolatileTgsmAccess; bool forceVolatileTgsmAccess = false;
/// Use relaxed memory barriers /// Use relaxed memory barriers
/// ///
/// May improve performance in some games, /// May improve performance in some games,
/// but might also cause rendering issues. /// but might also cause rendering issues.
bool relaxedBarriers; bool relaxedBarriers = false;
/// Ignore graphics barriers /// Ignore graphics barriers
/// ///
/// May improve performance in some games, /// May improve performance in some games,
/// but might also cause rendering issues. /// but might also cause rendering issues.
bool ignoreGraphicsBarriers; bool ignoreGraphicsBarriers = false;
/// Maximum tessellation factor. /// Maximum tessellation factor.
/// ///
/// Limits tessellation factors in tessellation /// Limits tessellation factors in tessellation
/// control shaders. Values from 8 to 64 are /// control shaders. Values from 8 to 64 are
/// supported, other values will be ignored. /// supported, other values will be ignored.
int32_t maxTessFactor; int32_t maxTessFactor = 0;
/// Anisotropic filter override /// Anisotropic filter override
/// ///
/// Enforces anisotropic filtering with the /// Enforces anisotropic filtering with the
/// given anisotropy value for all samplers. /// given anisotropy value for all samplers.
int32_t samplerAnisotropy; int32_t samplerAnisotropy = -1;
/// Mipmap LOD bias /// Mipmap LOD bias
/// ///
/// Enforces the given LOD bias for all samplers. /// Enforces the given LOD bias for all samplers.
float samplerLodBias; float samplerLodBias = 0.0f;
/// Clamps negative LOD bias /// Clamps negative LOD bias
bool clampNegativeLodBias; bool clampNegativeLodBias = false;
/// Declare vertex positions in shaders as invariant /// Declare vertex positions in shaders as invariant
bool invariantPosition; bool invariantPosition = true;
/// Enable float control bits /// Enable float control bits
bool floatControls; bool floatControls = true;
/// Back buffer count for the Vulkan swap chain. /// Back buffer count for the Vulkan swap chain.
/// Overrides DXGI_SWAP_CHAIN_DESC::BufferCount. /// Overrides DXGI_SWAP_CHAIN_DESC::BufferCount.
int32_t numBackBuffers; int32_t numBackBuffers = 0;
/// Override maximum frame latency if the app specifies /// Override maximum frame latency if the app specifies
/// a higher value. May help with frame timing issues. /// a higher value. May help with frame timing issues.
int32_t maxFrameLatency; int32_t maxFrameLatency = 0;
/// Defer surface creation until first present call. This /// Defer surface creation until first present call. This
/// fixes issues with games that create multiple swap chains /// fixes issues with games that create multiple swap chains
/// for a single window that may interfere with each other. /// for a single window that may interfere with each other.
bool deferSurfaceCreation; bool deferSurfaceCreation = false;
/// Enables sample rate shading by interpolating fragment shader /// Enables sample rate shading by interpolating fragment shader
/// inputs at the sample location rather than pixel center, /// inputs at the sample location rather than pixel center,
/// unless otherwise specified by the application. /// unless otherwise specified by the application.
bool forceSampleRateShading; bool forceSampleRateShading = false;
/// Forces the sample count of all textures to be 1, and /// Forces the sample count of all textures to be 1, and
/// performs the required shader and resolve fixups. /// performs the required shader and resolve fixups.
bool disableMsaa; bool disableMsaa = false;
/// Dynamic resources with the given bind flags will be allocated /// Dynamic resources with the given bind flags will be allocated
/// in cached system memory. Enabled automatically when recording /// in cached system memory. Enabled automatically when recording
/// an api trace. /// an api trace.
uint32_t cachedDynamicResources; uint32_t cachedDynamicResources = 0;
/// Always lock immediate context on every API call. May be /// Always lock immediate context on every API call. May be
/// useful for debugging purposes or when applications have /// useful for debugging purposes or when applications have
/// race conditions. /// race conditions.
bool enableContextLock; bool enableContextLock = false;
/// Whether to expose the driver command list feature. Enabled by /// Whether to expose the driver command list feature. Enabled by
/// default and generally beneficial, but some games may assume that /// default and generally beneficial, but some games may assume that
/// this is not supported when running on an AMD GPU. /// this is not supported when running on an AMD GPU.
bool exposeDriverCommandLists; bool exposeDriverCommandLists = true;
/// Shader dump path
std::string shaderDumpPath;
/// Ensure that for the same D3D commands the output VK commands /// Ensure that for the same D3D commands the output VK commands
/// don't change between runs. Useful for comparative benchmarking, /// don't change between runs. Useful for comparative benchmarking,
/// can negatively affect performance. /// can negatively affect performance.
bool reproducibleCommandStream; bool reproducibleCommandStream = false;
/// Shader dump path
std::string shaderDumpPath;
}; };
} }