Commit Graph

462 Commits

Author SHA1 Message Date
baldurk d889ba7513 Implement OpKill support 2020-04-15 20:33:57 +01:00
baldurk def5476cf2 Add tests for NMin/NMax/NClamp 2020-04-15 20:33:57 +01:00
baldurk c4437f6be0 Add logical comparisons and any/all operators 2020-04-15 20:33:57 +01:00
baldurk d76e944799 Implement radians/degrees conversion functions 2020-04-15 20:33:57 +01:00
baldurk c3a5d99bc0 Add support for matrix operations (transpose/determinant/inverse) 2020-04-15 20:33:57 +01:00
baldurk 26f5b6a4b4 Implement more rounding-related GLSL extended instructions 2020-04-15 20:33:57 +01:00
baldurk ca7c1bbba9 Support push constants the same as constant buffer data 2020-04-15 20:33:56 +01:00
baldurk f4e141e843 Handle invalid pointers in create info when viewport state is dynamic 2020-04-15 20:33:56 +01:00
Aliya Pazylbekova 772905c4d3 Basic Vulkan pixel history test
+ a small pixel history fix for figuring out if depth test failed
- the test demo is based on overlay demo, with a few modifications so
  far: added a draw that will fail on culling, added shader discard for
  any pixel with x = 150
- tests some basic failed tests: stencil, depth, culling, shader discard
2020-04-14 23:06:28 +01:00
baldurk 07f60abf9e Implement OpIsNan and OpIsInf 2020-04-14 18:02:10 +01:00
baldurk 22dcb1f539 Centralise calculation of derivatives, implement OpFwidth* 2020-04-14 17:55:29 +01:00
baldurk 139d53e5e1 Add some type variants of supported glsl450 functions 2020-04-14 17:41:32 +01:00
baldurk 91e7563d09 Add support for glsl450 min/max/clamp 2020-04-14 17:16:18 +01:00
baldurk 72d7e828b0 Add OpNot to bitwise tests 2020-04-14 17:16:17 +01:00
baldurk b8f18534e2 Test OpConvertFToU/S and OpConvertU/SToF 2020-04-14 17:16:17 +01:00
baldurk 97fb6b38ae Test OpCompositeExtract on vectors 2020-04-14 16:05:50 +01:00
baldurk b7bfbe3dba Refactor assembly tests to need less manual work
* We auto generate test cases, unique-ify identifiers, and add constants as
  needed
2020-04-14 15:45:45 +01:00
baldurk ba1c719179 Add fmtlib to demos for string formatting 2020-04-14 14:25:49 +01:00
baldurk 2318305c96 Implement OpVectorExtract/InsertDynamic 2020-04-13 18:24:47 +01:00
baldurk a9f7819bf7 Handle implicit lod samples by pushing in calculated derivatives 2020-04-13 18:24:47 +01:00
baldurk a61822cfe1 Generate SPIR-V shader to implement some image samples on 2D image 2020-04-10 20:52:09 +01:00
baldurk b47e13beaa Test cbuffer access 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 b99b0214ae Implement bitwise operations 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 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
baldurk 1d64fffd42 Add tests of new operations in SPIR-V ASM 2020-04-07 23:21:17 +01:00
baldurk d8fa0b624d Implement derivatives 2020-04-07 18:37:13 +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 5e2de7dd34 Fix issues switching between mips with overlays on vulkan 2020-04-07 14:05:43 +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 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
baldurk 230cf69761 Test integer division by zero in DXBC debugging 2020-04-01 17:18:59 +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 55437ee0f9 Add license attribution for Compressonator 2020-03-23 11:05:24 +00:00
baldurk 4c5b209e6f Test constant buffer offsetting in cbuffer zoo tests 2020-03-20 16:16:52 +00:00
baldurk 7ff8a95205 Don't end stream-out queries twice 2020-03-20 16:16:52 +00:00
Daniel Craig 35a3c09b6e Apply clang format to inl files from clang_format_all.sh 2020-03-20 16:16:01 +00:00
baldurk 59f06a12f0 Fix crashes with indirect count draws in secondary command buffers
* We need to patch the event count in both primary and secondary command buffers
  in this case
2020-03-19 17:16:19 +00:00