Commit Graph

2828 Commits

Author SHA1 Message Date
Baldur Karlsson 097c5f077b Merge pull request #206 from olvaffe/linux-fixes
misc Linux fixes
2016-03-08 07:48:40 +01:00
Chia-I Wu faf1f086df Check for glXIsDirect in MakeContext
Create a direct renerding context when the shared context is too.
Otherwise, I got this error

  X Error of failed request:  BadMatch (invalid parameter attributes)

on nVidia.
2016-03-08 11:51:05 +08:00
Chia-I Wu 1f93ba2d3b Make RenderDoc::SetLogFile safer
logFile will be "" when the app is launched from renderdoccmd on Linux.
2016-03-08 11:51:05 +08:00
Chia-I Wu d6c48c60ef Fix renderdoccmd -c on Linux
* argv[0] should always be set up
* log an error when execve fails
* logfile is always NULL and constructing a std::string from NULL throws
* really apply EnvironmentModification
2016-03-08 11:51:05 +08:00
baldurk 7aa561cc2d Remove a load of validation layer filters that aren't needed anymore
* This is against the master build of the validation layers.
2016-03-08 00:06:15 +01:00
baldurk 17a9ae008a Serialise out sharing mode for swapchain images, replay that on fakes 2016-03-08 00:05:51 +01:00
baldurk 77b7748f3b Use VK_LAYER_LUNARG_standard_validation instead of manual layer list 2016-03-08 00:04:33 +01:00
baldurk 44ff7086bb Set some access masks in transitions that validation flags up 2016-03-07 23:30:59 +01:00
baldurk 560b5966d6 Make sure backbuffer is transitioned between image layouts for overlay 2016-03-07 23:25:17 +01:00
baldurk 1b8c43c512 Vertex input pipeline state entry is actually not optional
* Even if there are no vertex inputs, it cannot be NULL
2016-03-07 23:08:21 +01:00
baldurk 7f73ecc02a Declare images as VK_SHARING_MODE_CONCURRENT
* Necessary for now since the code doesn't acquire ownership
2016-03-07 23:08:06 +01:00
baldurk 93b8d7e5c2 Win32 compile fix 2016-03-07 22:42:17 +01:00
baldurk 187c9c4d9f Track input layouts as their own resources 2016-03-07 22:33:47 +01:00
baldurk 15b963fd47 Add documentation for unstripped-path-specifying code 2016-03-06 15:09:45 +01:00
baldurk 23481c4814 Allow setting unstripped shader debug path at runtime by SetPrivateData 2016-03-06 14:54:08 +01:00
baldurk 3cc79316b3 Add a GUID for the shader debug info that is required in a PRIV section 2016-03-06 14:54:07 +01:00
baldurk 7c85caf763 Minor comment update 2016-03-06 13:19:00 +01:00
unknown 236322d8cf remove debug code 2016-03-06 13:19:00 +01:00
unknown 5e4bb7e3af Use strnlen as its better to be safe than reading past the chunk 2016-03-06 13:18:59 +01:00
unknown 8458b1d7a7 Implemented support for separate unstripped shader debug info
It works this way:
The GameEngine stored the original shader blob on disk.
Than we add the path to that file to the D3D_BLOB_PRIVATE_DATA section of the shader blob.
After that we can strip the Debug information with D3DCOMPILER_STRIP_DEBUG_INFO.

Renderdoc will first check if the shader already has debug information.
If it cannot find the PDB in the shader blob it will try to look for a PrivateDataSection.
If there is a valid file path in the PrivateDataSection it will search for debug information in there.
If it finds valid debug information it will replace the entire shader blob with the one loaded from disk.
2016-03-06 13:18:59 +01:00
baldurk bd7d38bbef Ensure that we wrap around the ring-buffer when range would overshoot
* For e.g. the text rendering we only actually use a subset of the
  buffer range each time - just enough for the characters we are
  rendering. But we need to be careful that the range specified by the
  descriptor set (256 float4s) is always valid, so wrap around on that
  size and not on the parameter size
