Commit Graph

1414 Commits

Author SHA1 Message Date
baldurk 162269451a Make sure to properly initialise member variables 2015-07-10 16:38:36 +02:00
baldurk 459272d790 Disable annoying warning on linux too 2015-07-10 16:38:35 +02:00
baldurk e2d8bb1283 Make some destructors virtual, though we don't delete through parents
* It keeps compiling happy and warning-free
2015-07-10 16:38:34 +02:00
baldurk a405ee13ca Loads of changes, fix thread & invoke helpers, skeleton of Core working
* GUIInvoke helper changed to use QMetaObject::invokeMethod which works
  on threads better.
* LambdaThread helper class now has a thread member, it doesn't derive
  from thread (this seems to be recommended practice).
2015-07-10 16:38:34 +02:00
baldurk f6400f383e Remove annoying warning 2015-07-10 16:38:33 +02:00
baldurk 7dcb079389 Temporary (non-running) test of invoking via lambdas GUI->Renderer->GUI
* This won't run properly but it's just to test that we can get this
  compiling.
2015-07-10 16:38:32 +02:00
baldurk 1ae7bc73bf Compile in core.cpp 2015-07-10 16:38:31 +02:00
baldurk 19784f6554 Add a utility class/func to allow easy lambda invokes onto GUI thread 2015-07-10 16:38:31 +02:00
baldurk 005d1d0875 Change RenderManager invoke method to be std::function to allow lambdas 2015-07-10 16:38:30 +02:00
baldurk 93dfd014a2 Fix pathing on resources.qrc from EventBrowser being moved 2015-07-10 16:38:29 +02:00
baldurk 172372a2f1 Add skeleton (untested) of RenderManager handling its own thread 2015-07-10 16:38:28 +02:00
baldurk 58f5e1181d Fixups for compiling with new file organisation 2015-07-10 16:38:28 +02:00
baldurk ea4350f52f Expose C++ interface via API headers, for C++ UI
* Since the exported C functions just take an explicit 'this' parameter
  and call the corresponding function, we can just make it contractual
  via a virtual interface that the pointer can be dereferenced.
2015-07-10 16:38:27 +02:00
baldurk 56c4b23c7a Organise source files a bit more, add Core class 2015-07-10 16:38:26 +02:00
baldurk 2d9ca94316 Fix some clang warnings with constructor initialise order 2015-07-10 16:38:26 +02:00
baldurk 355729aaad Put QRC intermediate files in .obj as well 2015-07-10 16:38:25 +02:00
baldurk 5ba1ae0730 Fix linux compiling by enabling C++11 (for initializer lists) 2015-07-10 16:38:24 +02:00
baldurk 29efd6df2f Add X11 support for rendering to Qt windows via native handle 2015-07-10 16:38:23 +02:00
baldurk ae113bffe1 Update case on header files for Qt custom widgets 2015-07-10 16:38:23 +02:00
baldurk bb137371e3 Set up event browser QTreeWidget and allow browsing through the frame 2015-07-10 16:38:22 +02:00
baldurk a96167a110 Add resources to qrenderdoc (identical to renderdocui resources) 2015-07-10 16:38:21 +02:00
baldurk 1d87a6eec0 Add CustomPaintWidget and super-super hacky initial 'rendering' test 2015-07-10 16:38:21 +02:00
baldurk 4c6a77d5d8 Slight tweaks (non-final) to get deallocate working properly in Qt UI 2015-07-10 16:38:20 +02:00
baldurk 42c6013058 Include Makefile.debug and Makefile.release in .gitignore 2015-07-10 16:38:19 +02:00
baldurk f04b72ba07 Add missing \s from merge conflict 2015-07-10 16:38:18 +02:00
baldurk 1e7a473354 Placeholder event browser and texture viewer windows, for testing 2015-07-10 16:38:18 +02:00
baldurk 764d13e11d Include ToolWindowManager for Qt docking implementation
* From https://github.com/Riateche/toolwindowmanager
* It seems superior to the built-in Qt docking as-is, and since it's
  a few open source files it should be easy to improve with features
  we might want to match DockingUI functionality.
* Programmatic sizing for the default layout seems inflexible, but since
  that's a one-time thing it's not the end of the world.
