[2.1] Missing Vertex Shader output with Intel Graphics 3000 and D3D11

Discussion area about developing with Ogre-Next (2.1, 2.2 and beyond)


Post Reply
floofykh
Gnoblar
Posts: 3
Joined: Wed May 15, 2019 11:41 am

[2.1] Missing Vertex Shader output with Intel Graphics 3000 and D3D11

Post by floofykh »

Hello,

I've been investigating an issue we've been experiencing with machines that use Intel Graphics 3000 GPUs with Direct3D11. The issue manifests itself as certain meshes randomly being rotated incorrectly and/or flickering. Can see below screenshots of different frames when meshes are visible and not, respectively. These were taken when running the StaticShadowMaps example in the latest 2.1 branch. I get similar behaviour in the Forward3D, InstantRadiosity, ShadowMapDebugging, and ShadowMapFromCode samples.

Image

Image

I've been using Visual Studio's Graphics Debugging Tools to try and find the cause. I tried RenderDoc initially, but it requires D3D Feature Level 11, and this machine only has 10. This causes it to default to using WARP, which works perfectly fine, and I didn't want it to interfere with the results. I'm not sure I trust VS's results either tbh, but I'll explain what I've found with it so far.

When I capture frames with VS, it will always, always, capture the frame as if the objects that are flickering are not visible. Capturing sequential frames doesn't help either. The objects will become invisible until VS has finished capturing its frames.

Once I've found a draw call for one of the missing objects and check the Pipeline Stages info, I notice a few oddities. The Input Assembler stage seems fine, it shows the mesh, in this case a cube. The Vertex Shader stage seems like it's run, but the visual output is just blank. Checking the numbers for the Vertex Shader, the inputs seem reasonable, and stepping through the shader produces reasonable output. However, the output that VS displays for the shader does not match what I saw when stepping through the shader. Each vertex seems to have the same output. As can be seen below. The pixel shader was not run at all, according to VS.

Image

Image

I've tried changing the cull mode to none, and disabling depth testing, but it didn't make a difference.

Is the Intel Graphics 3000 GPU supported by 2.1?

Thanks
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5299
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1279
Contact:

Re: [2.1] Missing Vertex Shader output with Intel Graphics 3000 and D3D11

Post by dark_sylinc »

Could you test an older version like b15bd8bdc82a9cbf596422e21184fbea1cdf67c1? Eugene ported several changes from 1.11 and we got reports that at least one of them is causing issues. Perhaps your issue is related to it.

Alternatively try the v2-2-WIP branch which doesn't contain Eugene's changes yet.

Otherwise try updating the Intel GPU drivers. Sometimes these weird issues are caused by old drivers.
floofykh
Gnoblar
Posts: 3
Joined: Wed May 15, 2019 11:41 am

Re: [2.1] Missing Vertex Shader output with Intel Graphics 3000 and D3D11

Post by floofykh »

Thanks.

I tried with the revision you recommended, and with V2-2, and unfortunately got the same behaviour.
Drivers are already the latest too.
Post Reply