baldurk
48c3b384f8
Commit latest mhook changes from https://github.com/martona/mhook
2014-06-15 23:42:53 +01:00
baldurk
d7e752f7e9
Fixes for compiling on linux
2014-06-08 11:19:22 +01:00
baldurk
0f080d1f44
Cleaned up renderdoccmd, split out necessary bits to OS-specific files
2014-06-08 11:00:41 +01:00
baldurk
772fd94336
As a slight hack, reference glXWaitGL to pull in libGL in the right order
...
* Basically we want libGL to be loaded second, after librenderdoc. This is
in order to make sure dlsym(RTLD_NEXT) can work.
* This can be done just by order in the ld command. Unfortunately since
renderdoccmd links directly against librenderdoc (rather than LD_PRELOAD)
any symbols exported by librenderdoc resolve, so unless we reference a
function that isn't exported by librenderdoc, libGL won't be linked in
at all.
* I realise this is probably a horrible hack, but it works for now.
2014-06-07 13:50:26 +01:00
baldurk
53d6f422be
64bit compile fixes
2014-06-07 13:48:25 +01:00
baldurk
92c1df0573
Check index is in valid range for pipeline arrays.
2014-06-07 13:48:09 +01:00
baldurk
c5a74f0ad5
Serialise newer parts of the GLPipelineState
2014-06-07 13:47:46 +01:00
baldurk
773c53d82e
Use the same FBConfig for both the pbuffer and context, else it might fail
2014-06-03 21:12:49 +01:00
baldurk
85052ccf57
Return ID of output window
2014-06-03 21:12:17 +01:00
baldurk
a92a240227
Fix typo
2014-06-03 21:12:07 +01:00
baldurk
87dab79f78
Serialise rdctype::wstr as if it were a wstring (ie. as UTF-8).
...
This is only used in network transmission so we don't have to worry about
backwards compatibility.
2014-06-03 21:12:00 +01:00
baldurk
253f47c097
Get linker parameter order correct for dependency resolution
2014-06-03 21:10:21 +01:00
baldurk
5b42fa1e42
Add a bunch more glDraw variants
2014-06-01 16:27:08 +01:00
baldurk
4d59116a2d
Add 1D/3D versions of glTexStorage and glTexSubImage
2014-06-01 15:58:06 +01:00
baldurk
f9072d6cdf
Fix dlsym() call to fetch right function name
2014-06-01 12:40:14 +01:00
baldurk
61f9d1ddec
Don't serialise size_t across network (not fixed length)
2014-06-01 12:23:26 +01:00
baldurk
399c18a6ce
Linux compile fixes
2014-06-01 12:04:28 +01:00
baldurk
9b8adebb91
Bind resources while in READING, as we're replaying edit chunks
...
* While replaying the initial chunks, we're doing edit type operations but
we haven't serialised out the binding operations in between, so in this
state we do the bind-to-edit binds ourselves.
2014-06-01 11:54:54 +01:00
baldurk
c4fa9f0fd6
Don't need record when not writing
2014-06-01 10:01:17 +01:00
baldurk
932995da56
First attempt to implement Map/Unmap
2014-06-01 10:01:10 +01:00
baldurk
60ca0d065b
Fix renderstate fetch/apply to not spew GL debug errors
2014-06-01 10:00:40 +01:00
baldurk
169fe852be
Add glDrawBuffers
2014-06-01 10:00:13 +01:00
baldurk
f6880a158e
Add more glUniform* variants
2014-05-31 17:05:01 +01:00
baldurk
76ba104918
Add glSamplerParameter variants
2014-05-31 16:56:48 +01:00
baldurk
ef9b050b4d
Fill in a bunch of render state fetching
2014-05-31 16:36:37 +01:00
baldurk
5f2d78e7a4
Fill in some functions that were implemented but not serialised
2014-05-31 15:57:27 +01:00
baldurk
fceff6c7f7
Add a few more functions :)
2014-05-31 15:20:31 +01:00
baldurk
d4cbf07b6e
Add a lot of glGet functions
2014-05-31 14:34:48 +01:00
baldurk
2a9b7962ce
Hook into wglCreateLayerContext
2014-05-31 00:51:21 +01:00
baldurk
5bf34b16c1
Serialise fixed-size stdint types instead of GL types
2014-05-31 00:46:08 +01:00
baldurk
f707e85d03
Add glColorMask
2014-05-31 00:42:41 +01:00
baldurk
a37dc952e0
Add other glClearBuffer variants
2014-05-31 00:23:21 +01:00
baldurk
640ad6b7b2
glBlitFramebuffer
2014-05-31 00:04:27 +01:00
baldurk
4062c81132
glCullFace and glFrontFace
2014-05-31 00:04:26 +01:00
baldurk
0dc338e563
Serialise out viewports
2014-05-31 00:04:25 +01:00
baldurk
8a4b32f2a3
Add glClearColor and glClearDepth
2014-05-31 00:04:25 +01:00
baldurk
05da325796
Print an error for each dll function that fails to hook.
2014-05-31 00:04:24 +01:00
baldurk
f47799c1fe
Implement glCheckFramebufferStatus
2014-05-31 00:04:23 +01:00
baldurk
b56ad403d9
Serialise blend functions and blend state
2014-05-31 00:04:23 +01:00
baldurk
9e0cace897
Implement glBindSampler
2014-05-31 00:04:22 +01:00
baldurk
459c3b5aa3
Serialise out glBindBuffer{Base,Range} and glBindFramebuffer
2014-05-31 00:04:21 +01:00
baldurk
5d7f296deb
Add GLRenderState class to track GL state vector
...
* Use it to serialise in/out initial state at the start of each captured
frame.
* Serialise active texture and buffer bindings (indexed and non-indexed).
2014-05-31 00:04:21 +01:00
baldurk
ada40e303c
Serialise glActiveTexture during frame captures
2014-05-31 00:04:20 +01:00
baldurk
c7b0ae41ef
Remove texture alignment tracking and save texture units in initial state
...
* Tracking the alignment was pointless and it isn't implemented yet anyway.
* Relevant state should be saved at the start of each captured frame, so
include the active texture bindings in this
2014-05-31 00:04:19 +01:00
baldurk
f15fffa115
Use vsnprintf_s over vsprintf_s, make char buffer big enough. Closes #64
2014-05-27 19:18:12 +01:00
baldurk
7982301b60
Speculative fix for crash report NullReferenceException in OnInject
2014-05-26 15:00:02 +01:00
baldurk
2d578cdda1
Handle IO errors while reading/writing config file - crash report fix
2014-05-26 14:54:30 +01:00
baldurk
3ccd8980a3
Fix default capture options not being applied in 0.20 and above
...
* These capture options used to be propagated through from the C++ struct
when there was a C++/CLI dll used for interop between C# and C++. Now
that we use P/Invoke this needs to be added back so a couple of default
options can be enabled
2014-05-26 13:53:30 +01:00
baldurk
07d16672a4
Fix backbuffer RTV not recreating properly if Desc->Format is UNKNOWN
...
* Judging by the error reports that pointed to this crash, this happens
with the Dolphin emulator.
2014-05-26 13:50:09 +01:00
baldurk
827fae3a67
Fix shader debugging always reading from pixel resources. Closes #59
...
Instead of assuming that we can sample straight from the bound resource,
we save what's bound on PS slot 0, always sample from that slot, and
bind whatever resource & sampler onto PS slot 0 for the sampling draw.
2014-05-13 22:40:59 +01:00