Code Monkey home page Code Monkey logo

dxvk's People

Contributors

aeikum avatar alpynedreams avatar blisto91 avatar cdavis5e avatar cjacek avatar cme42 avatar cwabbott0 avatar dadschoorse avatar dhewg avatar doitsujin avatar endlesslyflowering avatar gofman avatar guy1524 avatar hakzsam avatar ishitatsuyuki avatar joshua-ashton avatar jp7677 avatar k0bin avatar liam-middlebrook avatar libcg avatar mixaill avatar notaz avatar pchome avatar pendingchaos avatar raffarti avatar rbernon avatar saancreed avatar trevonn avatar wintersnowfall avatar zerofault avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dxvk's Issues

[Patch fo submit] ../src/d3d11/d3d11_device.cpp:2186:18: Error : « find_if » is not a member of « std »

Build failed for all commis pushed on 30-Jan2018. please see below

Can you please apply this patch? I am not a developer (there is only one line to add)

Patch

diff -Napur dxvk/src/d3d11/d3d11_device.cpp dxvk-error-fixed/src/d3d11/d3d11_device.cpp
--- dxvk/src/d3d11/d3d11_device.cpp	2018-01-31 01:25:20.272357811 +0100
+++ dxvk-error-fixed/src/d3d11/d3d11_device.cpp	2018-01-31 01:23:44.479356539 +0100
@@ -1,5 +1,5 @@
 #include <cstring>
-
+#include <algorithm>
 #include "d3d11_buffer.h"
 #include "d3d11_class_linkage.h"
 #include "d3d11_context_def.h"

ERROR [Fixed]

