mirror of
https://github.com/Xaymar/obs-StreamFX
synced 2024-12-29 11:01:23 +00:00
obs/gs/effect: Only add defines to the top level shader
Fixes certain warnings that are caused by duplicate '#define' lines.
This commit is contained in:
parent
686eebd969
commit
4b86d67517
1 changed files with 4 additions and 4 deletions
|
@ -27,11 +27,11 @@
|
||||||
|
|
||||||
#define MAX_EFFECT_SIZE 32 * 1024 * 1024 // 32 MiB, big enough for everything.
|
#define MAX_EFFECT_SIZE 32 * 1024 * 1024 // 32 MiB, big enough for everything.
|
||||||
|
|
||||||
static std::string load_file_as_code(std::filesystem::path shader_file)
|
static std::string load_file_as_code(std::filesystem::path shader_file, bool is_top_level = true)
|
||||||
{
|
{
|
||||||
std::stringstream shader_stream;
|
std::stringstream shader_stream;
|
||||||
std::filesystem::path shader_path = std::filesystem::absolute(shader_file);
|
std::filesystem::path shader_path = std::filesystem::absolute(shader_file);
|
||||||
std::filesystem::path shader_root = shader_path.parent_path();
|
std::filesystem::path shader_root = std::filesystem::path(shader_path).remove_filename();
|
||||||
|
|
||||||
// Ensure it meets size limits.
|
// Ensure it meets size limits.
|
||||||
uintmax_t size = std::filesystem::file_size(shader_path);
|
uintmax_t size = std::filesystem::file_size(shader_path);
|
||||||
|
@ -46,7 +46,7 @@ static std::string load_file_as_code(std::filesystem::path shader_file)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Push Graphics API to shader.
|
// Push Graphics API to shader.
|
||||||
{
|
if (is_top_level) {
|
||||||
auto gctx = streamfx::obs::gs::context();
|
auto gctx = streamfx::obs::gs::context();
|
||||||
switch (gs_get_device_type()) {
|
switch (gs_get_device_type()) {
|
||||||
case GS_DEVICE_DIRECT3D_11:
|
case GS_DEVICE_DIRECT3D_11:
|
||||||
|
@ -87,7 +87,7 @@ static std::string load_file_as_code(std::filesystem::path shader_file)
|
||||||
include_path = shader_root / include_str;
|
include_path = shader_root / include_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
line = load_file_as_code(include_path);
|
line = load_file_as_code(include_path, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
shader_stream << line << std::endl;
|
shader_stream << line << std::endl;
|
||||||
|
|
Loading…
Reference in a new issue