protonscr

Broken textures in World of warcraft 3.3.5a

dxvkclosed
doitsujin/dxvk#4534 · opened 2024-12-21 by TonyG-Bot · updated 2024-12-29 · 31 comments · github
TTonyG-Bot 2024-12-21 github

Captura de pantalla 2024-12-20 211308

Software information

  • World of warcraft 3.3.5a

  • Configuration:
    SET locale "esES"
    SET realmList " "
    SET hwDetect "0"
    SET gxWindow "1"
    SET gxMaximize "1"
    SET gxResolution "1920x1080"
    SET gxRefresh "144"
    SET gxTripleBuffer "1"
    SET gxMultisample "4"
    SET gxMultisampleQuality "0.000000"
    SET gxFixLag "0"
    SET videoOptionsVersion "3"
    SET windowResizeLock "1"
    SET textureFilteringMode "4"
    SET movie "0"
    SET Gamma "1.000000"
    SET readTOS "1"
    SET readEULA "1"
    SET readTerminationWithoutNotice "1"
    SET showToolsUI "1"
    SET Sound_OutputDriverName "System Default"
    SET Sound_MusicVolume "0.40000000596046"
    SET Sound_AmbienceVolume "0.60000002384186"
    SET componentTextureLevel "9"
    SET shadowLevel "0"
    SET farclip "1057"
    SET particleDensity "0.80000001192093"
    SET groundEffectDensity "56"
    SET groundEffectDist "130"
    SET environmentDetail "1.25"
    SET projectedTextures "1"
    SET weatherDensity "0"
    SET ffxGlow "0"
    SET ffxDeath "0"
    SET useUiScale "1"
    SET uiScale "0.8"
    SET mouseSpeed "1"
    SET accounttype "LK"
    SET realmName " "
    SET gameTip "50"

  • GPU: Nvidia GeForce RTX 3050 Ti Laptop GPU

  • Driver: 566.36

  • Windows 11 Home build 22631.4602

  • DXVK version: 2.5.2

Log file

info: Game: Wow.exe
info: DXVK: v2.5.2
info: Build: x86 gcc 14.2.0
info: Found config file: dxvk.conf
info: Effective configuration:
info: dxvk.enableMemoryDefrag = auto
info: d3d9.supportVCache = true
info: dxvk.enableCaptureMode = true
info: d3d9.maxFrameRate = 141
info: d3d9.maxFrameLatency = 3
info: dxvk.enableAsync = true
info: dxvk.allowMemoryOvercommit = true
info: dxvk.numCompilerThreads = 0
info: dxvk.numAsyncThreads = 0
info: dxvk.maxChunkSize = 0
info: d3d9.floatEmulation = true
info: d3d9.numBackBuffers = 2
info: d3d9.tearFree = auto
info: dxvk.enableGraphicsPipelineLibrary = auto
info: d3d9.maxAvailableMemory = 0
info: dxvk.gplAsyncCache = true
info: dxvk.useRawSsbo = true
info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x5cb916e0
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_EXT_surface_maintenance1
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info: NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info: Driver : NVIDIA 566.36.0
info: Memory Heap[0]:
info: Size: 3962 MiB
info: Flags: 0x1
info: Memory Type[1]: Property Flags = 0x1
info: Memory Type[2]: Property Flags = 0x1
info: Memory Type[5]: Property Flags = 0x7
info: Memory Heap[1]:
info: Size: 7886 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x6
info: Memory Type[4]: Property Flags = 0xe
info: Process set as DPI aware
info: Device properties:
info: Device : NVIDIA GeForce RTX 3050 Ti Laptop GPU
info: Driver : NVIDIA 566.36.0
info: Enabled device extensions:
info: VK_EXT_attachment_feedback_loop_layout
info: VK_EXT_conservative_rasterization
info: VK_EXT_custom_border_color
info: VK_EXT_depth_bias_control
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_swapchain_maintenance1
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_maintenance5
info: VK_KHR_pipeline_library
info: VK_KHR_present_id
info: VK_KHR_present_wait
info: VK_KHR_swapchain
info: VK_KHR_win32_keyed_mutex
info: VK_NV_descriptor_pool_overallocation
info: VK_NV_raw_access_chains
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 : 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 : 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 : 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_depth_bias_control
info: depthBiasControl : 1
info: leastRepresentableValueForceUnormRepresentation : 1
info: floatRepresentation : 0
info: depthBiasExact : 1
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 : 1
info: smoothLines : 1
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_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 : 0
info: VK_EXT_swapchain_colorspace
info: extension supported : 0
info: VK_EXT_swapchain_maintenance1
info: swapchainMaintenance1 : 1
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_maintenance5
info: maintenance5 : 1
info: VK_KHR_present_id
info: presentId : 1
info: VK_KHR_present_wait
info: presentWait : 1
info: VK_NV_descriptor_pool_overallocation
info: descriptorPoolOverallocation : 1
info: VK_NV_raw_access_chains
info: shaderRawAccessChains : 1
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 : 1
info: Sparse : 0
info: Memory type mask for buffer resources: 0x3b, usage: 0x1ff
warn: DXVK: No state cache file found
info: DXVK: Graphics pipeline libraries supported
info: D3D9DeviceEx::ResetSwapChain:
info: Requested Presentation Parameters
info: - Width: 1920
info: - Height: 1080
info: - Format: D3D9Format::X8R8G8B8
info: - Auto Depth Stencil: true
info: ^ Format: D3D9Format::D24X8
info: - Windowed: true
info: - Swap effect: 1
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 (dynamic: yes)
info: Buffer size: 1920x1080
info: Image count: 3
info: DXVK: Using 16 compiler threads
info: D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT
info: NVIDIA GeForce RTX 3050 Ti Laptop GPU:
info: Driver : NVIDIA 566.36.0
info: Memory Heap[0]:
info: Size: 3962 MiB
info: Flags: 0x1
info: Memory Type[1]: Property Flags = 0x1
info: Memory Type[2]: Property Flags = 0x1
info: Memory Type[5]: Property Flags = 0x7
info: Memory Heap[1]:
info: Size: 7886 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x6
info: Memory Type[4]: Property Flags = 0xe
info: Process set as DPI aware
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 (dynamic: yes)
info: Buffer size: 1920x1080
info: Image count: 3
info: Setting timer interval to 500 us
warn: D3D9DeviceEx::SetRenderState: Unhandled render state 161

