Commit Graph

5613 Commits

Author SHA1 Message Date
baldurk 3b6f63be0d Make event browser columns properly resizable and re-orderable
* Annoyingly although Qt has an internal bool allowUserMoveOfSection0
  which does exactly what we want allowing the tree column to be
  movable, we can't enable it because it's private. So instead we have
  to re-implement section moving ourselves.
* Minor tweak - also made RDTreeWidgets non-movable by default since
  usually we don't want to allow it.
2017-06-03 00:38:02 +01:00
baldurk fdf04cae39 Print better error messages for failures to save textures to disk 2017-06-02 17:59:57 +01:00
baldurk 922263df83 Remove unused save dialog and use the proper dialog for error message 2017-06-02 17:56:39 +01:00
baldurk 0c3dec3b67 Go back to manually drawing PE_PanelItemViewItem in drawBranches()
* There's a messy order-of-operations thing to deal with various
  different themes, as well as a couple of minor problems, but at least
  the highlight and selection bars draw fairly consistently and don't
  leave an ugly gap over the branches.
2017-06-02 17:30:41 +01:00
baldurk d426020321 Set drawcall outputs array and depthOutput to original IDs. Refs #632
* Also ensures that the underlying image ID is used, not any view that
  uses the ID.
2017-06-02 14:54:18 +01:00
baldurk 745a4e4c76 Verify that we have the right amount of data for indirect draws, or warn 2017-06-02 14:54:18 +01:00
baldurk 2706f2e04b Add proper support for mesh dumping with nested struct outputs
* Instead of hacking in some data in unused fields in the output sig we
  side-band the data we need to form the access chain.
* We also fix some issues with the SPIR-V generation for mesh dumping
  that were caught by validation.
2017-06-02 14:54:17 +01:00
Janos Pantos 162325dbd5 Regenerate gl_hookset_defs.h file 2017-06-02 06:53:57 -07:00
Janos Pantos c72d9720d7 Fix segfault for missing glShaderStorageBlockBinding function on GLES 2017-06-02 06:53:57 -07:00
Janos Pantos fbcf86cd59 Extend list of supported GLES extensions
Add GL_EXT_multisampled_render_to_texture, GL_EXT_color_buffer_half_float
and GL_EXT_color_buffer_float to the supported GLES extensions.
2017-06-02 06:53:57 -07:00
Janos Pantos 6099b242b5 Add support for glFramebufferTexture2DMultisampleEXT function 2017-06-02 06:53:57 -07:00
baldurk 10aa73528d Reset event browser before it's added
* When we add it, if a log is already open that's when we get the
  callback to OnLogFileOpened to initialised. If we close afterwards,
  we'll be in an inconsistent state.
2017-06-01 18:50:14 +01:00
baldurk bf791b7854 Use 20% highlight colour instead of window for hovering on tree widgets 2017-06-01 18:48:05 +01:00
baldurk b311e65dbd Change margins to be a minimum instead of adding them
* The style itself may have added some margins and we don't want to add
  extra margins, just set a minimum.
2017-06-01 18:47:42 +01:00
baldurk 49243c0878 Use a style proxy setting SH_ItemView_ShowDecorationSelected to fill
* This still isn't perfect with some custom style stuff but it's next
  to impossible to get working right. In theory we should manually
  draw PE_PanelItemViewItem in the gap in drawRow() or so to make sure
  we also draw any on-hover highlight over objects, but that doesn't
  seem to work.
2017-06-01 18:28:13 +01:00
baldurk f0116c4c08 Remap topology diagrams to Base/Text palette colours instead of b/w 2017-06-01 15:22:22 +01:00
baldurk 2ddfc40182 Use the palette's lightness for highlighting matching input binds 2017-06-01 14:30:53 +01:00
baldurk fe8c76154f Draw gridlines in WindowText palette color, not just black 2017-06-01 14:23:34 +01:00
baldurk 5c877ae1ae Add default-enabled grid lines to RDTreeView (and so RDTreeWidget) 2017-06-01 14:17:36 +01:00
baldurk 3076b4337b Move size delegate into item margins implemented by RDTreeView 2017-06-01 14:17:00 +01:00
baldurk a30c704e46 Inherit RDTreeWIdget from RDTreeView instead of QTreeView 2017-06-01 14:15:17 +01:00
baldurk 39f2a6d3dc Update toolwindowmanager to 8a1543b 2017-06-01 12:41:12 +01:00
baldurk 26c4284b26 Add new ToolWindowManagerSplitter files to projects 2017-06-01 12:31:29 +01:00
baldurk 2b9f9665f9 Update toolwindowmanager to 9b0b99a 2017-06-01 11:28:40 +01:00
baldurk 59977e47de Use GLSL highlighting for now on vulkan source files
* Later we should pipe through the source language from the SPIR-V and
  use that instead, for the other APIs it's just trivially HLSL/GLSL.
