Commit Graph

10344 Commits

Author SHA1 Message Date
baldurk 028364910e Refactor ConvertComponent to ConvertComponents
* This way it can ensure that alpha components aren't sRGB corrected, as well as
  handling BGRA swaps and some common packed formats.
2020-03-17 10:39:11 +00:00
baldurk fb3563fb52 32-bit compile fix 2020-03-17 10:15:01 +00:00
baldurk 6e106d4c6c Stream large buffers directly when reading
* This prevents us resizing our read-window to a large size only to read then
  memcpy into place.
2020-03-16 20:01:47 +00:00
baldurk cc64061172 Fix issues with paging in raw buffer viewer 2020-03-16 20:01:47 +00:00
baldurk cdb93609d0 Skip loading event usage for large descriptor arrays on vulkan 2020-03-16 20:01:46 +00:00
baldurk e814d505a9 Drop VK_KHR_driver_properties on replay if it's not available 2020-03-16 20:01:46 +00:00
baldurk b502d64ada Don't read invalid srcOpers when evaluating texture sample operations 2020-03-16 20:01:46 +00:00
Steve Karolewics 67447b7b7e Improve handling of resource arrays for D3D12
When getting read only resources from the pipe state, stitch back up
according to the bindpoint mappings. When displaying resources in UI,
don't traverse unbounded arrays. Fix resource swizzle on load/sample/
gather instructions, which happens on fetch result, not on the source
operand. Added more tests for unbounded arrays and different ways to
index into arrays.
2020-03-16 20:01:30 +00:00
baldurk a344d226ee Fix device memory selection on replay as well 2020-03-16 12:04:41 +00:00
baldurk 4dde584415 Make compression tests a bit more lenient for reduced efficiency 2020-03-13 19:16:28 +00:00
baldurk 4f39279578 When opening a texture in raw buffer viewer, scroll to selected point 2020-03-13 18:00:34 +00:00
baldurk 2375754a8a Increase LZ4 compression acceleration value to 20
* This has minimal effect on compression ratio for a sample workload and a good
  improvement in compression speed.
2020-03-13 13:07:26 +00:00
baldurk 3174ab0db8 Update LZ4 to v1.9.2 2020-03-13 13:06:51 +00:00
baldurk 9f309be350 Print compression percentage when writing RDC files 2020-03-13 12:46:24 +00:00
baldurk 929bcfc0ce Improve memory type selection on vulkan
* The memory properties no longer have bits to be avoided, but instead bits to
  be desired - readback memory type should be cached if at all possible.
2020-03-13 11:59:37 +00:00
baldurk 3bfaf929e6 Add a timer for logging overall capture duration & size 2020-03-13 10:43:00 +00:00
baldurk 233c8bfce1 Use dl_iterate_phdr to generate non-PIE compatible mapping. Closes #1773
* For non-PIE executables /proc/self/maps contains a segment that starts at e.g.
  0x00400000, which is fine, but the offset listed is 00000000 which is not.
* We need to pass absolute addresses to addr2line, so using dl_iterate_phdr to
  iterate ourselves allows us to specify that the offset is 00400000.
* For simplicity and backwards compatibility, we generate the same format as
  /proc/self/maps complete with dummy fields that we don't need. In future this
  could be a more compact representation.
2020-03-12 16:51:19 +00:00
baldurk 40611a3dde Test subresource rendering in overlay tests, remove png comparisons 2020-03-12 16:51:19 +00:00
baldurk 954e29df9e Fix handling of overlays when rendering to mips
* Also removes some unnecessary variations in behaviour between APIs
2020-03-12 15:42:54 +00:00
baldurk 02184b07e7 Support picking from output overlay textures which don't have details 2020-03-12 15:42:54 +00:00
baldurk ea41937617 Support internal test cases which are not registered
* This is useful for large tests like Mesh_Zoo and Texture_Zoo which are API
  independent, which can derive from TestCase to get all the helpers, but then
  not get auto-added until an API-specific test derives from them
2020-03-12 15:42:54 +00:00
baldurk 59ccddf31b Skip all tests first in test runner 2020-03-12 15:42:54 +00:00
baldurk 310011999f Add bounds checking for DDS header values 2020-03-12 11:07:58 +00:00
baldurk b9a9542f3b Ignore maps of READBACK resources on D3D12 2020-03-11 18:00:53 +00:00
baldurk cb94a28768 Create GLES shaders as version 300 if replaying on GL ES 3.0. Refs #1770 2020-03-11 18:00:53 +00:00
baldurk 208a023f12 Fix buffer viewer pagination, allow row offset updates to change page 2020-03-11 18:00:53 +00:00
baldurk b392c07d83 Add tests that use large vertex buffers 2020-03-11 18:00:53 +00:00
baldurk 6ed0bfb08d Fix readbacks of large buffers in D3D12 2020-03-11 18:00:53 +00:00
baldurk 936e6372cb Remove use of 3rdparty/ prefix from includes
* We instead always have 3rdparty/ in the relevant include search paths and rely
  on that. Each library still has its own unique base dir within 3rdparty to
  clarify where the include is coming from.
