Summary: | [DXVK] The Witness - transparent objects are not drawn correctly | ||
---|---|---|---|
Product: | Mesa | Reporter: | roever |
Component: | Drivers/Vulkan/intel | Assignee: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Status: | RESOLVED NOTOURBUG | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | danylo.piliaiev, fdsfgs, jason |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | denys_attachment1 |
Description
roever
2018-11-13 14:00:51 UTC
hi, could you please clarify this:
>Some puzzles in The Witness
is it possible to provide saves for this game? Or at least to point exactly to the level with an issue?
if you start the game the first time you will see the issue is the gate that leads out of the entry area. This gate is invisible in the current release 18.2.4, and you can't look through the holes of the gate in the current trunk. Next possible good place that is easy to reach from a freshly started game is the so called "glass factory" and "symmetry island" Have a look at this video https://www.youtube.com/watch?v=Mj3nCfB64AI at 2:50 he is standing in front of the gate at 12:49 he is standing in front of the door that is shown in the github issue. aha. Got you. Now I am investigating the game, it works quite slow. I found this location => https://camo.githubusercontent.com/9a8229aebe2cbd56478866c8382d7214ccd35f0d/68747470733a2f2f707265766965772e6962622e636f2f69633145574c2f6478766b2e706e67 Also so gates. Thanks for information. Will check cool, tell me when you got something for me to check, and I will quickly run through all the places where I observed problems Created attachment 142464 [details]
denys_attachment1
Hi, I am afraid I can't reproduce it on my PC. I built vulkan x32 from source 18.2.4, and for me on mentioned places I saw all objects. Check attached screenshot please
Also interesting thing, I can't launch the game from steam. I am launching it from cmd -> wine '/home/den/.steam/steam/steamapps/common/The Witness/witness_d3d11.exe'
in that case what may be the difference? here is my cpuinfo: cpu family : 6 model : 94 model name : Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz stepping : 3 microcode : 0x39 cpu MHz : 2949.777 cache size : 6144 KB maybe it depends on the concrete GPU? that's a good question. But according to the original topic on github - user had HD620 graphic card, same with my. But, hmm, you have " Intel® HD Graphics 530 " - it is SKL gen. Ok, thanks for additional information. I will try to check on SKL cpu (I have 520 gpu), also will build 18.2.1 from release package (same with topic starter mesa-version) and check on it. As I understood, I made correct screenshots with corruptions in your case? If so, that's great. At least I know - on what to look into. yes, the screenshots are definitively both at the right place. I seem to be unable to start the witness in wine. Neither the 32 nor the 64 bit version will start... most probably because the dxvk library is only part of steam?!? (I don't know) If you need any more information just ask, I will try to answer. I could also show you how the gate looks for me in trunk and version 18.2.4... if that would be helpful hm, are you sure that using openGL this issue doesn't available? I failed to launch the game using steam and on SKL pc too, so I decided to run directly via wine again. 1. I didn't install dxvk, so assume, that my first tries were made via open GL. Result: I don't see pazzle on first screenshot (gate). Wine was taken from repo (3.0, too low for dxvk compatibility). 2. Then I installed dxvk and more resent wine (3.20). Launched game and also didn't see gate. I tried to make a renderdoc file, but wine crashes, so I am rebuilding 3.19. It should be more stable. Short summ up: issue was reproduced on openGL and vulkan on SKL gen (GT520) Both tests were made on 18.1.9 (openGL) and 18.3.0 vulkan (from 28.10 git). Continue my investigations. Anyway it looks like a platform dependent issue, because on KBL it was ok for me Sorry, I can't answer that question. I am a bit out of my realm of knowledge here but from the processtree python3 [...]/Steam/SteamApps/common/Proton 3.7/proton waitforexitandrun [...]/Steam/SteamApps/common/The Witness/witness_d3d11.exe I can at least take that proton is used and not wine. I also tried so set PROTON_USE_WINED3D to disable the vulkan output... output seemed a bit more sluggish but I am not really certain if I was successful. The content on the display was unchanged by my efforts, it always looked the same The culprit is incorrect usage of dual source blending. commit 00fc56a68d21d7aa91b95f0eaacba59a96c466f5 (HEAD -> master) Author: Danylo Piliaiev <danylo.piliaiev@gmail.com> Date: Fri Jul 20 12:54:42 2018 +0300 anv: Disable dual source blending when shader doesn't support it on gen8+ Dual source blending behaviour is undefined when shader doesn't have second color output. "If SRC1 is included in a src/dst blend factor and a DualSource RT Write message is not used, results are UNDEFINED. (This reflects the same restriction in DX APIs, where undefined results are produced if “o1” is not written by a PS – there are no default values defined)." Dismissing fragment in such situation leads to a hang on gen8+ if depth test in enabled. Since blending cannot be gracefully fixed in such case and the result is undefined - blending is simply disabled. v2 (Jason Ekstrand): - Apply the workaround to each individual entry - Emit a warning through debug_report Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> After this commit blending is disabled when rendering with incorrect dual source blending setup. I can see the error in logs and relevant draw call in RenderDoc. (Also the same commit exists for OpenGL) The verdict - not a mesa's bug, most likely it's a game's bug. When I made that commit I though I was fixing some esoteric issue and now it's a second game in a month which exhibits it. I wondered about that... There's a subtle difference between how dual-src blending is done in OpenGL/Vulan vs. D3D. It's bitten us before with various game ports on the OpenGL side. I've explained on the DXVK bug; should be a simple DXVK fix. the mentioned dxvk patch seems to fix all issues. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.