* Should fix a reported crash - it looks like an invalid buffer ID was
passed, and there's no protection for this.
* As with other invalid API use, RenderDoc isn't intended to be totally
safe against bad API use. This check is easy to add though and should
catch some simple cases.
* I received a few crash reports with a disposed buffer viewer still
doing work. My theory is that some operation took long enough that the
user was able to close the viewer (perhaps *because* it was taking a
long time) and subsequent work then didn't handle the window having
been closed.
* The last fix to this file wasn't complete - both width and height must
be greater than 0 for the area to be valid to fill.
* Fixes an uploaded crash report.
Disable warnings in qt (warn_off) then remove -w from qt compiler flags
to re-enable previous renderdoc warnings
Use qt standard way to enable c++11 eg CONFIG += c++11
* Since we don't clear out stale descriptors that reference deleted
objects, we have to make sure that ids and records for deleted objects
are always valid (until they're allocated and filled with something
sensible).
* On AMD calling glVertexArrayElementBuffer doesn't update the global
query for GL_ELEMENT_ARRAY_BUFFER_BINDING until the VAO is unbound and
bound again. To avoid that we just always emulate this function.
* Even if the map isn't persistent, we need to redirect it into our
shadow buffer when the user maps it. Note that on unmap we already
have code to unconditionally check for changes and copy.
* In GL various really really stupid options for changing shaders and
recompiling and relinking is possible.
* We don't support the whole giant trash fire, but we can at least
handle re-compiling a shader within the same program (so the original
source isn't used anywhere and can be safely rewritten).
If the app name doesn't have a directory separator search PATH directories to find path of application to launch.
Resolve the app name fully then change the working directory
Implemented OpenGL counters based on ARB_pipeline_statistics extension
and occlusion queries.
Because OpenGL doesn't seem to allow concurrent queries of the same
type occlusion queries in the log are ignored when executing
FetchCounters.
Renamed GPUTimer to GPUQueries because D3D11 GPUTimer structure seems
to be visible and creates conflicts on VS.
Implemented D3D12 counters based on occlusion and pipeline statistics
queries.
Display an error message window when SetStablePower is called and
Win10 is not in developer mode.
- ShaderDebugState now carries a 'flags' that can be updated when the interpreter is run. Currently supported flags are 'sample/load/gather insn' or 'insn generated nan/inf'.
- DXBC interpreter now pushes operation type into results for simple intrinsics. This avoids the situation where temp decls are by default uint-typed, and any arithmetic operation on float or double operands would result in a uint shader variable. Other intrinsics are largely correct because they create temporaries with appropriate typed constructors.
- Provide icons for user interface elements, based on the existing 'run to' icons with modifications by myself.