Commit Graph

1683 Commits

Author SHA1 Message Date
baldurk ca9293c576 Fix File->Exit shortcut clashing with File->Recent Capture Settings 2015-11-09 23:05:02 +01:00
baldurk 4aecbfe567 Handle whitespace in the middle of #version, etc directives. Refs #168 2015-11-09 23:01:30 +01:00
baldurk e9d7e51159 Handle shader reflection being NULL without crashing. Refs #168
* Can happen in edge cases where the separable program fails to create.
2015-11-09 22:52:17 +01:00
baldurk 25eb320f23 Hook wglSwapBuffers, wglSwapLayerBuffers and wglSwapMultipleBuffers 2015-11-04 10:20:03 +01:00
baldurk 28f0e7a484 Clear GL errors after Fetch/Apply state
* This can happen if e.g. some state we're fetching or restoring is not
  supported on the current GL context.
2015-11-03 22:54:43 +01:00
baldurk ad805e8117 Allow excess VS sig system value elements versus IA bytecode. Refs #167
* The VS can consume system value semantics at the end of the signature
  that weren't present in the IA layout's bytecode. Note that if the
  order changes (ie. the system value element is first) then that's not
  OK. Only trailing elements are allowed.
2015-10-26 19:13:08 +01:00
baldurk 910e261133 Only display RW thumbnails if the shader actually uses them 2015-10-26 18:31:17 +01:00
baldurk 9856b171c1 Take stencil value from max of red or green channel
* I swear some implementations return stencil in the green channel, but
  the spec says red channel. This should be safe
2015-10-26 18:15:31 +01:00
baldurk 26b2901931 Bugfix for viewports on C++ side not matching C# structure 2015-10-26 18:04:07 +01:00
baldurk 543f15ae4a Fix GL clear-before-draw shader overlay. Refs #164 2015-10-26 11:49:23 +01:00
baldurk 0199a6c36b GetSizedFormat should handle GL_STENCIL_INDEX as well. Refs #165
* Maybe GL_STENCIL isn't even ever valid, I have no idea.
2015-10-26 10:51:26 +01:00
baldurk dda2160225 Don't mark vertex buffers used if the input layout slot isn't used 2015-10-25 23:34:38 +01:00
baldurk 57ba6e0806 Add overlays to clear before current draw/pass. Refs #164
* Depth is not cleared, only colour buffers.
* This uses the same definition of pass as the quad overdraw overlay,
  which isn't quite the same as the auto-grouping passes (which allow
  for varying colour binds being grouped together). It only counts up
  to the last draw where the outputs were different.
2015-10-25 15:49:16 +01:00
baldurk 761358c899 32-bit compile fix 2015-10-25 15:28:16 +01:00
baldurk 2b7135c85a Make sure depth/stencil test disabled shows all-green overlay. Refs #159 2015-10-25 15:26:24 +01:00
baldurk 4de6abb365 Make sure shader&program interface is consistently ready. Refs #166 2015-10-25 15:10:44 +01:00
baldurk c7cfdcc689 Add basic support for displaying/picking S8 textures. Refs #165 2015-10-25 14:09:43 +01:00
baldurk 446f0ee4a6 Record glUseProgramStages 'live' if it happens mid-frame. Refs #160 2015-10-25 13:11:48 +01:00
baldurk 56c5b0f884 Fix commit 2714754, Start and End calls weren't consistent. Refs #158 2015-10-17 14:08:58 +02:00
baldurk 33347d2e3d Fetch compute thread dimensions after parsing disassembly
* This fixes an issue where the compute shader debugging wouldn't let
  even thread 0,0,0 be debugged as the dimensions bounds checks were
  wrong.
2015-10-13 17:42:56 +02:00
baldurk 036ab1d24f Linux compile fix, cast window to to void* 2015-10-11 16:13:04 +02:00
baldurk 1b99bb3dfc Add warning and clip display if a buffer will be too large
* E.g. if a huge buffer is displayed as just floats, there could be
  100s of millions of rows. Instead, we clip to 200,000 (anecdotally
  where things start getting a bit laggy on the control), and allow
  advancing through sections of the buffer at a time.
