Commit Graph

10502 Commits

Author SHA1 Message Date
baldurk 81ee4e18a8 Reset stream-out buffer size after failed allocation 2020-04-09 21:08:34 +01:00
baldurk 350da5caf7 Add missing override specifier 2020-04-09 20:10:04 +01:00
baldurk 4ebdf806c9 Add SPIR-V side of handling images and samples
* This is still stubbed out on the vulkan API side to actually perform the
  sample operation
2020-04-09 19:34:36 +01:00
baldurk 97c7dd681f Add global samplers array to shader debug trace 2020-04-09 18:36:12 +01:00
baldurk b47e13beaa Test cbuffer access 2020-04-09 18:36:12 +01:00
baldurk 47dedaf8c5 Support shader variables that refer to resource bindings 2020-04-09 18:36:12 +01:00
baldurk 70f409588c Add type to refer to a specific Bindpoint's element
* This is very similar to Bindpoint but where that *declares* a binding with a
  given array size, this refers to a specific element within a (possibly
  arrayed) bindpoint.
2020-04-09 18:36:12 +01:00
baldurk 73c05536e0 Make Pointer a full VarType instead of a ShaderVariable member 2020-04-09 18:36:12 +01:00
baldurk c3d53237f7 Fix handling of OpUndef and improve disassembly of NULL/Undef values 2020-04-09 18:36:12 +01:00
baldurk 6676f83671 Set up descriptors and push constants for use in future tests 2020-04-09 18:36:12 +01:00
baldurk d68aa1cd83 Implement OpCompositeInsert 2020-04-09 11:12:09 +01:00
baldurk 82b6597423 Fix declaration of complex type NULLs 2020-04-09 11:10:23 +01:00
baldurk dfc2013bde Compile fix for double/float conversion 2020-04-08 20:05:31 +01:00
baldurk b99b0214ae Implement bitwise operations 2020-04-08 18:39:03 +01:00
baldurk 3a1352a8af Add errors for pipe instructions 2020-04-08 18:39:03 +01:00
baldurk 64cf07b8da OpExtInstImport isn't expected to happen during debugging 2020-04-08 18:39:03 +01:00
baldurk 3a6e13e902 Don't run vulkan shader debugging tests if debugging isn't available 2020-04-08 18:39:03 +01:00
baldurk 6f92182e9b Add debug option to disable use of buffer device address 2020-04-08 18:39:03 +01:00
baldurk 975f40db9c When using glslc command line to build SPIR-V asm, add file extension 2020-04-08 18:39:03 +01:00
baldurk 3d29947367 Fix odd linux compile error in tests 2020-04-08 18:39:03 +01:00
baldurk 96c7eb0b93 Add OpSMod support with other modulo operations 2020-04-08 18:39:03 +01:00
baldurk 8a6dbd7045 Implement OpDot 2020-04-08 18:39:02 +01:00
baldurk 59c3a2fbd9 Implement matrix multiplication with matrix/vector/scalar 2020-04-08 18:39:02 +01:00
baldurk 33eb5a631f Implement Op*Negate 2020-04-08 18:39:02 +01:00
baldurk 57400e1bf8 Add support for extended instruction sets
* Implement a few instructions in GLSL.std.450
2020-04-08 18:39:02 +01:00
baldurk 27bd045ea3 Remove undefined behaviour tests (divide/modulo by zero) 2020-04-08 18:39:02 +01:00
baldurk 0be0e02ebe Fix missing/wrong int-to-float conversions 2020-04-08 18:39:02 +01:00
Steve Karolewics 1137c4694c Make D3D12Pipe root element centric instead of shader centric
D3D12Pipe now stores an array of root elements, each one corresponding
to a root element or range in the root signature. Migrated usage in the
D3D12 pipeline state viewer and PipeState retrieval of resources.
Restricted number of resource array textures displayed in the texture
viewer to prevent app hangs.
2020-04-08 18:38:38 +01:00
baldurk 1d64fffd42 Add tests of new operations in SPIR-V ASM 2020-04-07 23:21:17 +01:00
baldurk d874c32275 Implement modulo/remainder operations 2020-04-07 23:21:07 +01:00
baldurk 6d8a972133 Implement OpBitcast 2020-04-07 23:20:51 +01:00
baldurk 565faf25fc Fix disassembly of SPIR-V subtract operations 2020-04-07 21:18:26 +01:00
baldurk 109fad12ac Fix reading of negative constants 2020-04-07 21:16:55 +01:00
baldurk d8fa0b624d Implement derivatives 2020-04-07 18:37:13 +01:00
baldurk 1690d30621 Fix handling of w in Vec4 operators 2020-04-07 18:34:15 +01:00
baldurk 38abf04909 Set up python script to run VK shader debug tests
* Since we expect many more tests it also runs the test texture in a 2D grid
  with N drawcalls
2020-04-07 17:43:30 +01:00
baldurk 1b6cc3a70e Implement OpVectorShuffle 2020-04-07 17:43:30 +01:00
baldurk ebe53d2be1 Don't return NULL on error, we must always return a valid trace 2020-04-07 17:14:01 +01:00
baldurk ad79bf7cc5 Support applying derivatives on builtins 2020-04-07 17:13:49 +01:00
baldurk bcb795e3b6 Save state nextInstruction after processing any flow control construct 2020-04-07 15:48:22 +01:00
baldurk 38866323bc Strip WSI-only extensions on vulkan replay 2020-04-07 14:41:45 +01:00
baldurk 5e2de7dd34 Fix issues switching between mips with overlays on vulkan 2020-04-07 14:05:43 +01:00
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 Craig 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