With the exception of the Effects demo, they should run with 8ebffc1018173903b4bfaf41561fb9bd2b006f74.
Note that there are some graphical artifacts remaining though.
@doitsujin
I found some shaders from another UE4 game called Squad that didn't validate with spirv-val.
CS_056fcc794fcb69bc83f1d4fda577f30274e2299e.spv
error: 1842: MemoryBarrier: Vulkan specification requires Memory Semantics to have one of the following bits set: Acquire, Release, AcquireRelease or SequentiallyConsistent
CS_145564786ca7c2c7d2976020ba54038865859b65.spv
error: 4547: MemoryBarrier: Vulkan specification requires Memory Semantics to have one of the following bits set: Acquire, Release, AcquireRelease or SequentiallyConsistent
CS_7308590e5e5ceb3be763b9a0e72e06a44e67dd3b.spv
error: 2123: MemoryBarrier: Vulkan specification requires Memory Semantics to have one of the following bits set: Acquire, Release, AcquireRelease or SequentiallyConsistent
PS_5a0612814fc8d5d721117409a6c07160d3bb173c.spv
error: 64: Operand 3 of Decorate requires one of these capabilities: Geometry
PS_bcc08154106bc4eb71350660a7ad6f7fa359aea8.spv
error: 48: Operand 3 of Decorate requires one of these capabilities: Geometry
error: 1842: MemoryBarrier: Vulkan specification requires Memory Semantics to have one of the following bits set: Acquire, Release, AcquireRelease or SequentiallyConsistent
I don't get that error (which version of spirv-tools are you running?), but I'll take a look.
error: 48: Operand 3 of Decorate requires one of these capabilities: Geometry
This doesn't even make any sense because the Layer builtin can be used as an input variable to fragment shaders, but the Geometry capability can only be used for geometry shaders. Either the capability requirement is a specification bug, or the documentation of the Geometry capability is wrong.
I am using the latest release that's SPIRV-tools GitHub page.
You can get the memory barrier error by setting --target-env vulkan1.0 argument to spiv-val.
As for the Geometry capabilities thing, According to the specifications for spirv1.0. The Geometry capability doesn't depend on Geometry execution mode. The Geometry execution mode instead depends on the Geometry capability. The only thing Geometry capability needs is the Shader capability and that is actually implicitly included. That's how I understand it.
Refer to page 15 and 64 in spirv-specs
Page 64 says:
Geometry
Uses the Geometry Execution Model
glslang-validator adds the capability as well though, so I should probably to the same thing. But in that case, the part I quoted from the specs is incorrect, or at least poorly worded.
Looks like Squad is getting there, main menu isn't rendering for me correctly on a Nvidia gtx 1080.
Here are logs for the UE4 game Squad
Squad_d3d11.log
Squad_dxgi.log
Here is an apitrace from Squad
Squad.trace
Nothing extracted yet.
Hi see:
just seeing commits and pull requests related to fixing UE4 games I tested:
https://www.techpowerup.com/download/unreal-engine-4-five-tech-demos/
they are interesting because they are five UE4 launch tech demos were compiled just shortly following UE4.0 open source release in March 2014..
all create a window and load a few seconds before closing the window
Software information
System information
Log files
so briefly only "Effects Cave" seems to need tesselation..
the others no and all seem to fail because some other reason:
err: DxbcCompiler: Unhandled PS SV input: DxbcSystemValue::RenderTargetId
Effects_dxgi.log
Effects_d3d11.log
Reflections_d3d11.log
Reflections_dxgi.log
RealisticRendering_d3d11.log
RealisticRendering_dxgi.log
ShooterGame_d3d11.log
ShooterGame_dxgi.log
Mobile_d3d11.log
Mobile_dxgi.log