summaryrefslogtreecommitdiff
path: root/retrace/retrace.py
AgeCommit message (Collapse)AuthorFilesLines
2016-06-28d3dretrace: Don't presume that COM interface pointers are freed when ↵Jose Fonseca1-1/+2
refcount reaches zero. This is the retrace counterpart of the previous commit. https://github.com/apitrace/apitrace/issues/462
2016-06-20dxgitrace: Use EnumFlags for D3D11_RLDO_FLAGS.Jose Fonseca1-1/+1
2016-05-16d3dretrace: Ensure DXVA2_DecodeExecuteParams::pExtensionData is allocated.Jose Fonseca1-0/+5
The ValueAllocator/ValueDeserializer split needs to be rethought, as it is not a good fit: there are several cases where allocations happen besides the root value.
2016-05-16d3dretrace: Retry when IDirectXVideoDecoder::BeginFrame returns E_PENDING.Jose Fonseca1-4/+11
2016-03-05specs: Handle overloaded methods/functions.Jose Fonseca1-6/+15
2015-07-21dxgiretrace: Bring back the D3D11 pitch mismatch warnings.Jose Fonseca1-1/+3
2015-07-17retrace: Cope with NULL array members.Jose Fonseca1-3/+6
2015-06-10retrace: Ensure we allocate struct members that are pointers to arrays.Jose Fonseca1-1/+17
As opposed to array members. Should fix issue #348.
2015-06-02d3dretrace: Add more diagnosis to DXGI_ERROR_DEVICE_REMOVED.Jose Fonseca1-4/+5
2015-05-20retrace: More detailed warning messages about memory region overlaps.Jose Fonseca1-1/+1
2015-02-09d3dretrace: Adjust reference count when QueryInterface fails.José Fonseca1-1/+17
2015-02-09d3dretrace: Don't try to register objects when calls fail.José Fonseca1-0/+1
Not safe. Probably only worked till now because we zero output parameter memory.
2015-02-09retrace: Cleanup generated code.José Fonseca1-2/+2
Avoid redundant `(void)_result;` lines.
2014-09-24retrace: Fix white-space.José Fonseca1-17/+17
2014-09-24d3dretrace: Fix IUnknown::Release object destruction.José Fonseca1-7/+16
We should unregister objects whenever the ref count reaches zero, either in the trace or replay. Warn in the latter case.
2014-09-05d3dretrace: Check for pitch mismatch.José Fonseca1-0/+19
We should swizzle memcpies when pitches don't match. But until we do, at least warn about the issue.
2014-09-05d3dretrace: Replace casts with templates.José Fonseca1-4/+4
Smaller generated code, same type checking guarantees.
2014-09-05d3dretrace: Move HRESULT message lookup code into its own function.José Fonseca1-2/+1
Instead of duplicating it on every generated function.
2014-08-22d3dretrace: Don't make multiple implementations for every child .José Fonseca1-3/+3
The child interface can not have bearing. Cuts code substantially.
2013-07-11Replace dynamic_cast with virtual functions.Nigel Stewart1-6/+6
apitrace can be built with without RTTI (runtime type information) providing that dynamic_cast isn't used.
2013-06-20glretrace: swizzle locations into uniform arrays.Cass Everitt1-3/+6
Where slot number is inferred. Fixes issue #139. v2: Prevent dereference of end() iterator -- Jose
2013-05-23d3dretrace: Output human legible strings from HRESULT.José Fonseca1-1/+2
2013-04-23d3dretrace: Give more helpful messages for d3d debug layer failures.José Fonseca1-1/+1
2013-02-22d3dretrace: Replay IUnknown::AddRef/Release methods faithfully.José Fonseca1-3/+2
Several D3D APIs (especially recent ones) keep track of reference counts and will ensure errors if reference counting is not properly done. For example, IDXGISwapChain::ResizeBuffers will fail if there are outstanding references to its buffers.
2013-02-15replay: Support applications mixing glCreateProgramObjectARB and glUseProgramCarl Worth1-3/+17
As is known to happen with OpenGL, there are many more than one ways to do the same thing. In this case, one can create a program (glCreateProgram) or a program object (glCreateProgramObjectARB) along with many similar pairs of functions. In fact, a single application might even mix these two approaches, (for example, calling glCreateProgramObjectARB and then calling glUseProgram rather than glUseProgramObjectARB). Historically, glretrace could fail with such mixed usage. The calls into the ObjectARB function would go through _handleARB_map while the other calls would go through _program_map, so after mixed calls the desired object would not be found in the referenced map. Making mixed usage work requires merging both _program_map and _shader_map together with _handleARB map. This is correct for any OpenGL implementation which supports the GL_ARB_shader_objects extension, since there is no way to implement this extension correctly without having shaders and programs in the same namespace. However, we carefully maintain separate _shader_map and _program_map for an OpenGL implementation not supporting GL_ARB_shader_objects. In this case, it's not possible for an application to mix usage (since none of the ObjectARB functions are guaranteed to exist). And it's also possible for the implementation to provide separate namespaces for shaders and programs, so they each need their own map.
2012-11-26d3dretrace: Prevent ScopedAllocator::alloc<D3DPRESENT_PARAMETERS> clash.José Fonseca1-2/+2
D3D8 and D3D9 have different definitions of the D3DPRESENT_PARAMETERS. This happens with other types, so the only solution is to stop using templates here.
2012-11-20d3d10/d3d11: Complete union support.José Fonseca1-15/+29
2012-11-20specs: Initial attempt to support unions.José Fonseca1-2/+10
2012-11-14d3dretrace: More robust against DXGI missing calls.José Fonseca1-0/+8
2012-11-13retrace: More diagnostic information.José Fonseca1-1/+1
2012-11-11specs: Allow an API to spread across multiple modules.José Fonseca1-1/+1
2012-11-08retrace: More useful warnings for object mismatches.José Fonseca1-3/+2
2012-11-08d3d10,d3d11: Rudimentary retrace support.José Fonseca1-1/+0
Doesn't work often, in practice because dxgi calls are missing from traces.
2012-05-13Factor out object swizzling.José Fonseca1-12/+4
2012-05-13Split retrace swizlling helpers.José Fonseca1-0/+1
2012-05-11Avoid glCreateShaderProgramv when dumping satate so that the shaderJosé Fonseca1-2/+6
source can be recovered.
2012-05-09Fix D3D11 tracing with D3D11_CREATE_DEVICE_DEBUG flag.José Fonseca1-6/+7
2012-04-27Don't retrace calls that failed when tracing.José Fonseca1-0/+18
2012-04-19Don't abuse double-underscore prefix.José Fonseca1-29/+29
To avoid conflicts, as C++ standard reserved them for system libraries.
2012-04-18Retrace IUnknown::AddRef/Release correctly.José Fonseca1-0/+8
2012-04-14Properly (un)wrap array arguments.José Fonseca1-21/+2
2012-04-14Move retracers to their own directory.José Fonseca1-0/+505