david@amdgaming:~/dxvk/build.w32$ ninja
[6/24] Compiling C++ object 'src/d3d11/d3d11_vk@sha/d3d11_device.cpp.obj'.
FAILED: src/d3d11/d3d11_vk@sha/d3d11_device.cpp.obj
/opt/mingw32/bin/i686-w64-mingw32-g++ -Og -gdwarf-2 -Isrc/d3d11/d3d11_vk@sha -Isrc/d3d11 -I../src/d3d11 -I.././include -Isrc/dxvk -I../src/dxvk -Isrc/dxgi -I../src/dxgi -Isrc/dxbc -I../src/dxbc -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c
1z -O3 -MMD -MQ 'src/d3d11/d3d11_vk@sha/d3d11_device.cpp.obj' -MF 'src/d3d11/d3d11_vk@sha/d3d11_device.cpp.obj.d' -o 'src/d3d11/d3d11_vk@sha/d3d11_device.cpp.obj' -c ../src/d3d11/d3d11_device.cpp
../src/d3d11/d3d11_device.cpp: Dans la fonction membre statique « static D3D_FEATURE_LEVEL dxvk::D3D11Device::GetMaxFeatureLevel() »:
../src/d3d11/d3d11_device.cpp:2186:18: erreur : « find_if » is not a member of « std »
auto entry = std::find_if(s_featureLevels.begin(), s_featureLevels.end(),
^~~
[11/24] Compiling C++ object 'src/d3d11/d3d11_vk@sha/d3d11_util.cpp.obj'.
ninja: build stopped: subcommand failed

HLSL to SPIRV descriptor set

Hi,
Excellent work tho, how do you plan to map the hlsl register into vulkan descriptor set?
Or you plan to have one unique descriptor set for shader?

Offworld Trading Company (Unity 5.6.3p1) near-instacrash with HUD enabled.

I'm getting immediate crashes with DXVK_HUD=1 in Offworld Trading Company.

The game seems to work pretty well without the HUD enabled, though.

Software information

Offworld Trading Company (Unity 5.6.3p1)

System information

  • GPU: GTX 970
  • Driver: prop 387.34
  • Wine version: Wine 2.21-staging

Apitrace file(s)

  • Offworld.trace.gz (gzipped not for size but to trick GitHub into hosting the bloody thing)

Log files

Also, fun in dmesg:

[229371.058294] NVRM: Xid (PCI:0000:0b:00): 69, Class Error: ChId 004b, Class 0000b197, Offset 00001168, Data 00000600, ErrorCode 00000005

Missing color format, EVE-Online

When trying to run EVE, I get that :
fixme:winediag:start_process Wine Staging 2.19 is a testing version containing experimental patches.
fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
fixme:heap:RtlSetHeapInformation 0x490000 0 0x32ed14 4 stub
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
Network layer using: CarbonIO
fixme:heap:RtlSetHeapInformation 0x490000 0 0x328264 4 stub
err:winediag:query_gpu_description Invalid GPU override 1002:6798 specified, ignoring.
err:winediag:query_gpu_description Invalid GPU override 1002:6798 specified, ignoring.
info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported
WARNING: radv is not a conformant vulkan implementation, testing use only.
warn: DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info: Enabled device extensions:
info: VK_AMD_rasterization_order
info: VK_KHR_maintenance1
info: VK_KHR_maintenance2
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
mesa: for the -simplifycfg-sink-common option: may only occur zero or one times!
Starting up Trinity through _trinity_dx11_deploy ...
info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported
WARNING: radv is not a conformant vulkan implementation, testing use only.
warn: DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info: Enabled device extensions:
info: VK_AMD_rasterization_order
info: VK_KHR_maintenance1
info: VK_KHR_maintenance2
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R1_UNORM
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R8G8_B8G8_UNORM
err: DxgiAdapter: No format mapping for DXGI_FORMAT_G8R8_G8B8_UNORM
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
err: D3D11: Unsupported format: 0
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R1_UNORM
err: D3D11: Unsupported format: 66
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R8G8_B8G8_UNORM
err: D3D11: Unsupported format: 68
err: DxgiAdapter: No format mapping for DXGI_FORMAT_G8R8_G8B8_UNORM
err: D3D11: Unsupported format: 69
err: DxgiAdapter: No format mapping for DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
err: D3D11: Unsupported format: 89
An exception has occurred. It has been logged in the log server as exception #1

It look like it's missing some colours format. And unfortunately I looked in the src and I saw them... in comments... Are these simply not supported by Vulkan and in that case, do some colour conversion will be required and ever be supported?

dxvk does not work with Wine-Vulkan 3.0 - required extensions not supported

Hi,

i tried to get DXVk running with wine-vulkan instead of wine-staging now and it does not work.
Here are the error messages, i guess it is caused by the fact the wine-vulkan does not expose extensions as it seems ? :

info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
008a:fixme:vulkan:wine_vk_instance_convert_create_info Application requested a linked structure of type 47
008a:fixme:vulkan:wine_vk_instance_convert_create_info Application requested a linked structure of type 47
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceDisplayPropertiesKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceDisplayPlanePropertiesKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetDisplayPlaneSupportedDisplaysKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetDisplayModePropertiesKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkCreateDisplayModeKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetDisplayPlaneCapabilitiesKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkCreateDisplayPlaneSurfaceKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkCreateSharedSwapchainsKHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceSurfaceCapabilities2KHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceSurfaceFormats2KHR'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkCreateDebugReportCallbackEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkDestroyDebugReportCallbackEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkDebugReportMessageEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkDebugMarkerSetObjectTagEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkDebugMarkerSetObjectNameEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceExternalImageFormatPropertiesNV'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetDeviceGroupSurfacePresentModesKHX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDevicePresentRectanglesKHX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkEnumeratePhysicalDeviceGroupsKHX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceExternalBufferPropertiesKHX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceExternalSemaphorePropertiesKHX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkReleaseDisplayEXT'
008a:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: 'vkGetPhysicalDeviceSurfaceCapabilities2EXT'
info: D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err: Required Vulkan extension VK_KHR_maintenance1 not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
err: Required Vulkan extension VK_KHR_shader_draw_parameters not supported
err: DxvkAdapter: Failed to create device
err: D3D11CreateDevice: Failed to create DXGI device

Any way to solve that ?

Many thanks !
Christian

Hitman Absolution needs "Class linkage"

I only see in d3d11.log errors like:
warn: D3D11RasterizerState: Depth clamp not properly supported
err: D3D11RasterizerState: Antialiased lines not supported
warn: D3D11Device::CreateShaderModule: Class linkage not supported
err: DxbcCompiler: Unhandled PS SV input: DxbcSystemValue::SampleIndex

Rendering issues with Saints Row Franchise

The game boots normally, the menus are rendered without issues, however upon loading, only the HUD is rendered correctly, on a black background. (Using latest master)

Software information

Saints Row IV (also happens with Saints Row The Third). Confirmed regardless of settings, went from high+4xmsaa to low+noaa, with the same results.

System information

  • Distro: openSUSE Tumbleweed
  • GPU: RX 560
  • Driver: Mesa 17.3.2
  • Wine version: wine-staging-2.20

Apitrace file(s)

Log files

New Final Fantasy XV benchmark

benchmark released today..
of course not works closes on loading benchmark launching 1080p lite graphics from menu..

maybe very interesting as it uses a lot of Gamework tech:
GFSDK_TurfEffects.win64.dll
GFSDK_ShadowLib_DX11.win64.dll
GFSDK_VXGI_x64.dll
NvFlowLibRelease_win64.dll
NvHairWorksDx11.win64.dll
AnselSDK64.dll
altough in principle they work on AMD GPUs so not be using any NVAPI extended D3D11 APIs..
wait.. I see amd_ags_x64.dll may be they use some AMD D3D11 extended features also..

System information

  • GPU: Vega 56
  • Driver: adrenalin 18.1.1
  • Wine version: no, native Windows
  • DXVK version: up to latest commit as date posted..

Log files

SteamVR Integration

The low latency requirements of VR and the tight binding around hardware make running a full VR software stack inside Wine infeasible. Thankfully, we have a native, official version of SteamVR.

The problem is connecting an app inside Wine to the native SteamVR. I've tried, and met limited success (with my wrapper lib, OpenGL applications generally work), but hit a brick wall when trying to interface a Direct3D application with a runtime that inherently, due to its native platform, has no concept of Direct3D. I could not think of a solution that did not involve extensive modification of Wine itself, as encapsulation completely prevents access to the underlying OGL resources.

And even if I did manage something, I'd have to do it all over again for DXVK.

(Quickly: OpenVR is the API, and SteamVR is the runtime. Not really sure why there's a distinction but it is what it is.)

So, this is more of an RFC for anything, on how to "jailbreak" submitted eye textures from OpenVR applications so they can be submitted to the native SteamVR. I can think of a few theoretical ways to do it:

  1. An API proprietary to Wine or DXVK that provide the required resources. This isn't as simple as it sounds as OpenVR requires more than just shared textures from a Vulkan application. So, this involves exposing certain implementation details (handing over device and instance handles is quite the powder keg).
  2. An OpenVR wrapper inside DXVK itself, either rolling WineOpenVR into DXVK or writing a new wrapper from scratch. This may be the cleanest approach as it avoids the encapsulation liability of the above, but extends the scope slightly beyond Direct3D and related APIs.
  3. Implementing the DXGI and D3D APIs to enable doing it "the Windows way". There's an old post on the Nvidia developer blog that demonstrates how to do it. The extensions leveraged there are dated, but using the modern equivalents VK_EXT_external_memory(_ win32) and VK_EXT_external_semaphore(_ win32), the process differs only in the semantics of the synchronization objects. This has considerable overhead compared to the other two options (when VR apps need every microsecond they can get), and may still require extensive modifications to Wine related to NT handles. Even if not, Wine's Vulkan implementation would need to be modified directly to implement VK_EXT_external_*_win32, so patching Wine itself would be flat-out unavoidable.

Thoughts? Other ideas?

ComputeMark 2.1 launches GUI but don't launch benchmarks

This benchmark is interesting because should be a DX11 app using purely compute+UAV features (2D and 3D RWTextures) so could be good getting it right as doesn't use pretty much any other DX11 features..
tested on NV 390.65 and GTX 970

seems there is only missing API function
"err: D3D11Device::GetUnorderedAccessViewDescFromResource: Not implemented"

d3d11.log
dxgi.log

attaching benchmark here because can be difficult to find..
ComputeMark2.zip

Battlefield Bad Company 2 DX11: Works now without MSAA

Hi,

the game starts, but dosesn't display anything. I used wine in virtual desktop mode with 1024x768, same resolution in game. Disabling wine virtual desktop also leeds to the same issue:

System: OpenSuse Tumbleweed, i3570k, 16GB RAm, NVidia Gtx 970, 390.12 driver
d3d11.log
dxgi.log

Debug Log:

ParameterValidation(ERROR): object: 0x0 type: 0 location: 1890 msgCode: 352323990: vkCmdSetViewport 0: width (0.000000) exceeds permitted bounds (0,16384). The spec valid usage text states 'width must be greater than 0.0 and less than or equal to VkPhysicalDeviceLimits::maxViewportDimensions[0]' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkViewport-width-01227)

Cu,
Christian
d3d11.log
dxgi.log

3 suggestions for your project..

Hi,
just some ideas about your project..
note expect #1 other two may be better to investigate once project is more mature..

  1. reusing existing open source projects for DXBC->SPIRV translation..
    just a suggestion as you seem to be reimplementing DXBC to SPIRV shader conversion from scratch..
    for me seems a waste of your time (please forgive me if mistaken) and would be better to reuse at least one of these two projects:
    a) Reuse Wine source code : supports DXBC to GLSL and is someway battle tested on modern D3D11 games
    (should then get SPIRV by using Khronos glslang to go GLSL->SPIRV)
    notes: still lacks some byte codes related to shader linking feature, fp64 optional ops, but they aren't massively used.
    PROs:
    *if you end implementing missing opcodes vs Wine then wine can benefit from your work..
    CONs:
    *GLSL output has to be massaged for Vulkan GLSL specific restrictions?
    *Get knowledgeable about Wine code base
    *Wine licenses issues?
    perhaps personally would choose that..
    b) reuse Unity HLSLCC compiler (https://github.com/Unity-Technologies/HLSLcc)
    you will also need glslang using this path..
    CONS:
    *produces "GLSL for Vulkan consumption (as input for Glslang to generate SPIR-V)" so no potential problems like Wine GLSL output from DXBC..
    *altough well tested in Unity shader codebase,perhaps not robust as Wine shader translation
    PRO:
    additionaly supports Metal language output support (supports vert,frg,compute.. Metal tesselation should be coming soon (now that Unity 2018.1 roadmap mentions Metal tesselation support)..
    so if someway later this project gets forked onto DXMetal shader conversion should already be solved someway..

  2. Test Macos support using MoltenVK (vulkan to metal translator)..
    (note: this is not testable right now..)
    Wine staging right now supports Vulkan on Linux and with some patches could support could be brought to Macos by linking to MoltenVK Vulkan library..
    then we can see how your project Vulkan code plays with MoltenVK and workaround current MoltenVK limitations and perhaps provide feedback to MoltenVK author from improvements..
    I plan on doing my testing on my way as soon as I get patches for Wine Vulkan Macos working..

  3. Windows Visual studio support..
    past week, with minor changes I got your project to compile with Visual studio 2017 some days ago..
    I generated projects using meson flag: --backend vs2017
    then from IDE fixed the issues one by one if I remember the most frequest were missing #include on some files and the hardest one were to modify my Windows SDK d3d11.h and dxgi.h headers to include declspec(exportdll) as needed to match your function implementations of
    D3D11CreateDevice,D3D11CreateDeviceAndSwapChain,CreateDXGIFactory1,CreateDXGIFactory..

just my three cents.. :-) keep up your great work 👍

DXVK doesn't work with Intel HD Graphics Windows Vulkan driver..

now that DXVK is sane enough to generate both d3d11.dll and dxgi.dll using it on Windows for testing is much easier..
As my previous reports show multiple games work/or at least launch to menu and also ComputeMark..

Nvidia has improved from crashing to working the sample apps included (d3d11-compute & trinagle)
but still some bugs are left as for example ComputeMark2 renders all tests black screen saying failing
err: DxvkComputePipeline: Failed to compile pipeline

Anyway more stange is on Intel iGPUs all basic samples ( dxgi-factory d3d11-triange d3d11-compute) fail
the problem is don't crash.. the executable launched from command line doesn't return.. and worse is that all file logs (like dxgi-factory_dxgi.log) are empty (0bytes) even seeing while executing app or after forced close
of course I have tests Intel Vulkan driver with Windows apps and it works correctly is not a problem of having it installed incorrectly..
also this driver I use 4933 has lots of extensions (https://vulkan.gpuinfo.org/displayreport.php?id=2529#extensions)
so I assume all you need are there..

Software information

all fail dxgi-factory d3d11-triange d3d11-compute

System information

  • GPU: Intel HD 530
  • Driver: Intel graphics driver 23.20.16.4933
  • Wine version: none run native
  • DXVK version: latest up to 26ef59d

Log files

  • d3d11.log: produced files are empty
  • dxgi.log: produced files are empty

Providing logs of some D3D11 games (Metro LL,Tomb Raider 2013 and Bioshock Infinite)

Hi,
just wanted to see how far some of first AAA D3D11 games (from 2013 or so) would run with your wrapper..
in the process gathered the logs and I know you doesn't asked for but anyway I'm providing here to keep reference for the future..
Please ask if you need more games logs..
I'm removing printing same entry in log multiple times, and also note I will not repeat previously log entries from a previous game in next game to keep error list smaller..

state seems not bad (I mean it doesn't need more than new 12 DxBC opcodes and below 10 new API functions to implement to most of these errors disappear)..
the logs are until game closes/hangs so maybe they need more to run..

DXVK compiled from master 12 January 2018..

Bioshock Infinite:
DXGI log:
DxgiFactory::MakeWindowAssociation: Ignoring flags
DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
DxgiSwapChain::SetFullscreenState: Not implemented

D3D log:
D3D11Device: Unsupported query type: 3
D3D11Device: Unsupported query type: 0
DxbcCompiler: Unsupported operand type declaration: DxbcOperandType::OutputDepth
DxbcCompiler: Unhandled operand type: DxbcOperandType::OutputDepth
DxbcCompiler: Unhandled opcode class: DxbcOpcode::Swapc
DxbcCompiler: Unhandled opcode class: DxbcOpcode::DclIndexRange
DxbcCompiler: Unhandled opcode class: DxbcOpcode::Gather4
DxbcCompiler: Unhandled opcode class: DxbcOpcode::Gather4C
DxbcCompiler: Unhandled PS SV input: DxbcSystemValue::IsFrontFace
D3D11Device: No such vertex shader semantic: COLOR0
D3D11Device: No such vertex shader semantic: TEXCOORD0
D3D11Device: No such vertex shader semantic: TEXCOORD1
D3D11Device: No such vertex shader semantic: TEXCOORD2
D3D11Device: No such vertex shader semantic: TEXCOORD3
D3D11RasterizerState: Depth clamp not supported
D3D11: Invalid blend factor: 0
D3D11: Invalid blend op: 0

Tomb 2013
DXGI
DxgiDevice::SetMaximumFrameLatency: Stub
D3D
DxbcCompiler: Unhandled opcode class: DxbcOpcode::LdMs
D3D11Query: Stub
D3D11Device::CreateHullShader: Not implemented
D3D11Device::CreateDomainShader: Not implemented
DxbcCompiler: Unhandled PS SV input: DxbcSystemValue::IsFrontFace
D3D11RasterizerState: Depth clamp not supported
D3D11DeviceContext::IAGetIndexBuffer: Not implemented
D3D11DeviceContext::IAGetVertexBuffers: Not implemented

Meto LL
DXGI
DxgiOutput::FindClosestMatchingMode: Not implemented
D3D
D3D11Device::CreatePredicate: Not implemented
DxbcCompiler: Unhandled opcode class: DxbcOpcode::SampleB
DxbcCompiler: Unhandled VS SV output: DxbcSystemValue::ClipDistance
DxbcCompiler: Unhandled opcode class: DxbcOpcode::DclStream
DxbcCompiler: Unhandled opcode class: DxbcOpcode::EmitStream
DxbcCompiler: Unhandled opcode class: DxbcOpcode::CutStream
DxbcCompiler: Unsupported operand type declaration: DxbcOperandType::OutputDepthGe
DxbcCompiler: Unhandled operand type: DxbcOperandType::OutputDepthGe

Rise of Tomb Raider loads up to menu with graphical issues crashes on benchmark launch..

seems needs:
warn: D3D11DeviceContext::QueryInterface: Unknown interface query
warn: DxbcCompiler: Unhandled opcode class: DxbcOpcode::CountBits
err: D3D11DeviceContext::ClearUnorderedAccessViewUint: Not implemented
warn: DxbcCompiler: Unhandled instruction: DxbcOpcode::AtomicCmpStore

System information

  • GPU: Vega 56
  • Driver: adrenalin 18.1.1
  • Wine version: no run on Windows 10
  • DXVK version: up to 14d5054

Apitrace file(s)

  • Put a link here

Log files

Mad Max loads then crashes

The game opens, sits on a loading screen for a while, and then crashes.

Software information

Mad Max, DXVK 05f0008

System information

  • GPU: GTX 970
  • Driver: prop 387.34
  • Wine version: Wine 2.21-staging

Apitrace file(s)

  • Despite my best efforts, I've been unable to trick anything to get Mad Max to generate an apitrace.
    I even got Steam to run apitrace, and taskmgr looked like everything was working, except it didn't actually generate a trace file :/.

Log files

amdvlk: Attempt to redefine function

I think it would useful to get open amdvlk working for comparisons against radv. It currently fails while handling SPIRV while running witness trace:

Error: Attempt to redefine function: 
; Function Attrs: nounwind
declare spir_func
%spirv.SampledImage.float_1_0_0_0_1_0_0 addrspace(1)* @_Z12SampledImagePU3AS140__spirv_SampledImage_float_1_0_0_0_1_0_0i(%spirv.SampledImage.float_1_0_0_0_1_0_0 addrspace(1)*, i32) #0
 =>
%spirv.SampledImage.float_1_1_0_0_1_0_0 addrspace(1)* (%spirv.SampledImage.float_1_0_0_0_1_0_0 addrspace(1)*, i32)

Here is a snip from amdvlk icd/api/llpc/translator/SPIRVUtil.cpp , it looks like it doesn't like some type mismatch:

  FunctionType *FT = FunctionType::get(RetTy, ArgTypes, isVarArg);
  Function *F = M->getFunction(MangledName);
  if (!takeName && F && F->getFunctionType() != FT && Mangle != nullptr) {
    std::string S;
    raw_string_ostream SS(S);
    SS << "Error: Attempt to redefine function: " << *F << " => " <<
        *FT << '\n';
    report_fatal_error(SS.str(), false);
  }

Windows support for compiled windows executables?

I just tested compiled binaries from Windows and I'm getting:

err: CreateDXGIFactory: Requested version of IDXGIFactory not supported

on both d3d11-compute and triangle samples and even on dxvk-triagle which seems to use Vulkan directly..
removing dxgi.dll allows dxvk-triagle to work but d3d11 samples fail with missing DXGICreateDevicePrivate entry point missing on d3d11.dll..

shouldn't your wrapper also work on Windows?

Strange issue with -Dprefix

Hi,

i am creating a script which builds dxvk somehow automatically. I want to install it in a specific directory.
Sadly the following happens, here is the output of the bash script:

The Meson build system
Version: 0.43.0
Source dir: /mnt/SSD-TOSHIBA-TR150/games/winetools/dxvk/sources/20180129/dxvk-master
Build dir: /mnt/SSD-TOSHIBA-TR150/games/winetools/dxvk/sources/20180129/dxvk-master/build.w32
Build type: cross build
Project name: dxvk
Native C compiler: cc (gcc 7.2.1)
Cross C compiler: /usr/bin/i686-w64-mingw32-gcc (gcc 7.2.0)
Native C++ compiler: c++ (gcc 7.2.1)
Cross C++ compiler: /usr/bin/i686-w64-mingw32-g++ (gcc 7.2.0)
Host machine cpu family: x86
Host machine cpu: x86
Target machine cpu family: x86
Target machine cpu: x86
Build machine cpu family: x86_64
Build machine cpu: x86_64
Library vulkan-1 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES (/usr/bin/glslangValidator)
Dependency threads found: YES
Configuring dlls_setup.sh using configuration
Build targets in project: 12
Found ninja-1.8.2 at /usr/bin/ninja

  • cd build.w32
  • meson configure -Dprefix=/mnt/SSD-TOSHIBA-TR150/games/winetools/dxvk/binary/20180129/32bit/
  • meson configure -Dbuildtype=release
  • ninja
    [5/115] Generating 'src/dxvk/dxvk@sta/hud_text_frag.h'.
    ../src/dxvk/hud/shaders/hud_text_frag.frag
    [6/115] Generating 'src/dxvk/dxvk@sta/hud_text_vert.h'.
    ../src/dxvk/hud/shaders/hud_text_vert.vert
    [115/115] Linking target src/d3d11/d3d11_vk.dll.
  • ninja install
    [0/1] Installing files.
    Installing src/dxgi/dxgi_vk.dll to /usr/local/bin/dxgi_vk.dll

So, beside the fact that a specified the destination directory it still wants to install in /usr/local/bin and therfore fails.

Any ideas ?

Many thx !
Christian

Modifications for Ubuntu 17.10 support..

Hi,
nice project..
just testing and it fails on Ubuntu 17.10..
some notes:

  1. have to change build-win64.txt file to using gcc and g++ posix variants:
    c = '/usr/bin/x86_64-w64-mingw32-gcc-posix'
    cpp = '/usr/bin/x86_64-w64-mingw32-g++-posix'
    if not have issues with std::mutex not defined etc.. seems related to thread support varying between posix and win32 modes..

  2. Ubuntu 17.10 seems it includes mingw g++ version 6.2 so optional header isn't avaiable have to change to:
    #include <experimental/optional>
    also std::experimental::optional..

  3. you should point to use Wine staging for Vulkan support..

Fallout 4

Software information

Fallout 4 Lowest settings and all turn off

System information

  • GPU:R9 390

  • Driver:Mesa git

  • Wine version: Wine 2.21 staging

  • DXVK version: master git

Apitrace file(s)

Comming soon

Log files

dlls are the wrong architecture

When trying to run any d3d11 software wine complains that the dlls cannot be forwarded because they are the "wrong architecture". This was done with a completely fresh 64 bit wine prefix, using dlls that were compiled from a brand new clone of the repository using the instructions in the read me for a 64bit build

Software information

Dark Souls II and the example executables provided in the bin folder for dxvk

System information

  • GPU: NVIDIA Corporation GM204M [GeForce GTX 965M] (rev a1)
  • Driver: nvidia-387.34-21
  • Wine version: wine-2.21 (Staging)
  • DXVK version: commit 78c46f4

Log files

DarkSoulsII_d3d11.log
DarkSoulsII_dxgi.log

WINE OUTPUT

fixme:winediag:start_process Wine Staging 2.21 is a testing version containing experimental patches. fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. fixme:winediag:start_process Wine Staging 2.21 is a testing version containing experimental patches. fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:module:load_dll Loader redirect from L"d3d11.dll" to L"d3d11_vk.dll" err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:ver:GetCurrentPackageId (0x33e470 (nil)): stub fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x3f006bd0, 0x3f043cf0, 0x3f043ce8) stub. fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x3f006bd0, 0x3f043d28, 0x3f043d20) stub. fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x3f006bd0, 0x3f043dd0, 0x3f043dc8) stub. fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x3f006bd0, 0x3f043d60, 0x3f043d58) stub. fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x3f006bd0, 0x3f043d98, 0x3f043d90) stub. fixme:process:SetProcessShutdownParameters (00000100, 00000000): partial stub. fixme:xinput:XInputGetCapabilities (index 3, flags 0x1, capabilities 0x33e75c) Stub! fixme:win:RegisterDeviceNotificationW (hwnd=0x2006e, filter=0x41ce8e8,flags=0x00000000) returns a fake device notification handle! fixme:xinput:XInputSetState (index 0, vibration 0x33e78c) Stub! fixme:xinput:XInputSetState (index 1, vibration 0x33e78c) Stub! fixme:xinput:XInputSetState (index 2, vibration 0x33e78c) Stub! fixme:xinput:XInputSetState (index 3, vibration 0x33e78c) Stub! fixme:imm:ImmGetOpenStatus (0x9e3fb8): semi-stub fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\logs\\cef_log.txt" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\logs\\cef_log.txt" fixme:ver:GetCurrentPackageId (0x33d90c (nil)): stub fixme:dwmapi:DwmSetWindowAttribute (0x100a0, 2, 0x33df20, 4) stub fixme:dwmapi:DwmExtendFrameIntoClientArea (0x100a0, 0x33df0c) stub fixme:module:load_dll Loader redirect from L"d3d11.dll" to L"d3d11_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture err:module:import_dll Library d3d11.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\libcef.dll") not found fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture err:module:import_dll Library dxgi.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\libcef.dll") not found err:module:import_dll Library libcef.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" failed, status c0000135 fixme:advapi:StopTraceA (0, "Steam Event Tracing", 0x33e264) stub fixme:advapi:StartTraceA (0x33e2f0, "Steam Event Tracing", 0x33e264) stub fixme:advapi:OpenTraceA 0x33e0c4: stub fixme:advapi:EnableTrace (1, 0x10, 4, {22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716}, cafe4242): stub fixme:advapi:CloseTrace cafe4242: stub fixme:advapi:ProcessTrace 0x11968a08 1 (nil) (nil): stub err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. fixme:ver:GetCurrentPackageId (0x33cc20 (nil)): stub fixme:win:RegisterDeviceNotificationA (hwnd=0x100ac, filter=0x12dce4ac,flags=0x00000004) returns a fake device notification handle! fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture err:module:import_dll Library dxgi.dll (which is needed by L"C:\\windows\\system32\\wbemprox.dll") not found err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\\windows\\system32\\wbemprox.dll" err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1 fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture err:module:import_dll Library dxgi.dll (which is needed by L"C:\\windows\\system32\\wbemprox.dll") not found err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\\windows\\system32\\wbemprox.dll" err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1 fixme:iphlpapi:NotifyAddrChange (Handle 0x1ff050c, overlapped 0x1ff0510): stub fixme:dwmapi:DwmExtendFrameIntoClientArea (0x100ae, 0x33e394) stub err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:win:RegisterTouchWindow (0x100c4 00000003): stub fixme:wgl:X11DRV_wglChoosePixelFormatARB unused pfAttribFList err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:win:RegisterTouchWindow (0x300c8 00000003): stub fixme:wgl:X11DRV_wglChoosePixelFormatARB unused pfAttribFList err:ntdll:RtlLeaveCriticalSection section 0x3603b0 is not acquired fixme:dwrite:dwritefactory_CreateMonitorRenderingParams (0x1): monitor setting ignored fixme:ntdll:NtLockFile I/O completion on lock not implemented yet fixme:dwmapi:DwmExtendFrameIntoClientArea (0x300c2, 0x33e0e8) stub fixme:dwmapi:DwmExtendFrameIntoClientArea (0x400cc, 0x33d818) stub fixme:imm:ImmReleaseContext (0x100ae, 0x1044a8f8): stub fixme:win:RegisterDeviceNotificationA (hwnd=0x400cc, filter=0x33dadc,flags=0x00000004) returns a fake device notification handle! fixme:dwmapi:DwmGetWindowAttribute ((nil) 9 0x33da34 16) stub err:ole:CoGetClassObject class {294935ce-f637-4e7c-a41b-ab255460b862} not registered err:ole:CoGetClassObject class {294935ce-f637-4e7c-a41b-ab255460b862} not registered err:ole:create_server class {294935ce-f637-4e7c-a41b-ab255460b862} not registered fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported err:ole:CoGetClassObject no class object {294935ce-f637-4e7c-a41b-ab255460b862} could be created for context 0x17 fixme:dwmapi:DwmExtendFrameIntoClientArea (0x3011c, 0x33e1fc) stub fixme:hnetcfg:fw_apps_get__NewEnum 0x10a61c70, 0x14afe490 fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x10a61c70, L"C:\\Program Files (x86)\\Steam\\Steam.exe" fixme:hnetcfg:fw_app_put_Name 0x10a61c70, L"Steam" fixme:hnetcfg:fw_app_put_Enabled 0x10a61c70, -1 fixme:hnetcfg:fw_apps_Add 0x104d32c0, 0x10a61c70 fixme:hnetcfg:netfw_rules_get__NewEnum 0x104d32c0, 0x14afe488 fixme:hnetcfg:fw_apps_get__NewEnum 0x104d32c0, 0x14afe490 fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x104d3298, L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" fixme:hnetcfg:fw_app_put_Name 0x104d3298, L"Steam Web Helper" fixme:hnetcfg:fw_app_put_Enabled 0x104d3298, -1 fixme:hnetcfg:fw_apps_Add 0x104d3238, 0x104d3298 fixme:hnetcfg:netfw_rules_get__NewEnum 0x10a6ce88, 0x14afe488 fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x10286318 (0x14cfe518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x14cfe524): stub fixme:dwmapi:DwmExtendFrameIntoClientArea (0x300b4, 0x33e39c) stub fixme:dwmapi:DwmExtendFrameIntoClientArea (0x10182, 0x33e374) stub fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x10b4ecd8 (0x14dfe518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x14dfe524): stub fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x1047ba68 (0x1542e518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x1542e524): stub fixme:module:load_dll Loader redirect from L"d3d11.dll" to L"d3d11_vk.dll" err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x3602030, 0x36a9d40, 0x36a9d38) stub. fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x3602030, 0x36a9d78, 0x36a9d70) stub. fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x3602030, 0x36a9d08, 0x36a9d00) stub. fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x3602030, 0x36a9db0, 0x36a9da8) stub. fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x3602030, 0x36a9de8, 0x36a9de0) stub. fixme:imm:ImmGetOpenStatus (0xd17f0): semi-stub fixme:ver:GetCurrentPackageId (0x23ec90 (nil)): stub fixme:module:find_dll_file skipping L"C:\\Program Files (x86)\\Steam\\dbghelp.dll" because of wrong architecture fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x3f0070a0, 0x3f0524c0, 0x3f0524b8) stub. fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x3f0070a0, 0x3f0524f8, 0x3f0524f0) stub. fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x3f0070a0, 0x3f052488, 0x3f052480) stub. fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x3f0070a0, 0x3f052530, 0x3f052528) stub. fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x3f0070a0, 0x3f052568, 0x3f052560) stub. err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported fixme:ver:GetCurrentPackageId (0x6d6e510 (nil)): stub fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x10473390 (0x158ce518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x158ce524): stub fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported wine: Unhandled page fault on read access to 0x00000000 at address 0x7f7b50522e0f (thread 0068), starting debugger... err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x10473390 (0x1542e518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x1542e524): stub fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\logs\\cef_log.txt" fixme:file:GetLongPathNameW UNC pathname L"\\\\?\\C:\\Program Files (x86)\\Steam\\logs\\cef_log.txt" fixme:module:load_dll Loader redirect from L"d3d11.dll" to L"d3d11_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\d3d11_vk.dll" because of wrong architecture err:module:import_dll Library d3d11.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\libcef.dll") not found fixme:module:load_dll Loader redirect from L"dxgi.dll" to L"dxgi_vk.dll" fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture fixme:module:find_dll_file skipping L"Z:\\home\\fisk\\Staging\\dxvk\\bin\\dxgi_vk.dll" because of wrong architecture err:module:import_dll Library dxgi.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\libcef.dll") not found err:module:import_dll Library libcef.dll (which is needed by L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files (x86)\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" failed, status c0000135 fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown) fixme:shell:CustomDestinationList_BeginList 0x10a57f08 (0x158ce518 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x158ce524): stub

Wine 3.0

Wine 3.0 doesn't load DXVK, plus it breaks horribly when dxgi and d3d11 are set to native.
(for those curious, in Unigine Valley wine 3.0 range from 6 to 11 fps on my system, DXVK from 40 to 80 fps)

Alien Isolation closes almost immediately..

note other games are working with the same dxvk dxgi dll's so not a problem..

seems wants:
warn: DxbcCompiler: Unhandled instruction: DxbcOpcode::ImmAtomicCmpExch
err: DxbcCompiler: Unhandled PS SV input: DxbcSystemValue::PrimitiveId

System information

  • GPU: Vega 64
  • Driver: adrenalin 18.1.1
  • Wine version: no Run under Windows 10 latest update
  • DXVK version: up to 14d5054

Apitrace file(s)

Log files

Skyrim: Special Edition Updated [21/1/2018]

Software information

Skyrim: Special Edition using the lowest graphics settings with no aa or msaa the game starts perfectly but when you try to continue or create a new game you get a black screen

System information

Distro: Antergos
GPU: R9 390
Driver: Mesa git
Wine version: wine-staging-2.21

Apitrace file(s)

From @skry https://mega.nz/#!lUdRGYZL!M9S5PdqZXGYaxuKaBlrwDZDsu26VrG4l1H92pgQ1N90

Log files
d3d11.log
dxgi.log

Crysis 2 (even with custom workaround) runs up to game menu fails loading new game..

this is interesting a Crysis 2 update added D3D11 support and have this installed but even then fails about missing d3d10core.dll, etc.. (of course runs without DXVK on native Windows)

For working with DXVK have to copy d3d11_vk.dll to d3d11.dll,d3d10.dll and d3d10core.dll
even then fails with CryRenderD3D11.dll needing D3D10CreateBlob from d3d10.dll..
with a Hex editor I modified CryrenderD3D11.dll to depend on D3DCreateBlob from D3DCompiler_47.dll but due to not modify file size in hex editor had to copy D3DCompiler_47.dll for example as d3d13.dll and in hex editor say depend on d3dcreateblob from d3d13.dll..
note that, even with that modifications, game works (without DXVK), so I patched correctly to remove depedency on d3d10..

with that game launches ok up to menu but loading a new game fails..
even I see:
err: DxgiAdapter::CheckInterfaceSupport: No D3D10 support

anyway apart from tesselation shaders needed seems to make a lot of calls to:
err: D3D11DeviceContext::CopySubresourceRegion: Buffers not supported

System information

  • GPU: Vega 64
  • Driver: Adrenalin 18.1.1
  • Wine version: no
  • DXVK version: up to

Log files

Diablo 3 Reaper of Souls 64bit: Game starts with sound but only funky colours are displayed

Diablo 3 starts with dxvk,but it displays a white screen with dots in different colors. Log files attached.
Tested it with maximum settings (1920x1080). The following errors show up in the d3d11 log:

err: D3D11RasterizerState: Antialiased lines not supported
err: D3D11DeferredContext::Map: Not implemented
err: D3D11DeferredContext::FinishCommandList: Not implemented

Full logs are attached. I guess the cpu bound games like d3 and sc2 could really benefit from your vulkan approach.

Software information

Diablo 3, latest available patchset at 27.01.2018

System information

  • GPU: Nvidia GTX 970
  • Driver: Nvidia 390.12
  • Wine version: Wine Staging 2.20
  • DXVK version: DXVK Version 25.01.2018

Apitrace file(s)

  • Will provide later

Log files

D3D11CreateDevice: Adapter is not a DXVK adapter

Hi there, I could not compile this module (Gentoo have the same problem than Ubuntu, failing to compile because no mutex...) So I did download the release precompiled bin.

I get that message in d3d11.log:
D3D11CreateDevice: Adapter is not a DXVK adapter

Tried with heaven and eve-online. Vulkan is supported (AMDGPU+RadeonSI)

Heroes of the Storm logs and trace

Software information

Heroes of the Storm, lowest settings.

System information

  • GPU: RX480
  • Driver: mesa-git
  • Wine version: 2.20-staging
  • DXVK version: 0.21 363a0f8

Apitrace files and logs

Issues

  • Ground texture is blinking at high settings - fixed by 9fbddf5
  • Health bars and other UI elements blink - fixed by 9fbddf5
  • The entire unit get coloured by hoovering instead of its border - fixed by 9fbddf5

Path of Exile fails to launch with "Failed to create WIC Factory"

Wine proper has the same issue for whatever it's worth: https://bugs.winehq.org/show_bug.cgi?id=42695

Software information

DXVK 05f0008

https://www.pathofexile.com/
Also available on steam if that's of interest: http://store.steampowered.com/app/238960/Path_of_Exile/

Everything low with:

[DISPLAY]
directx_version=11

The game defaults to dx11 on Windows 7+ afaik.

System information

  • GPU: RX480
  • Driver: mesa 17.3.2
  • Wine version: Staging 2.21

Apitrace file(s)

Running $ apitrace trace -o poe.trace wine /path/to/PathofExile_x64.exe did not generate a trace.

Log files

dll_setup overrides not working as expected

Hi,

afaik, the script is creating links from d3d11.dll and dxgi.dll in system32 and syswow64 to the correpsonding d3d11_vk.dll and dxgi_vk.dll files.

Sadly this is not enough,
d3d11_vk.dll wants to load dxgi_vk.dll . So if you only have dxgi.dll in system32or syswow64, dxvk will not work and the log will complain about : cannot load d3d11.dll cause dxgi_vk.dll is missing.

As long as d3d11_vk.dll wants to load dxgi_vk.dll a workaround would be to create an extra symlink for dxgi_vk.dll . If there are some cross dependencies, also linking d3d11_vk.dll directly would help.

Btw, i would like to improve your script to have the possibility to rollback the override changes as well but i have no idea how meson works, Would be a diff useful for you ?

Cu,
Christian

d3d10 error (World of Warcraft)

err: DxgiAdapter::CheckInterfaceSupport: No D3D10 support
Is this to be expected?

$ cat dxgi.log 
info:  Enabled instance layers:
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
err:   DxgiAdapter::CheckInterfaceSupport: No D3D10 support
info:  Enabled instance layers:
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
err:   DxgiAdapter::CheckInterfaceSupport: No D3D10 support
info:  Enabled instance layers:
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
err:   DxgiAdapter::CheckInterfaceSupport: No D3D10 support

Build with wineg++ wrapper

I'm trying to build project w/ wineg++ but it seems only tests/* executables wrapped correctly. Both d3d11.dll.so and dxgi.dll.so are useless and produce errors when I'm trying to replace original libraries :

...
uild.w64_5\tests\dxgi\dxgi-factory.exe.so: malloc.c:2399: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
err:seh:call_stack_handlers invalid frame 7ffea8fc25c0 (0x132000-0x230000)
err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.

[221151.875587] d3d11-triangle.[6933]: segfault at 366 ip 0000000000000366 sp 00007ffc3ed84bf8 error 14 in bash[55f36b668000+e4000]

So the question is: Is it possible to build WINE's native linux libraries to replace original ones? Or i'm doing this totally wrong and really need to configure crossdev environment w/ mingw32?

Here is the list of changes was made :
build-win64-wine.txt

[binaries]
c = '/usr/bin/winegcc'
cpp = '/usr/bin/wineg++'
ar = '/usr/bin/ar'
strip = '/usr/bin/strip'
exe_wrapper = 'sh'

[properties]
c_args = ['-m64', '-DNOMINMAX', '-DWINEBUILD']
c_link_args = ['-mwindows', '-lpthread']

cpp_args = ['-m64', '-DNOMINMAX', '-DWINEBUILD']
cpp_link_args = ['-mwindows', '-lpthread']

[host_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

actually -mwindows required only by tests/* and -lpthread by d3d11.dll.so and dxgi.dll.so

meson.build.wine

project('dxvk', ['c', 'cpp'], default_options : ['cpp_std=gnu++1z'])

cpu_family = target_machine.cpu_family()

dxvk_compiler = meson.get_compiler('cpp')
dxvk_include_path = include_directories('./include')

lib_d3d11          = dxvk_compiler.find_library('d3d11')
lib_dxgi           = dxvk_compiler.find_library('dxgi')
lib_d3dcompiler_47 = dxvk_compiler.find_library('d3dcompiler')
lib_vulkan         = dxvk_compiler.find_library('vulkan')

glsl_compiler = find_program('glslangValidator')
glsl_generator = generator(glsl_compiler,
  output    : [ '@[email protected]' ],
  arguments : [ '-V', '--vn', '@BASENAME@', '@INPUT@', '-o', '@OUTPUT@' ])

subdir('src')
subdir('tests')
subdir('wine_utils')

Other quick-fixes:

diff --git a/src/d3d11/d3d11_include.h b/src/d3d11/d3d11_include.h
index 54d3a1d..beed12f 100644
--- a/src/d3d11/d3d11_include.h
+++ b/src/d3d11/d3d11_include.h
@@ -24,6 +24,7 @@
 // For some strange reason, we cannot use the structures
 // directly, although others from the same header work.
 // Some structures are missing from the mingw headers.
+#ifndef WINEBUILD
 typedef struct D3D11_FEATURE_DATA_THREADING {
     BOOL DriverConcurrentCreates;
     BOOL DriverCommandLists;
@@ -58,4 +59,9 @@ typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
   UINT64 HSInvocations;
   UINT64 DSInvocations;
   UINT64 CSInvocations;
-} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
\ No newline at end of file
+} D3D11_QUERY_DATA_PIPELINE_STATISTICS;
+#endif
+
+#ifdef WINEBUILD
+typedef BOOL WINBOOL;
+#endif
diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build
index e96ff92..62ae468 100644
--- a/src/d3d11/meson.build
+++ b/src/d3d11/meson.build
@@ -22,7 +22,7 @@ d3d11_src = [
   'd3d11_util.cpp',
 ]
 
-d3d11_dll = shared_library('d3d11', d3d11_src,
+d3d11_dll = shared_library('d3d11.dll', d3d11_src,
   name_prefix         : '',
   link_with           : [ util_lib ],
   dependencies        : [ dxvk_dep, dxgi_dep, dxbc_dep ],
diff --git a/src/dxgi/dxgi_include.h b/src/dxgi/dxgi_include.h
index 87fd945..8720c8d 100644
--- a/src/dxgi/dxgi_include.h
+++ b/src/dxgi/dxgi_include.h
@@ -26,4 +26,8 @@
   #define DXGI_RESOURCE_PRIORITY_NORMAL (0x78000000)
   #define DXGI_RESOURCE_PRIORITY_HIGH (0xa0000000)
   #define DXGI_RESOURCE_PRIORITY_MAXIMUM (0xc8000000)
-#endif
\ No newline at end of file
+#endif
+
+#ifdef WINEBUILD
+#define _countof(x) (sizeof(x)/sizeof(x[0]))
+#endif
diff --git a/src/dxgi/dxgi_output.cpp b/src/dxgi/dxgi_output.cpp
index a2a26dc..e96f82a 100644
--- a/src/dxgi/dxgi_output.cpp
+++ b/src/dxgi/dxgi_output.cpp
@@ -58,7 +58,7 @@ namespace dxvk {
     ::MONITORINFOEX monInfo;
 
     monInfo.cbSize = sizeof(monInfo);
-    if (!::GetMonitorInfo(m_monitor, &monInfo)) {
+    if (!::GetMonitorInfo(m_monitor, (MONITORINFO *)&monInfo)) {
       Logger::err("DxgiOutput: Failed to query monitor info");
       return E_FAIL;
     }
@@ -86,7 +86,7 @@ namespace dxvk {
     ::MONITORINFOEX monInfo;
 
     monInfo.cbSize = sizeof(monInfo);
-    if (!::GetMonitorInfo(m_monitor, &monInfo)) {
+    if (!::GetMonitorInfo(m_monitor, (MONITORINFO *)&monInfo)) {
       Logger::err("DxgiOutput: Failed to query monitor info");
       return E_FAIL;
     }
diff --git a/src/dxgi/meson.build b/src/dxgi/meson.build
index f58b132..dc0c2f7 100644
--- a/src/dxgi/meson.build
+++ b/src/dxgi/meson.build
@@ -9,7 +9,7 @@ dxgi_src = [
   'dxgi_swapchain.cpp',
 ]
 
-dxgi_dll = shared_library('dxgi', dxgi_src,
+dxgi_dll = shared_library('dxgi.dll', dxgi_src,
   name_prefix         : '',
   link_with           : [ util_lib ],
   dependencies        : [ dxvk_dep ],
diff --git a/src/util/com/com_guid.h b/src/util/com/com_guid.h
index 510fd0c..ce80c2e 100644
--- a/src/util/com/com_guid.h
+++ b/src/util/com/com_guid.h
@@ -4,7 +4,12 @@
 
 #include "com_include.h"
 
+#ifdef WINEBUILD
+#define DXVK_DEFINE_GUID(iface) \
+  template<> inline GUID const& __wine_uuidof<iface> () { return iface::guid; }
+#else
 #define DXVK_DEFINE_GUID(iface) \
   template<> inline GUID const& __mingw_uuidof<iface> () { return iface::guid; }
+#endif
 
 std::ostream& operator << (std::ostream& os, REFIID guid);

EDIT: typo useful/useless

Validation errors on Windows: index buffer creation flags

I've run d3d11-triangles.exe on Windows 10 with the validation layers enabled.

Errors

Standard output is flooded with the following warning:

MEM(ERROR): object: 0x3 type: 10 location: 2985 msgCode: 400556898:
Invalid usage flag for Buffer 0x3 used by vkCmdBindIndexBuffer().
In this case, Buffer should have VK_BUFFER_USAGE_INDEX_BUFFER_BIT set during creation.
The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDEX_BUFFER_BIT flag'
(https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBindIndexBuffer-buffer-00433)

System information

  • GPU: NVIDIA GTX 960
  • DXVK version: latest master / 26ef59d

Elite Dangerous logs and trace

The game freezes at "preparing planet generation system" after shader generation completes. This is before the main menu loads.

Software information

Elite Dangerous: Horizons

System information

  • GPU: Radeon RX 580 Series (POLARIS10 / DRM 3.19.0 / 4.14.14-1-default, LLVM 5.0.1)
  • Driver: RADV with Mesa 17.3.3
  • Wine version: wine-2.20 (Staging)
  • DXVK version: commit 59a4e80

Apitrace file(s)

Log files

d3d11-triangle sample crashes nvidia shader compiler

The d3d11-triangle sample program crashes with the attached backtrace.

System information:
Wine version: 2.21 (Staging)
GPU: GTX 1050
Driver version: 384.111

Tweaking the vertex shader code in the sample to remove the buffer and fixing the color output runs without errors.

$ WINEDLLOVERRIDES=d3d11,dxgi,d3dcompiler_47=n  /opt/wine-staging/bin/winedbg d3d11-triangle.exe 
fixme:winediag:start_process Wine Staging 2.21 is a testing version containing experimental patches.
fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
WineDbg starting on pid 002e
0x7b461733: subl        $8,%esp
Wine-dbg>c
fixme:vulkan:vkGetInstanceProcAddr "vkCreateDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDestroyDebugReportCallbackEXT" not supported
fixme:vulkan:vkGetInstanceProcAddr "vkDebugReportMessageEXT" not supported
Unhandled exception: page fault on read access to 0x00000008 in 32-bit code (0x797d633d).
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
err:dbghelp_stabs:stabs_pts_read_type_def Unknown type ','
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:797d633d ESP:0090d900 EBP:7c7cd0a8 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:00000000 ECX:00002d3c EDX:7aef1ae0
 ESI:0090d910 EDI:00000000
Stack dump:
0x0090d900:  7ad83880 0090d910 00000000 00000000
0x0090d910:  00000000 00002d3c 00000000 00000000
0x0090d920:  00000000 7ad5b338 00000021 00000000
0x0090d930:  00000000 00000548 00000000 00000000
0x0090d940:  00000000 00000000 00000000 00000000
0x0090d950:  00000000 00000000 0090d978 7ad42a99
Backtrace:
=>0 0x797d633d in libnvidia-glcore.so.384.111 (+0x3d733d) (0x7c7cd0a8)
  1 0x79889c98 in libnvidia-glcore.so.384.111 (+0x48ac97) (0x7ad42a47)
  2 0x7989619a in libnvidia-glcore.so.384.111 (+0x497199) (0x7c6d7d2c)
  3 0x79897f8f in libnvidia-glcore.so.384.111 (+0x498f8e) (0x00000000)
  4 0x7976753f in libnvidia-glcore.so.384.111 (+0x36853e) (0x00000000)
  5 0x79767dee in libnvidia-glcore.so.384.111 (+0x368ded) (0x7c7cd918)
  6 0x7a6100ef in libnvidia-glcore.so.384.111 (+0x12110ee) (0x0090dfb8)
  7 0x7a621903 in libnvidia-glcore.so.384.111 (+0x1222902) (0x00006100)
  8 0x7a623f59 in libnvidia-glcore.so.384.111 (+0x1224f58) (0x7d623338)
  9 0x7ac4c286 in libnvidia-glcore.so.384.111 (+0x184d285) (0x7d6210b8)
  10 0x7ac4c739 in libnvidia-glcore.so.384.111 (+0x184d738) (0x00168a98)
  11 0x7ac51b80 in libnvidia-glcore.so.384.111 (+0x1852b7f) (0x7d6210b8)
  12 0x7ac5ac66 in libnvidia-glcore.so.384.111 (+0x185bc65) (0x00000000)
  13 0x7ed27fed vkCreateGraphicsPipelines+0x7c() in vulkan (0x0090e948)
  14 0x6a5d5c7c _ZNK4dxvk2vk8VulkanFnIPU7stdcallF8VkResultP10VkDevice_TyjPK28VkGraphicsPipelineCreateInfoPK21VkAllocationCallbacksPyEEclES4_yjS7_SA_SB_+0x4b(args#0=0x7dd89ac0, args#1=0x7d822f58, args#2=0x1, args#3=0x90ea28, args#4=(nil), args#5=0x90ea20) [/home/kant/Source/dxvk/build.win32/../src/dxvk/./vulkan/dxvk_vulkan_loader_fn.h:39] in d3d11 (0x0090e998)
  15 0x6a56c288 _ZNK4dxvk20DxvkGraphicsPipeline15compilePipelineERKNS_29DxvkGraphicsPipelineStateInfoEy+0x9ef(state=0x926918, baseHandle=0) [/home/kant/Source/dxvk/build.win32/../src/dxvk/dxvk_graphics.cpp:239] in d3d11 (0x0090f4e8)
  16 0x6a56b757 _ZN4dxvk20DxvkGraphicsPipeline17getPipelineHandleERKNS_29DxvkGraphicsPipelineStateInfoE+0x156(state=0x926918) [/home/kant/Source/dxvk/build.win32/../src/dxvk/dxvk_graphics.cpp:83] in d3d11 (0x0090fae8)
  17 0x6a5645da _ZN4dxvk11DxvkContext27updateGraphicsPipelineStateEv+0x109() [/home/kant/Source/dxvk/build.win32/../src/dxvk/dxvk_context.cpp:1011] in d3d11 (0x0090fb38)
  18 0x6a565b85 _ZN4dxvk11DxvkContext19commitGraphicsStateEv+0x4e() [/home/kant/Source/dxvk/build.win32/../src/dxvk/dxvk_context.cpp:1262] in d3d11 (0x0090fb58)
  19 0x6a562393 _ZN4dxvk11DxvkContext4drawEjjjj+0x14(vertexCount=0x3, instanceCount=0x1, firstVertex=0, firstInstance=0) [/home/kant/Source/dxvk/build.win32/../src/dxvk/dxvk_context.cpp:464] in d3d11 (0x0090fb88)
  20 0x6a54702b _ZN4dxvk18D3D11DeviceContext4DrawEjj@12+0x38(this=0x924d18, VertexCount=0x3, StartVertexLocation=0) [/home/kant/Source/dxvk/build.win32/../src/d3d11/d3d11_context.cpp:759] in d3d11 (0x0090fba8)
  21 0x0041e518 _ZN11TriangleApp3runEv+0x2bf() [/home/kant/Source/dxvk/build.win32/../tests/d3d11/test_d3d11_triangle.cpp:281] in d3d11-triangle (0x0090fc18)
  22 0x00401731 WinMain@16+0x200(hInstance=0x400000, hPrevInstance=(nil), lpCmdLine="", nCmdShow=0xa) [/home/kant/Source/dxvk/build.win32/../tests/d3d11/test_d3d11_triangle.cpp:407] in d3d11-triangle (0x0090fd48)
  23 0x004b839d in d3d11-triangle (+0xb839c) (0x0090fd68)
  24 0x004013e3 in d3d11-triangle (+0x13e2) (0x0090fe40)
  25 0x7b460519 call_process_entry+0x18() in kernel32 (0x0090fe68)
  26 0x7b46173d in kernel32 (+0x4173c) (0x0090feb8)
  27 0x7bca5f80 call_thread_func_wrapper+0xb() in ntdll (0x0090fedc)
  28 0x7bca9379 in ntdll (+0x69378) (0x0090ffcc)
  29 0x7bca5f5e RtlRaiseException+0x49() in ntdll (0x0090ffec)
0x797d633d: movl        0x8(%eax),%eax

Battlerite

Software information

Battlerite, lowest settings

System information

  • GPU: RX480
  • Driver: RADV
  • Wine version: 2.20 staging
  • DXVK version: current

Apitrace file and Log files

Issues:

  • Crashes in loading screen
  • d3dretrace crashes even worse (but works with wine staging)
  • A few commits ago it was able to get to the menu, but it was crashing upon viewing 3d characters in it or during game loading. Note that d3dretrace was already crashing at startup. Also note that 3d characters' models are invisible in wine staging/3.0

"dlls_setup.sh" not executable and with too generic a name

I just uploaded a PKGBUILD for dxvk and noticed what the title says.

It's easily fixable from the packaging point of view, but i think I'd be better to just do it upstream, i.e., set the executable bit on the script and rename it to something like "dxvk_dlls_setup.sh", to make it evident that it's a script belonging to dxvk.

What do you think?

If I weren't completely unfamiliar with meson, I'd be submitting a pull request ;)

Can not build on Ubuntu 17.10

I tried to build dxvk, i have installed all dependencies, during compiling it failes, here is the output:

chriundcla@chriundcla-K53SV:~/Downloads/dxvk/dxvk-master/build.w64$ ninja
[0/1] Regenerating build files.
The Meson build system
Version: 0.42.1
Source dir: /home/chriundcla/Downloads/dxvk/dxvk-master
Build dir: /home/chriundcla/Downloads/dxvk/dxvk-master/build.w64
Build type: cross build
Project name: dxvk
Native C compiler: cc (gcc 7.2.0)
Cross C compiler: /usr/bin/x86_64-w64-mingw32-gcc (gcc 6.3.0)
Native C++ compiler: c++ (gcc 7.2.0)
Cross C++ compiler: /usr/bin/x86_64-w64-mingw32-g++ (gcc 6.3.0)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Build machine cpu family: x86_64
Build machine cpu: x86_64
Library vulkan-1 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES (/home/chriundcla/Downloads/glslang/bin/glslangValidator)
Build targets in project: 12
[3/111] Compiling C++ object 'src/util/util@sta/log_log_debug.cpp.obj'.
FAILED: src/util/util@sta/log_log_debug.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++ -Og -gstabs -Isrc/util/util@sta -Isrc/util -I../src/util -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O0 -g -MMD -MQ 'src/util/util@sta/log_log_debug.cpp.obj' -MF 'src/util/util@sta/log_log_debug.cpp.obj.d' -o 'src/util/util@sta/log_log_debug.cpp.obj' -c ../src/util/log/log_debug.cpp
In file included from ../src/util/log/log_debug.h:5:0,
from ../src/util/log/log_debug.cpp:1:
../src/util/log/log.h:43:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
[4/111] Compiling C++ object 'src/util/util@sta/log_log.cpp.obj'.
FAILED: src/util/util@sta/log_log.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++ -Og -gstabs -Isrc/util/util@sta -Isrc/util -I../src/util -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O0 -g -MMD -MQ 'src/util/util@sta/log_log.cpp.obj' -MF 'src/util/util@sta/log_log.cpp.obj.d' -o 'src/util/util@sta/log_log.cpp.obj' -c ../src/util/log/log.cpp
In file included from ../src/util/log/log.cpp:1:0:
../src/util/log/log.h:43:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
../src/util/log/log.cpp: In member function ‘void dxvk::Logger::log(dxvk::LogLevel, const string&)’:
../src/util/log/log.cpp:42:23: error: ‘mutex’ is not a member of ‘std’
std::lock_guardstd::mutex lock(m_mutex);
^~~
../src/util/log/log.cpp:42:33: error: template argument 1 is invalid
std::lock_guardstd::mutex lock(m_mutex);
^
../src/util/log/log.cpp:42:40: error: ‘m_mutex’ was not declared in this scope
std::lock_guardstd::mutex lock(m_mutex);
^~~~~~~
../src/util/log/log.cpp:42:35: warning: unused variable ‘lock’ [-Wunused-variable]
std::lock_guardstd::mutex lock(m_mutex);
^~~~
[5/111] Compiling C++ object 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj'.
FAILED: src/spirv/spirv@sta/spirv_code_buffer.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++ -Og -gstabs -Isrc/spirv/spirv@sta -Isrc/spirv -I../src/spirv -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O0 -g -MMD -MQ 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj' -MF 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj.d' -o 'src/spirv/spirv@sta/spirv_code_buffer.cpp.obj' -c ../src/spirv/spirv_code_buffer.cpp
In file included from ../src/spirv/spirv_include.h:3:0,
from ../src/spirv/spirv_instruction.h:6,
from ../src/spirv/spirv_code_buffer.h:8,
from ../src/spirv/spirv_code_buffer.cpp:4:
../src/spirv/../util/log/log.h:43:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
[8/111] Compiling C++ object 'src/util/util@sta/com_com_guid.cpp.obj'.
FAILED: src/util/util@sta/com_com_guid.cpp.obj
/usr/bin/x86_64-w64-mingw32-g++ -Og -gstabs -Isrc/util/util@sta -Isrc/util -I../src/util -I.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++1z -O0 -g -MMD -MQ 'src/util/util@sta/com_com_guid.cpp.obj' -MF 'src/util/util@sta/com_com_guid.cpp.obj.d' -o 'src/util/util@sta/com_com_guid.cpp.obj' -c ../src/util/com/com_guid.cpp
In file included from ../src/util/com/../../d3d11/../dxgi/dxgi_include.h:9:0,
from ../src/util/com/../../d3d11/d3d11_include.h:3,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:3,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxgi/../util/log/log.h:43:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_buffer_res.h:4:0,
from ../src/util/com/../../d3d11/../dxvk/dxvk_buffer.h:3,
from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:4,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_memory.h:182:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_framebuffer.h:4:0,
from ../src/util/com/../../d3d11/../dxvk/dxvk_constant_state.h:4,
from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:6,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_renderpass.h:169:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_context_state.h:7:0,
from ../src/util/com/../../d3d11/../dxvk/dxvk_context.h:6,
from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:7,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_graphics.h:147:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:14:0,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_pipemanager.h:103:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:15:0,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:42:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:43:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
std::condition_variable m_condOnAdd;
^~~~~~~~~~~~~~~~~~
../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:44:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
std::condition_variable m_condOnTake;
^~~~~~~~~~~~~~~~~~
../src/util/com/../../d3d11/../dxvk/dxvk_queue.h:46:10: error: ‘thread’ in namespace ‘std’ does not name a type
std::thread m_thread;
^~~~~~
In file included from ../src/util/com/../../d3d11/../dxvk/dxvk_device.h:16:0,
from ../src/util/com/../../d3d11/d3d11_interfaces.h:7,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:57:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_mutex;
^~~~~
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h: In member function ‘dxvk::Rc dxvk::DxvkRecycler<T, N>::retrieveObject()’:
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:23: error: ‘mutex’ is not a member of ‘std’
std::lock_guardstd::mutex lock(m_mutex);
^~~
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:33: error: template argument 1 is invalid
std::lock_guardstd::mutex lock(m_mutex);
^
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:32:40: error: ‘m_mutex’ was not declared in this scope
std::lock_guardstd::mutex lock(m_mutex);
^~~~~~~
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h: In member function ‘void dxvk::DxvkRecycler<T, N>::returnObject(const dxvk::Rc&)’:
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:23: error: ‘mutex’ is not a member of ‘std’
std::lock_guardstd::mutex lock(m_mutex);
^~~
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:33: error: template argument 1 is invalid
std::lock_guardstd::mutex lock(m_mutex);
^
../src/util/com/../../d3d11/../dxvk/dxvk_recycler.h:49:40: error: ‘m_mutex’ was not declared in this scope
std::lock_guardstd::mutex lock(m_mutex);
^~~~~~~
In file included from ../src/util/com/../../d3d11/d3d11_interfaces.h:7:0,
from ../src/util/com/com_guid.cpp:3:
../src/util/com/../../d3d11/../dxvk/dxvk_device.h: At global scope:
../src/util/com/../../d3d11/../dxvk/dxvk_device.h:336:10: error: ‘mutex’ in namespace ‘std’ does not name a type
std::mutex m_submissionLock;
^~~~~
ninja: build stopped: subcommand failed.

Many thanks !
Christian

Alien vs Predator DX11 Mode : Works :) with ingame crashes . (Crashes at start with DXVK HUD enabled->Works fine now 23012018)

Hi,

i tried avp dx11 mode. Basically it already works, but it crashes ingame from time to time and perf doesn't look really ok (low gpu usage). dxvk also spits a huge amount of messages on the screen if run in debug mode.

My System: Opensuse, i3570k, 16GB ram, Nvidia gtx 970 390.12 driver

basically the following lines are spit out all the time with changing object numbers:

ptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8450 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8450 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8451 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8451 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8452 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8452 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8453 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8453 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8454 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8454 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b845a type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b845a encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #8 at global descriptor index 8 is being used in draw but has not been updated.
err: D3D11DeviceContext: GetData: Data size mismatch
DS(ERROR): object: 0x3b855a type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b855a encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #3 at global descriptor index 3 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b855b type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b855b encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #3 at global descriptor index 3 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b855c type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b855c encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #3 at global descriptor index 3 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8562 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8562 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #6 at global descriptor index 6 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8563 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8563 encountered the following validation error at vkCmdDraw() time: Descriptor in binding #6 at global descriptor index 6 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8570 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8570 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8571 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8571 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8572 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8572 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8573 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8573 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8574 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8574 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b8575 type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b8575 encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #9 at global descriptor index 9 is being used in draw but has not been updated.
DS(ERROR): object: 0x3b857b type: 23 location: 1200 msgCode: 61: Descriptor set 0x3b857b encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #8 at global descriptor index 8 is being used in draw but has not been updated.
err: D3D11DeviceContext: GetData: Data size mismatch

But basically it runs :D

When enabling the HUD, i only get a black game screen and the following error appears:
info: DxgiPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_SRGB
Present mode: VK_PRESENT_MODE_FIFO_KHR
Buffer size: 1920x1080
IMAGE(ERROR): object: 0x0 type: 0 location: 1521 msgCode: 346031326: vkCreateGraphicsPipelines: pCreateInfo[0].pVertexInputState->vertexAttributeDescriptions[2].format (VK_FORMAT_R8G8B8A8_SRGB) is not a supported vertex buffer format. The spec valid usage text states 'format must be allowed as a vertex buffer format, as specified by the VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT flag in VkFormatProperties::bufferFeatures returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkVertexInputAttributeDescription-format-00623)
err: D3D11DeviceContext: GetData: Data size mismatch

Logs are from working mode.

d3d11.log
dxgi.log

Another way to load dlls in wine

Hi, I was testing this out (just got black screens so far except for the triangle test).
I've found another way to have dlls load in wine, it's a little elaborate but guarantees dlls to load w/o copying them in the exec folder.

  1. set d3d11 and dxgi as native in winecfg
  2. create string entry in HKEY_CURRENT_USER\Software\Wine\DllRedirects\ labelled d3d11 with value d3d11_vk.dll. Likewise for dxgi.
  3. create symlink from d3d11.dll to d3d11_vk.dll. Likewise for dxgi.
  4. add dlls (windows) path to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\PATH. You can add both 64 and 32 bit paths.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.