Commit Graph

1203 Commits

Author SHA1 Message Date
Dzmitry Malyshau
07c286255d [spv-in] fix struct spans for layout-less structs 2021-08-09 21:19:31 -04:00
Dzmitry Malyshau
021bfd5289 [hlsl-out] fix member offset consideration for storage buffers 2021-08-09 16:45:07 -04:00
João Capucho
c73c1efe33 [glsl-in] Apply comments 2021-08-09 10:51:15 -04:00
João Capucho
b0b4891045 [glsl-in] Document public api 2021-08-09 10:51:15 -04:00
João Capucho
48a4a9b902 [glsl-in] Cleanup public api 2021-08-09 10:51:15 -04:00
João Capucho
1aaf77489b [glsl-in] Improve error api and make more errors deferred 2021-08-09 10:51:15 -04:00
João Capucho
f6e35f5b66 [glsl-in] Improved preprocessor and error handling 2021-08-09 10:51:15 -04:00
João Capucho
a8a316da15 [glsl-in] API revamp
The new api allows for reuse while keeping some allocations and to
please the borrow checker in future work, it also splits the parser into
logical modules to make it easier to work on.
2021-08-09 10:51:15 -04:00
João Capucho
0bd78ef85e [spv-out] Use NotEqual for boolean casts 2021-08-05 13:48:26 -04:00
Dzmitry Malyshau
7c3cc904a0 [spv-in] fix storage buffer access decorations 2021-08-05 12:59:19 -04:00
Zicklag
300039e247 Fix Invalid Type Attribute Error Message
The message previously made reference to the now-removed `access`
attribute.
2021-08-05 10:12:23 -04:00
Gordon-F
4080bfe502 Add vec select to operators snapshot 2021-08-05 09:43:47 -04:00
Gordon-F
b2e51c97c8 [glsl-out] Handle wgsl vector version of select 2021-08-05 09:43:47 -04:00
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