Added checks for OOB transform cache access.
This commit is contained in:
parent
8a13f27e68
commit
a42cba815c
10
src/bgfx_p.h
10
src/bgfx_p.h
@ -925,6 +925,10 @@ namespace bgfx
|
|||||||
|
|
||||||
float* toPtr(uint32_t _cacheIdx)
|
float* toPtr(uint32_t _cacheIdx)
|
||||||
{
|
{
|
||||||
|
BX_CHECK(_cacheIdx < BGFX_CONFIG_MAX_MATRIX_CACHE, "Matrix cache out of bounds index %d (max: %d)"
|
||||||
|
, _cacheIdx
|
||||||
|
, BGFX_CONFIG_MAX_MATRIX_CACHE
|
||||||
|
);
|
||||||
return m_cache[_cacheIdx].un.val;
|
return m_cache[_cacheIdx].un.val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1493,8 +1497,12 @@ namespace bgfx
|
|||||||
|
|
||||||
void setTransform(uint32_t _cache, uint16_t _num)
|
void setTransform(uint32_t _cache, uint16_t _num)
|
||||||
{
|
{
|
||||||
|
BX_CHECK(_cache < BGFX_CONFIG_MAX_MATRIX_CACHE, "Matrix cache out of bounds index %d (max: %d)"
|
||||||
|
, _cache
|
||||||
|
, BGFX_CONFIG_MAX_MATRIX_CACHE
|
||||||
|
);
|
||||||
m_draw.m_matrix = _cache;
|
m_draw.m_matrix = _cache;
|
||||||
m_draw.m_num = _num;
|
m_draw.m_num = bx::uint32_min(_cache+_num, BGFX_CONFIG_MAX_MATRIX_CACHE-1) - _cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices)
|
void setIndexBuffer(IndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user