Add warning when calling RESET with unusupported feature.

This commit is contained in:
Бранимир Караџић
2022-07-18 19:25:50 -07:00
parent a3d52fab32
commit 9022ffcb64
2 changed files with 33 additions and 12 deletions

View File

@@ -3060,6 +3060,24 @@ namespace bgfx
return;
}
const uint32_t maskFlags = ~(0
| (0 != (g_caps.supported & BGFX_CAPS_TRANSPARENT_BACKBUFFER) ? 0 : BGFX_RESET_TRANSPARENT_BACKBUFFER)
| (0 != (g_caps.supported & BGFX_CAPS_HDR10) ? 0 : BGFX_RESET_HDR10)
| (0 != (g_caps.supported & BGFX_CAPS_HIDPI) ? 0 : BGFX_RESET_HIDPI)
);
const uint32_t oldFlags = _flags;
_flags &= maskFlags;
#define WARN_RESET_CAPS_FLAGS(_name) \
BX_WARN( (oldFlags&(BGFX_RESET_##_name) ) == (_flags&(BGFX_RESET_##_name) ) \
, "Reset flag `BGFX_RESET_" #_name "` will be ignored, because `BGFX_CAPS_" #_name "` is not supported." \
)
WARN_RESET_CAPS_FLAGS(TRANSPARENT_BACKBUFFER);
WARN_RESET_CAPS_FLAGS(HDR10);
WARN_RESET_CAPS_FLAGS(HIDPI);
#undef WARN_RESET_CAPS_FLAGS
BX_WARN(g_caps.limits.maxTextureSize >= _width
&& g_caps.limits.maxTextureSize >= _height
, "Frame buffer resolution width or height can't be larger than limits.maxTextureSize %d (width %d, height %d)."