Commit Graph

9845 Commits

Author SHA1 Message Date
Benson Joeris b8fbdf399b Fix overlap check in rdcarray::insert
This fixes an infinite when attempting to call `insert(0, NULL, 0)`
on an empty `rdcarray`.

The new behaviour also triggers a copy when the inserted interval
overlaps the `rdcarray`'s *allocated* memory (rather than just the
currently used prefixed).

Change-Id: I075827d50a24d0560ca391224820334e467a41f5
2019-12-16 17:04:05 +00:00
Benson Joeris 722d24a96e BitFlagIterator: add constructor to start from a specified bit
Change-Id: I7fbd6d10167cf970f3cf99224d43e3b9db7cbedf
2019-12-13 22:55:43 +00:00
Benson Joeris b5f40e68e8 Protect against overflow in MemRefs
Change-Id: I70d4143bd5bcdefe4f5f0a610aec6ff0321112f5
2019-12-13 22:52:58 +00:00
Benson Joeris 4ea32eac43 Improve handling of VK_REMAINING_* in ViewRange
Change-Id: I22ce05e67b637a4edf3418f83e829a5e25510eb0
2019-12-13 22:51:00 +00:00
baldurk c82d0f58b9 Rename WASD to Flycam in mesh viewer controls
* This should now work regardless of keyboard layout, e.g. on AZERTY the same
  physical keys will still work. We also add arrow keys as a backup
2019-12-13 16:37:14 +00:00
baldurk 24e4f4179f Fix projection guessing controls sometimes being enabled when unused 2019-12-13 16:36:44 +00:00
baldurk 222816c537 Fix check for DDS flags not to be equality 2019-12-13 12:27:40 +00:00
baldurk 68b01444df GL doesn't support 3D depth/stencil textures 2019-12-13 12:05:40 +00:00
baldurk 0f26e3cb6e Allow images to be unsupported 2019-12-13 11:46:28 +00:00
baldurk a5704344b6 Always remap depth textures to RGBA32F if needed 2019-12-13 11:46:10 +00:00
baldurk 66cd12f113 Don't specify BIND_DEPTH_STENCIL on 3D textures 2019-12-13 11:45:59 +00:00
baldurk 6ffd725a13 Don't try to create proxy textures that aren't supported by the proxy 2019-12-13 11:45:44 +00:00
baldurk 810be9ae8e Handle depth/stencil 3D textures exhausting UBO ring twice as fast
* We do two renders per slice - for depth and stencil, make sure to account for
  that.
2019-12-13 11:10:28 +00:00
baldurk 08ccab2a7f Prefer VK_LAYER_KHRONOS_validation for debugging if available 2019-12-13 11:09:57 +00:00
baldurk ed53548731 Check for optional vertex buffer format support in vulkan vertex zoo 2019-12-13 11:07:32 +00:00
baldurk 5ae489b18b Add trailing newline 2019-12-12 19:34:04 +00:00
baldurk 6bbf4cb209 Allow fallback to glslangValidator in tests for compiling SPIR-V 2019-12-12 17:58:52 +00:00
baldurk 848b58826d Ensure we ignore unused parameters in DescriptorUpdateTemplateCreateInfo 2019-12-12 17:58:52 +00:00
baldurk 0773f13949 Ensure re-used handles in descriptor sets don't cause problems
* Previously if a handle was reused, and then a stale descriptor referencing the
  old handle was removed it would remove the *new* object from the list of
  referenced resources. This could cause a resource to be not included in a
  capture if nothing else added a new reference.
2019-12-12 17:58:52 +00:00
baldurk 6581251ec0 Fix SPIR-V processing of vector constants 2019-12-12 17:58:51 +00:00
baldurk 39793cf850 Renderpass barriers apply to whole 3D texture even when using one slice
* When the renderpass has an initialLayout = UNDEFINED, that applies to the
  whole resource on 3D textures even if we're only rendering to a slice at a
  time
