mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Added uniform name validation.
This commit is contained in:
14
src/bgfx_p.h
14
src/bgfx_p.h
@@ -304,6 +304,7 @@ namespace bgfx
|
||||
extern PlatformData g_platformData;
|
||||
extern bool g_platformDataChangedSinceReset;
|
||||
extern void isFrameBufferValid(uint8_t _num, const Attachment* _attachment, bx::Error* _err);
|
||||
extern void isIdentifierValid(const bx::StringView& _name, bx::Error* _err);
|
||||
|
||||
#if BGFX_CONFIG_MAX_DRAW_CALLS < (64<<10)
|
||||
typedef uint16_t RenderItemCount;
|
||||
@@ -792,7 +793,7 @@ namespace bgfx
|
||||
const char* getUniformTypeName(UniformType::Enum _enum);
|
||||
UniformType::Enum nameToUniformTypeEnum(const char* _name);
|
||||
const char* getPredefinedUniformName(PredefinedUniform::Enum _enum);
|
||||
PredefinedUniform::Enum nameToPredefinedUniformEnum(const char* _name);
|
||||
PredefinedUniform::Enum nameToPredefinedUniformEnum(const bx::StringView& _name);
|
||||
|
||||
class CommandBuffer
|
||||
{
|
||||
@@ -4692,10 +4693,15 @@ namespace bgfx
|
||||
{
|
||||
BGFX_MUTEX_SCOPE(m_resourceApiLock);
|
||||
|
||||
if (PredefinedUniform::Count != nameToPredefinedUniformEnum(_name) )
|
||||
{
|
||||
BX_TRACE("%s is predefined uniform name.", _name);
|
||||
return BGFX_INVALID_HANDLE;
|
||||
bx::Error err;
|
||||
isIdentifierValid(_name, &err);
|
||||
BGFX_ERROR_ASSERT(&err);
|
||||
|
||||
if (!err.isOk() )
|
||||
{
|
||||
return BGFX_INVALID_HANDLE;
|
||||
}
|
||||
}
|
||||
|
||||
_num = bx::max<uint16_t>(1, _num);
|
||||
|
||||
Reference in New Issue
Block a user