baldurk
9e68cbe59b
Fix typo in unit tests
2019-08-16 19:00:40 +01:00
baldurk
ee43d4377c
Account for pipeline specialisation constants when reflecting shaders
2019-08-16 17:38:35 +01:00
baldurk
e71f986f84
Set warning level on SPIR-V files in VS project
2019-08-16 17:38:35 +01:00
baldurk
759d034def
Update external code to use new SPIR-V reflector, remove old one
2019-08-16 17:38:35 +01:00
baldurk
dba34759b4
Add disassembly to new reflector
2019-08-16 17:38:35 +01:00
baldurk
2c815ab93e
Add new refactored & simplified SPIR-V reflector
2019-08-16 17:38:35 +01:00
baldurk
556cc5b4ae
Refactor spec constants to be stored as uint64_t
...
* A single spec constant can only contain one scalar (vectors are created with
composites). We can always store a scalar in uint64_t.
2019-08-16 17:38:35 +01:00
baldurk
0c3b827b35
Test specialization constant IDs and default values properly
2019-08-16 17:38:35 +01:00
baldurk
dc660aa26c
Allow building SPIR-V with debug info and check debug info in reflection
2019-08-16 17:38:35 +01:00
baldurk
47e10a5c2d
Split some parts of SPIRVEditor into SPIRVProcessor
...
* This will then be shared by a read-only Reflector, with common processing
to both happening in SPIRVProcessor with extra work happening in each child
depending on whether it's reflecting/disassembling or editing.
2019-08-16 17:38:35 +01:00
baldurk
936876234c
Move SPIR-V utility/parsing/editing code into rdcspv namespace
...
* Everything except the reflection code which will be replaced
2019-08-16 17:38:35 +01:00
baldurk
f32298a4d8
Remove unused values from SPIRVEditor
2019-08-16 17:38:34 +01:00
baldurk
e2b8085d78
Use generated helpers for SPIRVEditor
2019-08-16 17:38:34 +01:00
baldurk
9cc8ce6c3b
Add generated code based on SPIR-V json grammar
...
* This includes both our own enums and per-opcode helper structs for decoding
2019-08-16 17:38:34 +01:00
baldurk
e03f0c08e4
Add ConstIter for read-only SPIR-V processing
2019-08-16 16:12:01 +01:00
baldurk
3b00566ace
Move GLSL reflection tests to common place for SPIR-V to use
2019-08-16 16:12:01 +01:00
baldurk
98c8178c11
Don't ignore output arrays from geometry shaders
2019-08-16 16:12:01 +01:00
baldurk
45b4159648
Set invalid input attribute mappings to -1 in SPIR-V reflection
2019-08-16 16:12:01 +01:00
baldurk
0122448091
Sort cbuffer variables by offset when reflecting SPIR-V
...
* Struct member declarations don't have to be in offset order, so we need to re-
sort ourselves
2019-08-16 16:12:01 +01:00
baldurk
3ae359e3d0
Handle reflecting atomic counters in SPIR-V, for GL's SPIR-V
2019-08-16 16:12:01 +01:00
baldurk
ee590dc09c
For array input/outputs from geometry shader, don't reflect all elements
2019-08-16 16:12:01 +01:00
baldurk
512c1076ec
Fix issue with builtin inputs/outputs in SPIR-V reflection
2019-08-16 16:12:01 +01:00
baldurk
67fc665bf1
Fix indirection for looking up SSBOs for member patching
2019-08-16 16:12:01 +01:00
baldurk
9d9aa49330
Store parent-relative byte offset in UBOs from GLSL reflection
2019-08-16 16:12:01 +01:00
baldurk
8ec76b1e44
Assign subsequent regIndex locations for matrix/arrays in GL reflection
2019-08-16 16:12:00 +01:00
baldurk
1552182d0a
Sort GLSL reflected signature parameters with builtins first
2019-08-16 16:12:00 +01:00
baldurk
a03538db4b
Check gl_CullDistance with the other fixed-function GLSL vertex outputs
2019-08-16 16:12:00 +01:00
baldurk
c9c920187d
Add constant for push constant bind set
2019-08-16 16:12:00 +01:00
baldurk
01da5295a4
Sort ShaderConstant first by byteOffset, which is relative to its parent
2019-08-16 16:12:00 +01:00
baldurk
d506b9efab
Implement OpAtomicLoad for SPIR-V disassembly
2019-08-16 16:12:00 +01:00
baldurk
08a1ce2e76
Add support for VK_EXT_metal_surface and prefer it to MVK_macos_surface
2019-08-16 16:11:53 +01:00
baldurk
37242fd97e
Fix assert on min/max swapchain image count
2019-08-16 10:25:41 +01:00
baldurk
9a0035d178
Print supported instance extensions as well as device extensions
2019-08-16 10:24:14 +01:00
baldurk
ef269e2b92
Add support for VK_EXT_line_rasterization
2019-08-15 18:27:39 +01:00
baldurk
56aa5b16be
Move VulkanRenderState initialisers to be in-line
2019-08-15 17:30:16 +01:00
baldurk
7bd13f5508
Handle extension pipeline structs when reconstructing pipeline info
2019-08-15 17:29:44 +01:00
baldurk
f80964d84c
Remove redundant manually maintained list of enabled vulkan extensions
2019-08-15 16:21:34 +01:00
baldurk
b403c32b87
Fix viewport overlay when using -ve viewport height on KHR_maintenance1
2019-08-15 14:56:22 +01:00
baldurk
0522a636ad
Add support for VK_KHR_pipeline_executable_properties
2019-08-15 13:05:06 +01:00
baldurk
715c18b591
Update valgrind suppressions for python 3.7
2019-08-15 13:04:58 +01:00
baldurk
6755fd96cb
Update assert - we handle up to 8 swapchain images
2019-08-15 12:00:46 +01:00
baldurk
a2c341966a
Don't print about libGL last-second load during replay
2019-08-15 12:00:37 +01:00
baldurk
97afbf88c8
Fix documented return value of GetShaderReflection. Closes #1497
2019-08-15 08:30:34 +01:00
baldurk
3fe356af7d
Add support for VK_EXT_subgroup_size_control
2019-08-14 18:26:28 +01:00
baldurk
9589d2d893
Add support for VK_KHR_imageless_framebuffer
2019-08-14 18:21:20 +01:00
baldurk
211d1b694f
Make VK_Indirect less sensitive to event IDs changing
2019-08-14 14:35:14 +01:00
baldurk
272f993138
If a test already isn't available, don't overwrite that error
2019-08-14 14:15:52 +01:00
baldurk
bb8172cfff
Identify swiftshader in vulkan driver info
2019-08-14 14:15:52 +01:00
baldurk
29647ee391
Handle vulkan physical devices that don't have LINE polygon mode
2019-08-14 14:15:52 +01:00
baldurk
d7c1007092
Don't enable primitive restart unless we're drawing a strip topology
2019-08-14 14:15:51 +01:00