32 Commits
Author SHA1 Message Date
J-rg d075f5d061 Fix compilation error in NSScannerTests 2023-08-06 02:42:59 +02:00
J-rg d03850d13e Enable GENERATE_INFOPLIST_FILE 2023-04-06 08:36:39 +02:00
Stuart Carnie 237781f9fa feat: More passes and textures; fix tests 2022-12-27 09:40:35 +11:00
Stuart Carnie d5db79466d chore: swiftformat 2022-10-21 13:13:39 +11:00
Stuart Carnie 1c741474b0 chore: Remove old slangp parsing for strongly-typed ShaderModel 2022-08-05 12:32:07 +10:00
Stuart Carnie bcfe839495 chore: More API cleanup 2022-07-24 11:35:49 +10:00
Stuart Carnie 728c7d2014 chore: FilterChain cleanup to prepare for removing PixelBuffer
PixelBuffer will become one of two possible inputs to be processed.
Those being either

1. PixelBuffer; or
2. MTLTexture
2022-07-22 07:54:24 +10:00
Stuart Carnie d05a859488 chore: Progress towards separating FilterChain from SlangShader 2022-06-26 22:47:01 +10:00
Stuart Carnie 3c90ee78f4 chore: Remove unnecessary objc conformance 2022-06-08 22:49:35 +10:00
Stuart Carnie 8ccced295d chore: Convert ShaderReflection → Swift 2022-06-01 12:58:54 +10:00
Stuart Carnie b77ee1ab19 fix: Data flow is now SlangShader → OEFilterChain only
This removes the coupling of ShaderParameters to the running filter
graph. Previously the ShaderParameter value pointer was referenced
by the graph to read the values and these were mutated when updating
them live. Now the parameters are stored as state in the graph iteself.

This change removes the circular dependency.
2021-01-26 07:40:54 +11:00
Stuart Carnie 4f15d1af00 fix: broken tests after removing parameter groups from shader config 2021-01-26 07:36:16 +11:00
Stuart Carnie 8ae7208cab chore: Don't mutate SlangShader state during compilation
A pass that is used for feedback is determined by the reflection
and compilation phase, and thus belongs in the bindings.
2021-01-24 07:41:50 +11:00
Stuart Carnie af27e0ccf1 chore: Remove parameter groups support from OpenEmuShaders
This is not a concern of this package and has been moved to a metadata
file.
2021-01-16 14:43:19 +11:00
Stuart Carnie 3ce5c9aa65 feat: Preliminary support for Apple SI and Universal Binaries 2020-07-05 19:37:40 -07:00
Stuart Carnie 890b22f0df chore: Cleanup scanner tests 2020-05-11 07:31:02 -07:00
Stuart Carnie 2d507b14f8 refactor: Tests and make group description optional 2020-05-11 07:30:42 -07:00
Stuart Carnie 53eda18592 feat: Completed migration of SlangShader implementation to Swift
This implementation is smaller and less complex, as the branches
for processing parameterGroups have been simplified.

The logic in Config.swift for processing ParameterGroups has been
simplified and removed concerns related to validating groups, which
now lies with SlangShader
2020-05-05 18:07:15 -07:00
Stuart Carnie ca7a5f0359 chore: Prepping for switching SlangShader to Swift
Moved historyCount to OEShaderPassCompiler, which is another step
at separating the data model for shaders and parameters from
a specific processor. OEShaderPassCompiler is specific to transforming
individual Vulkan glsl passes, which is all the framework currently
supports. The end goal is that individual passes could be written in
Vulkan glsl or Metal.
2020-05-03 16:48:10 -07:00
Stuart Carnie 52f507610a chore: swiftlint cleanup 2020-05-02 13:08:21 -07:00
Stuart Carnie 9d22902377 chore: Increased test coverage 2020-05-02 10:27:15 -07:00
Stuart Carnie 5d6d4d88fb chore: Adding unit tests to improve coverage of shader reading
Also added benchmarks.

Unit tests use Swift 5.2 and some 10.15 features, but should still
run on 10.14 if necessary
2020-05-01 21:02:34 -07:00
Stuart Carnie b9c3e7c8de chore: Housekeeping 2020-04-26 10:38:45 -07:00
Stuart Carnie 712c665ef4 feat: Add ability to hide parameter groups
`<name>_group_hidden = (true|false)`
2019-08-08 18:59:50 -07:00
Stuart Carnie 105f640904 feat: improve tests; parameter groups in slangp
Additional properties to slangp to support parameter groups:

```
parameter_groups = "foo;bar;default"
foo_group_desc = "Foo Desc"
foo_group_parameters = "a;b;c"
bar_group_parameters = "d;e"

# default group can override the position of the ungrouped params
default_group_desc = "Other parameters"
```
2019-08-03 15:32:51 -07:00
Stuart Carnie c76a48a15b fix: remove intermediate SlangFormat; fix line parsing 2019-05-25 09:05:19 -07:00
Stuart Carnie 741258b0fb style: Updated AppCode style 2019-05-18 08:47:02 -07:00
Stuart Carnie fa0cd60387 style: Swift + objc naming conventions 2019-05-18 08:40:36 -07:00
Stuart Carnie 287e04a91f refactor: separate compilation from SlangShader model 2019-05-17 21:15:41 -07:00
Stuart Carnie 56ff972c0f chore: Cleanup, add copyright headers 2019-05-17 18:11:03 -07:00
Stuart Carnie 30d008a20a feat: Swift rewrite; support for .slangp parsing 2019-05-17 17:48:19 -07:00
Stuart Carnie 5b677c8a24 feat: Initial commit 2019-05-11 12:26:21 -07:00