Commit Graph

3035 Commits

Author SHA1 Message Date
Baldur Karlsson ecb22d5fdc Merge pull request #256 from michaelkvance/more-stats
Add additional sections of API covered in statistics.
2016-04-26 12:36:23 +02:00
Baldur Karlsson f08b237a27 Merge pull request #261 from neilogd/master
Fix for #259
2016-04-26 12:21:33 +02:00
Neil Richardson 2d4b8ebd6d OpenGL: m_CreatingContext is left as true, causing subsequent CreateContextAttribs to fail if one fails. 2016-04-26 20:10:32 +10:00
baldurk 766ab41663 Don't call GetByteSize() if format is unknown, just assume 1 byte 2016-04-26 08:37:52 +02:00
baldurk 09238f515f Make things less Fatal if GetByteSize() is called with unknown format 2016-04-26 08:37:40 +02:00
baldurk 8af9ee634c Handle VK_WHOLE_SIZE in vkFlushMappedMemoryRanges 2016-04-26 08:17:01 +02:00
baldurk cdd7ab2487 Compile fix for official release builds. Didn't show up in nightlies! v0.28 2016-04-25 23:40:31 +02:00
baldurk c6145ff2db Check both the return value and the value in VkPresentInfoKHR struct 2016-04-25 19:11:42 +02:00
Michael Vance 04936f08a9 Add additional sections of API covered in statistics.
Notes
======
- Added statistics recording for shader sets, blend state sets, depth/stencil state sets, rasterization state sets, and output merger/UAV sets.
- Some muddling of things like UAVs into the outputs set... additional "null" sets will be recorded and things, will clean that up in a future change.
- Added missing CS SRV set to the resources statistics.
- Added GetFrameStats() helper to simplify some prolog boilerplate.
- Hoist some of the histogram code out into a helper method, also hoist out the API summary to try to clean that messiness up.
- Change how the API call numbers are calculated--it's now just the API calls as distinct from draw/dispatches. Additionally the ratio is gainst the "pure" API call number, not with draws/dispatches included.

TODO
======
- Figure out where the missing ~4k API calls are in my game captures vs the numbers I'm seeing.
2016-04-25 13:08:17 -04:00
baldurk a316712da8 Check pointer before indirecting 2016-04-24 21:51:44 +02:00
baldurk f6c1f2a170 Enable MSAA in the depth view as it's supported well now 2016-04-24 21:26:07 +02:00
baldurk fc4537857a Add callback hooks for dispatches, allows timing dispatch calls 2016-04-24 20:01:48 +02:00
baldurk 91b05e41e3 Make sure to do drawcall callback for indirect draws 2016-04-24 20:01:47 +02:00
baldurk 90e96e2fd6 Slight increase in tolerance on overdraw ramp decoding 2016-04-24 20:01:47 +02:00
baldurk d671a9c2cc Protect against un-recorded command buffers being executed 2016-04-24 20:01:46 +02:00
baldurk 4c609ab714 Don't accept GLSL as shaders
* This isn't how they're passed even in the horrible NV extension that
  I won't be supporting
2016-04-24 20:01:45 +02:00
baldurk 868ec1da5c Detect newer fixed AMD drivers and disable workaround
* Soon we can disable it entirely but I'd be worried about disabling it
  and just crashing horribly for people who haven't updated drivers.
2016-04-24 18:53:07 +02:00
baldurk 896a45f362 Just clear multisample images - we don't have valid serialised data yet 2016-04-24 18:53:06 +02:00
baldurk efb0f1b061 Don't treat almost or totally empty frames as unsuccessful. 2016-04-23 15:29:21 +02:00
baldurk 00dd0df24c Don't crash if BuildShader shader fails to create 2016-04-23 13:35:41 +02:00
baldurk 5867d7ada1 Pass through resource view element size in D3D11 pipeline state
* This lets us calculate the offset and visible length when opening a
  buffer view from a resource binding.
