The only problematic change I see with regards to MSAA is: https://github.com/doitsujin/dxvk/commit/20d934db40dcf9fbe334929b5eca739f05f6b077 . That being said, maybe don't force unsupported sample counts? Only Intel supports 16x MSAA in hardware.
AMD and Nvidia hardware simply doesn't support 16x MSAA.
With earlier versions the driver did something undefined in that case. It probably clamped it at 8x MSAA or something like that.
vulkan-1.dllx1 2025-06
The game crashes on launch if 16X MSAA is used in 2.6.2 but doesn't in 2.6.1 & previous versions. Does this with my custom config or with just MSAA set & all other settings left at default. Haven't tested this in vanilla Generals (2003) yet just the Zero Hour expansion.
Software information
C&C Generals Zero Hour (2004) steam version, x86, DX8.1, GenTool + GenPatcher
System information
Log files
d3d9.log:
info: Game: game.dat
info: DXVK: v2.6.2
info: Build: x86 gcc 15.1.0
info: Found config file: dxvk.conf
info: Effective configuration:
info: dxvk.hideIntegratedGraphics = True
info: d3d9.forceSwapchainMSAA = 16
info: dxvk.enableMemoryDefrag = False
info: d3d9.cachedDynamicBuffers = True
info: dxvk.trackPipelineLifetime = False
info: dxvk.hud = full
info: dxvk.enableGraphicsPipelineLibrary = False
info: d3d9.samplerAnisotropy = 16
info: d3d9.maxFrameLatency = 1
info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x66d31760
info: Built-in extension providers:
info: Platform WSI
info: OpenVR
info: OpenXR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: AMD Radeon RX 5700 XT:
info: Driver : AMD proprietary driver 2.0.342
info: Memory Heap[0]:
info: Size: 7920 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Type[12]: Property Flags = 0xc1
info: Memory Heap[1]:
info: Size: 8150 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[11]: Property Flags = 0xe
info: Memory Type[13]: Property Flags = 0xc6
info: Memory Type[15]: Property Flags = 0xce
info: Memory Heap[2]:
info: Size: 256 MiB
info: Flags: 0x3
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[6]: Property Flags = 0xc7
info: Memory Type[10]: Property Flags = 0x7
info: Memory Type[14]: Property Flags = 0xc7
info: Process set as DPI aware
info: The D3D9 interface is now operating in D3D8 compatibility mode.
info: Device properties:
info: Device : AMD Radeon RX 5700 XT
info: Driver : AMD proprietary driver 2.0.342
info: Enabled device extensions:
info: VK_AMD_shader_fragment_mask
info: VK_EXT_attachment_feedback_loop_layout
info: VK_EXT_conservative_rasterization
info: VK_EXT_custom_border_color
info: VK_EXT_depth_clip_enable
info: VK_EXT_extended_dynamic_state3
info: VK_EXT_fragment_shader_interlock
info: VK_EXT_full_screen_exclusive
info: VK_EXT_graphics_pipeline_library
info: VK_EXT_hdr_metadata
info: VK_EXT_line_rasterization
info: VK_EXT_memory_priority
info: VK_EXT_non_seamless_cube_map
info: VK_EXT_pageable_device_local_memory
info: VK_EXT_robustness2
info: VK_EXT_shader_module_identifier
info: VK_EXT_shader_stencil_export
info: VK_EXT_transform_feedback
info: VK_EXT_vertex_attribute_divisor
info: VK_KHR_external_memory_win32
info: VK_KHR_external_semaphore_win32
info: VK_KHR_load_store_op_none
info: VK_KHR_maintenance5
info: VK_KHR_maintenance7
info: VK_KHR_pipeline_library
info: VK_KHR_swapchain
info: VK_KHR_swapchain_mutable_format
info: VK_KHR_win32_keyed_mutex
info: Device features:
info: robustBufferAccess : 1
info: fullDrawIndexUint32 : 1
info: imageCubeArray : 1
info: independentBlend : 1
info: geometryShader : 1
info: tessellationShader : 0
info: sampleRateShading : 1
info: dualSrcBlend : 0
info: logicOp : 0
info: multiDrawIndirect : 1
info: drawIndirectFirstInstance : 0
info: depthClamp : 1
info: depthBiasClamp : 1
info: fillModeNonSolid : 1
info: depthBounds : 1
info: wideLines : 0
info: multiViewport : 1
info: samplerAnisotropy : 1
info: textureCompressionBC : 1
info: occlusionQueryPrecise : 1
info: pipelineStatisticsQuery : 1
info: vertexPipelineStoresAndAtomics : 1
info: fragmentStoresAndAtomics : 0
info: shaderImageGatherExtended : 0
info: shaderClipDistance : 1
info: shaderCullDistance : 1
info: shaderFloat64 : 0
info: shaderInt64 : 0
info: variableMultisampleRate : 1
info: shaderResourceResidency : 0
info: shaderResourceMinLod : 0
info: sparseBinding : 0
info: sparseResidencyBuffer : 0
info: sparseResidencyImage2D : 0
info: sparseResidencyImage3D : 0
info: sparseResidency2Samples : 0
info: sparseResidency4Samples : 0
info: sparseResidency8Samples : 0
info: sparseResidency16Samples : 0
info: sparseResidencyAliased : 0
info: Vulkan 1.1
info: shaderDrawParameters : 1
info: Vulkan 1.2
info: samplerMirrorClampToEdge : 1
info: drawIndirectCount : 1
info: samplerFilterMinmax : 0
info: hostQueryReset : 1
info: timelineSemaphore : 1
info: bufferDeviceAddress : 0
info: shaderOutputViewportIndex : 1
info: shaderOutputLayer : 1
info: vulkanMemoryModel : 1
info: Vulkan 1.3
info: robustImageAccess : 0
info: pipelineCreationCacheControl : 1
info: shaderDemoteToHelperInvocation : 1
info: shaderZeroInitializeWorkgroupMemory : 0
info: synchronization2 : 1
info: dynamicRendering : 1
info: VK_AMD_shader_fragment_mask
info: extension supported : 1
info: VK_EXT_attachment_feedback_loop_layout
info: attachmentFeedbackLoopLayout : 1
info: VK_EXT_conservative_rasterization
info: extension supported : 1
info: VK_EXT_custom_border_color
info: customBorderColors : 1
info: customBorderColorWithoutFormat : 1
info: VK_EXT_depth_clip_enable
info: depthClipEnable : 1
info: VK_EXT_depth_bias_control
info: depthBiasControl : 0
info: leastRepresentableValueForceUnormRepresentation : 0
info: floatRepresentation : 0
info: depthBiasExact : 0
info: VK_EXT_extended_dynamic_state3
info: extDynamicState3AlphaToCoverageEnable : 1
info: extDynamicState3DepthClipEnable : 1
info: extDynamicState3RasterizationSamples : 1
info: extDynamicState3SampleMask : 1
info: extDynamicState3LineRasterizationMode : 1
info: VK_EXT_fragment_shader_interlock
info: fragmentShaderSampleInterlock : 0
info: fragmentShaderPixelInterlock : 0
info: VK_EXT_full_screen_exclusive
info: extension supported : 1
info: VK_EXT_graphics_pipeline_library
info: graphicsPipelineLibrary : 1
info: VK_EXT_line_rasterization
info: rectangularLines : 0
info: smoothLines : 0
info: VK_EXT_memory_budget
info: extension supported : 1
info: VK_EXT_memory_priority
info: memoryPriority : 1
info: VK_EXT_multi_draw
info: multiDraw : 0
info: VK_EXT_non_seamless_cube_map
info: nonSeamlessCubeMap : 1
info: VK_EXT_pageable_device_local_memory
info: pageableDeviceLocalMemory : 1
info: VK_EXT_robustness2
info: robustBufferAccess2 : 1
info: robustImageAccess2 : 1
info: nullDescriptor : 1
info: VK_EXT_shader_module_identifier
info: shaderModuleIdentifier : 1
info: VK_EXT_shader_stencil_export
info: extension supported : 1
info: VK_EXT_swapchain_colorspace
info: extension supported : 0
info: VK_EXT_swapchain_maintenance1
info: swapchainMaintenance1 : 0
info: VK_EXT_hdr_metadata
info: extension supported : 1
info: VK_EXT_transform_feedback
info: transformFeedback : 0
info: geometryStreams : 0
info: VK_EXT_vertex_attribute_divisor
info: vertexAttributeInstanceRateDivisor : 1
info: vertexAttributeInstanceRateZeroDivisor : 1
info: VK_KHR_external_memory_win32
info: extension supported : 1
info: VK_KHR_external_semaphore_win32
info: extension supported : 1
info: VK_KHR_load_store_op_none
info: extension supported : 1
info: VK_KHR_maintenance5
info: maintenance5 : 1
info: VK_KHR_maintenance7
info: maintenance7 : 1
info: VK_KHR_present_id
info: presentId : 0
info: VK_KHR_present_wait
info: presentWait : 0
info: VK_NV_descriptor_pool_overallocation
info: descriptorPoolOverallocation : 0
info: VK_NV_low_latency2
info: extension supported : 0
info: VK_NV_raw_access_chains
info: shaderRawAccessChains : 0
info: VK_NVX_binary_import
info: extension supported : 0
info: VK_NVX_image_view_handle
info: extension supported : 0
info: VK_KHR_win32_keyed_mutex
info: extension supported : 1
info: Queue families:
info: Graphics : 0
info: Transfer : 2
info: Sparse : 0
info: Memory type mask for buffer resources: 0xf, usage: 0x1ff
info: DXVK: Read 40 valid state cache entries
info: DXVK: Graphics pipeline libraries not supported
info: D3D9DeviceEx: Using extended constant set for software vertex processing.
info: D3D9DeviceEx::ResetSwapChain:
info: Requested Presentation Parameters
info: - Width: 1920
info: - Height: 1080
info: - Format: D3D9Format::A8R8G8B8
info: - Auto Depth Stencil: true
info: ^ Format: D3D9Format::D24S8
info: - Windowed: true
info: - Swap effect: 1
info: Device properties:
info: Device : AMD Radeon RX 5700 XT
info: Driver : AMD proprietary driver 2.0.342
info: Enabled device extensions:
info: VK_AMD_shader_fragment_mask
info: VK_EXT_attachment_feedback_loop_layout
info: VK_EXT_conservative_rasterization
info: VK_EXT_custom_border_color
info: VK_EXT_depth_clip_enable
info: VK_EXT_extended_dynamic_state3
info: VK_EXT_fragment_shader_interlock
info: VK_EXT_full_screen_exclusive
info: VK_EXT_graphics_pipeline_library
info: VK_EXT_hdr_metadata
info: VK_EXT_line_rasterization
info: VK_EXT_memory_priority
info: VK_EXT_non_seamless_cube_map
info: VK_EXT_pageable_device_local_memory
info: VK_EXT_robustness2
info: VK_EXT_shader_module_identifier
info: VK_EXT_shader_stencil_export
info: VK_EXT_transform_feedback
info: VK_EXT_vertex_attribute_divisor
info: VK_KHR_external_memory_win32
info: VK_KHR_external_semaphore_win32
info: VK_KHR_load_store_op_none
info: VK_KHR_maintenance5
info: VK_KHR_maintenance7
info: VK_KHR_pipeline_library
info: VK_KHR_swapchain
info: VK_KHR_swapchain_mutable_format
info: VK_KHR_win32_keyed_mutex
info: Device features:
info: robustBufferAccess : 1
info: fullDrawIndexUint32 : 1
info: imageCubeArray : 1
info: independentBlend : 1
info: geometryShader : 1
info: tessellationShader : 0
info: sampleRateShading : 1
info: dualSrcBlend : 0
info: logicOp : 0
info: multiDrawIndirect : 1
info: drawIndirectFirstInstance : 0
info: depthClamp : 1
info: depthBiasClamp : 1
info: fillModeNonSolid : 1
info: depthBounds : 1
info: wideLines : 0
info: multiViewport : 1
info: samplerAnisotropy : 1
info: textureCompressionBC : 1
info: occlusionQueryPrecise : 1
info: pipelineStatisticsQuery : 1
info: vertexPipelineStoresAndAtomics : 1
info: fragmentStoresAndAtomics : 0
info: shaderImageGatherExtended : 0
info: shaderClipDistance : 1
info: shaderCullDistance : 1
info: shaderFloat64 : 0
info: shaderInt64 : 0
info: variableMultisampleRate : 1
info: shaderResourceResidency : 0
info: shaderResourceMinLod : 0
info: sparseBinding : 0
info: sparseResidencyBuffer : 0
info: sparseResidencyImage2D : 0
info: sparseResidencyImage3D : 0
info: sparseResidency2Samples : 0
info: sparseResidency4Samples : 0
info: sparseResidency8Samples : 0
info: sparseResidency16Samples : 0
info: sparseResidencyAliased : 0
info: Vulkan 1.1
info: shaderDrawParameters : 1
info: Vulkan 1.2
info: samplerMirrorClampToEdge : 1
info: drawIndirectCount : 1
info: samplerFilterMinmax : 0
info: hostQueryReset : 1
info: timelineSemaphore : 1
info: bufferDeviceAddress : 0
info: shaderOutputViewportIndex : 1
info: shaderOutputLayer : 1
info: vulkanMemoryModel : 1
info: Vulkan 1.3
info: robustImageAccess : 0
info: pipelineCreationCacheControl : 1
info: shaderDemoteToHelperInvocation : 1
info: shaderZeroInitializeWorkgroupMemory : 0
info: synchronization2 : 1
info: dynamicRendering : 1
info: VK_AMD_shader_fragment_mask
info: extension supported : 1
info: VK_EXT_attachment_feedback_loop_layout
info: attachmentFeedbackLoopLayout : 1
info: VK_EXT_conservative_rasterization
info: extension supported : 1
info: VK_EXT_custom_border_color
info: customBorderColors : 1
info: customBorderColorWithoutFormat : 1
info: VK_EXT_depth_clip_enable
info: depthClipEnable : 1
info: VK_EXT_depth_bias_control
info: depthBiasControl : 0
info: leastRepresentableValueForceUnormRepresentation : 0
info: floatRepresentation : 0
info: depthBiasExact : 0
info: VK_EXT_extended_dynamic_state3
info: extDynamicState3AlphaToCoverageEnable : 1
info: extDynamicState3DepthClipEnable : 1
info: extDynamicState3RasterizationSamples : 1
info: extDynamicState3SampleMask : 1
info: extDynamicState3LineRasterizationMode : 1
info: VK_EXT_fragment_shader_interlock
info: fragmentShaderSampleInterlock : 0
info: fragmentShaderPixelInterlock : 0
info: VK_EXT_full_screen_exclusive
info: extension supported : 1
info: VK_EXT_graphics_pipeline_library
info: graphicsPipelineLibrary : 1
info: VK_EXT_line_rasterization
info: rectangularLines : 0
info: smoothLines : 0
info: VK_EXT_memory_budget
info: extension supported : 1
info: VK_EXT_memory_priority
info: memoryPriority : 1
info: VK_EXT_multi_draw
info: multiDraw : 0
info: VK_EXT_non_seamless_cube_map
info: nonSeamlessCubeMap : 1
info: VK_EXT_pageable_device_local_memory
info: pageableDeviceLocalMemory : 1
info: VK_EXT_robustness2
info: robustBufferAccess2 : 1
info: robustImageAccess2 : 1
info: nullDescriptor : 1
info: VK_EXT_shader_module_identifier
info: shaderModuleIdentifier : 1
info: VK_EXT_shader_stencil_export
info: extension supported : 1
info: VK_EXT_swapchain_colorspace
info: extension supported : 0
info: VK_EXT_swapchain_maintenance1
info: swapchainMaintenance1 : 0
info: VK_EXT_hdr_metadata
info: extension supported : 1
info: VK_EXT_transform_feedback
info: transformFeedback : 0
info: geometryStreams : 0
info: VK_EXT_vertex_attribute_divisor
info: vertexAttributeInstanceRateDivisor : 1
info: vertexAttributeInstanceRateZeroDivisor : 1
info: VK_KHR_external_memory_win32
info: extension supported : 1
info: VK_KHR_external_semaphore_win32
info: extension supported : 1
info: VK_KHR_load_store_op_none
info: extension supported : 1
info: VK_KHR_maintenance5
info: maintenance5 : 1
info: VK_KHR_maintenance7
info: maintenance7 : 1
info: VK_KHR_present_id
info: presentId : 0
info: VK_KHR_present_wait
info: presentWait : 0
info: VK_NV_descriptor_pool_overallocation
info: descriptorPoolOverallocation : 0
info: VK_NV_low_latency2
info: extension supported : 0
info: VK_NV_raw_access_chains
info: shaderRawAccessChains : 0
info: VK_NVX_binary_import
info: extension supported : 0
info: VK_NVX_image_view_handle
info: extension supported : 0
info: VK_KHR_win32_keyed_mutex
info: extension supported : 1
info: Queue families:
info: Graphics : 0
info: Transfer : 2
info: Sparse : 0
info: Memory type mask for buffer resources: 0xf, usage: 0x1ff
info: DXVK: Read 40 valid state cache entries
info: DXVK: Graphics pipeline libraries not supported
info: D3D9DeviceEx: Using extended constant set for software vertex processing.
info: D3D9DeviceEx::ResetSwapChain:
info: Requested Presentation Parameters
info: - Width: 1920
info: - Height: 1080
info: - Format: D3D9Format::A8R8G8B8
info: - Auto Depth Stencil: true
info: ^ Format: D3D9Format::D24S8
info: - Windowed: true
info: - Swap effect: 1
d3d8.log:
warn: D3D8Device::SetRenderState: Unimplemented render state D3DRS_PATCHSEGMENTS