TTonyG-Bot 2024-12-21 github

With version 2.5.1 it works fine.

BBParks21 2024-12-21 github

Same issues with Legacy of Kain Defiance and Ultimate Spider Man. Both work fine with 2.5.1

BBlisto91 2024-12-21 github

Hi there. This has already been reported and fixed on master https://github.com/doitsujin/dxvk/issues/4532

Try downloading this build https://github.com/doitsujin/dxvk/actions/runs/12435734651

BBParks21 2024-12-21 github

Hi there. This has already been reported and fixed on master #4532

Try downloading this build https://github.com/doitsujin/dxvk/actions/runs/12435734651

That fixed the graphical issues but this version is really choppy. It's like the frame pacing is broken with it. If I use 2.5.1 with the same games they are buttery smooth. Still something funky going on with this build. The stutter is terrible.

BBlisto91 2024-12-21 github

I don't think i am reproducing. Could you make a video showing it?

BBParks21 2024-12-21 github

Yeah I will make a video comparing 2.5.1 and this build in LoK Defiance. It's night and day. The build provided looks jittery when rotating a camera slowly. Where as 2.5.1 does not jitter at all. Literally the same horrible stutter/jittery frame pacing with this build when playing Ultimate Spiderman as well.

BBParks21 2024-12-21 github

I can't seem to record a video without OBS itself introducing some stutter of it's own that is not there when I'm actually playing during the recording, so IDK how else I can prove it. I promise you It is causing stutter that 2.5.1 is not causing at all.

KK0bin maintainer 2024-12-21 github

Then please bisect it using git bisect. The bug fix yesterday pretty much cannot introduce any stuttering at all.

BBlisto91 2024-12-21 github
BBParks21 2024-12-21 github

Well it is. Actually I figured out how to capture it properly so give me a minute to upload the proper recordings capturing it in two different games. Please be patient. I have proof now. Yes I will try it.

BBParks21 2024-12-21 github

Could you try and see if this build is fine? https://github.com/doitsujin/dxvk/actions/runs/11982815392 And this build is bad? https://github.com/doitsujin/dxvk/actions/runs/11988497533

Yes this build is fine it does not stutter. https://github.com/doitsujin/dxvk/actions/runs/11982815392

This build is also fine https://github.com/doitsujin/dxvk/actions/runs/11988497533

Just this one exhibits stutter in multiple games https://github.com/doitsujin/dxvk/actions/runs/12435734651

I thought I had it figured out capturing it with OBS but I spoke too soon. I'm no OBS expert but I can't seem to capture the smoothness of the builds I'm claiming are smooth because of OBS introducing some stutter in post.

KK0bin maintainer 2024-12-21 github

That still leaves about 30 commits, so it doesn't really help. 2.5.2 has the same stutter problem (if you just ignore the texture bugs for a moment), right?

BBParks21 2024-12-21 github

That still leaves about 30 commits, so it doesn't really help. 2.5.2 has the same stutter problem (if you just ignore the texture bugs for a moment), right?

Let me confirm that for you. Yes 2.5.2 has the same stutter as this build. https://github.com/doitsujin/dxvk/actions/runs/12435734651

