baldurk
65cee274eb
Wrap/handle as appropriate new DXGI 1.2 & 1.3 ifaces. Refs #104
2014-11-12 22:55:58 +00:00
baldurk
c273073935
Proper record deletion and record parenting
2014-11-12 00:48:56 +00:00
baldurk
d46b1bfdd0
glCopyImageSubData just marks destination texture as dirty
2014-11-12 00:48:24 +00:00
baldurk
f7c07577a0
Only serialise glBindImageTexture(s) when in WRITING_CAPFRAME
2014-11-12 00:48:00 +00:00
baldurk
ca03304adb
Handle special formats like GL_LUMINANCE8_EXT separately
2014-11-12 00:47:38 +00:00
baldurk
45598feff5
Add API differentiating string to in-program overlay
2014-11-12 00:22:18 +00:00
baldurk
b7912647cf
Initial implementation of saving program uniforms at frame capture
...
* Previously we were saving every program uniform that got set,
cumulatively.
* Now, whenever a uniform is set that program is marked as dirty and we
fetch out the uniform values at the start of the frame and serialise them
out.
* On replay, we create a dummy copy of the program to hold the initial
uniform values, and copy them across to restore the frame-start values.
2014-11-11 22:54:57 +00:00
baldurk
c9e74c7a56
Handle depth and stencil components in GetByteSize
2014-11-11 22:54:57 +00:00
baldurk
d2afc191c9
Handle some common ARB aliases a program was requesting
2014-11-11 22:54:56 +00:00
baldurk
c370c3c151
Handle GL_CUBEMAP_POSNEG_XYZ binding targets as identical to cubemap
2014-11-11 22:54:56 +00:00
baldurk
b8f74610b4
Implement glShaderStorageBlockBinding
2014-11-11 22:54:56 +00:00
baldurk
c0fb5fa8ac
Expose a MarkDirtyResource that takes GLResource for convenience
2014-11-11 22:54:55 +00:00
baldurk
1f33368624
Allow resource managers to set initial contents chunk directly
...
* Also use Serialiser::Alloc/FreeAlignedBuffer for the blobs
2014-11-11 22:54:55 +00:00
baldurk
62f28f751c
Implement some multi-binding functions.
2014-11-11 22:54:55 +00:00
baldurk
67e5b28f3b
Debug log for which extension functions the app is requesting
2014-11-11 22:54:54 +00:00
baldurk
67ae269bc5
Change logging at the end of pixel history function to RDCDEBUG
2014-11-11 17:49:40 +00:00
baldurk
1fc1e632b3
Just pass-through wglSwapIntervalEXT as we don't care about it
2014-11-11 17:47:55 +00:00
baldurk
97fcde8402
Implement glClearTexImage and glClearTexSubImage
2014-11-11 17:47:38 +00:00
baldurk
5e74364ab1
Identify 'POS' as an input position semantic. Refs #107
2014-11-11 13:47:40 +00:00
baldurk
0682842c9d
Improve automatic texture naming for GL
2014-11-11 00:05:38 +00:00
baldurk
4f1c94f83f
Make sure invalid/undefined and texture buffers are properly cached
2014-11-11 00:00:35 +00:00
baldurk
513ace06ec
Calculate correct size for compressed cubemap face data
...
* GL_TEXTURE_COMPRESSED_IMAGE_SIZE glGet value gives you the size for all
faces on this mip, but we fetch the image data face-by-face, so it needs
a /6.
2014-11-10 23:46:44 +00:00
baldurk
9e60ce8959
Handle texture buffers on texture metadata retrieval
2014-11-10 23:45:48 +00:00
baldurk
4de29f3df3
If no pixel unpack buffer was bound on capture, make replay match
2014-11-10 23:45:32 +00:00
baldurk
cea719f7cf
Bind fake backbuffer instead of default framebuffer
2014-11-10 23:45:11 +00:00
baldurk
3124614fc2
Fix wrong max/min
2014-11-10 23:28:03 +00:00
baldurk
ab2cf8b1e0
Change clamps to 4x4 to just 1x1 minimum size
2014-11-10 23:17:11 +00:00
baldurk
100f644bd4
Use mip dimensions rather than full image dimensions
2014-11-10 23:15:20 +00:00
baldurk
060801db20
Check GL_MAX_VERTEX_ATTRIBS on apply as well as fetch
2014-11-10 23:13:20 +00:00
baldurk
77a5d9d7b5
Overlay should be Y-Flipped if main view is
2014-11-10 23:11:18 +00:00
baldurk
9da25f020e
First implementation of initial contents for GPU dirty textures
2014-11-10 23:07:18 +00:00
baldurk
ed2661514a
Since the debug layer complains for me, respect GL_MAX_VERTEX_ATTRIBS
...
* I need to respect the GL_MAX_* values all over the render state, but the
other things don't complain so I can ignore it for now :).
2014-11-10 23:07:18 +00:00
baldurk
165e00a5f9
Fill m_Textures during cap, and store tex dimension & # MSAA samples
2014-11-10 23:07:18 +00:00
baldurk
9b5864bbd2
Remove assumptions in resource_manager that resources are pointers
2014-11-10 23:03:11 +00:00
baldurk
c406804d24
Bump D3D11 serialise version for ce0a67e8, and add backwards compat
...
* This is the first attempt at backwards logfile compatibility. Since most
captures are fairly ephemeral I don't know to what degree I'll go in
future to support old captures, but since this was a fairly trivial
example (just skip serialising a bit of data if it's an old version
without it), I'll test this out.
2014-11-10 17:53:31 +00:00
baldurk
ef950b63db
Fix installer to include necessary Microsoft.Dynamic.dll
2014-11-10 17:30:28 +00:00
baldurk
41f80630ec
Include IronPython component in installers, mark as 64bit
2014-11-10 17:20:00 +00:00
baldurk
11bf575a1d
Fix reference to non-existant file in docs
2014-11-10 17:16:11 +00:00
baldurk
14e81f9a18
Protect against invalid lookup in vector of operand indices
...
* ld_ms has 4 operands but the operand in [3] is not a sampler and won't
have any indices.
* Speculative fix for a crash report uploaded with a crash here on a ld_ms
2014-11-09 22:12:17 +00:00
baldurk
ce0a67e8f1
Fetch and serialise hidden stream-out buffer counters. Closes #105
...
* Essentially when streamout'ing to a buffer a hidden counter is saved with
it that contains the number of primitives written.
* With this change we issue queries over each buffer's duration as a
stream-out target so we have those counters available when necessary.
* At the start of frame capture, we save out the current value of all those
queries, and use them if that buffer is used for a DrawAuto() without
being streamout'd to again in the captured frame.
2014-11-09 16:17:47 +00:00
baldurk
5a96f07a0a
SOSetTargets should explicitly NULL any buffers it doesn't set
2014-11-09 15:35:49 +00:00
baldurk
ea9054b752
Hack for crash in D3DGear if ppDevice pointer is NULL.
2014-11-09 11:28:48 +00:00
baldurk
e57cf457a4
Handle textures that were created but not typed/initialised
2014-11-09 02:00:09 +00:00
baldurk
b3c5587420
Handle pixel unpack buffers on replay
2014-11-09 02:00:08 +00:00
baldurk
9ec7d9eff5
Lightweight state push/pop of only what's needed for overlay
...
* The full state vector push/pop was slow (admittedly this was probably
because it's not optimal, and for some things will read over the max).
2014-11-09 02:00:08 +00:00
baldurk
7aca4a8603
glBufferSubData applies to UpdateCount on high traffic resources
2014-11-09 02:00:08 +00:00
baldurk
7c6ef6faf7
Fixes for glTexSubImage* to handle unpack buffers
...
* If a pixel unpack buffer is bound, we mark the resource as dirty when
idle. When capframing we serialise just the pointer value as offset, not
the buffer contents.
2014-11-09 02:00:07 +00:00
baldurk
f13f07ee4e
Implement remaining functions that UE4 uses
...
* glBindFragDataLocation
* glMultiDraw* (non indirect)
* glDraw*Indirect
* glDispatchComputeIndirect
2014-11-08 23:00:13 +00:00
baldurk
54abe30ee6
Implement glObjectPtrLabel
2014-11-08 23:00:13 +00:00
baldurk
47e5874aa4
Check for proxy texture targets and don't serialise those calls
2014-11-08 23:00:12 +00:00