Commit Graph

13668 Commits

Author SHA1 Message Date
baldurk fe4a79054f Update vulkan headers to latest 2023-01-17 14:15:08 +00:00
baldurk 83c2b004c6 Update SPIR-V headers to latest 2023-01-17 14:15:08 +00:00
baldurk cfe4d08c81 Use the proper calculation for partial-miptail wrapped updates 2023-01-17 14:15:08 +00:00
baldurk 28e243e7d1 Copy from correct subresource in initial states if some are unmapped 2023-01-17 14:14:53 +00:00
baldurk abf613c173 Don't print an error when precaching common types 2023-01-16 10:27:17 +00:00
baldurk f57a53a59d Fix some minor deltas to dxc's disassembly 2023-01-16 10:27:17 +00:00
baldurk 2f1823aaa2 Fix DXIL editing of referential function constants 2023-01-16 10:27:16 +00:00
baldurk 08517ff2f8 Put some dxc disassembly compatibility options under #ifdef 2023-01-16 10:27:16 +00:00
Steve Karolewics d8664d4ae5 Fix D3D12 PSO creation errors with missing stream subobjects.
If some stream subobjects are missing, PSO creation will use the
defaults for those elements. For primitive topology, this is
triangle rather than undefined, and for depth stencil, it defaults
to depth disabled until either depth stencil state is encountered
or a DSVFormat is specified.
2023-01-16 10:25:43 +00:00
baldurk 5e1c1cf549 Fix passing rdcstr through variadic args 2023-01-12 18:33:43 +00:00
baldurk 8a6ee78c40 Allow for optional support for 3D and cubemaps with depth format
* These are not required to be supported and some drivers may not handle them,
  but on implementations where they are supported we need to support debugging
  them.
2023-01-12 18:00:00 +00:00
baldurk 5d801636ab Disable discard patterns if resolve feedback loop detected. Closes #2045
* This won't catch all cases as it won't be able to detect reads via plain
  descriptor, those will still break if this kind of feedback loop is in place.
2023-01-12 16:28:56 +00:00
baldurk 86d101eb88 Add test to make sure replay and analysis features work with library PSO 2023-01-12 15:20:28 +00:00
baldurk d2c4312078 Fix handling of spec constant operations returning bool in shader debug 2023-01-12 15:13:15 +00:00
baldurk f78b585018 Add D3D12_Vertex_UAV test to demos project 2023-01-12 13:48:13 +00:00
Jake Turner 359e1a4bed Fix brew python upgrade errors in Mac CI
brew unlink python then brew force link python 3.10 & 3.11
2023-01-12 10:32:25 +00:00
baldurk 3e839fc5e9 Handle specialising pipeline being different from final linked pipeline
* With graphics pipeline libraries there can be a different pipeline bound to
  the state as the one used to specialise a shader. Since this is a many:1
  relationship (per shader object) we can express it with a simple map lookup to
  redirect the specialised pipeline.
2023-01-11 18:37:54 +00:00
baldurk 56b519ea06 Explicitly set array layer selection value to 0 in D3D shader debugging
* This value should be ignored, so may contain something else from the register
  that we need to remove.
2023-01-11 18:37:53 +00:00
baldurk 6e85d40ead Check HRESULT for fatal errors when reading back output windows on D3D11 2023-01-11 18:37:53 +00:00
baldurk 72c9cbf37f Lock around access to capturer list
* This removes a potential narrow race where a capturer is removed or added on
  one thread while another thread is iterating the list of capturers for target
  control communication.
2023-01-11 18:37:53 +00:00
Shahbaz Youssefi c86e8d2446 Fix Vulkan-only build
NVIDIA counters build assumed Vulkan build implies GL build.  This is
not necessarily the case.
2023-01-11 16:47:35 +00:00
Jake Turner 70df111a5e Guard Metal APIs newer than MacOS SDK 12.0
macos(13.0) guarded using #if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_13_0
macos(12.5) guarded using #if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_12_5
2023-01-08 11:42:23 +00:00
Jake Turner aaa12d3fb7 Metal: Compile time support for MacOS SDK 13.1
Changes to Metal protocols to support MacOS SDK 13.1
Removed #if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_12_0 guards now the CI can compile MacOS SDK12.0
2023-01-08 11:42:23 +00:00
baldurk 220b26aa59 Handle collisions with existing UAVs in root signature when patching
* When debugging a pixel or doing quad overdraw we replace the pixel shader and
  patch in our own UAV. Previously we were moving other UAVs out of the way that
  were visible to the pixel shader, but this fails if a UAV is visible to all
  stages and used in a vertex stage.
