doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.97k stars 832 forks source link

NvAPI testing #853

Closed SveSop closed 5 years ago

SveSop commented 5 years ago

Since @pchome made that standalone meson compile version of nvapi, i have been experimenting a wee bit with various stuff there. The question could be if there is something to be done to "fix" nvapi so it more or less gets useful for those weird nvapi cases.

I do not own a game that have any serious issues with this, and searching here kinda ended up in a non-conclusive 100% way to recreate problems (for me), cos i dont want to buy 4-5-6 games just to test. I would lub some feedback on what game "is the worst" if you are not faking AMD card, and setting dll-overrides for nvapi to "disabled".

What i have experienced so far, is as ppl have described, and that is even if you fake AMD card, and the nvapi.dll exist, it will end up being used anyway.

I have added a few fake things to the nvapi source, and i know it wont actually DO any hardware setting changes, but maybe faking calls and returning "sane" answers is enough for a few games? Worth a test in my book i guess.

https://github.com/SveSop/nvapi_standalone

Grab it, compile it and test it. (Script explanation in the README).

The absolutely awesome thing about this standalone source (big thanks pchome) is that when installed via dll-overrides, you just compile and replace the install folder to test a "new version", so its easy to fiddle with.

As of now, I have just faked as much of my GTX970 as possible (easily changed, and if interested i can explain how). I do not think it really matters much tho, but its a fun experiment. I have zero coding experience, so if obvious errors or ways to do things easier is spotted, tips are most welcome :+1:

What i would love tho, is for a comparison of WINEDEBUG="-all,+nvapi" logs between the regular staging nvapi and mine, especially for games that have huge issues with this. Probably best to post it as issues on my GIT. Eg. "wine-staging.log" "wine-nvapi-standalone.log", so i can try to pinpoint if there is anything obvious that COULD help.

Not saying it actually will solve anything, but hey.. fun project nevertheless.

PS. To make sure the game/app does what it can to use nvapi, you should put this in the dxvk.conf file: dxgi.nvapiHack = False (Requires RECENT git - cf9de54 or newer) Or ofc you can override it with:

dxgi.customDeviceId = 10de
dxgi.customVendorId = 13c2

in the dxvk.conf file.

jp7677 commented 4 years ago

Edit : actually i just caused the problem myself, it's the prefix upgrade from 5.9 to 5.10 who caused the problem. I cleaned up the prefix, now it work fine on 5.10 staging with dxvk.

Does it also uses SetDepthBoundsTest from nvapi (whichever implementation)?

Ski-lleR commented 4 years ago

Edit : actually i just caused the problem myself, it's the prefix upgrade from 5.9 to 5.10 who caused the problem. I cleaned up the prefix, now it work fine on 5.10 staging with dxvk.

Does it also uses SetDepthBoundsTest from nvapi (whichever implementation)?

I don't know, it's the first time i saw this message on wine output. But with the clean profile the message appear too, it's just different without your nvapi, so i assume it use it. Well the profile was almost pretty "clean", cause i use one per game, and this one require no override or any specific trick, it simply not survived the wine prefix upgrade.

@SveSop Thanks for all the additional info, so for future case i know how to deal with this. Will just continue without nvapi cause the game have no problem so far.

jp7677 commented 4 years ago

I don't know, it's the first time i saw this message on wine output. But with the clean profile the message appear too, it's just different without your nvapi, so i assume it use it. Well the profile was almost pretty "clean", cause i use one per game, and this one require no override or any specific trick, it simply not survived the wine prefix upgrade.

If this method is used by this game similar like UE4 does, you should see a confirmation once on the console f(rom https://github.com/jp7677/dxvk-nvapi/blob/master/src/nvapi.cpp#L34)

Ski-lleR commented 4 years ago

If it used correctly, you should see a confirmation once on the console f(rom https://github.com/jp7677/dxvk-nvapi/blob/master/src/nvapi.cpp#L34)

Without nvapi override : 0178:err:nvapi:NvAPI_D3D11_SetDepthBoundsTest Failed to get wined3d device handle! 0178:fixme:nvapi:unimplemented_stub function 0x6c2d048c is unimplemented!

With : NvAPI_GetErrorMessage -1: OK warn: D3D11DeviceContext::QueryInterface: Unknown interface query

So no confirmation

SveSop commented 4 years ago

With "nvapi_lite" and running "Monster Hunter World Benchmark" it reads:

0160:trace:nvapi:nvapi_QueryInterface (7aaf7a04)
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 0, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 1, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 0, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 0, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 1, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 1, 0.999954, 0.999958): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 0, 0.000000, 1.000000): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 1, 0.999571, 0.999594): dxvk
0160:trace:nvapi:NvAPI_D3D11_SetDepthBoundsTest (0x1a885b0, 0, 0.000000, 1.000000): dxvk

(And loads more throughout running)

And from what i gather "working correctly"... although it is hard to quantify the difference, as you cant really disable nvapi when using nVidia hardware in Windows to test the "real" difference. I think i ended up with around 1-2% increase when running with this under wine/dxvk.

jp7677 commented 4 years ago

If it used correctly, you should see a confirmation once on the console f(rom https://github.com/jp7677/dxvk-nvapi/blob/master/src/nvapi.cpp#L34)

Without nvapi override : 0178:err:nvapi:NvAPI_D3D11_SetDepthBoundsTest Failed to get wined3d device handle! 0178:fixme:nvapi:unimplemented_stub function 0x6c2d048c is unimplemented!

With : NvAPI_GetErrorMessage -1: OK warn: D3D11DeviceContext::QueryInterface: Unknown interface query

So no confirmation

Out of curiosity, could you post all console output from nvapi? Afaik the DXVK warning should also contain a GUID, could you also post the full warning? That said, I guess the game uses more of nvapi than just the very basic stuff that UE4 needs, so you are probably better off with spoofing AMD and disabling nvapi all together (which is for good reason the default/recommendation for DXVK).

Ski-lleR commented 4 years ago

The only output i have from nvapi is this at start : NvAPI_QueryInterface 0xad298d3f: Called with unknown offset NvAPI_Initialize DXVK-NVAPI-v0.1.2: OK

Then i got spammed with during all the play : NvAPI_GetErrorMessage -1: OK warn: D3D11DeviceContext::QueryInterface: Unknown interface query warn: db6f6ddb-ac77-4e88-8253-819df9bbf140

jp7677 commented 4 years ago

Thanks. Yeah, I guess the game wants to use far more than just simple setdepthboundstest from nvapi. I can only find a reference to that offset (0xad298d3f) within the Renderdoc source code and there it is passed on to nvapi. So no idea and I would again suggest to just spoof AMD, thus set nvapihack to the default, and disable nvapi like described here https://github.com/doitsujin/dxvk/wiki/Common-issues#nvapi

Ski-lleR commented 4 years ago

Since i don't have an nvidia card, that's what i do, disabling nvapi. Ive first started by providing nvapi assuming it will get ride of any nvapi message, but that's not the good way to follow.

And after reading the common issue, i see game make use of nvapi when detecting NVIDIA card, so in the end is this the game that don't use good code to detect gpu, or a wine bug ?

jp7677 commented 4 years ago

Well, according to your logs you seem to use either native or built-in nvapi. Could you try with export WINEDLLOVERRIDES="nvapi,nvapi64=d" to actually prevent wine to load any nvapi/nvapi64 library?

Ski-lleR commented 4 years ago

It's just because the log are from before ive set the dll override to disabled.

jp7677 commented 4 years ago

I'm not entirely sure I understood what you mean. But yeah, if disabling nvapi got you rid of these nvapi log spam, then you can assume that the game just looks for an nvapi.dll or nvapi64.dll to be present and uses it right away when having found it.

SveSop commented 4 years ago

Since i don't have an nvidia card, that's what i do, disabling nvapi.

Heh... Yeah, i wonder why nvapi did not work without a nVidia card... I must have missed that crucial bit of information some place i guess.

keybreak commented 4 years ago

https://www.gamingonlinux.com/2020/07/nvidia-open-sourced-part-of-nvapi-sdk-to-aid-windows-emulation-environments

That supposed to be a good news? :smiley:

SveSop commented 4 years ago

That supposed to be a good news? smiley

Not really anything revolutionary new there i tho. They still have not made all the "call addresses" public, and most of that someone already have posted random places anyway, but picking it from IDA and whatnot.

Some of the "guessed functions" implemented for the few functions i have looked at has been mostly correct anyway.

But in all fairness, getting stuff confirmed might absolutely help those interested :) So its a step in the right direction for sure!

