Commit Graph

4163 Commits

Author SHA1 Message Date
James Fulop a8b2be5643 minor comment/logic changes 2016-09-30 10:55:00 +02:00
James Fulop 770843554d triangle picking for Vulkan
Essentially a straight copypaste from the GL version.

VS_Out picking isn't working correctly in the triangle path.
2016-09-30 10:54:59 +02:00
James Fulop 03fdfc7593 triangle selection path works in VSOut stage now 2016-09-30 10:54:58 +02:00
James Fulop 11563d770f fixed bug were index buffers with a width less than 4 were truncated
indexes with a size less than uint32 were being ugpraded to uint32,
but the buffer range size was still dependent on the original width.
Before this change, when doing selection on indexed meshes with a
width of 2, the second half of the mesh would be unpickable.
2016-09-30 10:54:26 +02:00
James Fulop f630e4a7d6 all mesh types functioning in opengl 2016-09-30 10:51:59 +02:00
James Fulop becf01701f triangle fan support 2016-09-30 10:51:59 +02:00
James Fulop ea861ed3e1 fixed bug were it would pick vertices behind the camera 2016-09-30 10:51:58 +02:00
James Fulop 8851da66af added original picking back in as a fallback. 2016-09-30 10:51:57 +02:00
James Fulop bdfd44ebc9 triangle lists pick correctly 2016-09-30 10:51:57 +02:00
James Fulop dd55043527 add lerp macro 2016-09-30 10:51:56 +02:00
James Fulop ef185bca34 improved vertex picking, only Opengl VS Input
The new vertex picking solution raycasts from the mouse's position,
picking vertices based on
1. The triangle it has intersected (take the nearest triangle)
2. The nearest vertex to the intersection point on the triangle

This is replacing a solution that was based on how close the vertex was
to the mouse in screen space and its depth.

This commit only supports the OpenGL path in the VS Input window.

I have disabled vertex picking in Vulkan for now, as there are some
cross dependencies (debuguniforms.h).
2016-09-30 10:51:56 +02:00
baldurk ade3794fd1 Change row resize mode for debug messages to avoid oscillation 2016-09-30 10:50:29 +02:00
baldurk e55f92cf67 Fix an off-by-one error in runtime warning reporting. Refs #380
* Pixel shader debugging was right by coincidence because it replayed
  the drawcall, but technically that could produce incorrect results as
  we would then pick up UAV contents from after the draw, not before.
2016-09-30 10:50:29 +02:00
baldurk b8910141eb Set up the texture viewer status bar text 2016-09-30 10:50:29 +02:00
baldurk 73be3b224b Do some more to try and stay sane during drags and docks.
* This needs more improvement but it's not worth going any further down
  this route for now, it can be polished up later.
2016-09-30 10:50:29 +02:00
baldurk 2f63389b8b Only look at valid suggestions of docks, not docks in other managers 2016-09-30 10:50:29 +02:00
baldurk a356aef23f Set default dimensions for main window to 1200x800 (if no layout) 2016-09-30 10:50:29 +02:00
baldurk 563c217a0d Update default window/tool layout with proper percentage sizes 2016-09-30 10:50:29 +02:00
baldurk 2bc8effd3d Add ability to specify an area percentage in ToolWindowManager 2016-09-30 10:50:29 +02:00
Michael Rennie 35a30be896 Forgotten break in remap switch label. 2016-09-29 15:31:51 +02:00
baldurk 9f4a60028e Handle injecting environment variable params
* This also fixes the problem of capturing 32-bit programs with 64-bit
  RenderDoc failing to properly insert environment variables and
  error'ing when it tries to do it directly.
2016-09-28 17:55:45 +02:00
Matthäus G. Chajdas 220e214f4d Improve range display on group tree nodes in EventBrowser.
In the event browser, the tree nodes which can be expanded are always
showing a range (17-17) even if the range is a single item. This fix
changes that to 17.
2016-09-28 16:34:41 +02:00
baldurk 8e80192c4a Add an error for remapping unhandled special formats 2016-09-28 16:33:11 +02:00
baldurk 2b9b152f1d return DXGI_FORMAT_UNKNOWN for all unsupported/unmappable formats
* This means that when creating a proxy texture, all non-native formats
  will be remapped by the proxy to a safe linear format.
2016-09-28 16:28:12 +02:00
Michael Rennie 5d23e39994 Remap texture formats across different APIs.
For example ASTC/ETC2 textures in Vulkan need to be forced to RGBA8 to be
displayed by D3D11.

IReplayDriver has virtual method IsTextureFormatSupported(ResourceFormat)
so each API can decide if a format should be converted.

Parameters to GetTextureData() are moved to a struct, to save any
non-default behaviour needed for fetching texture data into the proxy.

MakeDXGIFormat now returns DXGI_FORMAT_UNKNOWN for unsupported formats
instead of asserting. We use this to determine whether to remap.
2016-09-28 16:24:34 +02:00
baldurk bfcfcd37b5 Make sure DSVs show up with their view parameters properly. 2016-09-28 15:51:54 +02:00
baldurk 4ccfe298f3 Force initial states for 'viewed' resources in GL
* If a buffer is used as a texbuffer, or a texture as a view, then any
  time the underlying data is dirty and needs to be saved as initial
  contents but the data object is never referenced directly (only the
  view), we need to force the underlying data object to have initial
  contents.
