misyltoad/d9vk

Halo CE → Wack specular

Closed this issue · 20 comments

Trace 1: Shield effect:
d3d9: https://www.youtube.com/watch?v=etIv_EfdWKc
d9vk: https://www.youtube.com/watch?v=-wEsYBllnTw

Trace 2: Headlights, red decal, shadows:
d3d9: https://i.imgur.com/6s12rxI.png
d9vk: https://i.imgur.com/HcO1Tof.png

Software information

Halo Custom Edition, Max graphical settings, version 1.10.

System information

  • GPU: GTX 1060 3GB
  • Driver: 435.21
  • Wine version: Lutris 4.12
  • D9VK version: 2a384de

Apitrace file(s)

NOTE: These traces are black at IDirect3DDevice9::Present. But at IDirect3DDevice9::EndScene they have the screen in PS_RESOURCE_LEVEL_0.
Trace 1 should have a good frame to check out the effect at 183.
Trace 2 should be good somewhere around the middle.
Both are kept small by the fact that I used the game's scripting to set up scenes that show the shaders right at game start.

Log files

Given the fact that I own this game, can you tell me what map it is?

Ah, well everything in trace 2 should be visible in Bloodgulch near red base if you are in a hog.
The first trace I could compile a map that just spawns you in front of a dude with a shield that perpetually has this effect going on it.
If you need the dynamic light problem to be really visible then load of Damnation and fire the plasma pistol.

Here is a multiplayer map that spawns you right in front of an elite biped that has its shields set up to constantly be flaring.
https://drive.google.com/open?id=12A0ZVtRHfhc1_7BgrKTP05YCmAfAiJUc (Custom Edition only)

I can set up more test maps like these if needed, I've done it before for other projects, like when modders added interpolation between ticks.

Edited my comments a little to make stuff more clear.

Improvement: It seems that the decal issue is fixed now.
Screenshot_20191108_085034

Can this be re-tested? I made some changes that should hopefully fix this issue (can't test on the trace for obvious reasons)

I just tested with aa8d497. I'm using an RX 580.

The following are still broken:

  • Shield effect
  • No Warthog shadow
  • Overbright dynamic lights

Here are some screenshots I took earlier with D9VK 0.22 (I'm currently having trouble producing fullscreen screenshots for some reason). The above issues appear identical to current build.
D9VK 0 22-3
D9VK 0 22-5

You may also note that the game is rendering incorrectly--it has the appearance of overscan, but the scaling is distorted. This is still occurring with the latest master build, with RX 580.

No such over-scan issues on my setup.

Sadly no improvements since the last time I reported. It's pretty much in the same state as at the start of this thread except for the decals on the bases showing up now.

Tested with build from commit aa8d497

Christmas present!
🎄 🦊 🎁
A working trace! https://drive.google.com/open?id=13Ia-2hXTrUtGSZ5AtBVTRb3CN53kikyM
It will look a bit different than the usual game because it is in a different rendering mode that doesn't make use of render targets. But this bug exists in both render modes and makes one of the maps really hard to play has it causes constant flicker/super bright in active multiplayer matches.
2019-12-18-19-26-39-526-qapitrace
Left native, right d9vk

Call 928428 is what renders the big white blobs for one of the frames. I notice that an effect that is rendered before this one is also over-saturated. If you don't mind speculation I suspect that some color values aren't being clamped entirely properly. Or some kind of depth bias issue.
Screenshot_20191219_091528
Screenshot_20191219_091537

Looks like dodgy specular to me

This is awesome I just compiled doitsujin/dxvk commit 90ce37c.

The specular, the shadows, headlights, decals are all fixed. And it even performs amazingly now!

I will get you a trace of the shield effect next time I'm on Windows. That is, if it renders in that specific rendering mode.

🦊 I can play my favorite game on Linux now.

Weird. But very happy for you. I have no idea what fixed that myself haha.

Lmk when you get some shield stuff and I'll look into it

https://drive.google.com/open?id=1AC0ZOHh4DA3eCzYzUZG3bwbigOpm11Gb
Tested, shows the shield effect at full force. It's not super important. But I'm giving it so you can make D9VK as accurate as possible.
shield

inb4 the reason those other bugs are fixed is because I built my own version. I'll report on that possibility the next time there is an official release for DXVK.

Congrats on getting D9VK merged into DXVK btw.

Given that I won't be able to take a look today most likely, can you provide a comparison between native and D3D9 so I know what I am looking for when I do investigate?

Cheers.

Native:
shield
D9VK:
haloce 12 trace_frame_185-1_1
Basically only half of the effect renders.

I built it wrong.

Thanks that trace is great and straight to the point

With this commit doitsujin/dxvk@3ff9c4c
Only this issue remains:
#427 (comment)

With commit doitsujin/dxvk@d39ff90
The last problem in this issue has been fixed.