baldurk
377715a61f
Don't create tabs for completely empty files in shader viewer
2018-06-22 19:28:32 +01:00
baldurk
568cac2b65
Handle register mapping to special non-indexed builtin output variables
2018-06-22 19:28:32 +01:00
baldurk
77ee70c2d2
Perform #line pre-processing earlier, so it's picked up when reflecting
...
* If we only do this preprocessing when generating a disassembly string, it's
not done when the files in the shader reflection are fetched.
2018-06-22 19:28:31 +01:00
baldurk
9b9451971a
Match builtin outputs by semantic instead of by name
...
* Fixes a spurious error which was actually correctly handled.
2018-06-22 19:28:31 +01:00
baldurk
199a1f6de5
Add stencil reference as a supported shader builtin
2018-06-22 19:28:31 +01:00
baldurk
233fbedf35
Store more type information to resolve struct members in reg mapping
...
* Also adds support for arrays in the type info
* We allow register mapping aliasing since it can happen during function calls
if the same local is declared in two places - the PDB doesn't seem to add a
gap for the 'parent' variable unfortunately.
2018-06-22 19:28:31 +01:00
baldurk
38acb9175a
Indexable temp registers always start at component 0
2018-06-22 19:28:31 +01:00
baldurk
c0200b66c8
Check for presence of debug info before fetching line mapping
2018-06-22 19:28:31 +01:00
baldurk
2b7d9aea38
Create a line-to-instruction map to allow breakpoints/cursor-run in HLSL
2018-06-22 19:28:30 +01:00
baldurk
52e9a6c01d
Pass through line-mapping information for each instruction to UI
...
* This lets the UI highlight the source line as stepping happens, as well as
allowing stepping purely in HLSL.
2018-06-22 19:28:30 +01:00
baldurk
ff9f5675e9
Display high-level language locals corresponding to registers
2018-06-22 19:28:30 +01:00
baldurk
e2dcd902cd
Gather and display callstack information during shader debugging
2018-06-22 19:28:30 +01:00
baldurk
165434a1f0
For completely unknown GL functions, return the original function
...
* CheckUnsupported handles all known compatibility GL functions and extension
functions, so this would only be true for an unpublished or completely new
extension. It might break, but if it's an internal function call it's better
to pass it through.
2018-06-22 19:28:30 +01:00
baldurk
55c1ace6ef
Fix incorrect serialisation of ProgramUniformValue. Closes #1019
2018-06-22 19:28:30 +01:00
Remi Palandri
0d7dd0aaa7
disable eglSwapBuffers if VR markers are being used
2018-06-21 19:32:50 +01:00
baldurk
56d22706a8
Fix incorrectly sized ColorMask array.
2018-06-21 19:31:37 +01:00
baldurk
809e5f6c2f
Make sure proxy textures have minimum dimensions in case of 0x0 size
2018-06-21 17:46:15 +01:00
baldurk
0d329b213f
Add remap for RGBA4
2018-06-21 17:46:15 +01:00
baldurk
24adf08a75
Remove references to deleted CommonPipelineState
2018-06-21 17:46:15 +01:00
baldurk
83a0066f00
Add support for VK_KHR_image_format_list
2018-06-21 17:46:15 +01:00
baldurk
7958107bdc
Clear GL array texture data cache in ReplayLog
...
* Otherwise the array data could be stale if we request the same array's data
over again.
2018-06-21 17:46:15 +01:00
baldurk
f1318b0961
Don't use LastCaptureFilePath for import file browser
2018-06-21 17:46:15 +01:00
baldurk
427f1fe0ac
If a buffer is somehow 0 bytes, create it as at least 4 bytes
...
* This is harmless padding and will avoid some errors on creation.
2018-06-21 17:46:15 +01:00
baldurk
91ec7f6c81
On GLES in emulated glGetTexImage, do manual blit from ALPHA to R8
...
* We emulate the readback by creating an FBO, binding the texture, and reading
it back. Unfortunately a texture with type GL_ALPHA can't be bound to an FBO,
so the readback fails.
* As a fix, we do a manual draw to a temporary R8 texture with the same
dimensions, then read it back the conventional way. This is wasteful but the
only way.
* In future there may be other formats that can't be bound to an FBO but aren't
compressed.
2018-06-21 17:46:17 +01:00
baldurk
6b9837e358
Make GL text rendering state pusher/popper available to code generally
...
* We also push/pop a couple more bits of state - ARRAY_BUFFER binding,
RASTERIZER_DISCARD enable bit, and color mask
2018-06-21 11:32:23 +01:00
baldurk
5235b2e4b2
Check if RASTERIZER_DISCARD state is available
2018-06-21 11:32:14 +01:00
baldurk
d8af674bcb
Fix indexed color mask handling in renderstate
2018-06-21 11:32:14 +01:00
baldurk
fb3c9ac992
Add support for some extensions that can just be pass-through
...
* VK_EXT_shader_stencil_export and VK_EXT_shader_viewport_index_layer are
shader-only extensions that don't affect the postvs code.
* VK_EXT_depth_range_unrestricted lifts a restriction that we don't care about.
2018-06-21 11:32:14 +01:00
baldurk
3cc0d94f51
Set loader dispatch table on external queue command buffers
...
* Not really necessary as the loader will never see them, but it's more correct.
2018-06-21 11:32:14 +01:00
Remi Palandri
6085fe66e1
adding support for multiview and MSAA in GL replays
2018-06-21 11:31:48 +01:00
baldurk
67037ed4a1
Fix GLES initial state readback of compressed cubemaps
2018-06-20 22:31:32 +01:00
baldurk
44edfc64cc
Handle eGL_UNSIGNED_SHORT_5_6_5 in GLTypeSize
2018-06-20 22:31:32 +01:00
baldurk
3eb522c316
Register any context's default framebuffer as a resource
2018-06-20 22:31:32 +01:00
baldurk
dfaa632d2e
Remove promotion of unsized formats to sized formats
...
* It turns out there are some corners of the spec where *only* an unsized format
is valid, and a sized format that's at least as large will break, so the only
way to fix this is to preserve unsized formats.
* This does mean things could break if the driver at replay-time makes a
different decision about what sized format to pick, but hopefully that won't
be an issue.
2018-06-20 22:31:32 +01:00
baldurk
4f65bb1b80
Ensure context pair is set up before creating per-context objects
...
* Without this, client-memory IBs/VBs will not have the correct context
sharegroup set.
2018-06-20 22:31:32 +01:00
baldurk
7b63aa9546
Register some common classes with the crash handler to preserve
...
* This hopefully makes crash dumps more useful if we can get at their direct
members reliably.
2018-06-20 22:31:32 +01:00
baldurk
4d763758d4
Fix some multi-queue bugs
...
* If the capture requires an external queue but never uses it (e.g. it has some
resource that's on another queue and either incorrectly accesses it on the
wrong queue or doesn't access it at all but still somehow has it referenced)
we need an external queue - if we didn't find one in the capture by the time
we get to ApplyInitialContents() we fetch it ourselves.
* We also fix up device creation info if we've remapped the queues into
duplicates by having the replay with fewer queue families than capture.
2018-06-20 22:31:32 +01:00
baldurk
2fb575693d
Allow equal EIDs for fake markers generated in core code
2018-06-20 22:31:31 +01:00
baldurk
b3a49858ab
Fix compilation on linux
2018-06-20 09:34:45 +01:00
baldurk
dc8347262e
Add support for ARB_gl_spirv. Closes #767
2018-06-19 20:48:30 +01:00
baldurk
d7db77cd12
Remap default FBO in glClear*Buffer functions
2018-06-19 20:48:30 +01:00
baldurk
082c5e3d07
Don't delete context's own record when deleting context resources
2018-06-19 20:48:30 +01:00
baldurk
fe910c4eab
Add support for all GL 4.6 extensions except SPIR-V
2018-06-19 20:48:30 +01:00
baldurk
c4c4c4b67d
Display multiview state in vulkan pipeline state viewer
2018-06-19 20:48:30 +01:00
baldurk
53364adeef
Support mesh output from different view indices on vulkan
...
* When using VK_KHR_multiview you can select which view to view the mesh data from.
2018-06-19 20:48:30 +01:00
baldurk
ad2673965d
Fix grep range in hookset.pl
2018-06-19 20:48:30 +01:00
baldurk
e87eacb2a0
Fix switching between pipeline state viewers
2018-06-19 12:38:18 +01:00
baldurk
0795e739f9
Fix python docstring copy-paste error
2018-06-18 19:05:04 +01:00
baldurk
545d019a62
Exclude API Calls markers from previous/next list. Closes #868
2018-06-18 18:39:06 +01:00
baldurk
0dda96a045
Change previous/next/parent IDs in DrawcallDescription to pointers
...
* This is a legacy holdover from the C# interop not being able to preserve
pointers easily.
2018-06-18 18:39:06 +01:00