Commit Graph

9791 Commits

Author SHA1 Message Date
baldurk 397ea679f5 Handle the present call being within markers 2019-12-02 13:13:59 +00:00
baldurk 6e6c7bac62 Fix old terminology in renderdoccmd documentation 2019-12-02 13:08:19 +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 5838a33d7e Don't add array stride until first child struct 2019-11-29 22:41:09 +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 3bf805ec35 Add 'expand all' menu to resource inspector 2019-11-29 13:53:45 +00:00
baldurk 289e159072 Add padding to struct definitions in shaders, for better formatting 2019-11-29 13:53:45 +00:00
baldurk f514815e3c Update buffer formatter help text, save its visibility in config 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 4214aa45bf Fix interpretation of formatted shader variables 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 00170e2ec3 Make GetVariants a free function taking interpreting format directly
* We also store the format in BufferElementProperties for the buffer viewer
  since we'll later remove the ResourceFormat stored in FormatElement
2019-11-29 13:53:44 +00:00
baldurk 77b5c391e9 Check that we handle padding and alignment around structs
* On all APIs structs are aligned up to 16-byte alignment, and on D3D as with
  arrays then elements coming after the struct can be packed into the padding
  after the last struct element.
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 f046423664 Split buffer-centric properties out of FormatElement 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 24c0b018ea Fix types used for non-uint types in GL_Texture_Zoo test 2019-11-27 12:06:25 +00:00
baldurk 9f4fb3cd33 Don't lose forced SRGB texture remapping in D3D11/D3D12 2019-11-27 11:07:06 +00:00
baldurk b0afdd2988 Don't force typecast from real texture when saving overlay/custom shader 2019-11-27 11:06:03 +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 f7e5199cf4 Clamp out-of-bounds undefined results for resinfo 2019-11-27 11:02:25 +00:00
baldurk 8e338de519 Fix clang compilation 2019-11-27 00:22:47 +00:00
baldurk 31c962bf51 Free undefined image in VK_Image_layouts test
* The free() function should also destroy the image/buffer not just free the
  memory.
2019-11-26 23:42:16 +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 279a2ec69d Add texture zoo tests
* These tests ensure that texture rendering works correctly for all different
  types of texture types, and for all formats, across different APIs, including
  across a remote-proxy connection.
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 186ca30045 Treat binding viewcasts are always definitive
* On APIs like vulkan the view casting happens from an already typed format, so
  don't assume that casts are only applied when the underlying format is
  typeless. When a cast is not valid the view format should never be different
  from the underlying image format as the API should never make it possible to
  validly create or bind a view with a different format.
2019-11-26 17:38:26 +00:00