2020-03-11 18:00:53 +00:00
Jordan Justen cf91e8badf qrenderdoc: Use QMAKE_EXECUTABLE if QT_QMAKE_EXECUTABLE is not defined
Debian's debhelper automatically defines this variable during cross
compilation builds.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2020-03-11 18:00:42 +00:00
Steve Karolewics c74edcebbd Fix array resource indexing with NonUniformResourceIndex 2020-03-11 18:00:31 +00:00
baldurk 01929040d3 Bump version to 1.8 2020-03-10 15:36:36 +00:00
baldurk a56af589d9 Don't modify descriptor update template while writing. Closes #1765 v1.7 2020-03-09 17:36:56 +00:00
baldurk 107f89048b Fix race condition when keeping D3D12 buffers alive during capture
* There was a gap between stopping active capturing (meaning newly created
  buffers are given an extra refcount) and releasing the extra refcount. Any
  newly created buffers in that gap would still be released but that would mean
  one of the application's ref's is removed, possibly destroying a buffer by
  mistake.
* Instead we keep a specific list of buffers that we're extending so that we
  know that the buffers we release are exactly those we gave extra refs to.
2020-03-09 14:28:03 +00:00
baldurk 4b7c7eaaea Force a full rebuild on android in build scripts
* We still detect the precise same git commit in the android build and skip
  recompiles, which is useful for building android once on one platform and
  sharing it with other host platform builds.
2020-03-09 11:16:57 +00:00
baldurk 5cf93da317 On windows put msbuild log in dist folder 2020-03-09 10:57:05 +00:00
baldurk 5cd04f27a0 Fix some encoding issues with sphinx docs in htmlhelp builder 2020-03-09 10:57:05 +00:00
Steve Karolewics baa7adea30 Implement GetSampleInfo for D3D12 debugging 2020-03-09 10:56:56 +00:00
Steve Karolewics 9b43481234 Prevent crash with OMSetRenderTargets in D3D12 2020-03-07 21:08:32 +00:00
baldurk c6a1a23adb Remove mismatched end_section when skipping unsupported capture 2020-03-06 17:56:28 +00:00
baldurk d04f36260b Check that shader debugging is enabled before doing anything 2020-03-06 17:56:28 +00:00
baldurk 2a29054e46 Fix config values for Iter_Test 2020-03-06 17:56:28 +00:00
baldurk a2c87e23a1 Set appropriate epsilon for A8 textures in texture zoo 2020-03-06 17:56:28 +00:00
baldurk f23d86fb6b Use shader encoding when saving shaders to disk 2020-03-06 17:56:27 +00:00
baldurk 85a5752569 Fix use of check_pixel_value in GL_Unshared_Context test 2020-03-06 17:56:27 +00:00
baldurk 14dc2a57f6 Fix refcounting on python traceback object 2020-03-06 17:56:27 +00:00
Aliya Pazylbekova 756b8fcc68 VK pixel history: change renderpass and framebuffer
During the first callback we use an occlusion query and a stencil
attachment to count the fragments. For that callback create a new
framebuffer that is equivalent to the original, except that it
substitutes the original depth stencil attachment (if there was one)
with a different one where we can count the number of fragments.

Previous code breaks for the case where there are multiple colour
attachments. For these replays also set colorWriteMask to 0, so that the
color information is not written, since we are using the original
attachments.

Also stop and resume renderpass when doing a copy on
vkCmdBeginRenderPass.
2020-03-06 17:56:12 +00:00
Steve Karolewics dcd7ad0c8a Fix incorrect logical identifiers for constant buffers with D3D12
The assignment of logical identifiers is not guaranteed to match the
order of appearance in the shader bytecode. Adjusted D3D12_CBuffer_Zoo
to exercise this for testing.
2020-03-06 10:04:39 +00:00
baldurk b0f0dad7fd Test that we can capture and replay VkPhysicalDeviceVulkan12Features
* This ensure we don't accidentally enable any features that aren't supported.
2020-03-05 19:35:45 +00:00
baldurk 7e0bab41ab Test for duplicate extensions in GL extension string 2020-03-05 19:35:45 +00:00