Add -Wextra and silence all warnings with -Wno-*. Among them, we probably
want to fix
-Wunused-variable
-Wunused-but-set-variable
-Wtype-limits
at some point.
On 32-bit targets, a Vulkan handle has type uint64_t and NULL cannot be
assigned to it.
The size checks for WrappedVk*Res also need to be fixed, considering
sizeof(void*) and struct paddings.
* Suggest users to use VS on Windows
* Add a top-level wrapper Makefile and disallow in-source builds
* Support clang
* Centralize compiler flags
* Remove all occurrences of "if(WIN32)..."
* Make qrenderdoc an external project
* This is clearly blatantly just a hack for this one shader, but I
refuse on principle to write an entire pre-processor just to figure
out where to insert a redeclared block that should not be necessary.
Create a direct renerding context when the shared context is too.
Otherwise, I got this error
X Error of failed request: BadMatch (invalid parameter attributes)
on nVidia.
* argv[0] should always be set up
* log an error when execve fails
* logfile is always NULL and constructing a std::string from NULL throws
* really apply EnvironmentModification
It works this way:
The GameEngine stored the original shader blob on disk.
Than we add the path to that file to the D3D_BLOB_PRIVATE_DATA section of the shader blob.
After that we can strip the Debug information with D3DCOMPILER_STRIP_DEBUG_INFO.
Renderdoc will first check if the shader already has debug information.
If it cannot find the PDB in the shader blob it will try to look for a PrivateDataSection.
If there is a valid file path in the PrivateDataSection it will search for debug information in there.
If it finds valid debug information it will replace the entire shader blob with the one loaded from disk.
* For e.g. the text rendering we only actually use a subset of the
buffer range each time - just enough for the characters we are
rendering. But we need to be careful that the range specified by the
descriptor set (256 float4s) is always valid, so wrap around on that
size and not on the parameter size