2015-10-10 10:56:53 +02:00
baldurk 5a401cf541 Linux compile fix 2015-10-10 10:40:08 +02:00
baldurk a87f3bf0b9 Better handling of the case where a context isn't current on start/end cap
* Usually if Start/End frame capture happens on a thread without a context
  current, we activate one temporarily for our bookkeeping. This can fail
  if that context we want is active on another thread. In this case, we
  fall back to the most recently seen context that *isn't* active anywhere.
  This isn't perfect, but it's better.
2015-10-09 13:14:13 +02:00
baldurk 4a45dcf32c Don't hook createcontext calls recursively
* This can happen if wglCreateContext ends up calling wglCreateLayerContext
2015-10-09 13:12:32 +02:00
baldurk 7edf87daf3 Don't rely on GL_TEXTURE_COMPRESSED queries, check format on our own 2015-10-09 13:11:21 +02:00
baldurk 6694c7302f Check if DataPtr itself is NULL (GetDataPtr() includes offset)
* Prevents a crash if a buffer's first glBufferData comes in during frame
  capture and it doesn't get stuck without data allocated in the record.
2015-10-09 13:09:57 +02:00
baldurk 0fe73ac165 Don't serialise many redundant SetResourceName chunks in a row 2015-10-07 20:06:42 +02:00
baldurk 11286b0f71 Make sure find results textbox is marked read-only 2015-10-07 20:00:45 +02:00
baldurk a98e7eb9d6 Clear search results for each new search 2015-10-07 20:00:33 +02:00
baldurk 239abd08dd Remove all newlines from find-in-files results 2015-10-07 19:56:52 +02:00
baldurk 6c01972d50 Add debug message to alert users if D3D11.1 calls can't be replayed 2015-10-06 17:16:34 +02:00
baldurk 0c1ba13a5f Fix shader debugging warning message 2015-10-06 17:09:46 +02:00
baldurk bf9e6c1156 Make sure to unset the update flag if we're on the latest version 2015-10-06 17:07:51 +02:00
baldurk c4d95421e0 Fix crash if main window is closed while update check is ongoing 2015-10-04 15:31:10 +02:00
baldurk 90e1b5c1b1 Create context debug data as late as possible, in SwapBuffers. Refs #155
* This means we avoid creating debug objects in wglMakeCurrent and so
  you can call wglShareLists after that safely.
2015-10-02 19:03:53 +02:00
baldurk 079a44b4a9 Speculative fix - try to avoid crashes if hooked dlopen is called early
* This isn't particularly stable/nice, probably needs a complete rethink
2015-10-01 00:51:22 +02:00
baldurk e2871e1245 Add typedef for old binary compatible versions to avoid annoying people 2015-09-30 22:18:06 +02:00
baldurk 59e604be91 Bump in-application API to 1.0.1. Backwards ABI compatible with 1.0.0 2015-09-30 22:14:38 +02:00
baldurk d4ffbe417b Enclose resource list usage in critical sections. Refs #157 2015-09-30 21:52:55 +02:00
baldurk 271475410b Go through consistent path to capture. Fixes IsFrameCapturing. Refs #158 2015-09-30 21:30:12 +02:00
baldurk 98d3cae896 Ignore glBindBuffer where target is GL_NONE
* This is possibly some logic error on my side, but it might be a bad
  call from the app. Either way it is invalid so it should be dropped.
2015-09-26 23:48:14 +02:00
baldurk 94863b7afe Set index byte width for glMultiDrawElements - fixes crash 2015-09-26 23:48:14 +02:00
baldurk 73c1049ecf Don't apply TEXTURE_MIN/MAX_LOD state to texture rectangles 2015-09-26 23:48:13 +02:00
baldurk 7a8e6020b5 QRenderDoc build fix - allow includes relative to project root 2015-09-26 20:19:08 +02:00
baldurk b60868254e Bump version number to v0.27 2015-09-26 00:14:56 +02:00
baldurk ebe442d1d8 Update tips dialog and add a menu item for it. v0.26 2015-09-25 21:09:12 +02:00
baldurk b5f73cbb63 Don't call TextureBinding where enum might be GL_NONE. Refs #156 2015-09-24 18:40:11 +02:00
baldurk f3abf31148 Catch FinishCommandList calls on immediate context, and throw an error 2015-09-24 18:30:14 +02:00
baldurk 7fdadc52f7 Fix register/variable highlighting sometimes getting busted 2015-09-23 13:30:12 +02:00