Commit Graph
14019 Commits
Author SHA1 Message Date
Jake Turner 0b669b61e9 Improve GIT versiion retrieval code to work with worktrees 2023-09-04 21:37:25 +01:00
Jake Turner 08a9c1dac2 minimal change to fix Mac CI 2023-09-04 20:50:50 +01:00
Jake Turner e32a9b1784 D3D11: Improve pixel history discarded fragments Closes #3040
Include the discarded offset when indexing to get the post mod data per fragment
Do not include the discarded offset when indexing to get the primitive ID per fragment (primitive ID uses a replacement shader which is not affected by discards in the original shader)
Store the post mod depth data in slot 1 of the depth output to make the indexing simpler to keep track of discarded fragments
Set the post mod data for discarded fragments (excluding the final fragment) to be the known texture after (which starts as the pre mod data and is updated for non-discarded fragments).
2023-09-01 20:02:06 +01:00
Jake Turner 0fed9d5741 Fix memory overwrite when saving a single slice of texture 2023-09-01 20:02:06 +01:00
Jake Turner df1a7cec50 Use max of mips and slices to test for invalid dimensions
The assert was incorrectly triggering on a texture with depth of 128 and mipcount of 6
2023-09-01 20:02:06 +01:00
baldurk 1850ccfee1 Make explicit cast to uint32 after truncation 2023-09-01 14:22:38 +01:00
baldurk 5b852c8573 Check compat with mip tail only for opaque sparse images. Closes #3044
* These images don't have a direct page table.
2023-09-01 13:26:33 +01:00
Sidney Just a56aa9ed21 Fixed incorrect sType assertion
This affects serialization of vkImportMemoryWin32HandleInfoKHR
2023-09-01 12:07:52 +01:00
baldurk 52801a99a6 Close automatically opened command buffer. Closes #3042 2023-08-31 10:23:26 +01:00
baldurk 1d1295b17e Work around NV issue with dynamic state setting & rebinding pipeline 2023-08-31 10:22:46 +01:00
baldurk 2d41648d4d Remove references to no longer used android files 2023-08-29 10:44:53 +01:00
Jake Turner 788a0ca98f Zero initialize read_dds_data before loading DDS file 2023-08-25 10:20:28 +01:00
Jake Turner 7d8586cdd8 Use VkDriverInfo to get the vendor ID
Instead of GPUVendorFromPCIVendor() which returns Unknown for the llvm_pipe driver.

This then prevents being able to force replay to run on llvm_pipe when opening a capture.
2023-08-24 10:09:55 +01:00
baldurk 7c2b68390e Ignore a glslang warning on clang 2023-08-22 16:11:49 +01:00
baldurk c80e5a40ef Remove problematic annotation when building glslang in C++11 2023-08-22 16:09:35 +01:00
baldurk 69fc6f8abe Fix unit test for new built-in compile flag 2023-08-22 16:03:27 +01:00
baldurk e7430226e9 Match SPIR-V version as much as possible when rebuilding shaders 2023-08-22 13:41:39 +01:00
baldurk 02933fb6a6 Update glslang to 12.3.1 2023-08-22 13:37:53 +01:00
memchr 2752368168 Update gitignore
- .cache/: generated by clangd
- compile_commands.json: usually generated by vscode or build system
- .vsocde: generated by vscode

`compile_commands.json` and `.vscode` are usually specific to a person's
environment, not configurable in any way, so there is no reason to put
them in the git repository at all.
2023-08-22 10:23:27 +01:00
Jake Turner 39f6296f3a Use existing Files entry for empty shader source file "unnamed_shader"
Fixes source shader stepping when the main shader source file contains #line entries with blank filenames ie.
2023-08-22 05:14:06 +01:00
Jake Turner f0b9aabb5e Change empty shader source file name to "unnamed_shader" from "shader" 2023-08-22 05:14:06 +01:00
Jake Turner 46a236b5ba Use replay ID to look up GL layered depth buffer texture
Previously the code was using the original ID to look for the texture in m_pDriver->m_Textures which would create a default entry if the ID was not found leading to numSlices = 0 and then the pipeline state resource tooltip would show "covers slices 0-4294967294"
2023-08-21 18:50:17 +01:00
Jake Turner d68a8e9dc4 Added "\n" to the Resource Preview tooltips
GL was missing them
The other APIs adding them as a precaution for the future
2023-08-21 18:50:17 +01:00
baldurk d6898e428c Ensure GL calls go through normal GL dispatch not to global functions 2023-08-18 12:25:38 +01:00
baldurk 0ec7d54bbd Add some naming of internal renderdoc objects in GL 2023-08-18 11:40:29 +01:00
Jake Turner b2c97f2cf3 Use QPointer to track live capture windows during Shutdown
The save capture modal message box could process messages which could delete a LiveCapture, the pointer had already been copied into a local list, then try to use deleted memory.
2023-08-18 08:19:36 +01:00
Jake Turner d0388f1f20 Fix bug in y-flipping code in ResamplePixels() Closes #3025
In GL captures causes the generated thumbnail image to be incorrect for the middle two rows of the image.
2023-08-18 07:03:53 +01:00
Jake Turner 2d53aa2a32 Add unit tests to ResamplePixels()
Tests:
y-flipping: true/false
BGRA: true/false
Downsample from 4x4 to 2x2
2023-08-18 07:03:53 +01:00
William Pearson a214ffcaf3 Fix debug pixel at primitive and event message mixing parameter order up 2023-08-15 10:09:40 +01:00
baldurk cd897063e3 Make error message more explicit when proxy texture fails to create 2023-08-14 16:37:04 +01:00
William Pearson afb4d76dd2 Blend pixel history widget background color with selection color
Before, if a row was selected, the color was completely replaced, which
makes the color preview column completely useless for that row.

