baldurk
d889ba7513
Implement OpKill support
2020-04-15 20:33:57 +01:00
baldurk
c91414782a
Implement some easy to support extensions
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
44f46b6ae9
Clamp buffer offset for mesh view input
...
* If the calculated offset is larger than the buffer size we should be sure to
clamp it.
2020-04-15 20:33:57 +01:00
baldurk
62bb77a9b6
Initialise indirect parameter values to 0
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
39ed21c12f
Process lifetime of Id params to GLSL ExtInsts
2020-04-15 20:33:57 +01:00
baldurk
eeef227923
Properly process which capabilities are supported and which aren't
2020-04-15 20:33:56 +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
59688bfc4e
Give better default names to unnamed global variables
2020-04-14 18:25:55 +01:00
baldurk
8e082ae109
Preserve order when combining structures in shader viewer
2020-04-14 18:25:18 +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
7d0bbbda93
Patch all shader stages when using reserved binding
...
* If we're not using buffer device address, we need to patch the other stages
since we're offsetting all bindings by 1.
2020-04-14 17:16:17 +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
e78aec6d36
Don't add extra prefix on constant buffer array variables. Closes #1828
2020-04-14 15:59:34 +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
80e1cbfba4
Don't duplicate workgroup for derivatives
...
* Because SPIR-V is SSA, we can use the current workgroup for all cross-group
operations, knowing that the output ID of any such opcode can't also be the
input (so doing workgroup operations one-at-a-time is still fine, we won't
corrupt results of later threads by updating earlier ones.
2020-04-14 15:11:41 +01:00
baldurk
b17b6e7c4f
Optimise rdcspv::Editor destruction
...
* If we erase each nop individually it's O(n^2) in all the shifting needed.
Since we can't iterate backwards we take advantage of the swap into external
SPIR-V and instead just push-back every non-nop opcode.
2020-04-14 15:06:22 +01:00
baldurk
ba1c719179
Add fmtlib to demos for string formatting
2020-04-14 14:25:49 +01:00
baldurk
5693c39fca
Initialise gradCoords variable
2020-04-13 19:30:49 +01:00
baldurk
e138fea5ce
Ignore needing to create initial state for buffers on vulkan
2020-04-13 18:24:47 +01:00
baldurk
7bfee85edc
Treat OpInBoundsAccessChain the same as OpAccessChain
2020-04-13 18:24:47 +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
8192dab204
Set result number of rows from texture sample
2020-04-13 18:24:47 +01:00
baldurk
97e3d0ba98
Handle bias operand by pushing it into the sampler
2020-04-13 18:24:47 +01:00
baldurk
ee7c0ba4b2
Add handling for image operands
2020-04-13 18:24:46 +01:00
baldurk
419519b114
Fix declaration of bool constants
2020-04-13 18:24:46 +01:00
baldurk
ee5074f4fc
Read the proper number of co-ordinates based on image dimension
2020-04-13 18:24:46 +01:00
baldurk
d857ba8ae8
Create new image view for sampling, to ensure it's array-sized
2020-04-13 18:24:46 +01:00
baldurk
da1f117886
Replace default framebuffer only attachments in glInvalidateFramebuffer
2020-04-13 15:13:03 +01:00
baldurk
a4ccf9ab3c
Fix wrong index being printed in debug message
2020-04-13 13:55:48 +01:00
baldurk
36f16b9998
Add --build-id link parameters on GGP
2020-04-13 13:55:37 +01:00
baldurk
410df92bd7
Add function to connect to a remote host from python
2020-04-13 13:19:09 +01:00
baldurk
8675bef94e
Fix ggp compilation
2020-04-13 13:10:36 +01:00
baldurk
cc9d91e976
Fix compilation
2020-04-11 00:02:24 +01:00
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