Commit Graph

1051 Commits

Author SHA1 Message Date
baldurk e0191ccba4 Close transient log-specific windows when a log closes
* Shader viewers already close themselves, but the pixel history view,
  non-mesh buffer viewers, and constant buffer views also close.
2017-04-28 18:36:56 +01:00
baldurk f3508f57b1 Don't completely reset a constant buffer view if the vars are the same
* It's annoying to have the constant buffer view reset and collapse
  everything, especially if moving between draws where the variables are
  the same because the shader hasn't changed.
* We can just compare the previous set of variables to the new set and
  if the types and structures (member variables etc) are the same, then
  just update the values in-place.
2017-04-28 18:36:56 +01:00
baldurk f62777459b Fix index used for constant buffer slots in D3D11 pipeline viewer 2017-04-28 18:36:55 +01:00
baldurk 9e5736f03e Add context menu popup for disassembly in shader debugging 2017-04-27 19:47:50 +01:00
baldurk a7e58ae5f6 Fix a broken loop condition 2017-04-27 19:47:50 +01:00
baldurk ae50fa99ee Revamp version tagging, remove ugly suffix on git hash. Refs #571
* Tacking -official onto the git hash was a hack only needed on windows,
  and since we want more information it doesn't scale.
* Instead we track anything we need to know about the version in
  separate variables, like whether it's a stable build or a nightly/
  local build. Or if it's built by a downstream distribution then the
  version number for the downstream build.
2017-04-27 19:47:50 +01:00
baldurk 4199a857f5 Add right-click context menu to event browser with expand/collapse all 2017-04-27 19:47:50 +01:00
baldurk c2690b8211 Remove some cases where resources were being loaded and parsed @ runtime 2017-04-27 19:47:49 +01:00
baldurk dd2f6eb88a Don't delete objects allocated in renderdoc module outside it. 2017-04-27 19:47:49 +01:00
baldurk 5fbf49a304 Fix pixel history view launching shader debugger on qrenderdoc 2017-04-27 19:47:49 +01:00
baldurk 163bc6f47e When right-clicking on captures in a connection window, select them too 2017-04-27 19:47:49 +01:00
baldurk e0f3535a20 Fix deleting captures not removing them from the list correctly 2017-04-27 19:47:49 +01:00
baldurk 448afbc0a6 Add element column with the row number for raw buffer views 2017-04-27 19:47:49 +01:00
baldurk fee690b844 Don't remove an empty list of paths - Qt warns about it 2017-04-27 19:47:48 +01:00
baldurk 0f8e25a103 Fix a case where descriptor bind length wasn't being checked for ~0U 2017-04-27 19:47:48 +01:00
baldurk 1529c8053d Fix a crash updating mesh preview columns when not in a mesh view 2017-04-27 19:47:48 +01:00
baldurk 3d41d53cc1 Fix a crash with the strip-restart handling code if draw is NULL 2017-04-21 18:45:12 +01:00
baldurk 605fd4dcc5 Use single QVariant tagging on RDTreeWidgetItem instead of setData
* It saves on allocating a vector of vectors and in most cases is all we
  need.
2017-04-21 18:45:12 +01:00
baldurk f65f5ea9da Use new RDTreeWidget everywhere in favour of QTreeWidget
* Since we're promoting everything, we reset the behaviour of
  RDTreeWidget so that it's not doing anything different by default.
* RDTreeWidget's interface is a bit different, exposing some useful
  things like a single selected item and so on.
* We also can't set columns in the Qt Creator UI anymore, so we set them
  from code.
2017-04-21 18:44:52 +01:00
baldurk 2632638615 Fix handling of primitive restart in qrenderdoc's BufferViewer 2017-04-20 16:08:15 +01:00
baldurk 195ef0122a Port EventBrowser_AddFake option to qrenderdoc 2017-04-20 13:20:18 +01:00
baldurk 143d35ff31 Add export-to-text function for event browser 2017-04-20 13:04:28 +01:00
baldurk f88c4c4ba0 Disable event browser toolbar buttons while no log is open 2017-04-20 12:54:49 +01:00
baldurk 8ad0ea60e0 Use the configured time unit used for the event browser duration column 2017-04-20 12:46:30 +01:00
baldurk 2eb4a35680 Add a refcount to RemoteManager so it only closes when unused
* We previously were only checking if all lookups had completed before
  self-deleting, but we also need to make sure nothing externally is
  still holding onto the dialog.
2017-04-19 18:29:10 +01:00
baldurk 2a4596e06a Add python shell qt window 2017-04-19 18:03:19 +01:00
baldurk ea1dbc27f9 Remove parent widget parameter from shader view/edit/debug functions 2017-04-18 14:57:48 +01:00
baldurk 35f9c53486 Rename *Method to *Callback to be more explicit in the name 2017-04-18 14:57:48 +01:00
baldurk a2a96a556c Tweak a few things in the pipeline state & config interfaces
* Remove reference out parameters that aren't a good fit for python
  bindings, and change a few names to make a better interface.
