Closed baldurk closed 10 years ago
I'm having this problem and am starting to look into it.
RenderTargets that are rendered without teture inputs are fine (such as depth buffers, and a render target that contains a sobel filter processing of the depth buffer for edge detection).
Any 'normal' textures or render targets sourced from these textures all come out damaged. When I save them with RenderDoc to DDS format, all the bytes in the pixel data sections of the dds file are 0.
These textures are in a variety of formats but are primarily BC7_UNORM and R8_UNORM for static textures, and FP16 for our scene render targets.
Is there anything in the logfile that indicates an error? you can view it from help -> view diagnostic logfile.
It sounds like the data is missing from the capture itself, if the render targets sourced from the textures are also similarly corrupted. The original crash report seemed to indicate that the actual window painting was going wrong. How are the textures uploaded to D3D? ie. via staging textures, UpdateSubresource, Map, etc? It's also possible the detection of whether the texture contents are needed is going wrong - try enabling "Save all initials" and see if that makes any difference.
It turns out the very first capture is working fine. The captures beyond the first one are the ones that have black textures. In my case I forgot to enable detailed event markers on the first capture, so turned them on while the game engine was still running and captured it a second time. On the plus side I was easly able to see what was wrong with my code even without any textures :)
I did try Save All Initials setting, and it had no effect for this.
That raises even more questions in my mind - why only the subsequent captures, did enabling markers cause it, etc :).
If you don't mind, could you email me at renderdoc@crytek.com to diagnose what's going wrong further?
Closing this for now as I can't investigate without more information, it can be reopened if the bug resurfaces with v0.21.
I've had a report where the windows and displays in the UI paint black instead of showing the texture, rendertarget etc. When moving or resizing a single frame can come through before black is drawn.
It sounds like some painting problem - I don't clear to black in the .Net layer before drawing over the top with D3D but something is going wrong.
Unfortunately I don't have enough information to fix this or investigate further - if this is happening to you please get in touch!