Commit Graph

11949 Commits

Author SHA1 Message Date
sebastianpick 329b092cfb Fixed user level registration of vulkan layers.
Corrected a conditional that incorrectly checked for the inverse of the expected condition.
2021-02-18 15:41:31 +00:00
sebastianpick c700204037 Ensure CMAKE_EXE_LINKER_FLAGS are included during linking. 2021-02-18 15:41:18 +00:00
baldurk 7d0675aab8 Compile fix for mac 2021-02-17 23:03:34 +00:00
baldurk 4e0c7bf6d0 Add explicit casting for 64-bit enums on vulkan
* Some compilers don't like the comparison between enum types, so we explicitly
  cast.
2021-02-17 20:22:53 +00:00
baldurk 7c0a7e7e71 Make new 64-bit flag Bits enums explicitly uint64_t 2021-02-17 19:47:22 +00:00
baldurk 743bbb9aab Linux compile fix 2021-02-17 17:40:45 +00:00
baldurk 5cb9b90f5f Implement support for VK_KHR_synchronization2
* For the most part we implement this as a thin pass-through layer. Where we
  care about things (image barriers for layout transitions and queue
  submissions) we do two different things:
  - For image barriers, we "downcast" to plain VkImageMemoryBarrier. Currently
    the only thing that's unique to VkImageMemoryBarrier2KHR is extra access
    flags and pipeline stages, which we don't care about. This keeps a lot of
    code from having to either handle two paths or handle the new path and then
    do lots of conversions back to VkImageMemoryBarrier when running on older
    drivers.
  - For queue submissions we do the opposite. We promote old VkSubmitInfo to
    VkSubmitInfo2KHR and process that in a common function, then if necessary
    we decay back to VkSubmitInfo before sending to the driver.
2021-02-17 15:03:52 +00:00
baldurk 7b8e19f513 Add support for VK_KHR_workgroup_memory_explicit_layout
* We can't yet whitelist this for shader debugging because we don't properly
  support the aliasing behaviour - each workgroup variable has its own separate
  storage, we need to treat them like SSBO pointers into the same buffer and
  automatically size it large enough for all of them.
2021-02-17 14:04:58 +00:00
baldurk c9a3923987 Add support for VK_KHR_zero_initialize_workgroup_memory 2021-02-17 14:04:58 +00:00
baldurk cf23c35d60 Update vulkan headers to 1.1.170
* Note the sync2 structs aren't properly sorted in vk_next_chains.cpp because
  I'm about to implement it and I'm too lazy to insert them in the right places
  only to go find them all again to remove them.
2021-02-17 14:04:57 +00:00
baldurk d66133d610 Fix handling of buffer length & offset in buffer viewer
* Previously the length was always being treated as buffer-relative instead of
  offset-relative.
2021-02-15 12:56:21 +00:00
baldurk 907ce48f7a Display message when no vertices or instances are present in drawcall 2021-02-15 12:56:21 +00:00
baldurk 0e86f0e320 Fix overflow setting rowOffset when numRows is 0 2021-02-15 12:56:21 +00:00
baldurk b31d7d94e8 An instanced draw with no instances has no vertices even if numIndices>0
* If we show this with vertex input data in the mesh viewer that's quite
  confusing when the draw is degenerate.
2021-02-15 12:56:21 +00:00
baldurk 218078f75f Identify stencil-only GL framebuffer attachments correctly 2021-02-15 10:30:37 +00:00
baldurk 9f6eda6e12 Don't check Qt version if not building qrenderdoc 2021-02-14 15:45:57 +00:00
baldurk 673579e854 Print renderdoc and qrenderdoc module locations 2021-02-14 15:45:57 +00:00
baldurk 321fbdefe9 Don't check docs build consistency if an exception happened 2021-02-14 15:10:21 +00:00
baldurk b18a28f0f9 Revert to sphinx 3.4.0
* 3.5.0 has a bug causing failures to generate autodoc code
2021-02-14 14:56:25 +00:00
baldurk 4b65d7f841 Add explicit /m to msbuild.exe invocations
* Without this by default msbuild doesn't build in parallel.
2021-02-14 13:10:25 +00:00
baldurk fc2b2c11cc Include ShadingRateCombiner in the documentation 2021-02-10 15:07:37 +00:00
baldurk 9290ed926b Display VRS state in D3D12 pipeline state viewer 2021-02-10 14:20:46 +00:00
baldurk 4619a54771 Properly set optional/newer D3D12 state when applying 2021-02-10 14:20:46 +00:00
baldurk 6de87f21b2 Unwrap shading rate image passed to RSSetShadingRateImage 2021-02-10 12:58:07 +00:00
baldurk 08201d3645 Use v142 VC++ runtime merge modules
* These are optional installs in the new visual studio installer and must be
  specifically selected.
