Commit Graph
10460 Commits
Author SHA1 Message Date
baldurk 6c3bf313a4 Fill out copy subresource in DrawcallDescription for OpenGL 2020-04-07 10:45:42 +01:00
baldurk dd4009c588 Remove undoc-members attributes from autoclass docs builds 2020-04-07 09:55:17 +01:00
baldurk b94aa074b5 Remove duplicate data reference in docstring 2020-04-07 09:47:54 +01:00
baldurk 569fb0ef47 Add fixes for sphinx 3.0 2020-04-06 23:20:38 +01:00
baldurk 5ec480dffe Don't consider a destination file modified until we've seen a #line
* If we have a merged file with #lines in it, then we want to split those #lines
  into separate files as expected. However the original merged file should be
  left alone. Previously this happened if the first thing we saw was a #line but
  that was only by coincidence. If there was some preamble before the first
  #line we'd start copying that and then stop once we started emitting lines
  into other files.
2020-04-06 20:13:36 +01:00
baldurk eb552d8172 Allow NULL for object name in vulkan debug functions 2020-04-06 20:13:36 +01:00
baldurk 2dd2ebd53f Save format and type used by captured glTexImage2D to fill missing mips
* If the application uses internal format GL_RGBA but format GL_BGRA when
  uploading with e.g. glTexImage2D, we store an internal format of GL_RGBA and
  allocate any needed mips for initial states with an autocalculated format of
  GL_RGBA. It's unclear if this is valid or not but it seems to fail on some
  drivers, so save the format used (GL_BGRA) and use that.
2020-04-06 20:13:36 +01:00
Daniel CraigandBaldur Karlsson fc63964335 Show correct clear/CopyDst/CopySrc subresource in texture viewer
This is implemented and tested on vulkan/d3d12/d3d11.
2020-04-06 20:12:05 +01:00
baldurk 5f925ee3a2 Fix check for push constant ranges in postvs fetch on vulkan 2020-04-04 01:22:31 +01:00
baldurk fd36ec0bc1 Add shader debug zoo test
* This includes SPIR-V tests to test specific opcodes.
2020-04-03 18:43:58 +01:00
baldurk fc2181d625 Fetch and apply pixel inputs and derivatives to quad 2020-04-03 17:17:46 +01:00
baldurk 21f869192c D3D12 created initial states don't need to be copied
* This would require proper barriers and special handling for e.g. readback
  resources, and the only time we create initial states is when the resource was
  created mid-frame (since all pre-frame resources are dirty, so would have
  initial states prepared). That means it's zero initialised, so our zero-
  initialised created state is fine.
2020-04-03 15:19:28 +01:00
baldurk 2bb278b9fd Highlight stale/unrecognised settings in the config editor 2020-04-03 15:19:28 +01:00
baldurk 9ce74cbc39 Only warn about customised read-only settings in stable builds 2020-04-03 15:19:28 +01:00
baldurk 8d6615697b Push settings file to android devices
* This allows settings to be used to control debug logging on android as well.
2020-04-03 15:19:28 +01:00
baldurk 445c54f967 Try to prevent android library being unloaded after it was loaded
* Even if the vulkan/GL loader wants to unload us the library should stay
  resident to provide a persistent connection, as if it were preloaded/injected.
2020-04-03 15:19:28 +01:00
baldurk 9ba81634b4 Improve the title of shader edit windows 2020-04-03 15:19:28 +01:00
baldurk 590785c470 Mark edited resources with an (Edited) suffix on their names 2020-04-03 15:19:28 +01:00
baldurk ecd8dd0ade Don't report replaced IDs in pipeline state
* If we return back (accurate) replaced IDs in current pipeline state, the UI
  won't recognise them since the list of resources is cached and fixed at load
  time.
* The replaced ID is still present in the shader reflection info as we return
  the replaced shader's reflection and not the original's.
* We also change how we replace a programshader (glCreateShaderProgramv) on GL.
  Instead of creating a program and a shader - resulting in two objects
  replacing one - we instead replace the shader that got built with a program.
  We can do this safely since we know the shader won't be used as an actual real
  shader (since it was a program in the original capture too).
2020-04-03 15:19:28 +01:00
baldurk dc3ebab80a Ensure replacement IDs are used in pipeline initial states. Closes #1810
* If we use the program name directly it won't be replaced if we edit a shader.
2020-04-03 12:36:06 +01:00
baldurk fcb82ae70c Fix the way d3dcompiler is copied into builds to not fail so often
* Using <Copy> forcibly copied every build which means if the program is running
  a build will fail. Using <Content> will only copy if the file doesn't exist
  (so after the first build, it won't try to copy and fail).
2020-04-02 18:15:44 +01:00
baldurk 33d7971364 Mark integer divide by zero as "generated NaN of Inf" in shader debug 2020-04-02 18:15:44 +01:00
baldurk c5242e574a Fetch inputs and derivatives 2020-04-02 18:15:44 +01:00
baldurk 62c3cec950 Fix reference tracking issue. PartialWrite + Read -> WriteBeforeRead
* Read after PartialWrite should become WriteBeforeRead. Previously it became
  Read which lost the information about the Write completely.
2020-04-02 18:15:44 +01:00
baldurk 9716b407d3 Add helper for generating GLSL450 extinst operations 2020-04-02 18:15:44 +01:00
baldurk 85dedabcf8 Add helpers for building SPIR-V ops incrementally 2020-04-02 18:15:44 +01:00
baldurk ecc0a53dcb Declare inputs in PSInput struct 2020-04-02 18:15:44 +01:00
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 LandwerlinandBaldur Karlsson 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 JustenandBaldur Karlsson 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