Commit Graph

6023 Commits

Author SHA1 Message Date
baldurk fad2ce6964 Don't strip capture's device extensions away with backwards strcmp 2017-09-19 17:14:20 +01:00
baldurk 4d5ab22e97 Don't display a register/slot index for built-in shader variables 2017-09-19 17:14:20 +01:00
baldurk 3f2d82acfb Fixes for compiling with disabled xcb, or disabled xlib & xcb 2017-09-19 17:14:20 +01:00
baldurk 9e102f801a Add a warning if only CMAKE_INSTALL_PREFIX is customised
* VULKAN_LAYER_FOLDER points outside the prefix to /etc in absolute, so
  usually if you customise one you'll want to customise the other.
* This is especially true if you're pointing the install prefix at some
  non-root location, and you want make install to succeed instead of
  failing to write to /etc.
2017-09-19 17:14:19 +01:00
baldurk 022188c4b7 Fix assertion to allow 8 color attachments. Refs #743 2017-09-14 11:06:24 +01:00
baldurk 2a8cb39ef7 Use GL_DEPTH_ATTACHMENT when attaching depth-only texture to FBO 2017-09-14 11:06:23 +01:00
baldurk 7a78ae67ff Revert mistakenly cherry-picked follow up to change not on v0.x
This reverts commit d129222464.
2017-09-13 16:00:55 +01:00
baldurk 04b715890c find previous button should be left of the find next button 2017-09-13 14:55:25 +01:00
baldurk c7dda154ab Fix format string 2017-09-13 14:54:51 +01:00
baldurk e8d9efb844 Reset hover index when widget is cleared, don't leave it to be stale 2017-09-13 14:54:21 +01:00
baldurk 4e275421bb Set basevertex to 0 when calculating column data width 2017-09-13 14:53:33 +01:00
baldurk b603230023 Fix texture saving not propagating the right settings 2017-09-13 14:53:26 +01:00
baldurk d129222464 Make sure to refresh model if only children were added 2017-09-13 14:53:13 +01:00
baldurk 9e6cee3f5c Turn off tracing after execution finishes
* This means the tracing isn't still lingering around when we shutdown
  and the context is destroyed.
2017-09-13 14:52:49 +01:00
baldurk e588b496e5 Immediately delete any open LiveCapture windows when closing 2017-09-13 14:52:44 +01:00
baldurk 9d54cf6b79 Special case - manually backport "Don't select unused bindings..." to C# 2017-09-13 14:52:18 +01:00
baldurk 8617a7fad3 Fix display of 3D textures not applying mip offset to slice 2017-09-13 14:50:49 +01:00
baldurk 809217ec60 Fix formatting of string to not append an int interpreted as a QChar 2017-09-13 14:50:42 +01:00
baldurk 7a38f9d853 Add alpha2coverage to VK state view, move it & alpha2one to MSAA group 2017-09-13 14:50:35 +01:00
baldurk 43c3bf5cf8 Don't select unused bindings over a valid bind in vk pipeline state
* If there's a variable which is unused and has no binding declared, it
  will be sorted to the end of the list and given a binding of 0. We
  don't want to let this override a valid binding for 0, so make sure we
  prioritise any variable which is marked as used over one that is
  unused.
2017-09-13 14:50:30 +01:00
Alex Smith 2ae8fb9602 Fix tracking of dynamic offsets when binding multiple descriptor sets
Before this, when binding multiple sets that use dynamic offsets, the
wrong offsets would be stored for all sets other than the first. This
caused the wrong offsets to be used when replaying individual draws.
2017-09-13 12:31:31 +01:00
baldurk 41ba1dcba5 Use sudo to update pip packages 2017-09-13 12:31:23 +01:00
baldurk 0a215a03ea Set proper 3D texture resolution for histogram calculations 2017-09-13 12:31:07 +01:00
baldurk 4c2a4512e7 Only set graphics dynamic state on binding graphics pipeline. Refs #740 2017-09-13 12:30:58 +01:00
baldurk 456f8bbf0c Don't perform occlusion/statistics queries that aren't needed 2017-09-11 20:36:39 +01:00
baldurk 7a34ebb934 Use correct IsDrawInRenderPass() for vkCmdDraw validity check 2017-09-11 20:36:28 +01:00
baldurk e25af7685b Add a fallback if TF varyings cause program not to link 2017-09-11 15:32:09 +01:00
baldurk 6c4f407b62 When applying TF varyings workaround, handle matrix variables with :row
* The vertex output signature is split into vectors only, so we need to
  go back to the base matrix name.
2017-09-11 13:56:12 +01:00
baldurk cf95e7a3f6 VK_KHR_get_memory_requirements2 is a device, not instance, extension 2017-09-11 11:43:25 +01:00
baldurk dd5590f8e5 Fetch dispatch thread dimension always even if we don't disassemble
* We need the dispatch thread dimension to be valid when creating the
  shader reflection data, which may happen before we've disassembled the
  bytecode.
* We do a minimal pass just to skip to that opcode and extract the dims.
2017-09-11 11:43:19 +01:00
baldurk d6c03f58bc Select the next highest event when replaying from an event
* Searching down from the end for the next lowest event causes us to
  sometimes replay backwards when a marker is selected (and has no
  event in the array to replay directly). This can crash on vulkan, and
  is unintuitive/wrong on other APIs. Instead we follow the behaviour
  that we have elsewhere so that when a marker is selected we move
  _forward_ in the frame to select the next event after it.