This change also fixes some inconsistencies with how the selection hover
works on tree widgets; previously part of the row was not highlighted.
2023-08-10 10:59:32 +01:00
William Pearson 71e886cecc Add demo/test for many primitives hitting the same pixel in one drawcall 2023-08-09 10:58:04 +01:00
William Pearson 950819d992 Fix undersized buffer for Vulkan pixel history with many fragments
Before, the buffer could be overrun, which could result in anything from
garbage data to the GPU device being lost to segfaults. Now, correct
data is gathered.

We can't know in advance how many primitives will hit the targetted
pixel, so it's not possible to create the buffer until after our first
pass for each events (fortunately we do know the number of events in
advance). It is possible that we don't need a larger buffer, though,
in which case the original one can be re-used.
2023-08-09 10:58:04 +01:00
baldurk 7f9cae3912 Update D3D11 cached OM renderstate for output ID identification
* If we select an event we will refresh the overlay before saving the pipeline
  state meaning before the cache is updated. This might cause us to render the
  overlay to a stale texture.
2023-08-08 15:34:43 +01:00
baldurk 44b019852e Add better debug naming for D3D11 overlay resources 2023-08-08 15:32:22 +01:00
baldurk 597880fea9 Always fill out full view information for all types
* We don't want to have stale mip/slice information for MSAA textures.
2023-08-08 14:36:49 +01:00
baldurk 5395d11c5b Fix crash if stream I/O is performed on invalid handle
* We often create stream readers or writers directly on the result of a fopen,
  and we want them to be 'safe' to use (marked as errored, but not crashing).
2023-08-07 11:19:43 +01:00
baldurk d23cf4bf0b Allow a little latitude on expected line numbers in callstacks test 2023-08-04 17:06:03 +01:00
baldurk 9995c1f0cf Protect against invalid socket data potentially causing crashes 2023-08-04 17:06:03 +01:00
baldurk 65859d13bf Add test of Set*Root32BitConstants with 0 constants being set
* This crashes on nvidia, on compute only strangely, if we pass in a NULL
  pointer along with a 0 number of constants.
2023-08-04 17:06:03 +01:00
baldurk 3460be091a Expand NULL-protection for Set*Root32BitConstants 2023-08-04 17:06:03 +01:00
baldurk 19d7b038c2 Don't allow tooltip to display if context menu is shown in shader viewer 2023-08-04 17:06:02 +01:00
Jake Turner 7631831821 Add "used" attribute to prevent exported symbol dead-stripping
Ideally would use "retain" but that would require upgrading to recent compilers in CI and the project.

__attribute__((retain)) function/variable to prevent linker garbage
collection.
2023-08-03 10:41:22 +01:00
baldurk fa79938e8a Ensure image layout is up to date mid-command buffer in pixel history
* Previously we were obtaining the image layout from before the current command
  buffer was recorded, but this is out of date if the image layout has changed
  during the command buffer. Worst case it could be e.g. UNDEFINED if the image
  was created and not used until the current command buffer.
2023-08-01 16:05:49 +01:00
baldurk 44be6bdfff Add documentation for return type 2023-08-01 10:00:54 +01:00
baldurk 09bc166f1a Add missing documentation reference 2023-08-01 09:44:00 +01:00
Serdar Kocdemir 0a20c686fd Remove unimplemented function declarations 2023-07-31 17:41:01 +01:00
baldurk 26c673675e Add extra pings to reduce problems with unreasonably slow adb commands 2023-07-31 17:08:57 +01:00
baldurk 3d8ad35e9f Don't sanitise selected paths from remote hosts. Closes #3006
* If the remote host disconnects during the selection process we will no longer
  have a valid connection, we shouldn't sanitise the resulting path according to
  local filenames.
2023-07-31 17:08:37 +01:00
baldurk 7c1164e060 Tidy up and implement support for self capture on linux 2023-07-31 15:45:32 +01:00