Commit Graph

782 Commits

Author SHA1 Message Date
Dzmitry Malyshau
e78f5e69ce [spv-in] derive Error 2021-05-02 23:49:34 -04:00
Timo de Kort
05d3608737 HLSL CI (#788)
* Add validation-windows yml for HLSL

Add workgroup size to hlsl-out

* Update Readme with Make target information

* Change runs on to windows-latest

* Remove snapshot file
2021-05-02 11:29:35 -04:00
Lachlan Sneff
232fd65ec7 Add support for retrieving array length in msl backend (#806)
* Add support for arrayLength to the wgsl frontend

* Fix clippy warning

* Add draft support for array length to the msl backend

* Finalize support for array length in msl

* Convert buffer size to array length in msl backend

* Fix clippy warning

* Fix misleading documentation

* Changes based on review of PR

* Use a fake binding for sizes buffer in msl backend if necessary

* Only generate the msl buffer size structure if globals are present that have unsized arrays

* Make sure to generate separators

* Replace uses_unsized_buffers with !self.runtime_sized_buffers.is_empty()

* Clear self.runtime_sized_buffers

* Run snapshot of shadow.msl

* Add Expression::ArrayLength support to the spirv backend

* Remove wgsl target from the access snapshot test

* Update access.msl snapshot

* Update stack size for msl backend

* Update stack size again for msl backend
2021-04-30 22:40:32 -04:00
Dzmitry Malyshau
992bdd83ce Report per-entry point translation errors in the MSL output snapshots (#808) 2021-04-30 13:38:20 -04:00
Lachlan Sneff
960551f952 Add support for arrayLength to the wgsl frontend (#805)
* Add support for arrayLength to the wgsl frontend

* Fix clippy warning
2021-04-30 00:20:09 -04:00
Lachlan Sneff
37a6ff7bfe Add several additional ops to the spirv frontend. (#803)
* Add support for int8, int16, and int64 as well as null constant structs

* Add support for OpArrayLength to the spirv frontend

* Add hacky OpCopyMemory support to spirv frontend

* Add OpInBoundsAccessChain to spirv frontend

* Add OpLogical(Not)Equal to spirv frontend

* Fix several of the issues raised in the pr

* Fix the Op::ArrayLength match

* Validate accessing structs through pointers

* Remove extraneous type check
2021-04-29 19:45:49 -04:00
Ashley
881c8a7abc [spv-in] Impl GLOp::Radians and GLOp::Degrees (#797)
* Implement GLOp::Radians and GLOp::Degrees

* Simplify and inline

* Change comment

* Generate constant on demand

* Fix 180/pi/180
2021-04-29 10:19:30 -04:00
Dzmitry Malyshau
93e57ffcf2 Another CHANGELOG update for v0.4 (#796) naga-v0.4.0 2021-04-29 00:52:43 -04:00
Dzmitry Malyshau
fd561da44c [msl] derive access qualifier based on the global variable flags (#798) 2021-04-28 20:37:42 -04:00
Ashley
d21dded649 [msl-out] wrap arrays in structs so that they can be returned by functions (#764)
* [msl-out] wrap arrays in structs so that they can be returned by functions

* Fix clippy problems

* use a raw array for output fields

* Fix clippy problems

* Apply suggestions

* Remove put_initialization_component

* Check if the array is a constant size

* Don't use the pointer class
2021-04-28 10:26:17 -04:00
Dzmitry Malyshau
d9171dbc61 [wgsl-in] fix composition of a single element 2021-04-27 11:11:28 -04:00
Dzmitry Malyshau
120fc22e9f Support unary not in WGSL 2021-04-27 01:24:21 -04:00
Ashley Ruglys
33003d8ea2 Add MathFunction::Refract 2021-04-26 14:14:30 -04:00
Dzmitry Malyshau
4a5ff9a053 Validate that used expressions are emitted 2021-04-26 09:59:54 -04:00
Igor Shaposhnik
452db33947 [glsl-out] Enable boids snapshot test 2021-04-26 09:59:05 -04:00
Dzmitry Malyshau
bb29f8e142 [spv-in] emit the cast expression for builtin signness 2021-04-26 00:44:16 -04:00
Gordon-F
dd1d9fe290 [wgsl-out] More improvements. Enable quad snapshot testing for wgsl backend 2021-04-26 00:20:01 -04:00
Dzmitry Malyshau
117d729ff8 [spv-in] allow non-strict check for capabilities 2021-04-25 18:32:34 -04:00
Dzmitry Malyshau
3049e3a4ac [spv-out] allow capabilities to be derived 2021-04-25 13:34:16 -04:00
Dzmitry Malyshau
f77abdb156 [spv-out] generate LogicalNot for bools 2021-04-25 12:57:59 -04:00
Dzmitry Malyshau
e8c5242cc7 Fix relational expression type width 2021-04-25 12:57:59 -04:00
Dzmitry Malyshau
4ab9150411 [spv-out] fix image operands 2021-04-25 12:57:59 -04:00
Dzmitry Malyshau
76685fba69 [spv-out] issue DepthReplacing execution mode 2021-04-25 12:57:59 -04:00
Dzmitry Malyshau
e8f6d55356 [spv-out] implement some of the relational functions 2021-04-25 12:57:59 -04:00
Dzmitry Malyshau
0548437ab9 [spv-out] don't cache pointer function arguments 2021-04-25 12:57:59 -04:00
Gordon-F
4f5b6c5270 Share some functions between backends 2021-04-25 11:18:31 -04:00
Gordon-F
0459470986 [wgsl-out] Implement writing for more value types 2021-04-25 11:18:31 -04:00
Gordon-F
41e91739ac [wgsl-out] Return Err instead of panic for unimplemented cases 2021-04-25 11:18:31 -04:00
Dzmitry Malyshau
ecffe37456 Enforce sampled types to be Float 2021-04-25 02:24:17 -04:00
Dzmitry Malyshau
28cba79452 [spv-out] deduplicate sampler types 2021-04-25 01:07:59 -04:00
Dzmitry Malyshau
7ec90512a8 [spv-out] deduplicate image types 2021-04-25 01:07:59 -04:00
Dzmitry Malyshau
1cc770a7d8 [spv-out] return Null by default 2021-04-25 01:07:59 -04:00
Dzmitry Malyshau
77a64da189 [spv-out] support function arguments as pointers 2021-04-24 01:54:48 -04:00
Dzmitry Malyshau
34b830da17 [spv-in] work around sign differences in OpIAdd and OpISubtract 2021-04-24 01:00:33 -04:00
Dzmitry Malyshau
64856a808e [spv-in] refactor image coordinate extraction 2021-04-24 00:12:31 -04:00
João Capucho
7135c051b4 [glsl-in] Support for function parameters with In 2021-04-23 22:15:16 -04:00
João Capucho
2b8b5a271d [glsl-in] Implement textureLod 2021-04-23 22:15:16 -04:00
João Capucho
62e3ba4bcc [glsl-in] Fix type constructor of vec/matrix 2021-04-23 22:15:16 -04:00
João Capucho
6247f2c822 [glsl-in] Load local variables 2021-04-23 22:15:16 -04:00
João Capucho
076349ddf7 [glsl-in] Export types to allow for error handling 2021-04-23 22:15:16 -04:00
Dzmitry Malyshau
74f0a153cb Rename the binary to just naga 2021-04-23 20:14:16 -04:00
Gordon-F
b6996dbd32 Return error exit code if validation fails 2021-04-23 16:36:49 -04:00
Gordon-F
3accf4dc15 Improve wgsl-out 2021-04-23 16:36:49 -04:00
Dzmitry Malyshau
02105db045 [spv-out] image queries (#749) 2021-04-23 12:31:33 -04:00
Ashley
36bace2b41 Set is_scoped to false when evaluating a swizzle subexpression (#761) 2021-04-23 11:53:07 -04:00
Dzmitry Malyshau
0725417193 Allow indexing value pointers (#758) 2021-04-23 01:19:48 -04:00
Dzmitry Malyshau
0917e3740b [msl] don't use sample level on 1D textures (#757) 2021-04-23 01:15:04 -04:00
Dzmitry Malyshau
b15a23c61f [spv-in] fix integer constants parsing (#756) 2021-04-23 01:05:10 -04:00
Dzmitry Malyshau
f0cf6a6772 [spv-in] support OpModuleProcessed (#753) 2021-04-22 14:43:14 -04:00
Dzmitry Malyshau
24eaad10fc Follow up on the swizzle PR review notes (#750) 2021-04-22 11:17:44 -04:00