Commit Graph

10385 Commits

Author SHA1 Message Date
baldurk ab6bbfd5fd Don't have more than one query active at once 2020-03-20 19:39:43 +00:00
baldurk 9ea49d6b6e When emulating glTexImage on GLES, manually blit GL_RGB format textures
* Some devices don't support attaching GL_RGB textures to framebuffers.
2020-03-20 16:16:52 +00:00
baldurk 4c5b209e6f Test constant buffer offsetting in cbuffer zoo tests 2020-03-20 16:16:52 +00:00
baldurk 7ff8a95205 Don't end stream-out queries twice 2020-03-20 16:16:52 +00:00
baldurk 0e44c51450 Add stub of pixel shader debugging, without inputs 2020-03-20 16:16:52 +00:00
baldurk 48a24a31e4 Implement location assignment for struct members on I/O variables 2020-03-20 16:16:52 +00:00
baldurk 6c0aa42ff1 Propagate thread initial state to whole workgroup properly 2020-03-20 16:16:51 +00:00
baldurk 4a2d5ddbc6 Fix wrong stage specified in DebugThread 2020-03-20 16:16:51 +00:00
baldurk 8323eb75ee Don't enumerate GPUs while opening crash reporter 2020-03-20 16:16:51 +00:00
baldurk 04f90e055d Protect against empty traces in shader viewer 2020-03-20 16:16:51 +00:00
baldurk 839c510a75 Fix overflow when clamping length of buffer data fetch 2020-03-20 16:16:51 +00:00
Daniel Craig a7af387a36 Disable crash reporting for unofficial renderdoccmd builds
This follows the lead of crash_handler.h in renderdoc proper.
2020-03-20 16:16:37 +00:00
Aliya Pazylbekova 8d2ad78f05 Vk Pixel History: refactoring, per fragment depth
- Refactor to use common funcs
- Add per fragment depth data
- Rename pixelhistory.frag to pixelhistory_primid.frag
- Fix how some per fragment pipelines are created

For per fragment data we create 3 pipelines
1) Post modification pipeline
changes the stencil state and scissors around the target pixel
2) Shader output pipeline
in addition to above, disables rasterization discard, depth bounds test,
culling and turns off blending
3) Primitive ID pipe
in addition to above, disables depth test and depth write, and changes
the fragment shader to only output primitive ID
2020-03-20 16:16:12 +00:00
Aliya Pazylbekova 83623af8d8 Vk Pixel History: per fragment data
- For now only per fragment primitive ID, and colour values, not depth
information.
2020-03-20 16:16:12 +00:00
Daniel Craig 35a3c09b6e Apply clang format to inl files from clang_format_all.sh 2020-03-20 16:16:01 +00:00
Arvastra aa128281ab Fixed BC5 thumbnail and cleanup. 2020-03-20 16:15:50 +00:00
baldurk 187bd57501 Use 64-bit integer for chunk ID
* Using a 32-bit integer, signed, gives only 2 billion chunks before it wraps.
  With Vulkan/D3D12 creating new chunks even while in the background for
  recording commands this is feasible to hit.
2020-03-19 17:16:20 +00:00
baldurk b393effe4e Switch indirect count draw handling to not reserve max draws
* Instead of reserving maxDrawCount number of draws then deleting the ones we
  don't have, reserve only one and then duplicate it to patch up as needed. This
  makes things much better in the case where maxDrawCount is significantly
  higher than the actual draw count (when maxDrawCount is close to the real draw
  count, this makes little difference).
2020-03-19 17:16:20 +00:00
baldurk 6084f1c1f7 Improve fake structured data for indirect draws on vulkan 2020-03-19 17:16:20 +00:00
baldurk 59f06a12f0 Fix crashes with indirect count draws in secondary command buffers
* We need to patch the event count in both primary and secondary command buffers
  in this case
2020-03-19 17:16:19 +00:00
baldurk ac77b7899d Remove VK_Indirect use of image comparisons 2020-03-19 17:16:19 +00:00
baldurk f8a6cbb0c7 Clear mips/slices in overlay on GL to avoid undefined contents 2020-03-19 17:16:19 +00:00
baldurk 7b8eeaa8c4 Add error when opening a GL capture that uses unsupported function 2020-03-19 17:16:19 +00:00
Arvastra 446e209caf Fixed memory leaks and clean up. 2020-03-19 17:16:01 +00:00
Arvastra d7af989746 Tidying up. 2020-03-19 17:16:01 +00:00
Arvastra 482114f6f4 Display Thumbnails for dds files. 2020-03-19 17:16:01 +00:00
Aliya Pazylbekova fd4d9d2ca1 Do not unmap memory is flush is in progress
When capture is triggered, calls to vkQueueSubmit attempt to flush all
coherent mapped memory. This causes a problem in some cases if
application calls vkUnmapMemory on the memory that is being flushed.

