* We can't feasibly support calling wglShareLists after wglMakeCurrent because
we must do work and create objects in wglMakeCurrent. If this situation
happens we pretend that wglShareLists failed and print an error.
On Apple only set CMAKE_LIBRARY_OUTPUT_DIRECTORY to be “lib” folder instead of “bin” folder
Fixes osx problem when launching renderdoccmd not being able to find librenderdoc.dylib
RPATH is set to be "@executable_path/../lib" which matches where qrenderdoc.app copies the renderdoc library to
qrenderdoc: set library search folder “-L” to be CMAKE_LIBRARY_OUTPUT_DIRECTORY instead of CMAKE_RUNTIME_OUTPUT_DIRECTORY
Fixes a crash in the driver on RADV when compiling the PostVS shader
for a shader that has these opcodes. The incorrect section boundaries
was causing BuiltIn decorations to not be stripped.
The SPIR-V spec requires OpName comes before any OpModuleProcessed.
Fixes a SPIR-V validation error on the generated PostVS shader if the
original shader has any OpModuleProcessed.
Copied from linux implementation using iconv API
Added if guard before calling iconv_close() to fix
> ./build/bin/renderdoccmd test
renderdoccmd(77013,0x11660e5c0) malloc: *** error for object 0xffffffffffffffff: pointer being freed was not allocated
renderdoccmd(77013,0x11660e5c0) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6
On Linux, the proc file (/proc/<pid>/net/tcp) contains not only the ports for the given process, as this is the same as the /proc/net/tcp file.
We can obtain the right port by the inode number which is also in the proc file and with the file descriptor of the process (/proc/<pid>/fd).
If conditional rendering is enabled its state is always
displayed in both 'Rasterizer' and 'CS' states.
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
* If we have e.g. Input Float* and Output Float* when we patch they will both
become Private Float* and we collapse the types together. When that happens,
don't rename names for the losing type, just remove names.
* This was an experiment that accidentally got included, these shaders are only
compatible with SM5 due to dynamic sample indexing and use of SV_SampleIndex
* This isn't relevant for Vulkan, but in GL it's valid to not specify a binding
and fetch it at runtime (and even if a binding is specified, it's not
immutable and can be changed).
* Similarly GL allows bare uniforms that aren't in a buffer, which we handle in
the same way by wrapping them into a $Globals UBO.
* It gets a couple of things less than ideal, mostly glsl block names being on
the next line, but otherwise it's readable and stops mixed tabs/spaces which
had snuck in without checks.