João Capucho
2ff7dcb417
[glsl-in] Fix mix ordering for boolean selector
...
The mix builtin is defined with the inverse order for it's arguments
compared to the IR when the selector is a boolean vector.
2021-08-04 12:39:36 -04:00
João Capucho
a1395ddb99
[glsl-in] Fix matrix constructor with a scalar
...
Glsl defines that if a matrix constructor is called with only a scalar
it's result will be the matrix where the scalar is used if the row and
column are equal and everywhere else a zero
2021-08-04 12:39:36 -04:00
João Capucho
151a36352e
[glsl-in] Be more conservative with vector resizes
2021-08-04 12:39:36 -04:00
João Capucho
de6399a9c7
[glsl-in] Follow spec when choosing default layout
2021-08-04 12:39:36 -04:00
João Capucho
5ec129bbf0
[glsl-in] Lower the for loop init expression
2021-08-04 12:39:36 -04:00
João Capucho
ec0d97d961
[glsl-in] Respect user defined interpolation
2021-08-04 12:39:36 -04:00
Dzmitry Malyshau
6f21004369
Allow mixing on a scalar selector
2021-08-04 12:09:05 -04:00
João Capucho
a90aa9817b
[glsl-in] Add support for non constant global init
...
Glsl allows things such as
```glsl
layout (location = 0) in vec4 a;
vec4 b = a;
```
In this case `b` depends on `a` which can't be known at compile time,
so it's necessary to add a small prologue to the entry point to
initialize it.
2021-08-04 12:07:17 -04:00
João Capucho
057dc3100d
[glsl-in] Remove support for multiple entry points
2021-08-04 11:06:57 -04:00
João Capucho
6f476eeafe
[glsl-in] Fix span of gvec3 in layouter
2021-08-03 13:58:25 -04:00
João Capucho
c084e2cfa8
[glsl-in] Handle Pow in constant evaluation
2021-08-03 13:58:25 -04:00
João Capucho
da77e1f847
[glsl-in] Accept precision in local variable
2021-08-03 13:58:25 -04:00
João Capucho
bcfe1f6f28
[glsl-in] Parse some more memory qualifiers
2021-08-03 13:58:25 -04:00
João Capucho
08302b5078
[glsl-in] Fix missing implicit conversion in mix
2021-08-03 13:58:25 -04:00
João Capucho
fde91c1d94
[glsl-in] Implicit splat min builtin
2021-08-03 13:58:25 -04:00
João Capucho
9742f6820a
[glsl-in] Invalidate the expression in sampled_to_depth
2021-08-03 13:11:31 -04:00
João Capucho
bd16bf90d0
[glsl-in] Unify depth_set and qualifiers
2021-08-03 13:11:31 -04:00
João Capucho
244d58e8ff
[glsl-in] Add support for depth_ref
2021-08-03 13:11:31 -04:00
João Capucho
717063eb21
[glsl-in] Convert Sampled image to depth image
2021-08-03 13:11:31 -04:00
João Capucho
d6643086f3
Check documentation errors in CI
2021-08-02 22:46:06 -04:00
João Capucho
d39f6780a7
Documentation fixes
2021-08-02 22:46:06 -04:00
Jim Blandy
b7a4ee1d2d
[spv-out] Document back::spv::Writer::write_varying.
2021-08-02 22:34:52 -04:00
Jim Blandy
e4931e106d
Document EntryPoint.
2021-08-02 22:33:32 -04:00
Gordon-F
8e17c29644
[glsl-out] Add inout qualifier for pointer function arguments
2021-07-31 23:59:06 -04:00
João Capucho
e58d1649c3
Fix clippy lints
2021-07-31 23:28:13 -04:00
João Capucho
223016a418
[glsl-in] Implement textureGrad
2021-07-31 23:28:13 -04:00
João Capucho
65e915f998
[glsl-in] Implicit convert texture functions
2021-07-31 23:28:13 -04:00
João Capucho
56ce439ff5
[glsl-in] Implement layouting for composite types
2021-07-31 23:25:22 -04:00
João Capucho
e0e840b22c
[glsl-in] Implement std140 and std430 layouts
...
Structs are not yet implemented
2021-07-31 23:25:22 -04:00
Arnaud Golfouse
e0efe34402
Fix typo in error message ( #1150 )
2021-07-29 22:57:27 -04:00
Jakob Hellermann
fa05f0d0d9
[glsl-out] split reflection_names into a map for types and another for globals ( #1144 )
...
* split reflection_names into a map for types and another for globals
* reflection_names_structs -> reflection_names_uniforms
2021-07-29 00:17:01 -04:00
pyrotechnick
2f516c0932
[wgsl] Storage buffer/texture access ( #1142 )
...
* Resurrect texture_storage_* tests
* Test parsing of `var<storage,write>`
* Default storage textures to READ
* Restore default features
* Fix glsl/hlsl/msl/spv front and back ends
* Add missing test outputs
* All-around fixes for the storage access
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com >
2021-07-28 01:47:18 -04:00
João Capucho
6303af225f
[glsl-in] Add implicit conversion for initializer
2021-07-27 20:16:05 -04:00
João Capucho
677e040462
[glsl-in] Long form matrix support
2021-07-27 11:35:47 -04:00
Dzmitry Malyshau
a7ac13a61d
hlsl: special constants for base vertex/index
2021-07-27 01:49:03 -04:00
Gordon-F
d3243bd774
[glsl-out] Enable access snapshot testing
2021-07-26 13:53:48 -04:00
Dzmitry Malyshau
46d2d6819e
Fix matrix size computation
2021-07-26 10:40:47 -04:00
Dzmitry Malyshau
e97c8f9441
hlsl: fix storage offset, continuing statement
2021-07-26 01:29:42 -04:00
Dzmitry Malyshau
a5c2cef9ab
hlsl: transpose storage matrices
2021-07-26 01:29:42 -04:00
Dzmitry Malyshau
e7502d0a9b
hlsl: factor storage logic into a separate module
2021-07-26 01:29:42 -04:00
Dzmitry Malyshau
284cfcce47
hlsl: storage writes
2021-07-26 01:29:42 -04:00
Dzmitry Malyshau
4b6846d5da
hlsl: storage reads support, array length
2021-07-26 01:29:42 -04:00
Gordon-F
526a29e2b8
[glsl-out] Fix array type writing and zero initialization for local variables
2021-07-24 17:53:24 -04:00
Gordon-F
9bd0abb987
[hlsl-out] Fix local variable writing with array type
2021-07-24 17:53:24 -04:00
Gordon-F
7dd9e14a3d
Add note about sint array size in comment
2021-07-24 17:53:24 -04:00
Gordon-F
7bb28201dd
Allow to translate from bool to another type in validator
2021-07-24 17:53:24 -04:00
Gordon-F
3000232844
[hlsl-out] Write sint array size
2021-07-24 17:53:24 -04:00
Igor Shaposhnik
ff14f04734
[glsl-out] Fix bitcast operation for the same types
2021-07-23 11:47:46 -04:00
Dzmitry Malyshau
bbfa9a0f9e
hlsl: remove the boolean casts for unary operators
2021-07-23 10:41:36 -04:00
Dzmitry Malyshau
cc91c77f7a
hlsl: fix vector multiplication
2021-07-23 02:11:32 -04:00