mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.62k stars 2.92k forks source link

D3D11 backend incompatible with latest shaderc and glslang #5760

Closed mxalbert1996 closed 6 years ago

mxalbert1996 commented 6 years ago

mpv version and platform

mpv 0.28.0-487-g65f0825 on Windows 10 1803 (17134.1)

Reproduction steps

Build mpv with latest shaderc and glslang and play a video using d3d11 backend.

Expected behavior

Mpv plays the video normally.

Actual behavior

Mpv shows a blue picture and only audio is normally outputted. error X4555: cannot use casts on l-values appears in the log. I suppose it's related to glslang change. The last good build I tried was https://github.com/google/shaderc/commit/71b0f0052125d3f9847b29c347ed9221e8df9ac3

Log file

https://0x0.st/sQZF.log

dnmTX commented 6 years ago

@mxalbert1996 i'm pretty sure that by now everyone is aware of that problem.Even @shinchiro didn't update the shaderc in his latest builds.We just have to wait for a fix.

mxalbert1996 commented 6 years ago

OK. I was always building mpv myself so sorry for my late awareness.

rld243 commented 6 years ago

@dnmTX No, that problem you're probably referring is already fixed, see: https://github.com/KhronosGroup/SPIRV-Tools/issues/1487

shinchiro actually uses the latest shaderc in his latest build since it was built after https://github.com/shinchiro/mpv-winbuild-cmake/commit/e3e684a9109da917290c6d1a5cc467c3a6c45742

This time the issue is that crossc uses outdated SPIRV-Cross as submodule. It doesn't affect shinchiro's build because he always pulls the latest commit of SPIRV-Cross with git submodule update --remote --recursive

I've also ran into the same problem as OP described and I was compiling mpv using media autobuild suite. Replacing git submodule update --init with git submodule update --init --remote --recursive in suite's script fixed it.

So @rossy needs to update SPIRV-Cross in his crossc repo.

dnmTX commented 6 years ago

@rld243 i thought the shaderc issue was still present. Apologize for any inconvenience.

rossy commented 6 years ago

@rld243 You're right. I pushed a new version of crossc that points to SPIRV-Cross git master, so it should work out-of-the-box now.

mxalbert1996 commented 6 years ago

The latest crossc fixed the problem. Thanks!