2021-02-09 16:30:04 +00:00
baldurk 9b9fd7e8af Make bounds checking on D3D debugged view access more rigorous
* Instead of assuming our element check is correct, check against the actual
  pointer size in case of some miscalculation.
2021-02-08 14:05:04 +00:00
baldurk 327a9fdced Don't assume 4-byte stride for typed buffer loads/stores in DXBC
* Newer D3D versions support different strides including 2-byte, so we fetch the
  stride from the view format.
2021-02-08 14:05:04 +00:00
baldurk 6eab349dd5 Fix event counting leading to mismatches in vulkan captures 2021-02-08 14:05:04 +00:00
baldurk e8b183b7e8 Speculative workaround for DXGI bug
* DXGI sometimes seems to return DXGI_INVALID_CALL when retrieving backbuffers.
  In this case we want to gracefully handle it instead of crashing and hope it
  will fix itself next time we try.
2021-02-08 14:05:04 +00:00
baldurk 20e91d8bd5 Reserve more space for descriptor set initial contents
* We need enough room for chunk overhead (e.g. array size space as well as
  array, etc).
2021-02-08 14:05:04 +00:00
baldurk 4c3cf74f18 Don't linkify any @123 EID text that is followed by an x
* This isn't something we generally want to support (@123 should be a separate
  word) and it can come up with shader names like `shader@0x12345` as well as
  with icon@2x.png
2021-02-08 14:05:04 +00:00
baldurk 15cbeef054 Fix offset calculation with declaring nested buffers in format string
* When calculating the size for a struct member we need to properly recurse
2021-02-08 14:05:04 +00:00
baldurk 3da41af1a9 Don't use constant buffer alignment rules on D3D for SRV/UAV structs
* In particular matrices and array elements are padded to float4 in cbuffers but
  *not* in structured buffers
2021-02-08 14:05:04 +00:00
Mikko Rasa 69661b0cbb Clamp the current event to the actually visible region
The local eidAxisRect has its left edge moved due to panning, so use the
member variable with original values instead.
2021-02-08 11:43:37 +00:00
Mikko Rasa 19eb9bec34 Refactor drawing of lines in TimelineBar
They're now drawn as CE_StyledFrame controls, with either HLine or VLine
shape as appropriate for the orientation of the line.  This will go into
RDStyle when the light or dark UI theme is selected, allowing appropriate
colors to be used.
2021-02-08 11:43:37 +00:00
Mikko Rasa fa674a59b6 Consistently use outlineBrush() for drawing borders 2021-02-08 11:43:37 +00:00
baldurk 52a5b35027 Properly hook glXCreateNewContext. Refs #2170 2021-02-02 19:10:05 +00:00
baldurk 31c45634be Fix linux injected process incorrectly detecting debugger. Closes #2170
* We use ptrace to detect child processes reliably, but that makes us look like
  a debugger to the child. * There isn't a reliable and simple way to pass down
  a PID to ignore (environment variables are the only simple option I can see,
  and they can't be reliably inherited, ptrace to poke data would require lots
  of work to figure out _where_ to poke that data).
* So instead we use a semi-heuristic - if the debugger PID is found but it
  contains executable pages mapped from librenderdoc.so assume we're still being
  ptrace setup'd, and check again next time we want to know if a debugger is
  connected.
2021-02-02 18:40:01 +00:00
baldurk 7e6a785055 Add test of vulkan dedicated allocations 2021-02-01 14:43:43 +00:00
baldurk 0513914c42 Test that correct root-constant entry is used for cbuffer values 2021-02-01 13:39:09 +00:00
baldurk 2333cfa2a1 Test that UAV reads in shader debugging read data prior to event 2021-02-01 13:31:23 +00:00
baldurk 6b12864a7b Ensure pixel pack/unpack buffers don't break overlays on GL 2021-02-01 13:22:40 +00:00
baldurk 28bf213382 Test APIs where scissor can be disabled doesn't affect overlays 2021-02-01 13:14:28 +00:00
baldurk 13ead841a4 Add tests of cubemaps on GL
* GL treats cubemaps in a more special/different way than other APIs
2021-02-01 12:49:02 +00:00
baldurk cf3dc150cb Test compute bindless feedback on vulkan 2021-02-01 11:55:54 +00:00
Steve Karolewics b9c82bd4fb Split large pending cmd batches to prevent device removal on load 2021-02-01 11:42:54 +00:00
baldurk 2629a8b096 Fix AMD shader extensions test to check for tuples 2021-01-29 10:57:39 +00:00
baldurk 85e767b969 Increment D3D12 initial state batch index
* This was missing so we'd never break batches
2021-01-28 20:24:33 +00:00
Marcin Ślusarz 4adbf00af0 Fill in information about units of Intel performance counters. 2021-01-28 16:41:31 +00:00
baldurk 263cf0778f Fixes for structured exporting multisampled textures on GL 2021-01-28 15:49:28 +00:00