Commit Graph

6833 Commits

Author SHA1 Message Date
baldurk 4ee17543de Create parent folder for any captures created. 2018-01-22 20:04:17 +00:00
baldurk 6fe179bea3 Only join a previous command thread and restart if it has exited
* APP_CMD_INIT_WINDOW can be called when the application hasn't fully
  shutdown, and the thread is still running. Hold a lock while we're
  inside renderdoccmd() so that we know if the thread has exited or not.
* This would be easier if android had pthread_tryjoin_np()...
2018-01-22 20:04:17 +00:00
baldurk e0aedf1f5b While we don't have proper DPI checking, double overlay size on android 2018-01-22 20:04:17 +00:00
baldurk f0015f4b77 Add gl_library_egl.* to VS project 2018-01-22 20:04:17 +00:00
Jimmy Lee 579386dddb gearvr crash fix and mip level fix for gearvr swapchain 2018-01-22 20:03:55 +00:00
baldurk f46aa2944d Add #includes to fix linux compilation 2018-01-20 10:17:22 +00:00
baldurk 33b3176cd4 Rewrite the analytics intro text to be less of a wall of text
* Also add a preview of what data will be included in any report, both
  in the intro and in the confirmation before sending any report.
2018-01-19 16:33:45 +00:00
baldurk 65ef82466c Re-organise Analytics structures a bit to be more processing friendly 2018-01-19 13:57:02 +00:00
baldurk 98ed7ae9ca Make sure the discard button for analytics actually works! 2018-01-19 11:45:16 +00:00
baldurk 8905f6b83a Fix analytics compilation - still compiled out 2018-01-19 11:39:31 +00:00
baldurk c90ef7529c Add dependencies and building notes for CentOS 7 (thanks to adiemus) 2018-01-18 19:40:12 +00:00
baldurk cdca0ee6de Append C++14 standard flag instead of prepending.
* This stops it from being overridden by the global --std=c++11 in the
  root CMakeLists.txt which ends up after it in the command line.
2018-01-18 16:24:55 +00:00
baldurk c364b102bc force flush of command lists & GPU sync when doing non-partial replay
* In some cases there was an unpredictable crash when starting a replay
  loop, doing a full frame replay immediately after a previous replay.
  There were no debug messages, and the debug layer fixed it - as did
  enabling single flush validate. It seems to me some timing/overloading
  issue, and doing this sync should be relatively harmless so we use
  this to avoid the crash.
2018-01-18 14:50:57 +00:00
baldurk 2d7c193e34 Skip adding usage for huge descriptor table ranges (Over 1000 slots) 2018-01-18 14:42:43 +00:00
baldurk 5ec9db3af1 Divide byte length by 4 to get number of DWORDs in the bytecode
* Since dxbc is a uint32_t* this needs to be the count we use.
2018-01-18 14:41:59 +00:00
baldurk 80dc758d18 Sleep while looping waiting for replay thread to open capture 2018-01-18 14:41:08 +00:00
baldurk 3ae5949126 Search local plugin folders on windows too for spirv plugins 2018-01-18 10:28:31 +00:00
baldurk fbb13f0f53 Don't create GUI application to run unit tests 2018-01-17 23:21:03 +00:00
baldurk 7989c80152 Compile fixes for linux 2018-01-17 22:57:04 +00:00
baldurk be0681f770 Allow for configuring multiple SPIR-V disassemblers, detect known tools
* Initially add support for spirv-cross and spirv-dis.
* When possible we'll auto-detect the tools in path or in the build's
  plugins folder.  Otherwise the user can add it and add their
  executable path.
* We still use the first disassembler for editing - in future it would
  be good to allow selecting the disassembler at edit time (as well
  as allowing multiple compilers).
2018-01-17 21:07:04 +00:00
baldurk 2354a0e71d Change OrderedListEditor to be a widget, not a dialog 2018-01-17 21:07:04 +00:00
baldurk 859c33cb26 Add <StringView> natvis tag for rdcstr 2018-01-17 21:07:04 +00:00
baldurk 1df7b72487 Always enable VK_EXT_debug_report during capture, if available
* This means that if the driver or some other layer reports messages,
  we will save them in the capture for disable - even if the validation
  layers aren't enabled.
2018-01-17 21:07:04 +00:00
baldurk fd899cdb96 Fix disassembly not being on top when first debugging a shader 2018-01-17 21:07:04 +00:00
baldurk a13b45b0ef Apply FlipY to co-ordinates used for debug or pixel history. Refs #839 2018-01-17 21:07:03 +00:00
baldurk 7c53d7c6e0 Update to latest official GL headers as of 2018/01/17
* Includes GL 4.6.
* This fixes #842 due to previous GL headers having the incorrect
  signature for glClearNamedFramebufferfi. This may also explain the
  vendor check VendorCheck_NV_ClearNamedFramebufferfiBugs.