2016-04-23 13:03:41 +02:00
baldurk e89fab7802 Remove assert that's not valid (doesn't really matter anyway). 2016-04-23 13:00:47 +02:00
baldurk d336d5396d Update a few copyrights that still only said 2015 2016-04-23 12:47:29 +02:00
baldurk 6fc83e0790 Link to free VS2015, not free VS2013 2016-04-23 12:46:42 +02:00
baldurk b14b771000 Document the in-application API properly 2016-04-23 11:36:17 +02:00
baldurk c145de9d16 Add DeviceFrameCapturer support for Vulkan 2016-04-23 11:34:32 +02:00
baldurk e59ee3fcd9 Update credits with recent contributors 2016-04-23 09:27:27 +02:00
baldurk a2cde0a8ea Update API example in Tips & Tricks documentation page 2016-04-23 09:27:09 +02:00
baldurk c12a4e69c9 Don't use renderdoc platform defines in renderdoc_app.h
* This file will be included in user code, so we can't rely on our own
  platform defines being present.
2016-04-23 09:26:52 +02:00
baldurk 104ffc5d51 Implement OpControlBarrier and OpMemoryBarrier 2016-04-22 18:40:50 +02:00
baldurk 9020e6c7ab Update for some missing enums added in late SPIR-V revisions 2016-04-22 18:35:58 +02:00
baldurk 7663ff248a Implement Atomic ops 2016-04-22 18:32:47 +02:00
baldurk c7512e15e2 Implement OpArrayLength very similar to AccessChain/CompositeExtract 2016-04-22 17:45:11 +02:00
baldurk 33d8585bdb Change default ID name from {x} to _x_.
* I think eyes are just more use to parsing legal identifier characters
  (like _s) rather than {}s syntax. It feels like it's probably more
  readable overall, although there's more of a risk of it blending into
  the names in the original code
2016-04-22 17:36:55 +02:00
baldurk 341f06abfc Add friendly normal names for extension instruction calls 2016-04-22 17:36:54 +02:00
baldurk 042579a47b Allow selective opting out of brackets, where precendece is clear 2016-04-22 17:36:54 +02:00
baldurk 0859baceec Implement OpImageTexelPointer 2016-04-22 16:53:46 +02:00
baldurk f1ff280c6f Increase the allowed inlining complexity 2016-04-22 16:41:07 +02:00
baldurk 827d09625d Skip any inlined redundant load(store(op)) type things when bracketing
* Also apply the brackets in GetArg() so it applies to any opcode,
  instead of repeating the logic everywhere
2016-04-22 16:41:07 +02:00
baldurk 8002638834 Remove hardcoded complexity limit 2016-04-22 16:20:53 +02:00
baldurk 5f57084b15 Fix FindFirstInstructionUse function to recurse properly 2016-04-22 16:20:44 +02:00
baldurk 6f06a41b0f Add brackets around math ops where needed 2016-04-22 16:20:03 +02:00
baldurk 0b49870abb Examine OpReturnValue for possible composite extract/construct merging 2016-04-22 15:15:02 +02:00
baldurk 8ab57cac06 Make sure to bracket the base composite correctly 2016-04-22 15:12:16 +02:00
baldurk 98a5ba0507 Don't add swizzle at all if it's the identity, after combining extracts 2016-04-22 14:40:40 +02:00
baldurk d39782e979 Remove need for type() constructor around shuffles of one vector 2016-04-22 14:40:39 +02:00
baldurk 91f36afb59 Fix check on VectorShuffle referring to second vector components 2016-04-22 14:39:34 +02:00
baldurk 284dfa87a4 Only put brackets around base string if it's inlined 2016-04-22 14:34:22 +02:00
baldurk 2c59d0daa8 Simplify any CompositeConstructs that have all parameters equal 2016-04-22 14:33:39 +02:00
baldurk 7de2fc670b Don't wrap ()s around math ops that aren't inlined 2016-04-22 14:12:01 +02:00