* This is a very big blunt hammer for fixing the problem of multithreaded
submission from GL. Every GL call checks to see if the context changed (which
would only happen from a thread switch to a different context) and if detected
it inserts a manual MakeCurrent call equivalent.
* It's slow to capture (when this happens - checking is not particularly slow)
and slow to replay, but it's functional which is an improvement.
Renderdoc seems to somewhat require time units to be in float to be
able to present prettyfied results (ms/us/ns).
We were assuming that but a couple of errors slipped in :
* we were asserting that KHR time units are floats
* we didn't describe the renderdoc units as double (even though we
forced the conversion later on)
This is an alternative to
https://github.com/baldurk/renderdoc/pull/1768 suggested by baldurk.
I found that for some reason when cross compiling, the qrenderdoc
CMakeLists.txt was failing to see the include-bin executable that
renderdoc should have built.
Apparently the .py.c files were no longer required for qrenderdoc, so
removing it also fixed the issue I was seeing.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* The SPIR-V spec doesn't state what will happen, only that it's undefined. For
the sake of something sensible (and because it has a good chance of matching
at least some hardware) we use D3D's behaviour and set the value to 0xFFFFFFFF
- Add config to enable pixel history
- Fix several validation errors
- Fix primitive ID reporting when depth test is OFF
- Patch primitive ID and fixed color shader to output to the correct
framebuffer location when there are multiple color attachments
* On some GPUs (ARM Mali in particular it seems) when postponed resources are
prepared then immediately serialised the readback doesn't get the correct
data.
Renderdoc doesn't support TiledResource, as WrappedID3D12Device::CreateReservedResource returns E_NOINTERFACE. This commit reflects the lack of support in WrappedID3D12Device::CheckFeatureSupport.
This allows the application to behave as if the gpu doesn't support
tiled resources.