Commit graph

1745 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
bbcce86c47 Fix or disable some useless warnings 2023-10-05 09:11:53 +02:00
Michael Fabian 'Xaymar' Dirks
e0ffe85a30 Simplify the CMake file even more
- target_sources(... PUBLIC ...) doesn't do what I thought it did, and has no useful purpose here.
- Experimental features are an Alpha only thing, and Unstable features should not be part of a Candidate release.
- ENABLE_LTO is not a flag anymore, as CMake has a global flag for it.

While we haven't split out Core from the main file yet, and we still keep running into strange duplicate symbol or undefined symbol errors, this will hopefully simplify the CMake file further. End goal is to eventually split StreamFX into smaller sub-plugins that can operate mostly independently. At some point, the goal is to be able to soft-depend on other components, i.e. Blur can softly depend on Dynamic Mask, and then have extra features if the component is installed. This is not quite fleshed out yet, and I have no clear idea on how to make it work.
2023-10-05 09:11:53 +02:00
Michael Fabian 'Xaymar' Dirks
43dbd81d0e Don't set values that may have side effects during build tests 2023-10-04 08:52:53 +02:00
Michael Fabian 'Xaymar' Dirks
b373ba17d3 Fix up copyright headers once again 2023-10-04 07:32:33 +02:00
Michael Fabian 'Xaymar' Dirks
69a6849033 Github wants .adoc, not .ad 2023-10-04 07:32:33 +02:00
Michael Fabian 'Xaymar' Dirks
b5c4c27463 Switch to AsciiDoc 2023-10-04 07:28:56 +02:00
Isaac Nudelman
487769fd15 Fix link ordering errors with ld on Linux 2023-10-04 07:28:47 +02:00
Michael Fabian 'Xaymar' Dirks
0efbaa6afb Strip out unnecessary packaging logic 2023-10-04 07:28:36 +02:00
Michael Fabian 'Xaymar' Dirks
9a8be4d8e7 Fix up bundles for MacOS installation 2023-10-04 07:28:36 +02:00
Michael Fabian 'Xaymar' Dirks
34f0306040 Remove Qt 5.x and Ubuntu 20.04 builds 2023-10-04 06:36:18 +02:00
Michael Fabian 'Xaymar' Dirks
2277c60e5e Opt for more modern linkers on CI 2023-10-01 06:32:10 +02:00
Michael Fabian 'Xaymar' Dirks
54b6df0fd0 Potential fix for linker issues 2023-10-01 06:32:10 +02:00
Michael Fabian 'Xaymar' Dirks
0b99ef1be1 nvidia: Fix header includes now that they're in include not source 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
1eecb35c83 autoframing: I have no idea why this is necessary
There does not appear to be a reason for this to cause a compiler error, but it does on MSVC. To be precise, the 'grp2' part causes it if there is not an underscore behind it. A classic "doesn't work without this comment" problem.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
ef55651d9c nvidia: Fix missing includes 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
7fb8c6fea2 nvidia: Require explicit set/get commands
This addresses some unexpected behaviors, and might even fix a feature or two.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
4982a7900e Fix incorrect target_compile_definitions calls 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
b9b4dba686 nvidia: Actually test for windows 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
df70723884 ffmpeg: Don't break on MacOS
While AMF is not really available on MacOS, we still shouldn't just fail to compile because of it. Might as well do the test and if it doesn't work out, then we still behave the same as before.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
915c85e60e core: Frontend and Updater are default features 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
a63eb8b80a denoising: Check if NVIDIA component is available 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
34e754d474 upscaling: Check if NVIDIA component is available 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
4ebc96997e autoframing: Check if NVIDIA component is available 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
3239f5e5b9 virtual-greenscreen: Check if NVIDIA component is available 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
afcd5dfea9 nvidia: We only support Windows at the current time
While a Linux version is (supposedly) available for this functionality, at the current time we have no integration for it. Nor do we have any way to test it either, so it is better to disable it for now.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
92ddbd1330 Fix up some dependency logic in component resolving 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
4cf2a399f4 Update Copyright headers
These now include all history, which has fixed some headers that used to be wrong.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
4339a5f853 Update copyright.js tool
It will now properly sort authors by date, and follow renames, which should give a much better coverage of copyright information.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
0e913edccf Update component logic to support required and optional resolving
This allows resolving a dependency tree up to 10 elements deep, but a different solution may be necessary in the future. A better alternative in the future might be to keep a copy of the unresolved entries and then compare every loop, instead of limiting to a fixed number of cycles.

This currently doesn't address cyclic dependencies, since I'm not quite sure how those would work with the current model anyway.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
92b93a2479 nvidia: Add optional dependencies to the NVIDIA component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
a48a32931a Update build guide with latest instructiosn 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
434936baf6 Split Find/Resolve/Link component discovery stages 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
7c887c06e8 nvidia: Move into its own component
This component enables interactivity with NVIDIA libraries. Currently this is limited to NVIDIA Maxine only.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
090f49d3c8 Add NVIDIA Maxine Audio Effects SDK as a third party dependency 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
e6c81ca71e Always build Frontend and Updater
We now require these features all the time, as they are becoming more of a core part of the StreamFX UI. Additionally several components rely on these already being present, so omitting them is not a great idea.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
72b0daca05 upscaling: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
484c790c2a virtual-greenscreen: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
e3ddbe4336 denoising: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
d7d8253518 autoframing: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
7ebe4f5631 sdf-effects: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
65e91fbbc4 mirror: Move into its own component
Soon to be replaced by Spout/Sink
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
5d5852c8f7 color-grade: Move into its own component
Another re-usable code section that never got reused. This one is actually more useful, so I might split it into its own component eventually.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
4f845ac996 blur: Move into its own component
This still contains some of the old reusable code, which was never used in the first place. I'm unsure what the end goal for it was, as nothing really ended up using it anywhere else.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
02f8ca8d83 transform: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
792bf163b4 dynamic-mask: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
ecaf39bee1 shader: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
d5cf2d2ccf ffmpeg: Move into its own component
While we're at it, let's also fix the invalid destructor, as well as the NVENC HEVC encoder incorrectly using H264.Level to store H265.Level.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
d2a543f118 core: Clean up some older C++ code
- Remove float_t and double_t usage, as they aren't related to sized types.
- Remove unused aligned types, their usage has been replaced quite a while ago.
- Update the templates for pow and is_power_of_two.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks
6b02b76e6c Add prefix to commit titles when needed 2023-09-30 09:25:30 +02:00
brighten
cfcf975794 fix: add decimal place to remove ambiguity
error: Error compiling shader:
0(142) : error C1101: ambiguous overloaded function reference "log(int)"
    (0) : lowp float log(lowp float)
    (0) : mediump float log(mediump float)
    (0) : float log(float)

error: device_pixelshader_create (GL) failed
error: Pass (0) <> missing pixel shader!
error: [StreamFX] <filter::color_grade> Error loading '/usr/local/share/obs/obs-plugins/StreamFX/effects/color-grade.effect': Unknown error during effect compile.
error: [StreamFX] Unexpected exception in function '_create': Unknown error during effect compile..
error: Failed to create source 'Color Grading'!
2023-09-30 04:46:14 +02:00