The goal is to only allow vkUnmapMemory to proceed if that memory is not
currently being flushed, and is in one of the records in the copy that
vkQueueSubmit made of m_CoherentMaps.
2020-03-19 17:15:53 +00:00
baldurk 7542482ffb Fix missing Qt header 2020-03-19 09:25:47 +00:00
baldurk 1bef8eb94b Copy windows 10 d3dcompiler at build time, if available 2020-03-18 17:34:59 +00:00
baldurk cb6240e271 On replay prefer loading the d3dcompiler we ship
* On windows 7, d3dcompiler_47.dll is too old to support SM5.1 shaders.
2020-03-18 17:34:59 +00:00
baldurk 3bb57bfed7 Support input source vars referencing complex struct type debug vars 2020-03-18 17:34:59 +00:00
baldurk 9991f216bb Avoid small memory heaps when allocating memory to reduce chance of OOM 2020-03-18 17:34:59 +00:00
baldurk abda2c885b Set GPU-local local flag on GPUBuffers that don't need CPU visibility 2020-03-18 17:34:59 +00:00
baldurk ad44e4dcb6 Fix ConvertComponents and add some unit tests 2020-03-18 17:34:59 +00:00
baldurk cd674539fd Change shader debugging tests to check at runtime if it's available
* The config values can be loaded in the tests now.
2020-03-18 17:34:59 +00:00
baldurk d408f77241 Add configuration system for core renderdoc module
* This allows persistent config storage and registering tweak variables that
  works independent of the UI's configuration.
* Config vars can be debug only, which means they will be compiled out in stable
  version releases. This allows for debug-logging tweaks that are available in
  all builds (including nightly builds) for diagnostic purposes, but have zero
  overhead in stable releases.
* Variables have a loose hierarchy defined with _ or . to separate nodes.
2020-03-18 17:34:59 +00:00
baldurk c0e84875f3 Forward signals/slots as well in ForwardingDelegate 2020-03-18 12:02:13 +00:00
baldurk e276146163 Fix RDHeaderView not properly updating in some cases 2020-03-18 12:02:03 +00:00
baldurk 15a2753d63 Fix stale index hanging around in RDTreeView after change 2020-03-18 12:01:37 +00:00
baldurk f8143c6dc5 Fully and properly disable all Qt deprecation warnings 2020-03-17 18:19:39 +00:00
baldurk 98eba37bfa Set up starting conditions for SPIR-V compute debugging 2020-03-17 18:19:39 +00:00
baldurk 028364910e Refactor ConvertComponent to ConvertComponents
* This way it can ensure that alpha components aren't sRGB corrected, as well as
  handling BGRA swaps and some common packed formats.
2020-03-17 10:39:11 +00:00
baldurk fb3563fb52 32-bit compile fix 2020-03-17 10:15:01 +00:00
baldurk 6e106d4c6c Stream large buffers directly when reading
* This prevents us resizing our read-window to a large size only to read then
  memcpy into place.
2020-03-16 20:01:47 +00:00
baldurk cc64061172 Fix issues with paging in raw buffer viewer 2020-03-16 20:01:47 +00:00
baldurk cdb93609d0 Skip loading event usage for large descriptor arrays on vulkan 2020-03-16 20:01:46 +00:00
baldurk e814d505a9 Drop VK_KHR_driver_properties on replay if it's not available 2020-03-16 20:01:46 +00:00
baldurk b502d64ada Don't read invalid srcOpers when evaluating texture sample operations 2020-03-16 20:01:46 +00:00
Steve Karolewics 67447b7b7e Improve handling of resource arrays for D3D12
When getting read only resources from the pipe state, stitch back up
according to the bindpoint mappings. When displaying resources in UI,
don't traverse unbounded arrays. Fix resource swizzle on load/sample/
gather instructions, which happens on fetch result, not on the source
operand. Added more tests for unbounded arrays and different ways to
index into arrays.
2020-03-16 20:01:30 +00:00
baldurk a344d226ee Fix device memory selection on replay as well 2020-03-16 12:04:41 +00:00