Commit Graph

8365 Commits

Author SHA1 Message Date
baldurk ec6406c8ff Check next step is in bounds for states before checking conditions 2018-12-18 17:38:49 +00:00
baldurk 19064a0f05 Force on DXGI_USAGE_RENDER_TARGET_OUTPUT to swapchain backbuffers
* We need this to render our overlay. This should always be valid to specify,
  it's not mutually exclusive with any other usage.
2018-12-18 17:25:14 +00:00
baldurk ddb7aeef92 If a SPIR-V type has been replaced due to aliasing don't set custom name
* If we have e.g. Input Float* and Output Float* when we patch they will both
  become Private Float* and we collapse the types together. When that happens,
  don't rename names for the losing type, just remove names.
2018-12-18 16:46:55 +00:00
baldurk 5cfe6c7623 Give each breakpad server a unique pipe
* Speculative fix for a hang observed only on official builds when launching a
  32-bit program from a 64-bit version of RenderDoc.
2018-12-17 19:50:37 +00:00
baldurk ec194327be Revert mistaken change to compile Array <-> MSAA copy shaders as SM4
* This was an experiment that accidentally got included, these shaders are only
  compatible with SM5 due to dynamic sample indexing and use of SV_SampleIndex
2018-12-17 18:14:09 +00:00
baldurk ef3aef17ff Add missing header on linux to fix compilation 2018-12-17 18:03:54 +00:00
baldurk d1f25eea0f Add extended thumbnail handling into XML codec 2018-12-17 17:10:35 +00:00
baldurk 5f96644d08 Add support for global uniforms in SPIR-V and non-bound textures.
* This isn't relevant for Vulkan, but in GL it's valid to not specify a binding
  and fetch it at runtime (and even if a binding is specified, it's not
  immutable and can be changed).
* Similarly GL allows bare uniforms that aren't in a buffer, which we handle in
  the same way by wrapping them into a $Globals UBO.
2018-12-17 17:10:35 +00:00
baldurk bb9ff1ccb7 Adjust GL SPIR-V shader test demo to do opengl-unique things
* E.g. not specify a binding and let that be done at runtime, or global
  variables not in constant buffers.
2018-12-17 17:10:35 +00:00
baldurk b08d277b61 Apply clang-format to embedded internal shader source
* It gets a couple of things less than ideal, mostly glsl block names being on
  the next line, but otherwise it's readable and stops mixed tabs/spaces which
  had snuck in without checks.
2018-12-17 17:10:34 +00:00
baldurk 6b40a82a80 marker/pass boundary calls should not have drawcall IDs. 2018-12-17 17:10:34 +00:00
baldurk f20b19ae56 If the unique_objects layer is enabled, try to replace objects with IDs
* This isn't perfect and has the risk of false positives, e.g. 0x10 for a
  bitfield might be identified as the object with handle 16. Without doing more
  advanced string processing like trying to identify 'image 0x10' vs
  'aspectFlags 0x10' this is unavoidable, and adding a nonsense ResourceId where
  context makes it clear that it's nonsense isn't too bad.
* If in future the validation layers are updated to consistently pass objects
  through the debug_utils interface, this may become redundant.
2018-12-17 17:10:34 +00:00
baldurk ce88558a7c Refactor RDTreeWidgetDelegate into RichTextViewDelegate that is reusable
* This allows us to add rich text support much more easily into other itemviews
  like RDTableView.
* We set it up for debug messages so that resource links in debug messages can
  be linked.