* There's no auto-hide functionality.
* The highlighting of where to drop could be improved, as well as the
  detection of where to drop (currently it seems to cycle through
  several possibilities each second rather than having a consistent drop
  location).
* Floating windows could be styled a bit better.
* Need to check whether we can have nested docking sections (so the
  texture viewer e.g. can have its own docks, that won't float or go out
  of the texture viewer.
2015-07-10 16:38:17 +02:00
baldurk e68e8efa40 rename mainwindow to MainWindow 2015-07-10 16:38:16 +02:00
baldurk b2c582aea1 Fixes for qrenderdoc on linux 2015-07-10 16:38:15 +02:00
baldurk 35cc323ee4 Add skeleton qrenderdoc (just a qt template) & include in linux build
* Building qrenderdoc on windows will be supported just because that's
  likely where I will be developing it mostly, but for the foreseeable
  future it won't be built by default. If it ever gets good enough to
  replace the .NET UI, then we can look at it again.
2015-07-10 16:38:14 +02:00
baldurk ea1be90280 Add glslang to LICENSE information 2015-07-10 16:37:44 +02:00
baldurk ddd432f678 Add warning if dispatch has 0 dimension, and bounds-check on debugging 2015-07-09 20:42:34 +02:00
baldurk fa800936ad Compile fix 2015-07-09 09:03:24 +02:00
baldurk db27c6a28d Enable warnings as errors 2015-07-08 23:59:15 +02:00
baldurk 877b7e7e6d Fix compiling - don't compile linux ossource.cpp on any platform 2015-07-08 23:59:14 +02:00
baldurk 3747a5ef4f Add enough SPIR-V disassembly for the example shader in the spec
* It's quite hacky at the moment since it doesn't read out the data in
  a structured way, just enough to disassemble. For now it's a proof of
  concept kind of thing.
2015-07-08 23:59:13 +02:00
baldurk 113bc227ce Do a little SPIR-V disassembly 2015-07-08 23:45:19 +02:00
baldurk 1b0d545fbe Compile GLSL shaders to SPIR-V to generate 'disassembly' (hex dump) 2015-07-08 23:45:18 +02:00
baldurk 4ee82dd1b0 Added glslang GLSL and SPIR-V reference compiler
* This is tracking my fork of the Khronos repository
  https://github.com/baldurk/glslang on branch 'renderdoc'. See that
  branch for my local changes. Only a subset of files is included
2015-07-08 23:45:17 +02:00
baldurk 45351acdf6 Linux compile fix 2015-07-08 17:30:01 +02:00
baldurk 44adfc7b82 Add a 'tips' dialog. Still needs to be mostly filled out with tips 2015-07-08 00:18:58 +02:00
baldurk 8e37133d69 Add event bookmarks to the event browser 2015-07-07 23:32:48 +02:00
baldurk a9b5fdbd31 D3D11 views now get separate lifetime tracking
* This means that rapidly creating and destroying views doesn't 'leak'
  and create more and more chunks in-program and more and more uselessly
  created views on replay.
2015-07-07 21:40:09 +02:00
baldurk 3e7b581250 Add missing RELEASE define to driver/shader module vcxprojs 2015-07-07 21:32:04 +02:00
baldurk 0351dc2cbd Speculative crash fix - check for device pointer being valid
* I don't think this can happen unless the user code is calling Release
  on something that's already released (only time device pointer NULL'd)
2015-07-07 19:45:12 +02:00
baldurk c915d44af7 Clamp the selected sample to valid range 2015-07-07 19:40:07 +02:00
baldurk 54c37eaffb Check texture list size to make sure bind isn't out of bounds 2015-07-07 19:22:26 +02:00
baldurk de25800794 Don't declare unused exceptions (warning fix) 2015-07-07 19:20:41 +02:00
baldurk f6527107dc Add try {} catch to handle exceptions thrown from IO operations 2015-07-07 19:06:31 +02:00
baldurk 5232ee7626 Don't allow direct writes to RangeMax/RangeMin that can break things
* The old code in m_RangeMax/m_RangeMin setters wasn't doing proper
  epsilon enforcing so min=max could end up happening. It's easier to
  set both at once (this is all we care about anyway) so that it does
  properly make the min and max distinguishable.
2015-07-07 18:30:14 +02:00