Example from running GPUCapsViewer:

0009:trace:0009:trace:nvapi:get_thunk_function (329d77cd)
0009:fixme:nvapi:unimplemented_stub function 0x329d77cd is unimplemented!

The function address 329d77cd is not to be found in the SDK, so that does not help... However, on one of the "various places", i have found what function it calls. (which is not present in the SDK either).

So yeah, a step in the right direction, but not "soon you will have a fully working nvapi for linux".

I must admit i have not tested that many things the last few months, cos i am not sure the benefit of actually having a function made outweighs the dxgi.nvapiHack = True in DXVK. Maybe if was needed for HDR or some other stuff it could be nice?

I am willing to fiddle more with it, and if ppl had good examples where a game either does not work, or is severely bugged/slowed by using dxgi.nvapiHack = False along with the wine-staging implementation of nvapi, that would be valuable. The only example i know i have done some testing with is the SetDepthBoundsTest and using MonsterHunter World demo I found it maybe to be like a 1% increase (probably within a random margin of error..) vs. using nvapiHack and fake AMD card.

Maybe for GSync? Anyone know of a game not working with GSync because of missing nvapi implementation for wine?

keybreak commented 4 years ago

So yeah, a step in the right direction, but not "soon you will have a fully working nvapi for linux".

Eeeh...Yeah i can imagine it's far from seeing fully working PhysX in Batman Arkham Knight

SveSop commented 4 years ago

So yeah, a step in the right direction, but not "soon you will have a fully working nvapi for linux".

Eeeh...Yeah i can imagine it's far from seeing fully working PhysX in Batman Arkham Knight

Well, i do know that atleast for some apps, nvapi calls give the app things like

NvAPI_GPU_CudaEnumComputeCapableGpus
NvAPI_GetPhysicalGPUFromGPUID

and depending on said app/game it would either use GPU to do physx rendering, or cpu. So if AK calls nvapi, get none/wrong reply, CPU will be used for physx rendering. The wine-staging nvapi gives the correct reply on a nVidia gpu afaik, but i would think if you use the default dxvk.conf setting of dxgi.nvapiHack = True (or not configured), it would use CPU rendering.

keybreak commented 4 years ago

Last time i've checked this particular game when enabling nvapi parts of PhysX (in-game Settings not available and looks like disabled, i mean like interactive fog) if you try to force them through config file - game will crash.

However rest of PhysX options works fine.

(of course CUDA packages was properly set and wine-staging used, earlier games with usual implementation of non-nvapi PhysX work just fine with GPU acceleration as well)

jp7677 commented 4 years ago

I've added forwarding to the other DXVK D3D11 extensions and some basic system information stuff to https://github.com/jp7677/dxvk-nvapi I've added new binaries for easy usage. Please let me know if you see something that uses BeginUAVOverlap/EndUAVOverlap or MultiDrawInstancedIndirect/MultiDrawIndexedInstancedIndirect through NVAPI. I would love to test if it makes a difference. Until now I have only seen SetDepthBoundsTest through NVAPI.

keybreak commented 4 years ago

@jp7677 Thx for your efforts! :+1:

Tested with Batman Arkham Knight above, in-game settings for interactive fog still not available though, rest of PhysX seems to work as before, pretty much.

When i exited game there were some fatal error, not sure how to test it further, but i definitely haven't seen that one before so it must be caused by dxvk-nvapi, please tell me how i can provide more info on that.

Please let me know if you see something that uses BeginUAVOverlap/EndUAVOverlap or MultiDrawInstancedIndirect/MultiDrawIndexedInstancedIndirect through NVAPI.

How can i test it?

K0bin commented 4 years ago

PhysX has nothing to do with this project.

How can i test it?

Ideally games that use it should be slightly faster. There shouldnt be any visual difference.

keybreak commented 4 years ago

As far as i understand those options in this particular Batman game are only available if game can see that:

I'm sure that first 2 i meet, tested it with multiple other games under wine-staging

Ideally games that use it should be slightly faster.

Very hard to say, as for me game worked pretty damn good before and after dxvk-nvapi

jp7677 commented 4 years ago

@keybreak Thanks a lot for giving it a try.