Where as these two do not have stutter.
https://github.com/doitsujin/dxvk/actions/runs/11982815392
https://github.com/doitsujin/dxvk/actions/runs/11988497533

KK0bin maintainer 2024-12-21 github
BBParks21 2024-12-21 github
BBParks21 2024-12-21 github

Try this https://github.com/doitsujin/dxvk/actions/runs/12374388183

Broken textures and still stutter in this one.

BBlisto91 2024-12-21 github

Try making a apitrace https://github.com/doitsujin/dxvk/wiki/Using-Apitrace
It might slow down a lot but just do what you normally do to reproduce the stutter and then exit. Even if it doesn't stutter meanwhile since you won't be using dxvk when making it.

KK0bin maintainer 2024-12-21 github

That leaves 65843aa016003df76ed1c75f8b9195f0084ab292 as the first commit with stutter.
Unfortunately that makes no sense. There's nothing in there that could cause stutter.

BBParks21 2024-12-21 github

Give me a minute I'm gonna go through every version you guys have asked me to check just to make sure I didn't mix any up.

BBParks21 2024-12-21 github

Ok here we go. Tested thoroughly. I may have originally mixed one up.

Version 2.5.1 = no stutter

Version 2.5.2 = stutter and broken graphics

Build 43b79bcb233b507127b1868e008c358474752094 = no stutter and no broken graphics - https://github.com/doitsujin/dxvk/actions/runs/11982815392

Build 9e1bc1db234ea27e5f8f7f84ffd4d28af11224ac = no stutter and no broken graphics - https://github.com/doitsujin/dxvk/actions/runs/11988497533

Build d7bd3cd58e2690cfcddb0283a3d79b1764b0b671 = no stutter and no broken graphics - https://github.com/doitsujin/dxvk/actions/runs/12008516626

Build 67f4ec73aa98abf70ee63d7ec17ddb48adde04d5 = stutter and no broken graphics - https://github.com/doitsujin/dxvk/actions/runs/12362136474

Build acf93aa70a696253ae0e7e6fec7a9287f9970b37 = stutter and broken graphics - https://github.com/doitsujin/dxvk/actions/runs/12374388183

Build 1eb0c687a6748d8268dd84f466a1378de4fb3c10 = stutter and no broken graphics - https://github.com/doitsujin/dxvk/actions/runs/12435734651

KK0bin maintainer 2024-12-21 github

This unfortunately still leaves a lot of changes as the possible culprits and it runs perfectly fine for all of us.

BBParks21 2024-12-21 github

This unfortunately still leaves a lot of changes as the possible culprits and it runs perfectly fine for all of us.

I imagine in some games it's possible it runs fine for you but the fact is in specific games it no longer runs smooth in the builds specified above where as it ran fine before. I'm guessing if you tested the games I'm running you would get the same results.

KK0bin maintainer 2024-12-21 github

https://github.com/doitsujin/dxvk/actions/runs/12008516626/job/33471318226

What about this one?

I'm guessing if you tested the games I'm running you would get the same results.

@Blisto91 tested D3D9 WoW on a private server for example. That's what the issue was about.

BBParks21 2024-12-21 github

https://github.com/doitsujin/dxvk/actions/runs/12008516626/job/33471318226

What about this one?

I'm guessing if you tested the games I'm running you would get the same results.

@Blisto91 tested D3D9 WoW on a private server for example. That's what the issue was about.

Stutter and no broken graphics.

KK0bin maintainer 2024-12-21 github

Most likely https://github.com/doitsujin/dxvk/commit/15db475edf99f04c0236a693be2f2c13c7554b0c then.

Looks like the Windows compositor is the issue here. Also make sure you're not running any weird overlays.

BBParks21 2024-12-21 github

Most likely 15db475 then.

Looks like the Windows compositor is the issue here. Also make sure you're not running any weird overlays.

No overlays or any external frame limiters etc.

BBlisto91 2024-12-21 github

Could you attach a dxvk log? Should appear next to the exe

BBParks21 2024-12-21 github

This is with 0 modifications to the game just with the dxvk 32bit d3d9.dll added to the game directory.
defiance_d3d9.log

AArcitec 2024-12-29 github

Most likely 15db475 then.

Looks like the Windows compositor is the issue here. Also make sure you're not running any weird overlays.

@K0bin Any reason why that was disabled? I guess because most compositors should be smart enough to detect when an app is covering the whole screen and automatically give it direct scanout.

@BParks21 What compositor do you use? Like GNOME, KDE, Hyprland, etc. And X11 or Wayland?

Mmbriar 2024-12-29 github

Any reason why that was disabled? I guess because most compositors should be smart enough to detect when an app is covering the whole screen and automatically give it direct scanout.

On linux, exclusive fullscreen doesn't exist and never did anything anyways.

Upstream links

DLLs