2016-09-28 15:09:02 +02:00
baldurk a9e4396655 Fix compile error that somehow doesn't trigger on VS 2016-09-28 13:55:24 +02:00
baldurk 89dc093e84 Define _RELEASE macro on Release CMake targets 2016-09-28 13:54:55 +02:00
baldurk c47f4f8e07 Implement proper buffer initial contents, don't save into record data
* This fixes a couple of cases - the case where a buffer is modified
  mid frame would not properly have its contents reset each frame
* Also any buffer that isn't modified during the frame would have its
  initial contents overwritten by some partially recorded updates before
  a buffer was marked as high traffic/dirty.
2016-09-28 13:18:21 +02:00
baldurk 31a271b1f7 Don't create debug GL contexts in release builds 2016-09-28 13:15:15 +02:00
baldurk 6f24ed7cca Use RENDERDOC_TEMP override on posix systems, don't just ignore it! 2016-09-28 13:14:51 +02:00
baldurk 1f4813887b Implement DebugOutputMute properly on GL - hide debug msgs from program 2016-09-28 13:14:00 +02:00
baldurk 5c678df977 Set travis to use cmake explicitly
* I thought it was using cmake already, but it was using make. Whoops!
* This will make it easier to add a release target in travis in future
  though, which is a nice bonus.
2016-09-27 16:26:24 +02:00
baldurk 6e9e2721c2 Missed references to moved scripts - grep didn't search dotfiles 2016-09-27 16:21:42 +02:00
baldurk b5c7944038 Trim down LICENSE.md to just the core RenderDoc license, link to others
* This allows github to identify the content of the license as MIT for
  repo metadata, and also cuts down on the redundant duplicate license
  credits. 3rd party acknowledgements are still linked from LICENSE.md
  and prominently included in both the documentation and installer
  license.
2016-09-27 16:12:39 +02:00
baldurk 19bffb7d9d Fix some bugs in chm styling on lists 2016-09-27 15:57:23 +02:00
baldurk b4503f95cf Remove manual html target="_blank" links from documentation 2016-09-27 15:55:53 +02:00
baldurk f9b78a9312 Configure sphinx to require 1.5 for building htmlhelp
* This version contains the fix for sphinx-doc/sphinx#2550 so we want to
  assume it is present and tidy up all the external links. However if
  needed (and you don't care about the external links being broken) you
  can locally remove this version requirement.
2016-09-27 15:13:46 +02:00
baldurk 2cc8648670 Add new NDK versions to android.toolchain.cmake
* Added r12b, r12, r11c, r11b, r11, r10e.
* This just means if the NDK is in one of the auto-search locations you
  won't have to set the ANDROID_NDK environment variable.
2016-09-27 14:31:01 +02:00
baldurk 711860b338 Add sensible defaults for Android to reduce clutter of command line
* The windows command will now be:
  cmake -G "MinGW Makefiles" -DBUILD_ANDROID=On <...>
* The linux command will just be:
  cmake -DBUILD_ANDROID=On <...>
* With the rest of the parameters specified as normal. An optional
  -DANDROID_ABI can be passed to specify the ABI
2016-09-27 14:29:40 +02:00
baldurk 966ffe9be4 Git ignore all build-*/ folders 2016-09-27 13:46:29 +02:00
baldurk c968ab673c Allow cross-compiles on windows via CMake
* We only want to block windows-for-windows builds with CMake, not cross
  compiles for e.g. android from windows.
* We move the fatal error later in the file after the cross-compilation
  has been initialised so we can check if we're really still WIN32.
* This means the early-out on windows is a little late (after some
  autodetection has happened) but that's not the end of the world.
2016-09-27 13:45:32 +02:00
baldurk abed75a9aa Move appveyor configuration script out of the root
* Unfortunately, travis doesn't support this so the .travis.yml still
  has to be in the root.
2016-09-27 13:33:26 +02:00
baldurk 1a465102b6 Minor tweaks to README phrasing/organisation/links. 2016-09-27 13:26:23 +02:00
baldurk 24c28ec73b Move valgrind suppression file into scripts folder 2016-09-27 13:17:07 +02:00
baldurk 82265469f7 Add android.toolchain.cmake from github taka-no-me/android-cmake
* This comes from commit 556cc14296c226f753a3778d99d8b60778b7df4f
2016-09-27 13:16:32 +02:00
baldurk 7d6cc098f0 Move distribution scripts into scripts/ subfolder 2016-09-27 13:15:04 +02:00
baldurk 134f75bd27 Remove root Makefile that wraps cmake
* linux compilation must now happen with cmake, which can be done in a
  couple of one-liners.
2016-09-27 13:10:24 +02:00
baldurk cd06d4e840 Move compilation instructions into CONTRIBUTING.md 2016-09-27 13:09:51 +02:00