Regarding Batman AK, basically what @K0bin says. The game wants to use NVAPI for NVIDIA shader extension (NV_EXTN_OP_VOTE_BALLOT and NV_EXTN_OP_FP16_ATOMIC). DXVK does not know about these extensions, thus dxvk-nvapi returns that these are not supported, thus nothing should be different. (Interesting note, when I return that these extension are supported and return Ok for NvAPI_D3D11_SetNvShaderExtnSlot, I can see some visual artifacts in the benchmark. I would have expected a crash in that case. The DXVK logs contains no hint of anything unsupported. Though reading https://developer.nvidia.com/unlocking-gpu-intrinsics-hlsl there seem to be some magic behind the scenes.

Batman AK does not use NVAPI for any of the methods that are currently forwarded to DXVK. You should at least see a statement printed on the console like NvAPI_D3D11_SetDepthBoundsTest: OK when a program uses it.

The last two gameworks features (interactive fog, etc) would also need an nvcuda implementation afaik.

keybreak commented 4 years ago

So there is no viable way to use / force Interactive fog / Paper debris for this game on Linux? :disappointed:

Batman AK does not use NVAPI for any of the methods that are currently forwarded to DXVK. You should at least see a statement printed on the console like NvAPI_D3D11_SetDepthBoundsTest: OK when a program uses it.

Yep, i don't see it in log... :thinking:

The last two gameworks features (interactive fog, etc) would also need an nvcuda implementation afaik.

That's interesting, i thought nvcuda already working, if you do all that https://forum.endeavouros.com/t/linux-gaming/7339/2#heading--linux-gaming-advanced-physx

Though reading https://developer.nvidia.com/unlocking-gpu-intrinsics-hlsl there seem to be some magic behind the scenes.

As always...Nvidia with it's voodoo magic :rofl:

Here's my test on:

Click to expand ``` lutris-wrapper: Batman Arkham knight Running /home/x133/.PlayOnLinux/wine/linux-amd64/5.11-staging/bin/wine /home/x133/.PlayOnLinux/wineprefix/Batman_Arkham_knight/drive_c/Games/Batman Arkham knight/Binaries/Win64/BatmanAK.exe -nologo Initial process has started with pid 344805 Game is considered started. info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 DXVK-NVAPI v0.2 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 NvAPI Device: GeForce GTX TITAN X (450.66.0) NvAPI Output: \\.\DISPLAY1 NvAPI_Initialize: OK NvAPI_QueryInterface 0x33c7358c: Unknown function ID NvAPI_QueryInterface 0x593e8644: Unknown function ID NvAPI_QueryInterface NvAPI_Stereo_CreateConfigurationProfileRegistryKey: Not implemented method NvAPI_GetErrorMessage -3: OK DXVK-NVAPI v0.2 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 NvAPI Device: GeForce GTX TITAN X (450.66.0) NvAPI Output: \\.\DISPLAY1 NvAPI_Initialize: OK NvAPI_QueryInterface NvAPI_EnumNvidiaUnAttachedDisplayHandle: Not implemented method NvAPI_QueryInterface 0x264c5763: Unknown function ID NvAPI_QueryInterface 0xfb9bc2ab: Unknown function ID NvAPI_QueryInterface 0xc228297: Unknown function ID NvAPI_QueryInterface 0x70d413b: Unknown function ID NvAPI_QueryInterface NvAPI_GetPhysicalGPUFromUnAttachedDisplay: Not implemented method NvAPI_QueryInterface NvAPI_CreateDisplayFromUnAttachedDisplay: Not implemented method NvAPI_QueryInterface NvAPI_GetLogicalGPUFromDisplay: Not implemented method NvAPI_QueryInterface 0xf1d2777b: Unknown function ID NvAPI_QueryInterface NvAPI_GetLogicalGPUFromPhysicalGPU: Not implemented method NvAPI_QueryInterface NvAPI_GetPhysicalGPUsFromLogicalGPU: Not implemented method NvAPI_QueryInterface 0x1890e8da: Unknown function ID NvAPI_QueryInterface 0x5380ad1a: Unknown function ID NvAPI_QueryInterface 0x6533ea3e: Unknown function ID NvAPI_QueryInterface 0xe083a103: Unknown function ID NvAPI_QueryInterface NvAPI_GetAssociatedNvidiaDisplayHandle: Not implemented method NvAPI_QueryInterface NvAPI_GetAssociatedNvidiaDisplayName: Not implemented method NvAPI_QueryInterface NvAPI_GetUnAttachedAssociatedDisplayName: Not implemented method NvAPI_QueryInterface NvAPI_EnableHWCursor: Not implemented method NvAPI_QueryInterface NvAPI_DisableHWCursor: Not implemented method NvAPI_QueryInterface NvAPI_GetVBlankCounter: Not implemented method NvAPI_QueryInterface NvAPI_SetRefreshRateOverride: Not implemented method NvAPI_QueryInterface NvAPI_GetAssociatedDisplayOutputId: Not implemented method NvAPI_QueryInterface 0xc5e31a58: Unknown function ID NvAPI_QueryInterface NvAPI_GetDisplayPortInfo: Not implemented method NvAPI_QueryInterface NvAPI_SetDisplayPort: Not implemented method NvAPI_QueryInterface NvAPI_GetHDMISupportInfo: Not implemented method NvAPI_QueryInterface 0x9734f1d: Unknown function ID NvAPI_QueryInterface 0x69c6f365: Unknown function ID NvAPI_QueryInterface 0x67efd887: Unknown function ID NvAPI_QueryInterface 0x41511594: Unknown function ID NvAPI_QueryInterface 0x7fc17574: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetMemoryInfo: Not implemented method NvAPI_QueryInterface 0x774aa982: Unknown function ID NvAPI_QueryInterface 0x2dc95125: Unknown function ID NvAPI_QueryInterface 0x4085de45: Unknown function ID NvAPI_QueryInterface 0x172409b4: Unknown function ID NvAPI_QueryInterface 0xe45002d: Unknown function ID NvAPI_QueryInterface 0x4a82c2b1: Unknown function ID NvAPI_QueryInterface 0x95b64341: Unknown function ID NvAPI_QueryInterface 0xf5a0f22c: Unknown function ID NvAPI_QueryInterface 0x9fb063df: Unknown function ID NvAPI_QueryInterface 0x3fc9a59c: Unknown function ID NvAPI_QueryInterface 0x23b19713: Unknown function ID NvAPI_QueryInterface 0x357cfb24: Unknown function ID NvAPI_QueryInterface 0x2f948148: Unknown function ID NvAPI_QueryInterface 0x38ac3081: Unknown function ID NvAPI_QueryInterface 0xfa2f1791: Unknown function ID NvAPI_QueryInterface 0xe0c76dfd: Unknown function ID NvAPI_QueryInterface 0xff8bd545: Unknown function ID NvAPI_QueryInterface 0xe563af29: Unknown function ID NvAPI_QueryInterface NvAPI_D3D_BeginResourceRendering: Not implemented method NvAPI_QueryInterface NvAPI_D3D_EndResourceRendering: Not implemented method NvAPI_QueryInterface 0x15e50fc9: Unknown function ID NvAPI_QueryInterface 0x5d19bca4: Unknown function ID NvAPI_QueryInterface 0xc8ff7258: Unknown function ID NvAPI_QueryInterface 0xe5a9aae0: Unknown function ID NvAPI_QueryInterface 0x2ac084fa: Unknown function ID NvAPI_QueryInterface 0xf8b53c69: Unknown function ID NvAPI_QueryInterface 0xf2a54796: Unknown function ID NvAPI_QueryInterface 0x4aceeaf7: Unknown function ID NvAPI_QueryInterface 0xa4ad0870: Unknown function ID NvAPI_QueryInterface 0x64d6c83d: Unknown function ID NvAPI_QueryInterface 0xf0f4a5e0: Unknown function ID NvAPI_QueryInterface 0xd44d3c4e: Unknown function ID NvAPI_QueryInterface NvAPI_D3D9_GetSurfaceHandle: Not implemented method NvAPI_QueryInterface 0x6800f5fc: Unknown function ID NvAPI_QueryInterface 0xc7985ed5: Unknown function ID NvAPI_QueryInterface 0x80c9fd3b: Unknown function ID NvAPI_QueryInterface 0x6d6fdad4: Unknown function ID NvAPI_QueryInterface 0x754033f0: Unknown function ID NvAPI_QueryInterface 0xcde4a28a: Unknown function ID NvAPI_QueryInterface 0x2ab714ab: Unknown function ID NvAPI_QueryInterface 0xdbc803ec: Unknown function ID NvAPI_QueryInterface 0x12ee68f2: Unknown function ID NvAPI_QueryInterface 0x18cdf365: Unknown function ID NvAPI_QueryInterface 0xd00b8317: Unknown function ID NvAPI_QueryInterface 0x3d7a86bb: Unknown function ID NvAPI_QueryInterface 0x22cad61: Unknown function ID NvAPI_QueryInterface 0xb380f218: Unknown function ID NvAPI_QueryInterface 0xfc5a155b: Unknown function ID NvAPI_QueryInterface 0x72b19155: Unknown function ID NvAPI_QueryInterface 0xd5e13573: Unknown function ID NvAPI_QueryInterface 0x13c7112e: Unknown function ID NvAPI_QueryInterface 0xf7029c5: Unknown function ID NvAPI_QueryInterface 0x84c9d553: Unknown function ID NvAPI_QueryInterface 0xb476bf61: Unknown function ID NvAPI_QueryInterface 0x89ffd9a3: Unknown function ID NvAPI_QueryInterface 0x3111bed1: Unknown function ID NvAPI_QueryInterface 0x5cf7f862: Unknown function ID NvAPI_QueryInterface 0x2bbda32e: Unknown function ID NvAPI_QueryInterface 0x3d596b93: Unknown function ID NvAPI_QueryInterface 0x7c20c5be: Unknown function ID NvAPI_QueryInterface 0x905f5c27: Unknown function ID NvAPI_QueryInterface 0x6317345c: Unknown function ID NvAPI_QueryInterface 0xc182027e: Unknown function ID NvAPI_QueryInterface 0xa4527bf8: Unknown function ID NvAPI_QueryInterface 0xbd4bc56f: Unknown function ID NvAPI_QueryInterface 0x1db7c52c: Unknown function ID NvAPI_QueryInterface 0x694bff4d: Unknown function ID NvAPI_QueryInterface 0xbfdc062c: Unknown function ID NvAPI_QueryInterface 0xddf5643c: Unknown function ID NvAPI_QueryInterface 0x9d2509ef: Unknown function ID NvAPI_QueryInterface 0x962b8af6: Unknown function ID NvAPI_QueryInterface 0xaeaecd41: Unknown function ID NvAPI_QueryInterface 0xb3827c8: Unknown function ID NvAPI_QueryInterface NvAPI_D3D9_RegisterResource: Not implemented method NvAPI_QueryInterface NvAPI_D3D9_UnregisterResource: Not implemented method NvAPI_QueryInterface 0xe92a3cbf: Unknown function ID NvAPI_QueryInterface 0x52417944: Unknown function ID NvAPI_QueryInterface 0x8aac133d: Unknown function ID NvAPI_QueryInterface 0x73eb9329: Unknown function ID NvAPI_QueryInterface 0xae9c2019: Unknown function ID NvAPI_QueryInterface 0xcac3ce5d: Unknown function ID NvAPI_QueryInterface NvAPI_D3D10_SetDepthBoundsTest: Not implemented method NvAPI_QueryInterface 0x3cea1df: Unknown function ID NvAPI_QueryInterface 0x9ecb5c10: Unknown function ID NvAPI_QueryInterface 0x90ab6d32: Unknown function ID NvAPI_QueryInterface 0xa8c27fc7: Unknown function ID NvAPI_QueryInterface 0xae6c7fb5: Unknown function ID NvAPI_QueryInterface 0x4f0f3028: Unknown function ID NvAPI_QueryInterface 0x5c7dbb8f: Unknown function ID NvAPI_QueryInterface 0xbb0dda92: Unknown function ID NvAPI_QueryInterface 0xbbc0380c: Unknown function ID NvAPI_QueryInterface 0x76a3261a: Unknown function ID NvAPI_QueryInterface 0x7407ac54: Unknown function ID NvAPI_QueryInterface 0x6670b9e7: Unknown function ID NvAPI_QueryInterface 0xae6ad564: Unknown function ID NvAPI_QueryInterface 0x1ed3ea3f: Unknown function ID NvAPI_QueryInterface 0x2de11d61: Unknown function ID NvAPI_QueryInterface 0x5b803daf: Unknown function ID NvAPI_QueryInterface 0x7a62d510: Unknown function ID NvAPI_QueryInterface 0xda04a08b: Unknown function ID NvAPI_QueryInterface 0xb99b688a: Unknown function ID NvAPI_QueryInterface 0xdcda434d: Unknown function ID NvAPI_QueryInterface 0x77c9a2d0: Unknown function ID NvAPI_QueryInterface 0x864f7810: Unknown function ID NvAPI_QueryInterface 0xb7f46cf3: Unknown function ID NvAPI_QueryInterface NvAPI_D3D11_CreateDevice: Not implemented method NvAPI_QueryInterface NvAPI_D3D11_CreateDeviceAndSwapChain: Not implemented method NvAPI_QueryInterface 0x3119f36e: Unknown function ID NvAPI_QueryInterface 0x919b3136: Unknown function ID NvAPI_QueryInterface 0x7562e947: Unknown function ID NvAPI_QueryInterface 0x988aea78: Unknown function ID NvAPI_QueryInterface 0x9d772bba: Unknown function ID NvAPI_QueryInterface 0xf5579360: Unknown function ID NvAPI_QueryInterface 0xe24ceee: Unknown function ID NvAPI_QueryInterface 0x633252d8: Unknown function ID NvAPI_QueryInterface 0xe0b1dce9: Unknown function ID NvAPI_QueryInterface 0x5d857a00: Unknown function ID NvAPI_QueryInterface 0xd8cbf37b: Unknown function ID NvAPI_QueryInterface 0x63e2f56f: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetShaderSubPipeCount: Not implemented method NvAPI_QueryInterface 0x2eb3c140: Unknown function ID NvAPI_QueryInterface 0x86f05d7a: Unknown function ID NvAPI_QueryInterface 0x329d77cd: Unknown function ID NvAPI_QueryInterface 0x4a35df54: Unknown function ID NvAPI_QueryInterface 0xeb7af173: Unknown function ID NvAPI_QueryInterface 0x4e2f76a8: Unknown function ID NvAPI_QueryInterface 0xae5fbcfe: Unknown function ID NvAPI_QueryInterface 0xb6d62591: Unknown function ID NvAPI_QueryInterface 0xe76ada52: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetAllOutputs: Not implemented method NvAPI_QueryInterface 0x11fbd838: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetConnectedOutputs: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetConnectedSLIOutputs: Not implemented method NvAPI_QueryInterface 0xa3ea6f1d: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetConnectedOutputsWithLidState: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetConnectedSLIOutputsWithLidState: Not implemented method NvAPI_QueryInterface 0x62fb1592: Unknown function ID NvAPI_QueryInterface 0xb7476d15: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetSystemType: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetActiveOutputs: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetEDID: Not implemented method NvAPI_QueryInterface NvAPI_GPU_SetEDID: Not implemented method NvAPI_QueryInterface 0x35b5fd2f: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetOutputType: Not implemented method NvAPI_QueryInterface 0xd2277e3a: Unknown function ID NvAPI_QueryInterface 0x36cff969: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_ValidateOutputCombination: Not implemented method NvAPI_QueryInterface 0x4eca2c10: Unknown function ID NvAPI_QueryInterface 0xd988f0f3: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetBusType: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetBusSlotId: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetIRQ: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetVbiosRevision: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetVbiosOEMRevision: Not implemented method NvAPI_QueryInterface 0xe1d5daba: Unknown function ID NvAPI_QueryInterface 0xfc13ee11: Unknown function ID NvAPI_QueryInterface 0xb7ab19b9: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetVbiosVersionString: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetAGPAperture: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetCurrentAGPRate: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetCurrentPCIEDownstreamWidth: Not implemented method NvAPI_QueryInterface 0x3f28e1b9: Unknown function ID NvAPI_QueryInterface 0x3bd32008: Unknown function ID NvAPI_QueryInterface 0xe3795199: Unknown function ID NvAPI_QueryInterface 0x8456ff3d: Unknown function ID NvAPI_QueryInterface 0x521566bb: Unknown function ID NvAPI_QueryInterface 0x524b9773: Unknown function ID NvAPI_QueryInterface 0x387b2e41: Unknown function ID NvAPI_QueryInterface 0xed9e8057: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetVirtualFrameBufferSize: Not implemented method NvAPI_QueryInterface 0xe4b701e3: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetQuadroStatus: Not implemented method NvAPI_QueryInterface 0xdee047ab: Unknown function ID NvAPI_QueryInterface 0xd4f3944c: Unknown function ID NvAPI_QueryInterface 0x14b83a5f: Unknown function ID NvAPI_QueryInterface 0xa4218928: Unknown function ID NvAPI_QueryInterface 0x57f7caac: Unknown function ID NvAPI_QueryInterface 0x51ccdb2a: Unknown function ID NvAPI_QueryInterface 0x7975c581: Unknown function ID NvAPI_QueryInterface 0x11104158: Unknown function ID NvAPI_QueryInterface 0x17073a3c: Unknown function ID NvAPI_QueryInterface 0xd8265d24: Unknown function ID NvAPI_QueryInterface 0x25f17421: Unknown function ID NvAPI_QueryInterface 0x32e1d697: Unknown function ID NvAPI_QueryInterface 0xf91e777b: Unknown function ID NvAPI_QueryInterface 0x1bd69f49: Unknown function ID NvAPI_QueryInterface 0x6f151055: Unknown function ID NvAPI_QueryInterface 0x7bc207f8: Unknown function ID NvAPI_QueryInterface 0x5d7ccaeb: Unknown function ID NvAPI_QueryInterface 0x1ea54a3b: Unknown function ID NvAPI_QueryInterface 0x7bcf4ac: Unknown function ID NvAPI_QueryInterface 0xda141340: Unknown function ID NvAPI_QueryInterface 0x891fa0ae: Unknown function ID NvAPI_QueryInterface 0x8f6ed0fb: Unknown function ID NvAPI_QueryInterface 0x518a32c: Unknown function ID NvAPI_QueryInterface 0x987947cd: Unknown function ID NvAPI_QueryInterface 0xd8c4fe63: Unknown function ID NvAPI_QueryInterface 0xa69f8e29: Unknown function ID NvAPI_QueryInterface 0xba94c56e: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetCurrentPstate: Not implemented method NvAPI_QueryInterface 0x88c82104: Unknown function ID NvAPI_QueryInterface 0xfdfc7d49: Unknown function ID NvAPI_QueryInterface 0xb23b70ee: Unknown function ID NvAPI_QueryInterface 0xfa579a0f: Unknown function ID NvAPI_QueryInterface 0x189a1fdf: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetDynamicPstatesInfoEx: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetThermalSettings: Not implemented method NvAPI_QueryInterface 0x1b71d425: Unknown function ID NvAPI_QueryInterface 0x6683ee65: Unknown function ID NvAPI_QueryInterface 0x8cd42541: Unknown function ID NvAPI_QueryInterface 0xaf97fe75: Unknown function ID NvAPI_QueryInterface 0xdf0dfcdd: Unknown function ID NvAPI_QueryInterface 0x4fcb326e: Unknown function ID NvAPI_QueryInterface 0x30c805d5: Unknown function ID NvAPI_QueryInterface 0x5757474a: Unknown function ID NvAPI_QueryInterface 0xca36a3ab: Unknown function ID NvAPI_QueryInterface 0x6dfd1c8c: Unknown function ID NvAPI_QueryInterface 0xaed02700: Unknown function ID NvAPI_QueryInterface 0x6bb1ee5d: Unknown function ID NvAPI_QueryInterface 0x57d9060f: Unknown function ID NvAPI_QueryInterface 0x5dfab48a: Unknown function ID NvAPI_QueryInterface 0x79ad0307: Unknown function ID NvAPI_QueryInterface 0x15658be6: Unknown function ID NvAPI_QueryInterface 0x25201f3d: Unknown function ID NvAPI_QueryInterface 0xa81f8992: Unknown function ID NvAPI_QueryInterface 0x64f7d53c: Unknown function ID NvAPI_QueryInterface 0x21e2cf70: Unknown function ID NvAPI_QueryInterface 0x96370089: Unknown function ID NvAPI_QueryInterface 0x6a8937c6: Unknown function ID NvAPI_QueryInterface 0x6b8809b4: Unknown function ID NvAPI_QueryInterface 0xb4b26b65: Unknown function ID NvAPI_QueryInterface 0x4db019e6: Unknown function ID NvAPI_QueryInterface 0x8a50f126: Unknown function ID NvAPI_QueryInterface 0xf409d5e5: Unknown function ID NvAPI_QueryInterface 0x813d89a8: Unknown function ID NvAPI_QueryInterface 0xb539a26e: Unknown function ID NvAPI_QueryInterface 0x76a70e8d: Unknown function ID NvAPI_QueryInterface NvAPI_I2CRead: Not implemented method NvAPI_QueryInterface NvAPI_I2CWrite: Not implemented method NvAPI_QueryInterface 0x283ac65a: Unknown function ID NvAPI_QueryInterface 0x4d7b0709: Unknown function ID NvAPI_QueryInterface 0x76bfa16b: Unknown function ID NvAPI_QueryInterface 0x50016c78: Unknown function ID NvAPI_QueryInterface 0xb8249127: Unknown function ID NvAPI_QueryInterface 0x2040ac5d: Unknown function ID NvAPI_QueryInterface 0x1ead124c: Unknown function ID NvAPI_QueryInterface 0x5cac215e: Unknown function ID NvAPI_QueryInterface 0x18a35445: Unknown function ID NvAPI_QueryInterface 0x493584d6: Unknown function ID NvAPI_QueryInterface 0x4306deac: Unknown function ID NvAPI_QueryInterface 0x75dd3e6a: Unknown function ID NvAPI_QueryInterface 0x25bfb10: Unknown function ID NvAPI_QueryInterface 0xe7b1198d: Unknown function ID NvAPI_QueryInterface 0xfe0e5187: Unknown function ID NvAPI_QueryInterface 0x77d8f573: Unknown function ID NvAPI_QueryInterface 0x58337fa3: Unknown function ID NvAPI_QueryInterface 0xdc2bd4a6: Unknown function ID NvAPI_QueryInterface 0xa91f88eb: Unknown function ID NvAPI_QueryInterface 0x80ebc01f: Unknown function ID NvAPI_QueryInterface 0x11bdc4d7: Unknown function ID NvAPI_QueryInterface 0xd9c0e326: Unknown function ID NvAPI_QueryInterface 0xe5a518dc: Unknown function ID NvAPI_QueryInterface 0x38a18c40: Unknown function ID NvAPI_QueryInterface 0x2fa7e0eb: Unknown function ID NvAPI_QueryInterface 0x3f2c5b97: Unknown function ID NvAPI_QueryInterface 0xf0b18453: Unknown function ID NvAPI_QueryInterface 0x578b6382: Unknown function ID NvAPI_QueryInterface 0x8ae4b4ca: Unknown function ID NvAPI_QueryInterface 0x3ab6a38a: Unknown function ID NvAPI_QueryInterface 0xb7fa5440: Unknown function ID NvAPI_QueryInterface 0x6ae878a4: Unknown function ID NvAPI_QueryInterface 0x8682711b: Unknown function ID NvAPI_QueryInterface 0xa5b31eb8: Unknown function ID NvAPI_QueryInterface 0x29fbc5ea: Unknown function ID NvAPI_QueryInterface NvAPI_SYS_GetChipSetInfo: Not implemented method NvAPI_QueryInterface NvAPI_SYS_GetLidAndDockInfo: Not implemented method NvAPI_QueryInterface 0xce8200e8: Unknown function ID NvAPI_QueryInterface 0xcf00d48e: Unknown function ID NvAPI_QueryInterface 0x1003328a: Unknown function ID NvAPI_QueryInterface 0x6579f1c8: Unknown function ID NvAPI_QueryInterface 0xf8181529: Unknown function ID NvAPI_QueryInterface 0xb6ef8b9: Unknown function ID NvAPI_QueryInterface 0x9321ca5b: Unknown function ID NvAPI_QueryInterface 0x1bb5779a: Unknown function ID NvAPI_QueryInterface 0xcae9a69: Unknown function ID NvAPI_QueryInterface 0x48ec6e45: Unknown function ID NvAPI_QueryInterface NvAPI_OGL_ExpertModeSet: Not implemented method NvAPI_QueryInterface NvAPI_OGL_ExpertModeGet: Not implemented method NvAPI_QueryInterface NvAPI_OGL_ExpertModeDefaultsSet: Not implemented method NvAPI_QueryInterface NvAPI_OGL_ExpertModeDefaultsGet: Not implemented method NvAPI_QueryInterface 0x7eb95503: Unknown function ID NvAPI_QueryInterface 0x271ebe10: Unknown function ID NvAPI_QueryInterface 0x1b765642: Unknown function ID NvAPI_QueryInterface 0xe04f3d86: Unknown function ID NvAPI_QueryInterface 0xdc27d5d4: Unknown function ID NvAPI_QueryInterface 0xafc4833e: Unknown function ID NvAPI_QueryInterface 0x42892957: Unknown function ID NvAPI_QueryInterface 0xbf6c1762: Unknown function ID NvAPI_QueryInterface 0x854ba405: Unknown function ID NvAPI_QueryInterface 0xe7cb998d: Unknown function ID NvAPI_QueryInterface 0xa9062c78: Unknown function ID NvAPI_QueryInterface 0x61d7b624: Unknown function ID NvAPI_QueryInterface 0x4144111a: Unknown function ID NvAPI_QueryInterface 0xf98854c8: Unknown function ID NvAPI_QueryInterface 0x3efada1d: Unknown function ID NvAPI_QueryInterface 0x8e985ccd: Unknown function ID NvAPI_QueryInterface 0xf36a668d: Unknown function ID NvAPI_QueryInterface 0xf5f4d01: Unknown function ID NvAPI_QueryInterface NvAPI_SetView: Not implemented method NvAPI_QueryInterface NvAPI_GetView: Not implemented method NvAPI_QueryInterface NvAPI_SetViewEx: Not implemented method NvAPI_QueryInterface NvAPI_GetViewEx: Not implemented method NvAPI_QueryInterface NvAPI_GetSupportedViews: Not implemented method NvAPI_QueryInterface 0xb68f3440: Unknown function ID NvAPI_QueryInterface 0x45aea29b: Unknown function ID NvAPI_QueryInterface 0x5850e9: Unknown function ID NvAPI_QueryInterface 0xb3bb0772: Unknown function ID NvAPI_QueryInterface 0x4ecbea37: Unknown function ID NvAPI_QueryInterface 0x55a45ad2: Unknown function ID NvAPI_QueryInterface 0x8b8c90e4: Unknown function ID NvAPI_QueryInterface 0xc0c4c680: Unknown function ID NvAPI_QueryInterface 0xacce03f4: Unknown function ID NvAPI_QueryInterface 0x7def8998: Unknown function ID NvAPI_QueryInterface 0x29e0a109: Unknown function ID NvAPI_QueryInterface 0x25abda26: Unknown function ID NvAPI_QueryInterface 0xfb90bdc1: Unknown function ID NvAPI_QueryInterface 0xfa66ed29: Unknown function ID NvAPI_QueryInterface 0x14ff532d: Unknown function ID NvAPI_QueryInterface 0xa97ebefa: Unknown function ID NvAPI_QueryInterface 0x95256d18: Unknown function ID NvAPI_QueryInterface 0x28a480cf: Unknown function ID NvAPI_QueryInterface 0x1c0f37ab: Unknown function ID NvAPI_QueryInterface 0x130e96d7: Unknown function ID NvAPI_QueryInterface 0x6a56e20: Unknown function ID NvAPI_QueryInterface 0x5a96d0f4: Unknown function ID NvAPI_QueryInterface 0x84244524: Unknown function ID NvAPI_QueryInterface 0xcb7b09d2: Unknown function ID NvAPI_QueryInterface 0x977c45e6: Unknown function ID NvAPI_QueryInterface 0xf74926f5: Unknown function ID NvAPI_QueryInterface 0xbe5c71cb: Unknown function ID NvAPI_QueryInterface 0x8d5ccfcc: Unknown function ID NvAPI_QueryInterface 0x872b4463: Unknown function ID NvAPI_QueryInterface 0xfb22d656: Unknown function ID NvAPI_QueryInterface 0xe23b68c1: Unknown function ID NvAPI_QueryInterface 0x35582435: Unknown function ID NvAPI_QueryInterface 0x106ec09a: Unknown function ID NvAPI_QueryInterface 0x2df387ad: Unknown function ID NvAPI_QueryInterface 0x5c909191: Unknown function ID NvAPI_QueryInterface 0x2da1e50f: Unknown function ID NvAPI_QueryInterface 0x38af5465: Unknown function ID NvAPI_QueryInterface 0xddb1017f: Unknown function ID NvAPI_QueryInterface 0x8f90d07: Unknown function ID NvAPI_QueryInterface 0xd28ea837: Unknown function ID NvAPI_QueryInterface 0xf4306524: Unknown function ID NvAPI_QueryInterface 0x1af3b2b7: Unknown function ID NvAPI_QueryInterface 0x504d9215: Unknown function ID NvAPI_QueryInterface 0x9f30e3d1: Unknown function ID NvAPI_QueryInterface 0xa3580b83: Unknown function ID NvAPI_QueryInterface 0xf698c5e1: Unknown function ID NvAPI_QueryInterface 0x6a04e6ae: Unknown function ID NvAPI_QueryInterface 0x49f86afb: Unknown function ID NvAPI_QueryInterface 0x4b700d2a: Unknown function ID NvAPI_QueryInterface 0x6d9651b6: Unknown function ID NvAPI_QueryInterface 0x952e408f: Unknown function ID NvAPI_QueryInterface 0xe8dc7acf: Unknown function ID NvAPI_QueryInterface 0xb94b341b: Unknown function ID NvAPI_QueryInterface 0x1c5659cd: Unknown function ID NvAPI_QueryInterface 0x54fe75a: Unknown function ID NvAPI_QueryInterface 0x18919887: Unknown function ID NvAPI_QueryInterface 0x4feeb498: Unknown function ID NvAPI_QueryInterface 0x2f5b08e0: Unknown function ID NvAPI_QueryInterface 0x76e48826: Unknown function ID NvAPI_QueryInterface 0x58934e9a: Unknown function ID NvAPI_QueryInterface 0x5f6d8e71: Unknown function ID NvAPI_QueryInterface 0xe74750e2: Unknown function ID NvAPI_QueryInterface 0x4821ecd8: Unknown function ID NvAPI_QueryInterface 0x13f7111e: Unknown function ID NvAPI_QueryInterface 0xebc7a299: Unknown function ID NvAPI_QueryInterface 0x32789091: Unknown function ID NvAPI_QueryInterface 0x638cd19c: Unknown function ID NvAPI_QueryInterface 0x32f707a0: Unknown function ID NvAPI_QueryInterface 0x3df6196c: Unknown function ID NvAPI_QueryInterface 0x801b5e51: Unknown function ID NvAPI_QueryInterface 0x4db05311: Unknown function ID NvAPI_QueryInterface 0xe5566f3f: Unknown function ID NvAPI_QueryInterface 0xcbf2d7a2: Unknown function ID NvAPI_QueryInterface 0x5d50bac8: Unknown function ID NvAPI_QueryInterface 0xc96c4920: Unknown function ID NvAPI_QueryInterface NvAPI_Mosaic_GetSupportedTopoInfo: Not implemented method NvAPI_QueryInterface NvAPI_Mosaic_GetTopoGroup: Not implemented method NvAPI_QueryInterface NvAPI_Mosaic_GetOverlapLimits: Not implemented method NvAPI_QueryInterface NvAPI_Mosaic_SetCurrentTopo: Not implemented method NvAPI_QueryInterface NvAPI_Mosaic_GetCurrentTopo: Not implemented method NvAPI_QueryInterface NvAPI_Mosaic_EnableCurrentTopo: Not implemented method NvAPI_QueryInterface NvAPI_GetSupportedMosaicTopologies: Not implemented method NvAPI_QueryInterface NvAPI_GetCurrentMosaicTopology: Not implemented method NvAPI_QueryInterface NvAPI_SetCurrentMosaicTopology: Not implemented method NvAPI_QueryInterface NvAPI_EnableCurrentMosaicTopology: Not implemented method NvAPI_QueryInterface 0xbd669b00: Unknown function ID NvAPI_QueryInterface 0x6090c927: Unknown function ID NvAPI_QueryInterface 0xff4e7d40: Unknown function ID NvAPI_QueryInterface 0x3c6346cc: Unknown function ID NvAPI_QueryInterface 0xa2a9f4ad: Unknown function ID NvAPI_QueryInterface 0x38913465: Unknown function ID NvAPI_QueryInterface 0xbb9ef1c3: Unknown function ID NvAPI_QueryInterface 0x26c63de3: Unknown function ID NvAPI_QueryInterface 0xa3e36f0a: Unknown function ID NvAPI_QueryInterface 0x50f44fef: Unknown function ID NvAPI_QueryInterface 0xbf739fff: Unknown function ID NvAPI_QueryInterface 0x857186dd: Unknown function ID NvAPI_QueryInterface 0xaafd4ebc: Unknown function ID NvAPI_QueryInterface NvAPI_GSync_QueryCapabilities: Not implemented method NvAPI_QueryInterface 0x971c1410: Unknown function ID NvAPI_QueryInterface 0xaca805e6: Unknown function ID NvAPI_QueryInterface 0x318018a0: Unknown function ID NvAPI_QueryInterface 0x9ea851bb: Unknown function ID NvAPI_QueryInterface 0x4c7f9e3e: Unknown function ID NvAPI_QueryInterface 0x468abdd7: Unknown function ID NvAPI_QueryInterface 0xc929dc63: Unknown function ID NvAPI_QueryInterface 0x82cb26b7: Unknown function ID NvAPI_QueryInterface 0x21821099: Unknown function ID NvAPI_QueryInterface 0x462fc0a0: Unknown function ID NvAPI_QueryInterface 0xe140175e: Unknown function ID NvAPI_QueryInterface 0x42205bcb: Unknown function ID NvAPI_QueryInterface 0xe65e001c: Unknown function ID NvAPI_QueryInterface NvAPI_GSync_GetControlParameters: Not implemented method NvAPI_QueryInterface NvAPI_GSync_GetStatusParameters: Not implemented method NvAPI_QueryInterface 0xf68eb811: Unknown function ID NvAPI_QueryInterface 0x79b85e23: Unknown function ID NvAPI_QueryInterface 0x7d2794ab: Unknown function ID NvAPI_QueryInterface 0xcc40cc37: Unknown function ID NvAPI_QueryInterface 0xb0c0a5fd: Unknown function ID NvAPI_QueryInterface 0x5e4f3b9f: Unknown function ID NvAPI_QueryInterface 0x4af0011d: Unknown function ID NvAPI_QueryInterface 0x9962c97c: Unknown function ID NvAPI_QueryInterface 0xfab69565: Unknown function ID NvAPI_QueryInterface 0xf5e10439: Unknown function ID NvAPI_QueryInterface 0xf3b11e68: Unknown function ID NvAPI_QueryInterface NvAPI_GPU_GetHDCPSupportStatus: Not implemented method NvAPI_QueryInterface 0x625d3b94: Unknown function ID NvAPI_QueryInterface 0xb82c1f09: Unknown function ID NvAPI_QueryInterface 0x6a9c55fc: Unknown function ID NvAPI_QueryInterface 0xc5ad6e48: Unknown function ID NvAPI_QueryInterface 0x6f83fb5b: Unknown function ID NvAPI_QueryInterface 0x1d5b485b: Unknown function ID NvAPI_QueryInterface 0xe44bd59d: Unknown function ID NvAPI_QueryInterface 0xc9116276: Unknown function ID NvAPI_QueryInterface 0xd8bf768c: Unknown function ID NvAPI_QueryInterface 0x680649d7: Unknown function ID NvAPI_QueryInterface 0x2d6f7431: Unknown function ID NvAPI_QueryInterface 0x944fc548: Unknown function ID NvAPI_QueryInterface 0xa8064f9: Unknown function ID NvAPI_QueryInterface 0xa0c72ee4: Unknown function ID NvAPI_QueryInterface 0x25eeb2c4: Unknown function ID NvAPI_QueryInterface 0x5786cc6e: Unknown function ID NvAPI_QueryInterface 0x4071b85e: Unknown function ID NvAPI_QueryInterface 0x7a4174f4: Unknown function ID NvAPI_QueryInterface 0x1aad16b4: Unknown function ID NvAPI_QueryInterface 0x568a2292: Unknown function ID NvAPI_QueryInterface NvAPI_Stereo_DeleteConfigurationProfileRegistryKey: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_SetConfigurationProfileValue: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_DeleteConfigurationProfileValue: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_Enable: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_Disable: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_IsEnabled: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_CreateHandleFromIUnknown: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_DestroyHandle: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_Activate: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_Deactivate: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_IsActivated: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_GetSeparation: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_SetSeparation: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_DecreaseSeparation: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_IncreaseSeparation: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_GetConvergence: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_SetConvergence: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_DecreaseConvergence: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_IncreaseConvergence: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_GetFrustumAdjustMode: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_SetFrustumAdjustMode: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_CaptureJpegImage: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_CapturePngImage: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_ReverseStereoBlitControl: Not implemented method NvAPI_QueryInterface NvAPI_Stereo_SetNotificationMessage: Not implemented method NvAPI_QueryInterface 0x6e1042b0: Unknown function ID NvAPI_QueryInterface NvAPI_VIO_GetCapabilities: Not implemented method NvAPI_QueryInterface NvAPI_VIO_Open: Not implemented method NvAPI_QueryInterface NvAPI_VIO_Close: Not implemented method NvAPI_QueryInterface NvAPI_VIO_Status: Not implemented method NvAPI_QueryInterface NvAPI_VIO_SyncFormatDetect: Not implemented method NvAPI_QueryInterface NvAPI_VIO_GetConfig: Not implemented method NvAPI_QueryInterface NvAPI_VIO_SetConfig: Not implemented method NvAPI_QueryInterface NvAPI_VIO_SetCSC: Not implemented method NvAPI_QueryInterface NvAPI_VIO_GetCSC: Not implemented method NvAPI_QueryInterface NvAPI_VIO_SetGamma: Not implemented method NvAPI_QueryInterface NvAPI_VIO_GetGamma: Not implemented method NvAPI_QueryInterface NvAPI_VIO_SetSyncDelay: Not implemented method NvAPI_QueryInterface NvAPI_VIO_GetSyncDelay: Not implemented method NvAPI_QueryInterface NvAPI_VIO_IsRunning: Not implemented method NvAPI_QueryInterface NvAPI_VIO_Start: Not implemented method NvAPI_QueryInterface NvAPI_VIO_Stop: Not implemented method NvAPI_QueryInterface NvAPI_VIO_IsFrameLockModeCompatible: Not implemented method NvAPI_QueryInterface NvAPI_VIO_EnumDevices: Not implemented method NvAPI_QueryInterface NvAPI_VIO_QueryTopology: Not implemented method NvAPI_QueryInterface 0xdceceee1: Unknown function ID NvAPI_QueryInterface 0xfa5223f2: Unknown function ID NvAPI_QueryInterface NvAPI_VIO_EnumSignalFormats: Not implemented method NvAPI_QueryInterface NvAPI_VIO_EnumDataFormats: Not implemented method NvAPI_QueryInterface NvAPI_GPU_GetTachReading: Not implemented method NvAPI_QueryInterface 0xffbc1c18: Unknown function ID NvAPI_QueryInterface 0xfe9d3cd0: Unknown function ID NvAPI_QueryInterface 0xb5a3e03a: Unknown function ID NvAPI_QueryInterface 0x7ecc6268: Unknown function ID NvAPI_QueryInterface 0xa89a2e6: Unknown function ID NvAPI_QueryInterface 0x4b536fb5: Unknown function ID NvAPI_QueryInterface 0xb15d7295: Unknown function ID NvAPI_QueryInterface 0xb0095121: Unknown function ID NvAPI_QueryInterface 0x2d68b5c0: Unknown function ID NvAPI_QueryInterface 0x3806baaa: Unknown function ID NvAPI_QueryInterface 0x8e875cf9: Unknown function ID NvAPI_QueryInterface 0xc729203c: Unknown function ID NvAPI_QueryInterface 0xd26b8a58: Unknown function ID NvAPI_QueryInterface 0xd3a092b1: Unknown function ID NvAPI_QueryInterface 0xfd871348: Unknown function ID NvAPI_QueryInterface 0x8061a4b1: Unknown function ID NvAPI_QueryInterface 0xc9175e8d: Unknown function ID NvAPI_QueryInterface 0xb85de27c: Unknown function ID NvAPI_QueryInterface 0xe507deda: Unknown function ID NvAPI_QueryInterface 0xe7bed620: Unknown function ID NvAPI_QueryInterface 0xa109a44b: Unknown function ID NvAPI_QueryInterface 0x66583afe: Unknown function ID NvAPI_QueryInterface 0x88330469: Unknown function ID NvAPI_QueryInterface 0xafc95163: Unknown function ID NvAPI_QueryInterface 0xfaaad4fa: Unknown function ID NvAPI_QueryInterface 0xd45cdf8b: Unknown function ID NvAPI_QueryInterface 0x93373c0f: Unknown function ID NvAPI_QueryInterface NvAPI_SYS_GetDisplayIdFromGpuAndOutputId: Not implemented method NvAPI_QueryInterface NvAPI_SYS_GetGpuAndOutputIdFromDisplayId: Not implemented method NvAPI_QueryInterface 0x6564435d: Unknown function ID NvAPI_GetDisplayDriverVersion: OK DXVK-NVAPI v0.2 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 NvAPI Device: GeForce GTX TITAN X (450.66.0) NvAPI Output: \\.\DISPLAY1 NvAPI_Initialize: OK NvAPI_GetDisplayDriverVersion: OK DXVK-NVAPI v0.2 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 NvAPI Device: GeForce GTX TITAN X (450.66.0) NvAPI Output: \\.\DISPLAY1 NvAPI_Initialize: OK NvAPI_GetDisplayDriverVersion: OK NvAPI_QueryInterface NvAPI_DISP_GetGDIPrimaryDisplayId: Not implemented method info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0 info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0 info: Device properties: info: Device name: : GeForce GTX TITAN X info: Driver version : 450.66.0 info: Enabled device extensions: info: VK_EXT_custom_border_color info: VK_EXT_depth_clip_enable info: VK_EXT_host_query_reset info: VK_EXT_shader_demote_to_helper_invocation info: VK_EXT_shader_viewport_index_layer info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_create_renderpass2 info: VK_KHR_depth_stencil_resolve info: VK_KHR_draw_indirect_count info: VK_KHR_driver_properties info: VK_KHR_image_format_list info: VK_KHR_sampler_mirror_clamp_to_edge info: VK_KHR_swapchain info: Device features: info: robustBufferAccess : 1 info: fullDrawIndexUint32 : 1 info: imageCubeArray : 1 info: independentBlend : 1 info: geometryShader : 1 info: tessellationShader : 1 info: sampleRateShading : 1 info: dualSrcBlend : 1 info: logicOp : 1 info: multiDrawIndirect : 1 info: drawIndirectFirstInstance : 1 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 info: multiViewport : 1 info: samplerAnisotropy : 1 info: textureCompressionBC : 1 info: occlusionQueryPrecise : 1 info: pipelineStatisticsQuery : 1 info: vertexPipelineStoresAndAtomics : 0 info: fragmentStoresAndAtomics : 1 info: shaderImageGatherExtended : 1 info: shaderStorageImageExtendedFormats : 1 info: shaderStorageImageReadWithoutFormat : 1 info: shaderStorageImageWriteWithoutFormat : 1 info: shaderClipDistance : 1 info: shaderCullDistance : 1 info: shaderFloat64 : 1 info: shaderInt64 : 1 info: variableMultisampleRate : 1 info: VK_EXT_conditional_rendering info: conditionalRendering : 1 info: VK_EXT_4444_formats info: formatA4R4G4B4 : 0 info: formatA4B4G4R4 : 0 info: VK_EXT_custom_border_color info: customBorderColors : 1 info: customBorderColorWithoutFormat : 1 info: VK_EXT_depth_clip_enable info: depthClipEnable : 1 info: VK_EXT_extended_dynamic_state info: extendedDynamicState : 0 info: VK_EXT_host_query_reset info: hostQueryReset : 1 info: VK_EXT_memory_priority info: memoryPriority : 0 info: VK_EXT_robustness2 info: robustBufferAccess2 : 0 info: robustImageAccess2 : 0 info: nullDescriptor : 0 info: VK_EXT_shader_demote_to_helper_invocation info: shaderDemoteToHelperInvocation : 1 info: VK_EXT_transform_feedback info: transformFeedback : 1 info: geometryStreams : 1 info: VK_EXT_vertex_attribute_divisor info: vertexAttributeInstanceRateDivisor : 1 info: vertexAttributeInstanceRateZeroDivisor : 1 info: Queue families: info: Graphics : 0 info: Transfer : 1 info: DXVK: Read 16326 valid state cache entries info: DXVK: Using 5 compiler threads NvAPI_D3D11_IsNvShaderExtnOpCodeSupported 7: OK NvAPI_D3D11_IsNvShaderExtnOpCodeSupported 12: OK NvAPI_QueryInterface 0x5526cfd1: Unknown function ID NvAPI_D3D_GetCurrentSLIState: OK NvAPI_D3D_GetCurrentSLIState: OK NvAPI_QueryInterface NvAPI_D3D11_SetNvShaderExtnSlot: Not implemented method warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11DXGIDevice::QueryInterface: Unknown interface query warn: 88399375-734f-4892-a95f-70dd42ce7cdd warn: winevulkan detected, disabling exclusive fullscreen support info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR info: Buffer size: 2560x1600 info: Image count: 2 info: Exclusive FS: 1 info: Setting display mode: 2560x1600@60 warn: DXGI: MakeWindowAssociation: Ignoring flags warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_FIFO_KHR info: Buffer size: 2560x1600 info: Image count: 3 info: Exclusive FS: 1 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c warn: D3D11Buffer::QueryInterface: Unknown interface query warn: 6f15aaf2-d208-4e89-9ab4-489535d34f9c info: Game: BatmanAK.exe info: DXVK: v1.7.1-2-g743f309 info: Found config file: dxvk.conf info: Effective configuration: info: dxgi.nvapiHack = False info: Built-in extension providers: info: Win32 WSI info: OpenVR warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX TITAN X: info: Driver: 450.66.0 info: Vulkan: 1.2.133 info: Memory Heap[0]: info: Size: 12288 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 24048 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 info: Restoring display mode: 2560x1600@60 info: Setting display mode: 2560x1600@60 Game is considered exited. Initial process has exited. All monitored processes have exited. Exit with returncode 0 ```

Also i've tried to enable manually set those options and restrict file to read only to force it: drive_c/users/x133/My Documents/WB Games/Batman Arkham Knight/GFXSettings.BatmanArkhamKnight.xml

<OPTION Name="Interactive_Smoke" Registered="True" Type="Bool" Value="true" />
<OPTION Name="Interactive_Paper_Debris" Registered="True" Type="Bool" Value="true" />

That lead to: image

lutris-wrapper: Batman Arkham knight
Running /home/x133/.PlayOnLinux/wine/linux-amd64/5.11-staging/bin/wine /home/x133/.PlayOnLinux/wineprefix/Batman_Arkham_knight/drive_c/Games/Batman Arkham knight/Binaries/Win64/BatmanAK.exe -nologo
Initial process has started with pid 348322
Game is considered started.
info:  Game: BatmanAK.exe
info:  DXVK: v1.7.1-2-g743f309
info:  Found config file: dxvk.conf
info:  Effective configuration:
info:    dxgi.nvapiHack = False
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  GeForce GTX TITAN X:
info:    Driver: 450.66.0
info:    Vulkan: 1.2.133
info:    Memory Heap[0]: 
info:      Size: 12288 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 24048 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
wine: Unhandled page fault on read access to 0000000000000000 at address 00000001408B4BAA (thread 00bc), starting debugger...
Game is considered exited.
All monitored processes have exited.
Never found the initial process' return code. Weird?
Exit with returncode 0
jp7677 commented 4 years ago

So there is no viable way to use / force Interactive fog / Paper debris for this game on Linux?  That's interesting, i thought nvcuda already working, ...

I'm not that familiar with the details, but from my understanding, Cuda/Physx from wine-staging does not contain implementations for Cuda/D3D11 interop which AK would need. Though other methods, e.g. needed for tech-demos like Fluidmark are implemented. So no, currently there is no way to to use these Gameworks features on Linux. From my understanding it is not that simple to add the missing bits and pieces.

Regarding the logs, I'm using the Steam version with latest released Proton, there is much less usage of NVAPI. I wonder what happens with all that information that your version wants to query from your system ;). I don't see the crash on my Steam version on exit either. Anyway, I remember AK crashing when using detective mode i.c.w. nvapi-hack off. I'm not sure what the current state of that issue is, but I'm sure that dxvk-nvapi won't affect/solve that. I would recommend to stay with the defaults (spoofing AMD) for this game since it does not uses any of the DXVK extensions that are forwarded by dxvk-nvapi.

PS: Feel free to shorten the logs to not spam this issue tracker to much.

keybreak commented 4 years ago

Regarding the logs, I'm using the Steam version with latest released Proton, there is much less usage of NVAPI. I wonder what happens with all that information that your version wants to query from your system ;).

Yep, i'd also like to know...I only know that EPIC version is most modern / updated version of that game for today, so they must have updated some in-game nvidia libs hence changes!

Anyway, I remember AK crashing when using detective mode i.c.w. nvapi-hack off. I'm not sure what the current state of that issue is, but I'm sure that dxvk-nvapi won't affect that.

Yep, confirmed it crashes

PS: Feel free to shorten the logs to not spam this issue tracker to much.

Sorry, i though that GitHub should auto-truncate them when using code tag

pchome commented 3 years ago

My N's nvapi re-implementation is built into DXVK, it contains only minimum to function and only DXVK d3d11 interfaces are in use (for e.g. SetDepthBoundsTest). If @doitsujin will consider to include such thing in DXVK, I could polish and PR changes. It could be alternative to current nvapi hack.

Well, the real minimum is to implement just nvapi_QueryInterface rejecting every request, but no reason to include such stub into DXVK, the point is to have some benefit from what DXVK interfaces can offer.

SveSop commented 3 years ago

@pchome

Well, the real minimum is to implement just nvapi_QueryInterface rejecting every request, but no reason to include such stub into DXVK, the point is to have some benefit from what DXVK interfaces can offer.

The "problem" here could be that once it is there, it will be used, and if used, the information provided should be useful. There seems to be a lot of different implementations of the usage from various games/apps, so it kinda leaves the whole ordeal somewhat of a can-o-worms in that regard. I mean - it is highly probable that if a game uses nvapi.dll once you have a nVidia card, it could "break" in unknown ways if the information provided by it is bogus...

Two other things i would venture to implement in the basic minimal approach is:

  1. Basic memory gathering (NvAPI_GPU_GetMemoryInfo), as there is a few cases where that could be useful. Just stubbing with a NVAPI_OK or similar might make games assume a default fallback of minimum mem perhaps?
  2. Driver version (NvAPI_SYS_GetDriverAndBranchVersion and NvAPI_GetDisplayDriverVersion). I have seen examples of this being used for driver checks. World of Warcraft used to fail with a driver version error a few expansions back (since been completely removed as it now detects if you use "wine") as the default wine-staging nvapi "version" just reported 337.88 as the driverversion, which is completely outdated by most newer games, and i have seen mentions of this from other games aswell (Batman games perhaps?).

Having this as a opt-in kind of thing in the install script could be useful where it would provide some benefit. setup_dxvk.sh install --with-nvapi or something?

pchome commented 3 years ago

@SveSop

The "problem" here could be that once it is there, it will be used, and if used, the information provided should be useful. ...

No information provided. It is literally functions group and NvAPI_D3D11_SetDepthBoundsTest.

NvAPI docs are clear in part which say "you should call nvapi_QueryInterface before using any NvAPI functions". So if we don't report any mem-info and version functions, then app should use different method to obtain such information. Sure there are apps/games which will check only nvapi.dll presence, and then trying to use random functions w/o even check return value of nvapi_QueryInterface. Anyway nvapi-hack works (except maybe for plain Wine w/o DXVK dxgi.dll), enabled by default.

Having this as a opt-in kind of thing in the install script could be useful where it would provide some benefit. setup_dxvk.sh install --with-nvapi or something?

Yes, disabled by default.

SveSop commented 3 years ago

@pchome There are a lot of weird/faulty implementations of this usage i think. Games "should" have a good way of doing it correctly - with a fallback incase correct info is not provided, but that does not mean they actually do... Then again, worst case scenario is just to use the DXVK nvapihack anyway :) Wine dxgi does not have a easy to use "fake hardware id", so it would probably mean a recompile in that case. (Who play "recent" games with wined3d these days?) EDIT: Other than d3d12 games using vkd3d tho... I can see games utilizing NvAPI to get certain raytracing functions perhaps?

It would probably be somewhat similar to the AMDAgs (dxvk-ags) thing? Slightly differently implemented by games i think, in that it is games that ship amd_ags_x64.dll, and not AMD drivers? Haven't really looked into it tbh..

Kein commented 3 years ago

@SveSop

PS. To make sure the game/app does what it can to use nvapi, you should put this in the dxvk.conf file:

Do you know where this config should be for DXk on Windows?

SveSop commented 3 years ago

@SveSop

PS. To make sure the game/app does what it can to use nvapi, you should put this in the dxvk.conf file:

Do you know where this config should be for DXk on Windows?

Put the dxvk.conf file in the same folder you put the dxvk d3d11.dll file(s) (and where the .exe file is) when using windows.

Kein commented 3 years ago

Yeah, I've already figured it out.