2017-06-01 11:28:38 +01:00
baldurk cbdf9951b9 Style preprocessor commands in HLSL/GLSL 2017-06-01 11:28:38 +01:00
baldurk 3c486d258f Process OpSource and OpSourceContinued instructions in SPIR-V
* This means that if the source is embedded, we'll get it ready for
  edit & recompile on the fly.
2017-06-01 11:28:37 +01:00
baldurk c7fb05744c Always display full tabs for file scintilla docks in shader viewer 2017-06-01 11:28:36 +01:00
baldurk 0f8e3ce452 Send DeferredDelete events explicitly in our main event loop
* It's not entirely clear if this is the intended fix, but otherwise
  since we're not running QApplication::exec() the main event loop has
  the same 'loop level' of 0 as the event level when it's fired. The
  proper functioning seems to be that the posted deleteLater event
  should have an event level of 1 which then means it will be processed
  when coming back to the exec() loop level of 0, but since we don't get
  that, just run it manually after all other events.
2017-06-01 11:28:36 +01:00
baldurk 33bed23680 Use the wrapped device & context everywhere we can in D3D11DebugManager
* If we create non-wrapped objects for debugging purposes like states
  and scratch buffers, then this can interact poorly with the device
  context which expects all objects bound to it to be wrapped.
* In particular if the pixel history is running and binds an unwrapped
  rasterizer state, then tries to replay a draw which is a command list
  execute the current device context pipeline state is saved (to be
  restored at the end of the command list) and when querying the current
  state an unwrapped object is found and everything blows up.
* There wasn't really a good reason for using unwrapped objects. The
  primary reason to do so is to avoid polluting captures but little of
  this code runs at capture time. We can also filter out debug-only
  objects at replay time by ensuring only things with a valid original
  ID are returned.
* Note we also need to allow for state objects in the capture to be
  duplicates of debug states we created. We already handled this for
  blend states but apparently not for other types of states.
2017-05-31 18:22:26 +01:00
baldurk 813055732b Assert that all buffers and textures are deleted on shutdown 2017-05-31 14:26:23 +01:00
baldurk 2902fe07fd Delete saved deferred context state for restore, to avoid leaking refs
* If you replayed an Execute and created the deferred stave state, and
  then didn't replay the Finish (e.g. if an event in between was
  selected) this would leak references and keep buffers alive after
  shutdown.
2017-05-31 14:25:50 +01:00
baldurk be4358207a Allow for up to 7 digits of space in vertex/index columns in mesh view 2017-05-31 12:42:04 +01:00
baldurk 2ca83cbea4 Don't accidentally insert bounding box data while trying to look it up 2017-05-31 12:39:58 +01:00
baldurk 58a2560c49 Reset the arcball around the bounding box when resetting the camera 2017-05-31 12:30:03 +01:00
baldurk 2726709238 Don't leak references to index buffers bound for non-indexed draws 2017-05-31 12:29:52 +01:00
baldurk 973cbd380f Don't show bounding box around rasterized output in mesh viewer 2017-05-31 11:39:00 +01:00
baldurk ed38e47c92 When showing whole pass in mesh view, show right #instances each draw 2017-05-31 11:38:38 +01:00
baldurk 817ead1b3f Make sure to return our own glXGetProcAddress(ARB) from GetProcAddress
* Fixes libepoxy programs not being hooked properly
2017-05-31 11:37:57 +01:00
baldurk 9536c4eb8b OSX compile fix 2017-05-30 23:45:51 +01:00
baldurk 327b822230 Update wireframe mesh 'icon' image to be less arbitrary and weird 2017-05-30 17:14:50 +01:00
baldurk fbf03ecd77 Set up pipeline viewers to re-draw the mesh icon in an appropriate color 2017-05-30 17:14:37 +01:00
baldurk 26862d92b2 Add a toggle to RDLabel to preserve the aspect ratio of its pixmap 2017-05-30 17:08:37 +01:00
baldurk c95f7c4cea Add default copy-paste handlers for RDListWidget and RDTreeWidget 2017-05-30 16:13:41 +01:00
baldurk 4d8ee2be43 Remove a function that is unimplemented and unused 2017-05-30 15:38:23 +01:00
baldurk a79ca2f73c Fix an extra arg %4 parameter that's unused for 3-wide vectors 2017-05-30 15:38:15 +01:00
baldurk aeab2d085b Get fix for toolwindowmanager - 3a02944 2017-05-30 15:37:58 +01:00
baldurk 641eaf4665 Add option to instantly show tooltips over RDTreeWidget items 2017-05-30 14:08:44 +01:00
baldurk 2c145fc64c Add handling to remote suggestion dialog for selecting remotes 2017-05-30 13:18:57 +01:00
baldurk 6d08766792 Set ToolWindowManager::AlwaysDisplayFullTabs on texture viewer displays 2017-05-30 12:39:16 +01:00