* Now instead for pixel shader inputs we pick a free space and use it. For quad
  overdraw we pick an arbitrary high space to hopefully use the precompiled
  shader, and if it's somehow not free we recompile the shader with a free
  space.
2023-01-06 16:53:20 +00:00
Jake Turner 779a8af657 Set the minimum Mac SDK to 12.00 2023-01-05 21:33:34 +00:00
Jake Turner a49e875982 Mac CI tweak for brew package installations
Add --overwrite for brew install line for qt5
Removed the "sudo rm *" lines which are not required now "--overwrite" is being used.
2023-01-05 21:33:34 +00:00
Jake Turner 1158a168eb Change Mac CI to use macos-12 2023-01-05 21:33:34 +00:00
baldurk 8562330f28 Update setup-msbuild CI action to v1.1 2023-01-05 17:39:41 +00:00
baldurk 50ebe545fc Update all checkout actions to v3 2023-01-05 17:29:35 +00:00
baldurk bc2faaf3e6 Track preview when calling UI callbacks to avoid use-after-free 2023-01-05 16:39:51 +00:00
baldurk 6d74877a94 Bump checkout action version 2023-01-05 15:39:14 +00:00
baldurk 9c1c217a2a Fix clamping of subresource parameters in D3D11 texture data fetch 2023-01-05 15:39:14 +00:00
baldurk f23cb75633 Make sure sample mask does not affect normal texture overlays 2023-01-05 15:39:14 +00:00
baldurk 3cbe4a37d1 Sanitise identifier names for types and variables in generating formats 2023-01-05 15:39:14 +00:00
baldurk 4bc365af2c Fix ID usage for copying descriptor set contents 2023-01-05 15:39:14 +00:00
baldurk b912ab4bac Fix std140 structs adding extra padding at end of structs 2023-01-05 15:39:14 +00:00
Orson Baines 89a6965c12 Bind framebuffer before clearing stencil buffer 2023-01-05 14:37:55 +00:00
Orson Baines cc9a504587 Use full precision texture format for shaderOut 2023-01-05 14:37:55 +00:00
Orson Baines 5b5d2aa191 Improve GL Pixel History per PR feedback
- Blit fragments and read back results in batch
- Modify per fragment callbacks to reduce number of full replays
- Use defines in the primitiveId shader to toggle between float/int
  output
2023-01-05 14:37:55 +00:00
Bruce He c0b931eb15 Improved fragment id shader code
- Deleted WriteClearValues and replace with QueryPostModValues
- Add support for earlier GLSL versions and fix logic for creating primitive id program
- Changed to only run per fragment queries on events with multiple fragments
2023-01-05 14:37:55 +00:00
Tony T f6102a48a4 Add per-fragment information to OpenGL Pixel History 2023-01-05 14:37:55 +00:00
baldurk f8b3dc77e9 Allow GL_EXT_shader_framebuffer_fetch on desktop GL. Closes #2809 2022-12-31 10:43:20 +00:00
baldurk 5047c68318 Delete even more files to make mac build work 2022-12-27 18:42:13 +00:00
Shahbaz Youssefi 282d8a81b6 Support VK_EXT_rasterization_order_attachment_access 2022-12-27 13:47:58 +00:00
baldurk 0acb955e19 Create virtual distinction between Vulkan & GL SPIR-V. Closes #2798
* This distinction unfortunately does not exist in SPIR-V so we have to carry
  around this metadata ourselves. Rather than allowing free specification of
  tools based on API, instead pretend that Vulkan and GL SPIR-V are separate
  format, and duplicate all SPIR-V tools to handle "both" types. This allows
  appropriate tool selection based on the encoding.
2022-12-27 13:39:44 +00:00
baldurk b5545d52f8 Fix float precision/rounding issues for NPOT textures. Closes #2807 2022-12-27 12:23:05 +00:00
baldurk 36bf7b4970 Reduce other unnecessary errors to warnings in NV counters code 2022-12-27 12:21:51 +00:00
baldurk 2cd474c496 Disable NV counters on Apple 2022-12-22 20:52:30 +00:00
baldurk 98d4af8af5 Workaround weird brew/python thing by deleting python binaries 2022-12-22 17:55:31 +00:00
baldurk 44f51d2bcc Fix inadvertent case fallthrough 2022-12-22 17:55:02 +00:00