baldurk
9d5d9fa0bb
Default to lod 0 if lod parameter is missing
2020-04-16 18:41:58 +01:00
baldurk
831ffbf226
Add different OpCopy* opcodes
2020-04-16 18:41:58 +01:00
baldurk
f2cb1ddc53
Implement remaining bit twiddling operations
2020-04-16 18:41:58 +01:00
baldurk
a725a4e278
Add support for extended int math functions (with borrow/carry/overflow)
2020-04-16 18:41:58 +01:00
baldurk
60258bd57b
Implement private variable storage
2020-04-16 18:41:58 +01:00
baldurk
2556614eb5
We support 3 parameter math ops on the GPU
2020-04-16 18:41:58 +01:00
baldurk
e34183d887
Add support for GLSL ops with struct/pointer outputs
...
* This is the functions that return multiple values - Modf/ModfStruct and
Frexp/FrexpStruct
2020-04-16 18:41:58 +01:00
baldurk
6ebd752a9d
Hold onto ShaderDebugState pointer inside ThreadState during SetDst
...
* This avoids needing to pass it down to all possible child functions that might
need it.
2020-04-16 18:19:08 +01:00
baldurk
217a693487
Add support for misc math GLSL opcodes that don't have struct variants
...
* step, smoothstep
* ldexp
* fma
* faceforward, reflect
2020-04-16 18:19:08 +01:00
cperthuisoc
0df63aa8d0
Added system packages as hidden folders in the Executable Path dialog
...
android-only change
2020-04-16 18:18:52 +01:00
cperthuisoc
827c2c24f8
Fixed the launch of adb when using the Android SDK path on Windows
2020-04-16 18:18:40 +01:00
baldurk
1db2947c86
Drop constexpr to work around gcc 5 compiler bug
2020-04-15 21:29:19 +01:00
baldurk
1f23e28893
Enable gather operations for all texture dimensions
2020-04-15 20:33:58 +01:00
baldurk
137a613179
Support pushing operations with limited precision over to the GPU
...
* This is primarily transcendentals - sqrt, pow, sin/cos, etc. It also includes
operations derived from those (like length/normalize/etc)
2020-04-15 20:33:57 +01:00
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