Commit Graph

10433 Commits

Author SHA1 Message Date
baldurk feafbde8bc Add GL hack to check for implicit thread switching
* This is a very big blunt hammer for fixing the problem of multithreaded
  submission from GL. Every GL call checks to see if the context changed (which
  would only happen from a thread switch to a different context) and if detected
  it inserts a manual MakeCurrent call equivalent.
* It's slow to capture (when this happens - checking is not particularly slow)
  and slow to replay, but it's functional which is an improvement.
2020-04-02 18:15:44 +01:00
baldurk ea6cc026ae Allow de-activating GL contexts in tests 2020-04-02 18:15:44 +01:00
baldurk d279d6dcd2 Silence D3D debug layer spam by including NULL terminator 2020-04-02 18:15:44 +01:00
Lionel Landwerlin d88026a697 Fix KHR storage counter issue for time units
Renderdoc seems to somewhat require time units to be in float to be
able to present prettyfied results (ms/us/ns).

We were assuming that but a couple of errors slipped in :

   * we were asserting that KHR time units are floats

   * we didn't describe the renderdoc units as double (even though we
     forced the conversion later on)
2020-04-02 18:15:28 +01:00
Jordan Justen d2f7837ecf qrenderdoc: Drop building swig .py.c files
This is an alternative to
https://github.com/baldurk/renderdoc/pull/1768 suggested by baldurk.

I found that for some reason when cross compiling, the qrenderdoc
CMakeLists.txt was failing to see the include-bin executable that
renderdoc should have built.

Apparently the .py.c files were no longer required for qrenderdoc, so
removing it also fixed the issue I was seeing.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2020-04-02 18:15:19 +01:00
baldurk 528a0c5f5e Guard against integer division by zero
* The SPIR-V spec doesn't state what will happen, only that it's undefined. For
  the sake of something sensible (and because it has a good chance of matching
  at least some hardware) we use D3D's behaviour and set the value to 0xFFFFFFFF
2020-04-01 17:38:44 +01:00
baldurk 53ca92965d Add missing resize when constructing matrix composite 2020-04-01 17:37:16 +01:00
baldurk 230cf69761 Test integer division by zero in DXBC debugging 2020-04-01 17:18:59 +01:00
baldurk 6f2dfc1a2b Add support for non-compressed formats in DDS shell preview 2020-04-01 16:55:58 +01:00
baldurk 1cdb617cf9 Make sure to rewind image file when checking header 2020-04-01 14:11:42 +01:00
baldurk 9372fa879a Don't allow PNG files to fail to open in Texture_Zoo test 2020-04-01 14:10:57 +01:00
baldurk 2cc9dd81d9 Implement initial state creation for D3D12 2020-04-01 13:24:15 +01:00
baldurk ced6ca2bd4 Ensure that Wait/Signal replays happen on correct queue. Closes #1806 2020-04-01 12:10:22 +01:00
baldurk ee12d68a84 Shared handles should now be supported 2020-04-01 12:09:17 +01:00
baldurk 9014daf76c Fix remapping readback from non-regular formats on GLES 2020-04-01 12:03:13 +01:00
baldurk 3fa87882a7 Fix compilation on apple 2020-03-31 20:19:45 +01:00
baldurk 1b8ae53e57 Fix compilation on linux 2020-03-31 19:47:35 +01:00
baldurk ad4f736b12 Use edited shader and fetch produced output hit data 2020-03-31 18:45:37 +01:00
baldurk 1d0f87cca0 Check for desired pixel and that slot is in bounds 2020-03-31 18:45:37 +01:00
baldurk 1931bd6311 Declare output struct, allocate slot, fill in fixed parameters 2020-03-31 18:45:37 +01:00
baldurk 11a4a8f3d1 Use StorageBuffer storage class when editing 1.3+ SPIR-V modules 2020-03-31 18:45:37 +01:00
baldurk 24ff94ea3c Move SPIR-V editing into separate function 2020-03-31 18:45:37 +01:00
baldurk a64611f7fc Declare or fetch builtin inputs as needed 2020-03-31 18:45:37 +01:00
baldurk 16c01a6db2 Remove OpName for removed types in postvs SPIR-V patching 2020-03-31 18:45:37 +01:00
baldurk c1f91bcd51 Add skeleton of generating PS-input gathering shader in SPIR-V 2020-03-31 18:45:36 +01:00
baldurk 9516e8df09 Don't disassemble void function calls with return value in SPIR-V 2020-03-31 18:45:36 +01:00
baldurk 414d8df8f5 Fix debugging function calls without return values 2020-03-31 18:45:36 +01:00
baldurk fbe2d1fbee Change ReadAll/WriteAll to take rdcstr instead of char* filename 2020-03-31 18:45:36 +01:00
Aliya Pazylbekova bfeb66d4ce Pixel history changes
- Add config to enable pixel history
- Fix several validation errors
- Fix primitive ID reporting when depth test is OFF
- Patch primitive ID and fixed color shader to output to the correct
framebuffer location when there are multiple color attachments
2020-03-31 18:44:55 +01:00
Aliya Pazylbekova bebc78b106 Fill in return code for LaunchProcess on linux 2020-03-31 18:44:42 +01:00
baldurk 52310f174f Fix clang-format issue missed in PR 2020-03-30 22:38:30 +01:00
baldurk 27f2a4b7f9 Don't modify states/variables list on replay thread
* Otherwise this can race with the UI thread if it's executing a shortcut.
2020-03-30 21:47:39 +01:00
baldurk cfe5f8e975 Clamp out-of-bounds descriptor access when getting bindless feedback 2020-03-30 21:47:39 +01:00
baldurk 3ec60fcde1 Don't crash on config settings with no key
* This can happen if the config setting is unrecognised but loaded from the
  config file anyway.