2016-03-06 12:25:32 +01:00
baldurk 139124f9d7 Text atlas is no longer preinitialized, it's undefined 2016-03-06 12:22:20 +01:00
baldurk c1c4e7503d Linux platform separator is colon, not semi-colon 2016-03-03 23:54:35 +01:00
baldurk 8e15169a7f Linux compile fix 2016-03-02 17:45:15 +01:00
baldurk 74c1d16b2b Index FB attachments properly with renderpass indices. Refs #200 2016-03-01 19:44:10 +01:00
baldurk 8680360ed1 Tidy up some cases that weren't properly advancing subpasses. Refs #195 2016-03-01 19:35:48 +01:00
baldurk d987423fb9 Linux compile fix - only specialise ToStr on long for windows 2016-03-01 19:32:10 +01:00
baldurk 8bee720c6a Call CmdNextSubpass as appropriate on early-end of renderpass. Refs #195 2016-02-29 20:15:31 +01:00
baldurk 97220a4468 Make sure to properly filter glUseProgramStages chunks before removing
* This fixes a problem where removing "redundant" glUseProgramStages
  chunks actually removed other chunks that were legitimate.
* It's kind of hacky, but it's better than the other alternatives.
2016-02-29 20:06:36 +01:00
baldurk 94cf36b991 Add saved logs to recent file list immediately. Refs #197 2016-02-29 19:17:05 +01:00
baldurk bd9768451f Make sure saving logs from connection dialog marks them as saved 2016-02-29 19:16:38 +01:00
baldurk 096b1b1a7c Don't log out debug push/pop messages 2016-02-29 18:34:01 +01:00
baldurk 8333087595 Rename 'since last clear' to 'show whole pass' 2016-02-28 14:05:47 +01:00
baldurk a8b07fbff2 Change histogram result array to uvec4 instead of uint
* This complies with the packing rules needed for storage buffers
2016-02-28 13:42:05 +01:00
baldurk a91dc78a8c Fix wrong dimension calculation leading to wrongly included minmax tiles 2016-02-28 13:33:00 +01:00
baldurk a6a4ae6cd9 Use gl_VertexIndex / gl_InstanceIndex instead of ID variants on vulkan 2016-02-28 12:15:56 +01:00
baldurk 81ff983fa2 Fix a long-standing silly bug. Vertical and Horizontal were reversed 2016-02-28 11:52:07 +01:00
baldurk 0a42d3e4d7 Rename 'Profile' target in visual studio to 'Development'
* When I went to explain to someone why the target was named Profile and
  not Debug as you might expect, I realised the reasons were entirely
  opaque and historical. So instead, rename it to Development since that
  is really what it's for - any profiling would be done in Release mode.
2016-02-28 11:33:23 +01:00
baldurk a347b54be4 Add some needed ToStr implementations 2016-02-27 17:51:19 +01:00
baldurk ba36dec115 Change a load of asserts to the new value-printing style assert. 2016-02-27 17:40:32 +01:00
baldurk 542131624f Create new assert macro, that can log the values in the expression
* The main motivation for this is because it's convenient to be able
  to just assert a simple expression rather than print a proper error
  message, but then after the fact you want to know what the value was
  (e.g. a return code, or similar).
2016-02-27 17:29:16 +01:00
baldurk 7b8097690d Disable force-crash for errors/asserts/etc in profile
* On balance I think this does more harm than good. The idea was to make
  sure errors don't get ignored when running in profile, but really all
  it did was mean people trying to debug renderdoc without much
  familiarity got confused as to why things crashed suddenly.
2016-02-27 14:53:52 +01:00
baldurk 7a557380aa Fix detection of separate samplers and textures to work properly 2016-02-25 22:29:19 +01:00
baldurk 939d7e56bd Compile glsl with vulkan/SPIR-V rules 2016-02-25 22:25:45 +01:00
baldurk 61591da4d0 Update GLSL_STD_450_names to match the newest spirv.hpp 2016-02-25 21:51:17 +01:00
baldurk 7be24e24d5 Update to glslang to latest
* Based on renderdoc branch with local modifications from upstream:
      https://github.com/baldurk/glslang/tree/renderdoc
    * hash bba704293106428f6063ba0a3fa7802e8f413def on renderdoc from
      5184353326ae52d63a1d7c7fccd66269aab768f7 on master
2016-02-25 21:48:51 +01:00
baldurk df5def2182 Add a "load texture as a buffer view" button. Refs #141
* This isn't a complete fix as the buffer gridview doesn't support 100s
  or 1000s of columns, but it's a start and could be useful in some
  cases.
2016-02-24 00:43:57 +01:00
baldurk 729404b225 Fix potential deadlock accessing ByteOffset on render thread 2016-02-24 00:42:59 +01:00
baldurk 92f4e3f90f Fix serialising between Win32 and x64 2016-02-24 00:28:44 +01:00
baldurk e897144a99 Add required pacman install line for Archlinux 2016-02-23 23:34:22 +01:00