Benson Joeris
a7b21ae2d2
More precise memory tracking for vkCmdCopyImageToBuffer
...
This change tracks the exact memory regions of the buffer accessed in
`vkCmdCopyBufferToImage` and `vkCmdCopyImageToBuffer`. In the case of
`vkCmdCopyImageToBuffer`, using the exact memory regions allows the buffer write
to be treated as a `CompleteWrite` (instead of `PartialWrite`).
2019-02-19 15:56:57 +00:00
Benson Joeris
d6b706b132
Add GetTexelShape to compute image format texel info
...
This returns the width and height of the texel blocks, and the number of bytes
per texel block.
2019-02-19 15:56:57 +00:00
baldurk
d1e0d7f88f
Fix segfault if allocatedPrograms vector is deleted before shutdown
2019-02-18 20:43:00 +00:00
baldurk
2ae5be5328
Fix duplicated label name
2019-02-18 20:42:59 +00:00
Benson Joeris
465596e563
Serialise ref types for Vulkan device memory ranges
2019-02-18 17:33:59 +00:00
Benson Joeris
5e49b076b5
Add serialization for FrameRefType
2019-02-18 17:33:59 +00:00
baldurk
c289290ffa
Fix unwanted trailing space in extension name
2019-02-18 17:23:21 +00:00
baldurk
7e363261a4
Add explicit metal check for MS<->Array copies
...
* Two parts of this feature don't seem to work - MSAA Arrays and writeable MSAA
textures. It's easier to disable it completely when running on Metal.
2019-02-18 17:23:21 +00:00
baldurk
80644680ab
Handle drivers that support 4x MSAA but not 2x
2019-02-18 17:23:20 +00:00
baldurk
73c3159615
Find include-bin via $<TARGET_FILE> when not cross-compiling
...
* On macOS it's not output directly into the runtime output directory, but under
a subdir for each build type (e.g. Debug, Release).
2019-02-18 17:23:20 +00:00
baldurk
3aa64e2e8e
Completely emulate ARB_program_interface_query using glslang
...
* We already did this partially, enough for capturing, but now we also do it on
replay.
2019-02-18 17:23:20 +00:00
baldurk
2ea6174c83
Update glslang to latest tip-of-tree
...
* This is glslang from commit 9f538c7207b87bd4219a8a9cc95e3c43798793b7
2019-02-18 17:23:20 +00:00
baldurk
5a1c5e2db5
Fix extension package names being incorrect
2019-02-18 17:23:19 +00:00
Benson Joeris
5bc993f01f
Mark simple copies into VkDeviceMemory as CompleteWrite
2019-02-18 17:23:09 +00:00
baldurk
1713dcad1b
Fix typo in python version macro use in renderdoccmd
2019-02-15 18:17:34 +00:00
baldurk
5484bcbf1a
Don't error if a non-existant file is passed via TestFailureException
2019-02-15 18:17:20 +00:00
baldurk
7ef8ed0a7a
Drop the requirement for PIL in the tests, use pypng drop-in replacement
...
* This means we no longer need to import PIL from somewhere else if we run via
renderdoccmd test functional
2019-02-15 18:17:06 +00:00
baldurk
24882eb486
When event changes in BufferViewer, preserve row offset don't reset
2019-02-15 15:10:31 +00:00
baldurk
c72e79960e
Allow launching demos program with no arguments to see test selection
2019-02-15 14:55:30 +00:00
baldurk
69dc9f8031
Print prefixed output in a single call to rdclogprint_int
...
* On android each call to rdclogprint_int goes onto its own line in the logcat
output, so we need to combine the prefix externally.
2019-02-15 11:55:51 +00:00
baldurk
9ee4795948
Don't underflow when reading padding if serialiser is in an error state
2019-02-15 11:28:27 +00:00
baldurk
982ef03fd1
Fix android build
2019-02-14 22:34:16 +00:00
baldurk
35c1aab64d
Update CI to run the correct unit test command
2019-02-14 22:01:52 +00:00
baldurk
8603420d86
Remove vkCopyDescriptorSet path from vulkan postvs fetch entirely
...
* The workaround had to be removed on Android due to buggy drivers, but it's
unnecessary in general.
2019-02-14 21:25:25 +00:00
baldurk
d579bf209c
With multi-line logs, reprint the prefix each time
...
* This means a bit more regularity to the log prints and allows them to be
parsed on android.
2019-02-14 18:09:15 +00:00
baldurk
79a626a8e1
Put android logcat processing onto separate thread
...
* This allows it to tick faster when e.g. loading a capture that takes a while
without any pings. It also allows it to continue going for a short while after
the remote server shuts down to capture any crashdump messages.
2019-02-14 18:01:09 +00:00
baldurk
fb9aac95d1
Add function to detach from a thread
2019-02-14 16:54:40 +00:00
baldurk
34a97482dd
Add helper shortcut to 'renderdoccmd test' to run functional tests
...
* This invokes run_tests.py with any arguments but specifies the renderdoc
module and python module paths automatically. Only works if built within the
project repo itself as otherwise it won't locate the test script
2019-02-14 15:45:22 +00:00
baldurk
634040d4b5
Change working directory to script location for running functional tests
2019-02-14 15:15:45 +00:00
baldurk
ce991e421a
Drop psutil requirement in functional tests, fetch memory usage directly
2019-02-14 15:08:28 +00:00
baldurk
0753793f24
Allow passing --help or -t to test commands in renderdoccmd
...
* Previously it would be swallowed and processed as the argument to the test
command itself. We need to do a little manual parsing and stop cmdline from
doing too much work.
2019-02-14 13:17:19 +00:00
baldurk
6b571e9a06
Don't return from parse() if argc is 0, need to check required arguments
2019-02-14 13:09:43 +00:00
baldurk
0e926ee258
Fix broken timeout calculation causing intermittent CI failures
...
* It turns out that min(0, x) is 0, and not a great way to prevent underflow!
2019-02-14 12:56:55 +00:00
baldurk
e9e42839c3
Support specifying structs in buffer formatter. Closes #805
...
* Structs and arrays-of-structs are completely flattened for the purposes of
displaying them still.
2019-02-14 12:55:44 +00:00
baldurk
f8d490d9e6
Add newline to end of file to satisfy gcc
2019-02-13 21:21:23 +00:00
baldurk
03a786c8ba
Fix missing calling convention on ID3DInclude implementations
2019-02-13 21:04:34 +00:00
baldurk
96d43b6875
Only include glsl_shaders code when building a driver that needs it
2019-02-13 21:03:48 +00:00
baldurk
57b703d2ab
Fix compilation on windows with missing calling convention specifier
2019-02-13 20:57:25 +00:00
baldurk
b41eb9b91b
Remove WireframePS that's no longer used or defined
2019-02-13 18:50:56 +00:00
baldurk
bbc2f47fa8
Centralise generation of buffer format strings for struct buffers
...
* We also fix a number of issues that could cause incorrect formats to be
generated.
* Test cases added for D3D11/GL/Vulkan to test different struct types. These
aren't automated at the moment because most of the code they're testing is in
the UI itself.
2019-02-13 18:50:56 +00:00
baldurk
166bd285ae
Add help output when running demos program
2019-02-13 18:50:56 +00:00
baldurk
28e0e17d16
Enable scalar block layout feature in VK_Adv_CBuffer_Zoo
2019-02-13 18:50:56 +00:00
baldurk
014619eaf9
Add D3D11_RESOURCE_MISC_SHARED in GL/DX interop tests
...
* Necessary for it to work correctly on AMD
2019-02-13 18:50:55 +00:00
baldurk
5e62d828d7
Add support for EGL_EXT/KHR_swap_buffers_with_damage
2019-02-13 18:50:55 +00:00
baldurk
35294607f5
Update docs with new GL extension requirements
2019-02-13 18:50:55 +00:00
baldurk
deb3f4d92c
On macOS call glFinish before changing away from any context
2019-02-13 18:50:55 +00:00
baldurk
eccf1add8a
Don't try to compile quadwrite shader if required extensions are missing
2019-02-13 18:50:55 +00:00
baldurk
0df9e33b6b
Bind a dummy texbuffer for GL render texture, as macOS seems to need it
2019-02-13 18:50:55 +00:00
baldurk
766c1a9bb9
When patching shaders for separability, declare the extension
2019-02-13 18:50:55 +00:00
baldurk
fe0be58908
Implement CGLPlatform using CGL and NSOpenGLContext
...
* On replay on macOS we use NSOpenGLContext so we can render to windows.
* We have two windowing systems on mac - one for Metal compatible outputs and
one for OpenGL compatible outputs.
2019-02-13 18:50:54 +00:00