* Checking the history there doesn't seem to be any strong reason for
  this direction of search.
2017-09-11 11:43:08 +01:00
michaelrgb 8d7b4d2f81 Set TF mode for all initProg varyings, to stop driver culling uniforms. 2017-09-07 10:41:46 +01:00
baldurk 92855d3749 Fix remapping 3D textures on vulkan, for fetching texture data to save 2017-08-29 14:47:49 +01:00
baldurk 177d595d4f Ensure to always use wrapped resources when constructing resource ranges
* If we don't consistently use wrapped resources then we could get false
  negatives.
* For example, views always constructed with the *unwrapped* object, but
  when unbinding a backbuffer before a swapchain resize, we used the
  *wrapped* backbuffer texture to search for clashes. This meant some
  bindings went un-noticed, and left references dangling.
2017-08-18 18:49:23 +01:00
baldurk 9a409eb413 Don't look up offset in serialised data as it's already been applied
* Fixes a crash reading off the end of the serialised buffer
2017-08-17 18:10:07 +01:00
baldurk 5e519f58c3 Create an equivalent 'loadFB' framebuffer for every 'loadRP' renderpass
* In order to be able to split apart and partially replay every render
  pass, we change them to always STORE instead of DONT_CARE, and then
  create a patched version that only has a single subpass (for each
  subpass in the original) and has LOAD/STORE semantics.
* However because of the requirements for framebuffer <-> renderpass
  we have to now multiply up the framebuffer to make a patched fb to
  correspond to each patched renderpass.
2017-08-17 18:10:06 +01:00
baldurk 31107b3a1a Make sure not to offset secondary cmd buf submissions multiple times
* When a primary command buffer is submitted that contained some
  secondary executes, we offset their executes to be 'absolute'
  root-relative events so they know when they're being partially
  replayed.
* If the same secondary is executed in multiple primaries that are
  submitted separately, we don't want to apply the same offset over and
  over, instead we mark an execute as updated and only offset 'new'
  executions.
2017-08-17 18:09:53 +01:00
Cody Northrop e42f883d26 cmake: Update javac classpath to work on Windows 2017-08-17 10:00:04 +01:00
Cody Northrop 88587f8c5d docs: Update CONTRIBUTING.md for Windows and macOS 2017-08-17 10:00:03 +01:00
Cody Northrop 18be4d91b2 cmake: Add control over Android build-tools version
Specify -DANDROID_BUILD_TOOLS_VERSION=<foo> to change from the
default of 26.0.1.

Also respect the selected Android platform version.
2017-08-17 10:00:03 +01:00
Cody Northrop 7044961970 docs: Add setup and build steps for Android on Ubuntu 2017-08-17 10:00:02 +01:00
Cody Northrop 52e6af97a1 travis: Update config for Android with latest SDK/NDK 2017-08-17 10:00:01 +01:00
Cody Northrop 83e1e1506b android: Update packaging to work with latest SDK
This removes dependencies on deprecated tools "ant" and "android project"

The new method relies on JAVA_HOME and ANDROID_SDK being set.

It also requires specific versions of the Android build-tools (26.0.1) and
platforms (android-23).  See updates to CONTRIBUTING.md and our Travis-CI
config for details.

Travis-CI and documentation also roll forward to latest public NDK r14b.
2017-08-17 10:00:01 +01:00
baldurk 58cf0cd7fd Add default initialisation for tag object, fixes a warning on gcc 2017-08-16 18:29:20 +01:00
baldurk 3d9a26cd8f Fall back to creating a non-SRGB capable fbconfig. Refs #721
* In some cases it seems that no sRGB fbconfigs are available, so we
  fall back and create a non-SRGB one. This may render incorrectly but
  at least it should run without crashing.
2017-08-16 18:29:13 +01:00
baldurk d5d51aa516 Only unwrap elements in VkDescriptorImageInfo that should be valid
* In particular for e.g. elements that don't require a sampler, the
  VkSampler may point to a random address if it's uninitialised, and we
  shouldn't try to access it at all.
2017-08-15 17:26:46 +01:00
baldurk 5d100c2f62 Use glXGetProcAddress to fetch glXCreateContextAttribsARB. Refs #716
* Most functions we hook and then jump to the real driver we can fetch
  just with dlsym to the library, but the ARB context creation function
  is an extension and may not be directly exported.
* It's safe to call glXGetProcAddress(ARB) without a context current
  though and it's guaranteed to be directly exported, so we can use this
  to fetch the function if we don't find it with dlsym.
2017-08-15 17:17:55 +01:00
baldurk dc8a962eb6 Add handling for min precision in DXBC bytecode. Refs #720
* This includes ISG1 and OSG1 chunk types which have an extra enum on
  the end for the minimum precision type.
* Also add extra casing for min precision types (although anywhere they
  are on an externally-facing interface, they're not actually min
  precision).
2017-08-15 17:17:55 +01:00
baldurk cb52d2de6d Flush texture overlay cache whenever texture ID or type hint changes
* Even if the overlay didn't change, a new texture ID requires a re-draw
  of the overlay.
2017-08-15 17:17:55 +01:00
baldurk 58359e42ac Fetch SRV buffer format descriptor from declaration if not in SRV
* It's seemingly possible to bind a structured SRV with no format
  given, to a Buffer<float4> declaration in the shader. In this case
  we can't get the buffer stride/format type from the SRV itself so we
  have to go to what's declared in the reflection data itself.
2017-08-15 17:17:54 +01:00