2018-01-17 21:07:03 +00:00
baldurk 56c6fa2d04 Use QCommandLineParser to parse arguments more intelligently. Refs #843 2018-01-17 21:07:03 +00:00
baldurk bf4e14ced8 Use full path for invoking keytool 2018-01-17 21:07:03 +00:00
michaelrgb cacac49a5e Image uniforms cannot be re-assigned in GLES. 2018-01-17 21:06:55 +00:00
baldurk f751be98ed Fix version project building on 32-bit 2018-01-16 23:17:55 +00:00
baldurk 02155f4953 Fix debug initialisation for D3D12 2018-01-16 21:00:18 +00:00
baldurk 413438c627 Fix corruption when calling GetDetails() on non-shader 2018-01-16 21:00:10 +00:00
baldurk dea21b20a0 Remove global GIT_COMMIT_HASH define, use GitVersionHash global var
* On windows, the change in a global GIT_COMMIT_HASH define in each
  project needing it meant a full rebuild every time the commit changed.
* Ideally we'd set the define only on one file in each project, but
  MSBuild doesn't seem to support that. Instead we make a new tiny
  project that compiles a single cpp exporting a global var, and
  reference that global var in each other project.
2018-01-16 20:17:53 +00:00
baldurk 654fa1bb6c Refactor vulkan PostVS fetch to use compute instead of vertex stores
* Mobile chips are lacking in features, particularly
  vertexPipelineStoresAndAtomics which is needed to manually emulate
  stream-out with shader patching.
* Instead we change to transform the vertex shader into a compute shader
  and dispatch it to manually fetch the vertex inputs, run the original
  shader, and store the resulting outputs.
2018-01-16 20:12:07 +00:00
baldurk 6f38462761 Assign consecutive locations to input/output structures 2018-01-16 20:12:07 +00:00
baldurk 34fc993b59 Calculate column widths with devicePixelRatio 2018-01-16 20:12:06 +00:00
baldurk 5e819a6e23 Ensure mesh columns list is cleared before reconfiguring 2018-01-16 20:12:06 +00:00
baldurk 08bedb849e Mark fences as referenced in fence-handling functions
* This is useful even if we don't faithfully replay fences, because it
  suppresses warnings about them being missing, and includes their
  creation info in the capture.
2018-01-16 20:12:05 +00:00
baldurk aaa3a98677 Add SPIR-V mapping for vertex/instance index builtins 2018-01-16 20:12:05 +00:00
baldurk aba8dacd25 Use baseVertex value from PostVS data 2018-01-16 20:12:04 +00:00
baldurk 1592426da5 Handle geometryShader feature being unavailable - disable lit mesh mode 2018-01-16 20:12:03 +00:00
baldurk 464c9ad02a Expose BuiltInToSystemAttribute function for mapping to our own enum 2018-01-16 17:00:36 +00:00
baldurk 6b305d7178 Add ability to add capability flags to a shader 2018-01-16 17:00:34 +00:00
baldurk e2f6cf956e notify SPIRVEditor of all adds/removes/changes
* This lets the editor update its internal tracking, so e.g. if a type
  changes then it unregisters the old type and registers the new type.
  Then any declarations after that point don't accidentally duplicate
  due to stale internal data.
2018-01-16 16:59:44 +00:00
baldurk 9fe714c9a2 Add some extra iterators and fix a few minor iterator problems 2018-01-16 16:55:12 +00:00
baldurk 6b0bcc5799 Add comparisons directly between SPIRVId and uint32_t
* Seemingly in some cases the uint32_t constructor can't be used to
  promote.
2018-01-16 16:54:35 +00:00
baldurk 50b34a2bb7 Merge SPIRVVoid into SPIRVScalar, add image types, reduce copy-paste
* We use templates to reduce copy-paste between the different types
  since it's the same operation of "look up a map, if not found then
  declare and add to map", just with a different typed map.
2018-01-16 16:54:32 +00:00
baldurk 75c31a9775 Refactor AddOutputDumping to use SPIRVEditor instead of doing it by hand 2018-01-16 16:44:31 +00:00
baldurk 30bf276ae8 Return SPIRVId from Add*() functions for convenience's sake 2018-01-16 16:44:24 +00:00
baldurk 8fc56df0e0 Add utility function that expands an operation in-place with new words 2018-01-16 16:44:17 +00:00