2019-12-12 17:58:51 +00:00
baldurk f8ff6b4f6c Fix parameters for rendering 3D depth images in texture zoos 2019-12-12 17:58:51 +00:00
baldurk fb452c3c02 Make sure to always update oldLayout when processing image states
* This is used to determine what barriers to apply
2019-12-12 17:58:51 +00:00
baldurk 20abaec49f Don't load self-capturing module, only use if already present 2019-12-12 17:58:51 +00:00
baldurk c7d0d9dad8 Add some internal marker regions in vulkan driver 2019-12-12 17:58:51 +00:00
Steve Karolewics a88deaeba0 Implement D3D12Replay::DebugPixel
This enables the core loop of capturing PS inputs, building shader
debug state, and walking through a shader's instructions.
2019-12-12 17:58:25 +00:00
baldurk c63baeb609 Bind unused pixel pack/unpack buffers in GL_Resource_Lifetimes test
* This ensures having them around doesn't break capture.
2019-12-11 16:59:50 +00:00
baldurk 7726dc1cd0 Test glCreateShaderProgramv use in GL_Resource_Lifetimes test 2019-12-11 16:52:20 +00:00
baldurk eae57b68e1 Don't trash current program state in GL when creating MSAA conv programs 2019-12-11 16:45:37 +00:00
baldurk 0659c7338f Fix state push/pop not being quite right on GL 2019-12-11 16:45:21 +00:00
baldurk 6fa54ce342 Ensure ClearState() is serialised in D3D12 command lists 2019-12-11 15:38:02 +00:00
baldurk b15c0541f0 Explicitly report sparse features as unsupported on vulkan
* What partial support was there has rotted since vulkan was released. This
  feature is virtually unused so we just disable it being honest.
2019-12-11 15:28:38 +00:00
baldurk ec5d1ae39e Don't set immutable samplers for initial state SAMPLER descriptor writes 2019-12-10 19:39:29 +00:00
baldurk 67082e037d Fix GL texture zoo handling of RGB9E5 2019-12-10 19:39:08 +00:00
Reiner Dolp d3c4b97e2f Export 32bit floating point textures to 32bit floating point EXR files 2019-12-10 16:32:40 +00:00
baldurk 723c293414 Update vulkan headers and implement VK_EXT_tooling_info. Closes #1632 2019-12-09 16:46:26 +00:00
baldurk 649534072a Fix implementation of GetPhysicalDeviceProcAddr 2019-12-09 16:38:34 +00:00
baldurk 73bc49fe6e vulkan dispatch table must be generated with trailing newline 2019-12-09 16:37:27 +00:00
baldurk e83bc8ed04 Remove memory index mapping from physical device record
* This never worked because the spec requires a coherent memory type and it must
  be sorted first, many applications either used it anyway no matter how
  unappealing we made it look or else ignored the coherent flag entirely but
  treated memory as coherent anyway...
* The extra cold data pointer in the physical device record is the instDevInfo
2019-12-09 16:37:11 +00:00
baldurk 28e4039db8 Fixup secondary command buffer submission events
* When deleting events reserved for indirect draws we need to also fixup the
  secondary command buffer base submission events or they'll be out of sync.
2019-12-06 15:47:22 +00:00
baldurk ff30bd65e6 Remove VK_EXT_full_screen_exclusive when creating replay device 2019-12-06 14:55:11 +00:00
baldurk 67f56bf431 When creating SPIR-V bindpoint mapping ensure we cover all attrib binds 2019-12-06 01:04:12 +00:00
baldurk 4f3ea6d12b Special-case VK_LOD_CLAMP_NONE for samplers in pipeline state view 2019-12-06 01:04:12 +00:00
Steve Karolewics 149dbeab9b Add helper function to fetch constant buffer data for D3D12 debugging 2019-12-05 19:23:45 +00:00
luckyxxl 7bf16a8e8b fix glVertexAttrib*f capture 2019-12-05 12:37:38 +00:00
baldurk 01674ec93b Invoke qmake in release mode when building a release cmake build 2019-12-03 21:47:04 +00:00
baldurk cca4a42e5c Fix vulkan environment variable name 2019-12-03 21:47:04 +00:00
baldurk 3df0c59935 Don't use -Wcomma in old versions of clang 2019-12-03 10:12:06 +00:00
baldurk 6d1d302491 Fix a number of warnings identified by higher clang warning levels
* We enable a couple of high signal-to-noise warnings in all clang builds
2019-12-02 20:41:28 +00:00
baldurk 759926493b Don't add STORAGE_BIT to MSAA textures unless it's supported
* Now that we've decoupled MS->Array and Array->MS we might have the former even
  if the latter is unsupported.
2019-12-02 20:41:28 +00:00