2017-04-18 14:57:48 +01:00
baldurk ceb73b85d9 Rename ILogViewerForm to ILogViewer 2017-04-18 14:57:48 +01:00
baldurk 494086f40d Rename RenderManager to ReplayManager 2017-04-18 14:57:48 +01:00
baldurk 6930841705 Rename ReplayRenderer to ReplayController
* It's not a renderer, it's an interface to controlling the replay and
  any 'renderer' type work actually happens in ReplayOutput.
2017-04-18 14:57:47 +01:00
baldurk a7ab0d9300 Move capture-file handling functions into a single interface
* This allows us to return complex types like byte arrays or pairs of
  status & render handle.
* Also in future more introspection of the capture file will be possible
  and this provides an easy extension to that without adding new entry
  points.
2017-04-18 14:57:47 +01:00
baldurk bc79e2296f Make EnvironmentModification struct and pass around array directly
* The old 'store in opaque void*' is kept as entry point wrappers only
  for the C# UI.
2017-04-18 14:57:47 +01:00
baldurk 43eb5072b4 Remove 'magic constant' use of ~0U as invalid/skip/no result.
* In python it's not as quick to get ~0U since ints aren't unsigned or
  fixed size. Adding named constants makes it easier for people to use
  the right values, and C++ users can still pass ~0U.
2017-04-18 14:57:47 +01:00
baldurk f6c045f473 Refactor public interface to be less strict C and more python friendly
* Generally this means removing ref out parameters and instead returning
  values. In a couple of cases we will want to avoid copies in future
  either by returning const references (e.g. to the pipeline state which
  is immutable).
* At the same time, some pointless bool return values that were always
  true and didn't indicate errors have been removed. They can be added
  again if an error condition comes back.
* Some free functions still have out parameters as C linkage doesn't
  allow returning user types by value.
* The C# UI still invokes into C wrappers for all the C++ classes, which
  handle taking the return value and doing a copy into an out parameter
  still for compatibility.
2017-04-18 14:57:46 +01:00
baldurk 094c4164dc Refactor qrenderdoc to provide stable, clean and deliberate API
* Note, this API is still in-flux and beta, so there may still be some
  more changes before it's 'stable', and even then it will still be
  subject to some amount of change.
* This API is then exposed to python via SWIG bindings and hides
  internals that don't need to be visible, and means the actual API is
  easier to work with.
* We also use this API to reduce inter-dependencies between different
  windows that need to interact with each other at a high level.
* The naming is python/standard RenderDoc TitleCase method names, not
  Qt style camelCase methods.

# Conflicts:
#	qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp
#	qrenderdoc/Windows/TextureViewer.cpp
2017-04-18 14:57:43 +01:00
baldurk 3e74683a70 Fix qrenderdoc compilation on Win32 2017-04-18 14:57:40 +01:00
baldurk fd6fce7a78 Refactor pipeline states to expose opaque string properties as enums.
* Things like addressing modes, stencil operations, and other things the
  UI didn't need to know about previously were only exposed as string
  values to be passed through and displayed.
* Now we describe these with enums so the API can be properly
  introspected and used by consumers that might want to know the actual
  values of these states.
2017-04-18 14:57:40 +01:00
baldurk 8262bd2770 Refactor viewport to have X/Y separate members instead of TopLeft[2] 2017-04-18 14:57:38 +01:00
baldurk f1df7423e2 Standardise pipeline object names with name/customName where relevant 2017-04-18 14:57:38 +01:00
baldurk 587fba0b68 Rename DirectoryFile/FileProperty to Path, and re-use struct in OS code
* They describe directories or files, and really describe a single path
  on the remote system.
2017-04-18 14:57:38 +01:00
baldurk 637d4089e2 Rename colour to color in public API code
* Following the principle of least surprise, color tends to be more
  commonly used in APIs and graphics code even outside the USA.
2017-04-18 14:57:37 +01:00
baldurk 0ad5709df3 Remove poorly chosen 'Fetch' prefix from a few data structures.
* This goes all the way back to the first iterations where these were
  the only structures and 'Fetch' referred to them returning data from
  the core code to the UI.
2017-04-18 14:57:36 +01:00
baldurk ce4a99b7b8 Rename ShaderResource::IsSRV to a more generic IsReadOnly property 2017-04-18 14:57:35 +01:00
baldurk 96f11095da Change type of FrameStatistics::recorded to bool32 to be more accurate 2017-04-18 14:57:35 +01:00
baldurk 018dcb073c Rename uavWrite to more generic directShaderWrite 2017-04-18 14:57:35 +01:00
baldurk 36ed9fdc70 Remove unused rawType from SpecialFormat 2017-04-18 14:57:34 +01:00
baldurk c44f355380 Remove nested structs from D3D12 pipeline state and move to namespace 2017-04-18 14:57:34 +01:00
baldurk af33e5d296 Remove nested structs from Vulkan pipeline state and move to namespace 2017-04-18 14:57:34 +01:00