Commit Graph

6833 Commits

Author SHA1 Message Date
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
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 cca4a42e5c Fix vulkan environment variable name 2019-12-03 21:47:04 +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
baldurk 5ba3026f68 Don't include alignment padding in returned alloc size. Closes #1625
* If we include the padding we might try to over-allocate the initial contents
  and copy/fill beyond the valid size for the actual memory allocation.
2019-12-02 20:41:28 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
baldurk fde74d4710 Handle thumbnails of 0 width or height without crashing 2019-12-02 14:08:46 +00:00
baldurk 01c80c4b14 Don't add vkQueuePresentKHR drawcall while replaying 2019-12-02 13:08:10 +00:00
baldurk 90c4c9855c Remove unnecessary STL includes from header files
* Some of these were leftover and no longer needed, some only needed in a subset
  of cpp files.
2019-12-02 11:59:55 +00:00
baldurk 8db0811678 Don't include ostream in rdcstr.h
* It's only needed for renderdoccmd and catch tests, so define it locally where
  needed.
2019-12-02 11:15:07 +00:00
baldurk f42d718ffa Explicitly mark system chunks as internal in their names 2019-12-02 10:59:29 +00:00
baldurk 7aca655ffc Don't access debug manager when structured exporting 2019-12-02 10:58:37 +00:00
baldurk 9e9423db41 Fix 32-bit compilation 2019-11-29 15:02:06 +00:00
baldurk f3e0d98484 Add out of memory logging on rdcstr/rdcarray 2019-11-29 15:02:06 +00:00
baldurk 41e4f61ea8 Ensure a VAO is bound for depth MSAA<->Array copies 2019-11-29 15:02:06 +00:00
baldurk 267eb7f6ea Ensure a sized format is used when creating MSAA textures. Closes #1623
* If the application used an unsized format like GL_DEPTH_COMPONENT to create
  the texture with glTexImage2DMultisample then that's legal, but if we promote
  it to glTextureStorage2DMultisampleEXT for DSA we can't continue to use that
  unsized format so we need to convert to sized by picking a sensible default.
2019-11-29 15:02:05 +00:00
baldurk 23c3a38496 Create fake buffer for D3D11 UAV hidden counters. Closes #1593 2019-11-29 13:53:45 +00:00
baldurk af2c0d2012 Add fake expanded root signature into structured data. Closes #1621 2019-11-29 13:53:45 +00:00
baldurk 18a85eed3d Don't allocate memory for arrays when structured serialising 2019-11-29 13:53:45 +00:00
baldurk e40094691c Allow EXT|KHR_buffer_device_address 2019-11-29 13:53:45 +00:00
baldurk e205054317 Add UI support for GPU typed pointers in buffers 2019-11-29 13:53:44 +00:00
baldurk b3979262a5 Replace FormatElement with ShaderConstant/ShaderVariableType
* FormatElement is now a static BufferFormatter class to help generate and parse
  buffer formatting strings
2019-11-29 13:53:44 +00:00
baldurk 324b96c977 Remove FormatElement::byteSize(), move to ResourceFormat 2019-11-29 13:53:44 +00:00
baldurk 89d794ed5a Ensure even for special format GL returns sensible compCount/compType 2019-11-29 13:53:44 +00:00
baldurk 93add323e5 Disable stdout logging 2019-11-29 13:53:44 +00:00
Steve Karolewics b1e6b2f13c Fix D3D12 BeginEvent/SetMarker to use size in bytes 2019-11-28 19:32:08 +00:00
baldurk b16dda9d4a Update to vulkan headers 1.1.129
* Expand handling for EXT_buffer_device_address to cover
  KHR_buffer_device_address
2019-11-27 16:14:40 +00:00
baldurk b924f84d8d Apply swizzle on resource parameter when doing loads. Closes #1619 2019-11-27 14:37:33 +00:00
baldurk 9f4fb3cd33 Don't lose forced SRGB texture remapping in D3D11/D3D12 2019-11-27 11:07:06 +00:00
baldurk 082521ec24 Fix texture remapping on GL for stencil textures 2019-11-27 11:05:43 +00:00
baldurk 11c39377b1 Handle range adaption in texture remapping
* This can be used in saving overlays, stencil, etc
2019-11-27 11:05:24 +00:00
baldurk 8e338de519 Fix clang compilation 2019-11-27 00:22:47 +00:00
baldurk 94ccfd5497 Don't set base/max level for rectangle textures 2019-11-26 17:38:27 +00:00
baldurk 04f349cbe8 Don't transition pArgumentBuffer unless we need to
* The buffer may be in an upload heap and be invalid to transition.
2019-11-26 17:38:27 +00:00
baldurk 9d34444b85 Ignore VK_SUBOPTIMAL_KHR return value from vkAcquireNextImageKHR 2019-11-26 17:38:27 +00:00
baldurk 7395456b7c Deliberately leak android tool cache so it doesn't go out of scope
* We need this to survive until shutdown, and global destruction order is
  undefined.
2019-11-26 17:38:27 +00:00
baldurk 938056a67c Add support for serialising MSAA initial states on GL 2019-11-26 17:38:27 +00:00
baldurk 62dc2c5a91 Check that format/texture is supported on local proxy
* Even if we can map a remote format precisely to a local API format, that
  doesn't mean the local API driver supports it - we need to check, otherwise
  force a remap.
2019-11-26 17:38:26 +00:00
baldurk a4372b2b5f Fix size calculations in vulkan GetTextureData 2019-11-26 17:38:26 +00:00
baldurk 3daf899cef Add internal marker for GetTextureData on Vulkan 2019-11-26 17:38:26 +00:00
baldurk ab74df54ca Use typecast provided at proxy texture creation time on D3D
* When we create proxy textures on D3D we create them as typeless, but this
  means we might lose the only time we are told about the type interpretation of
  the texture. If we then later get asked to view the texture as typeless, be
  sure to use that type info to interpret it, instead of defaulting to UNORM or
  FLOAT.
2019-11-26 17:38:26 +00:00
baldurk edc8fb6bd6 Be more precise with texture remapping to handle integer textures 2019-11-26 17:38:26 +00:00
baldurk 45144ed478 Don't rely on proxy renderer for texture description in image viewer 2019-11-26 17:38:26 +00:00
baldurk f6d7e2c6e4 If a typed DXGI format isn't available, consider texture unsupported 2019-11-26 17:38:26 +00:00
baldurk 19847c4574 GL doesn't support block-compressed 3D textures 2019-11-26 17:38:26 +00:00