2018-12-17 17:10:34 +00:00
baldurk 58e2c88e76 Don't custom size horizontal header by default in RDTableView 2018-12-17 17:10:33 +00:00
tabi.katalin a8ca37f5e5 Fix OpenGL ES fragment shader compile error
Fix fragment shader compile error (too many parameters in function call) when replaying OpenGL ES desktop application.
2018-12-17 17:10:03 +00:00
baldurk 0e311e1b62 Final compile fix hopefully :( 2018-12-14 22:37:05 +00:00
baldurk 42e10aeabc Fix compile error 2018-12-14 21:53:55 +00:00
baldurk 85b4643de9 Fix compile error with initialisation of PixelValue 2018-12-14 20:42:45 +00:00
baldurk 383d8158cc Fix docs build with missing end string terminator 2018-12-14 20:42:45 +00:00
Sebastian Krzyszkowiak 02a9f9fbce linux_callstack: don't compute offset to .text section manually
addr2line can do it by itself and seems to be better at it.
2018-12-14 20:24:57 +00:00
Sebastian Krzyszkowiak 9b90625489 linux_callstack: take region offset into account
Fixes incorrect symbols being resolved in case of non-zero offsets.
2018-12-14 20:24:57 +00:00
Danylo Piliaiev 29e38e71a9 Implement VK_EXT_conditional_rendering
Predicate state is displayed in the raster state.
"Draw Call" and "Wireframe" overlays are visible even if predicate doesn't pass.

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
2018-12-14 20:22:08 +00:00
baldurk 13e7d1c134 Support display of YUV textures on D3D11, D3D12 and Vulkan
* Supported textures are decoded into standard format of YUVA, displayed
  visually with Y in green, U in blue, V in red.
* A new texture display mode 'YUVA decode' has been added which does a default
  full-range conversion from YUV to RGB.
* Custom shaders can be used to implement a custom decode matrix.
2018-12-14 20:14:07 +00:00
baldurk 8b04c9b7ad Fix min/max calculation for stencil on GL and Vulkan
* This needs a separate pass for the stencil because GL/Vulkan treat stencil
  separately as a uint, whereas on D3D we can get away with binding a combined
  view and the stencil comes out as normalised floats.
2018-12-14 16:57:55 +00:00
baldurk aae08060a9 Add DummyWrites to histogram/minmax on vulkan 2018-12-14 16:45:49 +00:00
baldurk 90b970b547 Forcibly disable any reported support for DISJOINT binding on vulkan 2018-12-14 15:41:00 +00:00
baldurk 4c7ed0cb3c Copy each plane aspect of multi-planar images separately on vulkan 2018-12-14 15:40:09 +00:00
baldurk 46b0dc6c6e Specify YCbCr conversion sampler when creating conversion views 2018-12-14 15:38:35 +00:00
baldurk 0668bbbc07 Fix image layout for vulkan text atlas 2018-12-14 15:38:21 +00:00
baldurk 2cf5129e71 Add support for YCbCr conversion samplers in vulkan. Refs #1194 2018-12-14 14:08:33 +00:00
baldurk 5ddefed02b Check for shaders being present before doing MSAA<->Array copy 2018-12-14 10:22:53 +00:00
baldurk 5b38a36d0a Don't count references from shaders that fail to create on FL10_0
* The MSAA <-> Array copy shaders require FL11_0, so don't try to create them on
  FL10_0 and don't count their internal references.
2018-12-14 10:19:13 +00:00
baldurk 5c6d7b882e Don't use NULL for NullResource definition on vulkan. Closes #1209 2018-12-13 23:44:16 +00:00
baldurk d8ddd89e0a Check for failures from QueueWaitIdle in vulkan queue flush 2018-12-13 23:43:20 +00:00
baldurk d4242b7cf7 Note that shared resources are now partially supported on D3D12 2018-12-13 23:43:07 +00:00
baldurk 62ba684567 Move Vec4u to a global struct next to Vec4f 2018-12-13 23:43:07 +00:00
baldurk 1cb0f29198 Update channels detail when HDR multiplied text is edited 2018-12-13 18:00:26 +00:00
baldurk a22a32c299 Mark resources as dirty when they become involved in video processing 2018-12-13 16:31:36 +00:00
baldurk 2354deccb5 When clearing initial states on D3D11, handle YUV view formats 2018-12-13 16:06:09 +00:00
baldurk a6a2a7f20c Add helpers to get view cast formats for YUV textures 2018-12-13 16:03:44 +00:00
baldurk 616e5efe03 Fix size calculation for UpdateSubresource on YUV textures 2018-12-13 16:03:12 +00:00
baldurk e34833843c Explicitly disable RT feature query & D3D12.3 (?) interfaces 2018-12-13 12:53:46 +00:00
baldurk 1fc51777d2 Dock live capture windows with capture dialog if visible. Refs #1197 2018-12-13 10:30:01 +00:00
baldurk 006bf38e79 Disable BufferSecurityCheck option on renderdoc libraries 2018-12-12 23:53:35 +00:00
baldurk 86dd6c370f Add pass-through unwrapping hooks of D3D11 Video interfaces. Closes #922 2018-12-12 23:53:35 +00:00
baldurk b3458ad940 Use special GetRowPitch calculation when pitch is needed on D3D
* GetByteSize(width, 1, 1) is normally the right thing except for planar YUV
  formats, where the planes messes up the calculation.
2018-12-12 23:53:35 +00:00
baldurk caaa2bf144 Fix demos compilation on Win32 2018-12-12 23:53:34 +00:00
baldurk ff20086e4c Make sure MediaEngine is released before calling MFShutdown() 2018-12-12 23:53:34 +00:00
baldurk 796b05d76e Add markers to D3D11 video textures demo, around video update & blit 2018-12-12 23:53:34 +00:00
baldurk 92f48ea54b Implement ID3D11Multithread support for automatic locking
* Unfortunately ID3D11Multithread::SetMultithreadProtected adds an auto-locking
  thread safe mode for all D3D functions, so we have to add a check for it and a
  lock to every context function. This will add a small amount of overhead even
  when the mode isn't enabled, but it shouldn't be significant.
2018-12-12 23:53:15 +00:00