baldurk
bb8c8294e5
Ensure we always create a reflection object, even if it's empty
...
* Fixes crashes with DXBC objects that only contain input/output signatures
2019-10-22 20:34:20 +01:00
baldurk
92e2899ca3
Add support for DXGI desktop duplication API
...
* We treat it the same as OpenSharedResource/Handle, an opaque resource fetched
from elsewhere and wrapped, instantly treated as dirty.
2019-10-22 13:13:36 +01:00
Alexandros Frantzis
ba3df46052
Fall back to EGL for GL replay
...
We want to try to use the EGL platform as a fallback when the GL
platform can't create a GL context, since EGL_DEFAULT_DISPLAY might
still provide a workable EGLDisplay. This, for example, allows us to
replay traces when on-screen display is not required, by using the Mesa
surfaceless platform (by setting the "EGL_PLATFORM=surfaceless" Mesa
environment variable).
2019-10-22 11:07:47 +01:00
baldurk
70780b0750
32-bit compile fixes
2019-10-21 16:06:02 +01:00
baldurk
fd5fd7269a
Split up texture viewer status bar into separate items to wrap better
2019-10-21 13:56:10 +01:00
baldurk
00b217f6f7
Fix issues with flow layout sizing when too small
2019-10-21 13:51:30 +01:00
baldurk
a602e7ab1c
Add string form for missing ReplayStatus return codes
2019-10-21 13:05:05 +01:00
baldurk
02520ed8f7
Don't use full filename as texture name in image viewer
2019-10-21 12:28:18 +01:00
baldurk
3cbce1f0c4
Fix calculation of dataSize and using wrong pitch in WriteToSubresource
2019-10-21 12:28:18 +01:00
baldurk
bdf2f046d9
Add stubbed out DXIL bytecode decoder
2019-10-18 23:02:26 +01:00
baldurk
e0ea5ed3da
Split out DXBC bytecode to be separate from DXBC container
2019-10-18 23:02:19 +01:00
baldurk
91c9afb655
Move reflection data into separate struct in DXBC
2019-10-18 21:33:39 +01:00
baldurk
2a21bd8d5e
Move DXBC ShaderType to enum class in common header
2019-10-18 20:57:35 +01:00
baldurk
cd020007d2
Rename dxbc_inspect.* to dxbc_container.*, and DXBCFile -> DXBCContainer
2019-10-18 20:57:35 +01:00
baldurk
2a1baae8a9
Add decoder of LLVM block-stream
2019-10-18 20:57:35 +01:00
baldurk
a9a094bcdd
Add bit reader to decode low-level LLVM bitstream
2019-10-18 20:57:35 +01:00
baldurk
6140701358
Add stub DXIL project
2019-10-18 20:57:35 +01:00
baldurk
0bd249c44e
Add missing .c_str() when formatting strings
2019-10-18 20:57:23 +01:00
baldurk
30fe42672b
Declare multidimensional arrays in right order in SPIR-V disassembly
2019-10-18 15:42:13 +01:00
baldurk
9d05ab992e
Handle reflecting runtime arrays of arrays
2019-10-18 15:35:54 +01:00
baldurk
1cfa46e771
Don't call D3D12 FirstFrame() on destruct, but on construct
2019-10-18 15:35:38 +01:00
baldurk
7533c6b7ac
Improve handling of different cases registering vulkan layer on linux
...
* In particular, if there is a mismatched layer registered under e.g. /etc then
we always need to elevate, even if the user wants their layer to be fixed and
registered user-local.
2019-10-16 15:12:38 +01:00
baldurk
6562185e1a
When using a terminal emulator to sudo, print the command
2019-10-16 15:11:20 +01:00
baldurk
b48b3fb87e
pkexec is not a reliably graphical sudo, don't use it
2019-10-16 13:39:24 +01:00
baldurk
52e0ecf543
Add dlsym hooking for extreme cases on linux. Closes #1551
2019-10-16 13:02:59 +01:00
baldurk
a59d17f5b8
Fix bug with structured buffer loads on D3D11
2019-10-15 17:35:01 +01:00
baldurk
f5cc5c22ad
Don't display typed buffers as structured in D3D11 pipeline state
2019-10-15 17:34:38 +01:00
baldurk
9548274a60
Store specified GPU address in vulkan info on replay
2019-10-15 16:08:21 +01:00
baldurk
eee1efcf4f
Handle naming forward pointer types better in SPIR-V disassembly
2019-10-15 15:07:42 +01:00
baldurk
03ddc61779
Support rich resource text in buffer viewer
2019-10-15 15:05:38 +01:00
baldurk
328666e71f
Fix clipping of rendered rich resource text
2019-10-15 15:04:56 +01:00
baldurk
553957f933
Fix memory reference tracking of forced references
2019-10-15 14:18:07 +01:00
baldurk
ae833182cb
Remove a couple of outdated TODO items
2019-10-15 13:10:17 +01:00
baldurk
125cee09ef
Add support for VK_KHR_timeline_semaphore
2019-10-15 12:51:11 +01:00
baldurk
d48b84d8f5
Pass buffer length to format string parse, for better default format
...
* If we are only looking at a 4-byte buffer, don't use a uint4 default or it
will fail to display anything
2019-10-15 10:54:42 +01:00
baldurk
179dbb0e43
Display sample mask in D3D12 pipeline state
2019-10-14 14:06:42 +01:00
baldurk
6be0736d24
Update miniz to 2.10 with ZIP64 support
2019-10-14 14:06:42 +01:00
baldurk
e371b5ab72
Update vulkan headers to 1.1.125
...
* Add support for VK_KHR_spirv_1_4
2019-10-14 10:14:27 +01:00
baldurk
d3a4f5dc09
Expand locking around vulkan queues
...
* Submits need to be atomic vs starting and ending captures, or a partial submit
could be included in the capture.
2019-10-11 13:07:36 +01:00
baldurk
2f82e3a23a
Tweak SERIALISE_ELEMENT_ARRAY to allow chained properties
...
* E.g. SERIALISE_ELEMENT_ARRAY(foo, bar).Named("foo_real");
2019-10-11 13:07:36 +01:00
baldurk
5acb6af862
Fix some painting not reacting to different fonts correctly
2019-10-11 13:07:36 +01:00
baldurk
83c98f1ff7
Tweak rich resource text rendering to match non-rich text positioning
2019-10-11 13:07:36 +01:00
baldurk
0908588481
Don't delete capture unless it's still temporary, even if we own it
2019-10-11 13:07:36 +01:00
Alexandros Frantzis
090cd03185
Introduce GLPlatform::CanCreateGLContext()
...
Introduce a method to check if a platform supports desktop GL.
Most platforms support desktop GL by default, so for them the
implementation of this method is trivial. For EGL, though, we
have to implement a proper check, since EGL support for non
GLES APIs is optional.
2019-10-11 12:39:05 +01:00
Alexandros Frantzis
e8b696cbbf
Use EGL directly for Wayland GL support
...
For Wayland support on GL we currently fall back to the GLES code path
just to get EGL. This commit uses the EGL platform directly for Wayland,
also removing the dependency on GLES.
2019-10-11 12:39:05 +01:00
Alexandros Frantzis
616a355a63
Make EGL support independent of GLES support
...
EGL (>= 1.4) supports desktop GL, in addition to GLES. This commit makes
EGL support independently configurable at build time, to allow GL to use
it even if GLES is not needed or available.
2019-10-11 12:39:05 +01:00
baldurk
8259348707
Remap pipeline ID to live ID before calling driver
2019-10-10 19:00:16 +01:00
baldurk
2afd8fd887
Update to latest vulkan and SPIR-V spec files
...
* Add support for VK_KHR_shader_clock
2019-10-10 16:48:43 +01:00
baldurk
9b9b747e1e
Set all drawcall parameters inside ExecuteIndirect from current state
2019-10-10 16:48:42 +01:00
baldurk
ae0c745656
Don't clear important data when using StructuredSerialiser
2019-10-10 16:48:42 +01:00