Michael Fabian 'Xaymar' Dirks
90cdc30ef1
gs-helper: Add class for managed debug markers
2019-10-18 22:59:30 +02:00
Michael Fabian 'Xaymar' Dirks
9b0ea98243
filter-transform: Add GPU debug markers
2019-10-18 22:42:07 +02:00
Michael Fabian 'Xaymar' Dirks
ba71b43a39
gfx-source-texture: Add debug markers
2019-10-18 22:32:54 +02:00
Michael Fabian 'Xaymar' Dirks
141a5efd00
filter-transform: Refactor onto obs::source_factory
2019-10-18 22:32:54 +02:00
Michael Fabian 'Xaymar' Dirks
bacf52f9b6
source-mirror: Refactor to improve performance
...
Caching the output of a source is only necessary for really expensive to render sources, so it is disabled by default now. Thanks to that, most Source Mirrors are now "free" instead of requiring two context switches and a texture, while those really expensive can be manually set to cache.
The scaling mode is also set to disabled instead of point when rescaling is off to further improve performance. The previous method would incorrectly cause an extra texture to be used.
Additionally we now have support for debug markers for graphics debugging, allowing us to exactly tell apart improvements in rendering cost for this source.
2019-10-18 22:32:54 +02:00
Michael Fabian 'Xaymar' Dirks
52c9e372ba
source-mirror: Refactor onto obs::source_factory
2019-10-18 22:31:53 +02:00
Michael Fabian 'Xaymar' Dirks
d47ab0570f
obs-source-factory: Barebone Source Factory and Instance
...
This class and template should be used to reduce the code clutter from repeatedly doing the same thing. It requires OBS v24.0 or newer since the get_properties2 and get_defaults2 API were fully implemented with it.
2019-10-18 22:31:52 +02:00
Michael Fabian 'Xaymar' Dirks
6db575c9cf
source-mirror: Add debug markers
2019-10-16 04:54:40 +02:00
Michael Fabian 'Xaymar' Dirks
03c2a68846
gfx-effect-source: Catch exceptions as const
2019-10-13 07:28:59 +02:00
Michael Fabian 'Xaymar' Dirks
e832dbd628
filter-sdf-effects: Fix and improve various problematic locations
2019-10-13 07:28:29 +02:00
Michael Fabian 'Xaymar' Dirks
4fe76a85ae
filter-blur: Fix some warnings
2019-10-13 07:28:12 +02:00
Michael Fabian 'Xaymar' Dirks
bbcbd0fa1e
filter-color-grade: Fix and improve various problematic locations
2019-10-13 07:27:59 +02:00
Michael Fabian 'Xaymar' Dirks
e07d7c01fc
filter-displacement: Fix and improve various problematic locations
2019-10-13 07:27:42 +02:00
Michael Fabian 'Xaymar' Dirks
098c0d80cd
cmake: Further improve the version template
2019-10-13 07:26:13 +02:00
Michael Fabian 'Xaymar' Dirks
ef5e6ac896
filter-dynamic-mask: Catch const exceptions
2019-10-13 07:08:56 +02:00
Michael Fabian 'Xaymar' Dirks
06d9a3d2f5
filter-transform: Catch and log exceptions
2019-10-13 07:08:02 +02:00
Michael Fabian 'Xaymar' Dirks
96466100b4
obs-source: Ensure that exceptions are const
2019-10-13 07:07:31 +02:00
Michael Fabian 'Xaymar' Dirks
b5d3131203
filter-dynamic-mask: Fix some crashy locations
2019-10-13 07:02:04 +02:00
Michael Fabian 'Xaymar' Dirks
0ef94aad0f
gs-vertexbuffer: Fix and improve various problematic locations
2019-10-13 06:38:15 +02:00
Michael Fabian 'Xaymar' Dirks
45d2431ef5
source-mirror: Fix and improve various problematic locations
2019-10-13 06:20:41 +02:00
Michael Fabian 'Xaymar' Dirks
5e50d64b8f
cmake: Disable Spectre warnings
2019-10-13 06:16:46 +02:00
Michael Fabian 'Xaymar' Dirks
fd0b79e97d
utility-event: Remove unused event handler
2019-10-13 05:58:53 +02:00
Michael Fabian 'Xaymar' Dirks
f1a376d44b
cmake: Add commit to version.hpp template
...
Switches out the `const uint16_t` for actual defines, which are easier to deal with and work in C out of the box.
2019-10-13 05:54:20 +02:00
Michael Fabian 'Xaymar' Dirks
aeb34450f6
cmake: Add commit hash to installer file name
2019-10-13 05:43:45 +02:00
Michael Fabian 'Xaymar' Dirks
2ba8e9a994
cmake: Reformat
2019-10-13 05:42:54 +02:00
Michael Fabian 'Xaymar' Dirks
e02225262c
obs-source: Add noexcept try-catch to C facing callbacks
2019-09-07 21:35:32 +02:00
Michael Fabian 'Xaymar' Dirks
d6f1979dee
project: Fix missing returns
2019-09-07 21:28:54 +02:00
Michael Fabian 'Xaymar' Dirks
5a4d38d249
project: Fix a massive list of dangerous warnings
...
This is a massive improvement to stability and safety when using the plugin, as all exceptions should now no longer be leaked into C controlled code, which can't actually handle exceptions at all.
Warnings fixed:
* Potentially throwing exception during library load.
* Possibly throwing function passed to C.
* Statement does nothing.
* Variable is initialized but not referenced.
* Variable overloads variable in parent scope.
2019-09-05 18:42:28 +02:00
Michael Fabian 'Xaymar' Dirks
66cc3c9926
cmake: Don't warn about not explicitly handled cases in MSVC
2019-09-05 18:10:22 +02:00
Michael Fabian 'Xaymar' Dirks
2a4a3bf501
util-memory: Cast to intptr_t
2019-09-05 18:09:33 +02:00
Michael Fabian 'Xaymar' Dirks
4c44496b87
source-mirror: Handle uncaught exceptions in C callbacks
...
Fixes various crashes and undefined behavior due to exceptions falling into C code where they now wreak havoc with the current stack.
2019-09-04 20:52:37 +02:00
Michael Fabian 'Xaymar' Dirks
f65dfcbbf0
filter-blur: Don't throw exceptions into C code
...
It is extremely problematic to throw C++ exceptions into C code, especially because C code usually does not handle C++ exceptions at all. Therefore we have to prevent any exception from leaving the function and define it as noexcept.
2019-09-04 20:43:40 +02:00
Michael Fabian 'Xaymar' Dirks
4ab609015c
cmake: Ignore more noise warnings in MSVC
2019-09-04 20:31:18 +02:00
Michael Fabian 'Xaymar' Dirks
f61cdeb582
utility-event: Fix compile errors
2019-09-04 20:30:16 +02:00
Michael Fabian 'Xaymar' Dirks
29ab00633c
utility-event: Safer event handling with proper lifetime
...
The util::event code suffers from the problem that it could call into a class that no longer exists, corrupting memory or even crashing. By tracking lifetime using std::weak_ptr<void> this can be avoided and the dead listeners can be automatically removed.
2019-09-04 16:36:32 +02:00
Michael Fabian 'Xaymar' Dirks
5b5a2cd409
cmake: Don't override diagnostics mode in MSVC
...
This breaks MSVC somehow.
2019-09-04 04:02:58 +02:00
Michael Fabian 'Xaymar' Dirks
c6f75930af
cmake: Disable even more MSVC warnings
2019-09-04 03:55:15 +02:00
Michael Fabian 'Xaymar' Dirks
56ee81e2a4
cmake: Disable additional MSVC warnings
2019-09-04 03:47:53 +02:00
Michael Fabian 'Xaymar' Dirks
b3eaa6c43e
cmake: Disable warning 4201 and 4514 in MSVC
2019-09-04 03:43:43 +02:00
Michael Fabian 'Xaymar' Dirks
b63796d3ae
cmake: Revert previous commit
2019-09-04 03:32:18 +02:00
Michael Fabian 'Xaymar' Dirks
d9e2fbe5c1
cmake: Set Warnings and standard before project call
2019-09-04 03:23:00 +02:00
Michael Fabian 'Xaymar' Dirks
da9124fc1a
util-memory: Avoid MSVC specific C++ and use Std++ if available
2019-09-04 03:22:05 +02:00
Michael Fabian 'Xaymar' Dirks
82faab4380
project: Re-apply formatting
2019-09-04 03:03:41 +02:00
Michael Fabian 'Xaymar' Dirks
ce7e4c97d4
project: Don't use non-standard strcmpi
2019-09-04 03:02:19 +02:00
Michael Fabian 'Xaymar' Dirks
03c704de1a
project: Correct usage of exceptions and include stdexcept
2019-09-04 02:59:04 +02:00
Michael Fabian 'Xaymar' Dirks
4765c57828
filter-sdf-effects: Don't define structs in nameless unions
2019-09-04 02:49:04 +02:00
Michael Fabian 'Xaymar' Dirks
f27320c6c9
project: Remove use of P_INITIALIZER
...
Does not support cross-platform very well and breaks on Apple for no apparent reason.
Add resolution scale to shader filter.
2019-09-04 02:47:27 +02:00
Michael Fabian 'Xaymar' Dirks
9ace96285d
filter-dynamic-mask: Use snprintf instead of sprintf_s
2019-09-04 02:39:59 +02:00
Michael Fabian 'Xaymar' Dirks
2e98c2e754
color-grade: Fix and improve advanced options
...
These new options allow further control over the Tint tool in Color grading.
2019-09-04 02:18:40 +02:00
Michael Fabian 'Xaymar' Dirks
781307fbe6
color-grade: Add further Tint options
2019-09-04 01:41:15 +02:00