2020-03-30 21:47:39 +01:00
baldurk 11801a0e32 Don't crash in D3D12 overlays if no viewport is set 2020-03-30 21:47:39 +01:00
baldurk 606ab1ad32 Add in forced flush after texture prepare on GL. Closes #1799
* On some GPUs (ARM Mali in particular it seems) when postponed resources are
  prepared then immediately serialised the readback doesn't get the correct
  data.
2020-03-30 21:47:38 +01:00
baldurk 3bdccf37e6 Fix crash with eglGetDisplay(EGL_DEFAULT_DISPLAY) on linux
* We'll try to get a default display when xlib is available, otherwise there's
  nothing we can do and keyboard input will not be available.
2020-03-30 21:47:38 +01:00
baldurk 81c46c9b1e When creating extremely large query pools, fill with data in batches 2020-03-30 21:47:38 +01:00
baldurk 4d2aa3321b Manually apply framebuffer clears when selecting vkCmdBeginRenderPass 2020-03-30 21:47:38 +01:00
baldurk bcc6027a1a Fix renderdoc filters file 2020-03-30 21:47:24 +01:00
baldurk ddea71cd94 Hide any debug messages found while fetching render state. Closes #1802 2020-03-30 21:47:24 +01:00
baldurk e6a9632d81 Do not allow non-absolute paths when saving textures. Closes #1795 2020-03-30 21:47:24 +01:00
Tabea Haeseler 4f72e09b62 Removed conversion from srgb to linear. 2020-03-30 21:47:10 +01:00
Arvastra 101bc02c47 Thumbnail support for BC6 and BC7 2020-03-30 21:47:10 +01:00
Calvin Hsu a59f922ef6 Disable tiled resources for d3d12 check feature
Renderdoc doesn't support TiledResource, as WrappedID3D12Device::CreateReservedResource returns E_NOINTERFACE. This commit reflects the lack of support in WrappedID3D12Device::CheckFeatureSupport.

This allows the application to behave as if the gpu doesn't support
tiled resources.
2020-03-30 21:47:00 +01:00
baldurk 55437ee0f9 Add license attribution for Compressonator 2020-03-23 11:05:24 +00:00
baldurk a9e1c46e46 Fix crash if some settings aren't available e.g. due to the platform 2020-03-23 11:00:01 +00:00
baldurk c52e1a46d1 Add missing vulkanlayer register parameter on linux 2020-03-23 10:51:24 +00:00
baldurk ab6bbfd5fd Don't have more than one query active at once 2020-03-20 19:39:43 +00:00
baldurk 9ea49d6b6e When emulating glTexImage on GLES, manually blit GL_RGB format textures
* Some devices don't support attaching GL_RGB textures to framebuffers.
2020-03-20 16:16:52 +00:00