baldurk
9a6696a191
Fix implementation of OpSelect
2020-04-10 20:52:18 +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
5af5f847a0
Hide accidental double-serialise of constantIDs
2020-04-10 19:48:56 +01:00
baldurk
98a967c5c1
Add a SPIR-V editor helper for declaring spec constants
2020-04-10 19:48:52 +01:00
baldurk
50abb444dd
Add code to create specialised pipeline, run it, readback results
...
* The shader is just a dummy right now to prove the results are coming back
2020-04-10 18:15:54 +01:00
baldurk
4b830d4a66
Pass the texture type to CalculateSampleGather
2020-04-10 18:15:54 +01:00
baldurk
39b28a7780
Snapshot descriptor set contents in VulkanAPIWrapper
...
* We use this to fetch the cbuffers on demand (which right now will be
immediately up front anyway), but it will be used to fetch images for sampling
as needed as well.
2020-04-10 18:15:54 +01:00
baldurk
1a4b9cd69b
Create ancilliary resources for shader debugging
...
* This is mostly for doing any GPU work and reading it back.
2020-04-10 18:15:33 +01:00
baldurk
afe0208d69
Add accessor for getting current descriptor set bindings
2020-04-10 17:36:19 +01:00
baldurk
7d0d492a66
Add missing copyright statement in shader
2020-04-10 16:58:52 +01:00
baldurk
9cf265284e
Pass ThreadState to CalculateSampleGather
...
* This is needed to fetch the values of Id parameters in
ImageOperandsAndParamDatas
2020-04-10 12:57:13 +01:00
baldurk
fc452b7586
Add helpers to create an empty SPIR-V module in an editor
2020-04-10 12:56:10 +01:00
baldurk
ead9463711
Fix structure stride generated for PSInput fetch shader
2020-04-10 12:55:08 +01:00
baldurk
2d111516d0
Fix test regression from D3D12Pipe refactor
2020-04-10 09:12:42 +01:00
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