AlpyneDreams / d8vk

Direct3D 8 to Vulkan translation for DXVK! Merged into dxvk: https://github.com/doitsujin/dxvk
zlib License
485 stars 8 forks source link

It worked on win10 with C&C general! #188

Closed solaris111 closed 10 months ago

solaris111 commented 1 year ago
Thank you very much! It worked on win10(21H2 LTSC) with C&C general(mod of fivestar) and perform well! The game often make amd display driver offline and leave me blake screen with offical d3d8.dll before.But I still have some questions:
  1. How can I test d8vk with 3dmark2001se on win10? 3dmark2001se can't work ,when I putting your d3d8.dll in it's directory.
  2. Why dose the game load official d3d11.dll and d3d12.dll,while it's really load 'C:\Windows\SysWOW64\vulkan-1.dll' The following log and capture may helpful: info: Game: game.dat info: DXVK: d8vk-v1.0 info: Built-in extension providers: info: Win32 WSI info: OpenVR info: OpenXR info: OpenVR: could not open registry key, status 2 info: OpenVR: Failed to locate module info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x70b0b540 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 780M Graphics: info: Driver: 2.0.250 info: Vulkan: 1.3.237 info: Memory Heap[0]: info: Size: 3840 MiB info: Flags: 0x3 info: Memory Type[0]: Property Flags = 0x1 info: Memory Type[4]: Property Flags = 0xc1 info: Memory Heap[1]: info: Size: 13922 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 Heap[2]: info: Size: 256 MiB info: Flags: 0x3 info: Memory Type[2]: Property Flags = 0x7 info: Memory Type[6]: Property Flags = 0xc7 info: Process set as DPI aware info: Device properties: info: Device name: : AMD Radeon 780M Graphics info: Driver version : 2.0.250 info: Enabled device extensions: info: VK_AMD_memory_overallocation_behavior 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_full_screen_exclusive info: VK_EXT_hdr_metadata info: VK_EXT_memory_priority info: VK_EXT_non_seamless_cube_map info: VK_EXT_robustness2 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_pipeline_library info: VK_KHR_swapchain 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 : 0 info: drawIndirectFirstInstance : 0 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 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 : 0 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 : 0 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_extended_dynamic_state3 info: extDynamicState3AlphaToCoverageEnable : 0 info: extDynamicState3DepthClipEnable : 0 info: extDynamicState3RasterizationSamples : 0 info: extDynamicState3SampleMask : 0 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 : 0 info: VK_EXT_memory_budget info: extension supported : 1 info: VK_EXT_memory_priority info: memoryPriority : 1 info: VK_EXT_non_seamless_cube_map info: nonSeamlessCubeMap : 1 info: VK_EXT_robustness2 info: robustBufferAccess2 : 1 info: robustImageAccess2 : 1 info: nullDescriptor : 1 info: VK_EXT_shader_module_identifier info: shaderModuleIdentifier : 0 info: VK_EXT_shader_stencil_export info: extension supported : 1 info: VK_EXT_swapchain_colorspace info: extension supported : 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_NVX_binary_import info: extension supported : 0 info: VK_NVX_image_view_handle info: extension supported : 0 info: Queue families: info: Graphics : 0 info: Transfer : 2 info: Sparse : 0 info: DXVK: Read 309 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: 2560 info: - Height: 1600 info: - Format: D3D9Format::A8R8G8B8 info: - Auto Depth Stencil: true info: ^ Format: D3D9Format::D24S8 info: - Windowed: false info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR info: Buffer size: 800x600 info: Image count: 3 info: Exclusive FS: 0 info: Setting display mode: 2560x1600@0 info: Setting display mode: 2560x1600@0 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 164 info: DXVK: Using 16 compiler threads info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_FIFO_KHR info: Buffer size: 2560x1600 info: Image count: 3 info: Exclusive FS: 0 info: D3D9DeviceEx::ResetSwapChain: info: Requested Presentation Parameters info: - Width: 2560 info: - Height: 1600 info: - Format: D3D9Format::A8R8G8B8 info: - Auto Depth Stencil: true info: ^ Format: D3D9Format::D24S8 info: - Windowed: false info: Setting display mode: 2560x1600@0 info: Setting display mode: 2560x1600@0

图片

WinterSnowfall commented 1 year ago

Thank you very much! It worked on win10(21H2 LTSC) with C&C general(mod of fivestar) and perform well! The game often make amd display driver offline and leave me blake screen with offical d3d8.dll before.

Glad to hear it helps. The unmodded base game and its addon are known to work fine with d8vk, save for some minor performance problems in the menus (see #151).

How can I test d8vk with 3dmark2001se on win10? 3dmark2001se can't work ,when I putting your d3d8.dll in it's directory.

I'm fully on Linux these days, so can't advise here, but we've had reports of 3DMark2001 SE working just fine on Windows, so I'm not entirely sure why you are running into issues.

Why dose the game load official d3d11.dll and d3d12.dll,while it's really load 'C:\Windows\SysWOW64\vulkan-1.dll'

Good question. You'll have to ask whoever wrote the mod, I guess. d8vk will only ever need vulkan-1.dll because it translates d3d8 to Vulkan for rendering and the base game certainly won't load either d3d11 or d3d12 dlls (nor dxgi, for that matter).

solaris111 commented 1 year ago

I 'm sorry to report the issues of 3dmark2001se.I try again, it works well.And much fast than official dx8!