teoxoy
ab2806e05f
[hlsl-out] fix array constructor return type (for FXC)
2022-05-12 22:17:40 -07:00
teoxoy
5f47d6d31f
[msl-out] use matrix identity constructor
2022-05-12 22:15:45 -07:00
teoxoy
6dae3ac7e0
[wgsl-in] support partial vector & matrix identity constructors
2022-05-12 22:15:45 -07:00
teoxoy
f48174a0b4
[spv-out] use OpCopyObject for matrix identity casts
2022-05-12 22:15:45 -07:00
teoxoy
b7ff50619c
[spv-out] use OpCopyObject for bool - bool conversion due to OpBitcast not being feasible for booleans
2022-05-12 22:15:45 -07:00
teoxoy
afb6504b8b
add support for identity matrix constructor
2022-05-12 22:15:45 -07:00
teoxoy
b688584d87
[msl-out] fix pointers to private or workgroup address spaces possibly being read only
2022-05-11 20:10:18 -07:00
teoxoy
fea33c682e
[wgsl-in] fix incr/decr not matching ValuePointer
2022-05-11 20:01:46 -07:00
Hasan Ali
205ea6cc5c
Fix hlsl output for writes to scalar/vector storage buffer
2022-05-10 22:46:47 +02:00
teoxoy
b3d5e6d807
[msl-out] zero init variables in function address space
2022-05-10 10:44:40 +02:00
teoxoy
239bbbbed4
[spv-out] zero init variables in function and private address spaces
2022-05-10 10:44:40 +02:00
teoxoy
ceb92921c2
remove named expression entry for phony assignment
2022-05-10 10:43:25 +02:00
teoxoy
7109cffb20
[spv-out] use SRem instead of SMod
2022-05-09 20:48:09 -07:00
teoxoy
c03d840755
[glsl-in] translate mod fn correctly
2022-05-09 20:48:09 -07:00
teoxoy
c584331f39
[hlsl-out] use fmod instead of %
2022-05-09 20:48:09 -07:00
Teodor Tanasoaia
e312a7adeb
[hlsl-out] use wrapped constructors when loading from storage address space ( #1893 )
2022-05-09 20:40:42 -07:00
Hasan Ali
934fa16919
Implement reverseBits and countOneBits for SPIR-V ( #1897 )
...
* Implement reverseBits and countOneBits for spir-v
* Update tests
* Fix type error for glsl countOneBits implementation
2022-05-09 23:24:28 +02:00
teoxoy
1869c6831e
[hlsl-out] zero init struct constructor
2022-05-03 19:51:51 +02:00
Jim Blandy
57e1793143
Properly check that user-defined IO uses IO-shareable types.
...
Only numeric scalars and vectors, and structs whose members are such
values, are permitted as the types of user-defined IO.
2022-05-02 10:28:16 +02:00
Jim Blandy
dec07027ee
Split out check_one_validation
macro from check_validation
.
...
The new `check_one_validation` macro permits the source code to be a
computed expression, not just a string literal. This also cleans up
some of the handling of the optional guard expression.
2022-05-02 10:28:16 +02:00
Jim Blandy
a8e1e11437
Rename check_validation_error
macro to check_validation
.
...
The macro can check for both success and failure, so the new name is
more accurate, and shorter.
2022-05-02 10:28:16 +02:00
João Capucho
883a88580f
glsl-in: Apply comments
2022-05-01 13:52:04 -07:00
João Capucho
1c02de537b
glsl-in: Fix the ternary to behave as an if
...
The GLSL specification defines that only one of the branches should be
evaluated making the ternary operator syntatic sugar for an `if`.
2022-05-01 13:52:04 -07:00
Igor Shaposhnik
f76af4e53a
[wgsl] Remove buffer, texture, in, out, input, output from reserved keywords
2022-04-29 20:06:09 +02:00
Teodor Tanasoaia
f2e7818e71
[wgsl-in] implement firstTrailingBit/firstLeadingBit u32 overloads ( #1865 )
...
* [wgsl-in] implement firstTrailingBit/firstLeadingBit u32 overloads
* fix MSL type issue
reverts b9162e443d
2022-04-26 22:25:53 -07:00
teoxoy
062b66ca31
implement phony assignment
2022-04-26 21:40:31 -07:00
Connor Fitzgerald
1aa9154964
Binding arrays play nice with bounds checks ( #1855 )
2022-04-25 04:17:51 +00:00
Connor Fitzgerald
ad28396851
Implement Binding Arrays ( #1845 )
2022-04-19 14:23:07 -04:00
Teodor Tanasoaia
dc075e66e3
[wgsl-in] Update reserved keywords ( #1847 )
2022-04-17 15:56:54 +02:00
Jim Blandy
ef387f73a6
[hlsl-out] Emit row_major
qualifier on matrix uniform globals.
...
Fixes #1836 .
2022-04-16 23:50:17 -07:00
Igor Shaposhnik
1720725014
[wgsl-out] Update entry point stage attributes
2022-04-15 18:02:48 +01:00
Igor Shaposhnik
fbb77aa0dc
[wgsl-in] Update entry point stage attributes
2022-04-15 18:02:48 +01:00
teoxoy
8584507fb6
[glsl-out] remove redundant space from unary ops
2022-04-15 11:21:51 +02:00
teoxoy
7f4e07e5cd
[glsl-out] add support for boolean vector ~
, |
and &
ops
2022-04-15 11:21:51 +02:00
teoxoy
d3b37dcdb1
add tests for remaining vector - scalar ops
2022-04-15 11:21:51 +02:00
teoxoy
95b84c4403
[spv-out] add support for int vector scalar mult
2022-04-15 11:21:51 +02:00
teoxoy
2cda40396a
comment out problematic negative int
2022-04-15 11:21:51 +02:00
teoxoy
6e6daad4d4
[hlsl-out] fix bool splat
2022-04-15 11:21:51 +02:00
teoxoy
4ea7dc3381
[spv-out] add support for matrix add and sub
2022-04-15 11:21:51 +02:00
teoxoy
4366e65609
add support for unary vector operators
2022-04-15 11:21:51 +02:00
teoxoy
e4c017cb7c
add more tests for operators
2022-04-15 11:21:51 +02:00
Jim Blandy
bdbf821c32
Test matrix-typed uniform globals.
2022-04-14 11:54:47 -07:00
Jim Blandy
27d0fee2e7
More tests for non-struct global types.
2022-04-14 11:45:42 -07:00
Jim Blandy
f11d27af6f
Reject empty struct types. ( #1826 )
2022-04-14 09:36:53 -07:00
Jim Blandy
170faab6db
Move invariant
bit from Binding::Builtin
to Builtin::Position
. ( #1822 )
...
Use the type system to enforce the rule that the invariant attribute
may only appear on `Position` builtins.
2022-04-13 14:57:05 -07:00
Jim Blandy
78975f25da
[msl-out] Permit invariant
qualifier on vertex shader outputs.
2022-04-12 22:22:20 +02:00
Teodor Tanasoaia
bd62887a13
[hlsl-out] Add more padding when necessary ( #1814 )
...
* [hlsl-out] add padding at the end of structs and after struct members of type matrix and array (when necessary)
* use wrapped constructor fn for constants
* add array as fn arg test
* fix glsl array fn arg
* add wrapped constructor for arrays
* [glsl-out] support multidimensional arrays
* address comments
2022-04-11 20:34:06 -07:00
teoxoy
0e77d26241
cast packed vec3's to vec3 for expressions that require it
2022-04-11 20:30:00 -07:00
teoxoy
32cdb27230
add better tests for msl packed vec3
2022-04-11 20:30:00 -07:00
teoxoy
d7f4c340a7
add matrix vector multiplication test
2022-04-11 20:30:00 -07:00