Fixed create/destroy windows.
This commit is contained in:
Родитель
cee3a802cc
Коммит
b62fe2749f
|
@ -4659,8 +4659,9 @@ BX_PRAGMA_DIAGNOSTIC_POP();
|
|||
|
||||
const uint32_t subres = _mip + ( (layer + _side) * m_numMips);
|
||||
const uint32_t bpp = getBitsPerPixel(TextureFormat::Enum(m_textureFormat) );
|
||||
const uint32_t rectpitch = _rect.m_width*bpp/8;
|
||||
const uint32_t srcpitch = UINT16_MAX == _pitch ? rectpitch : _pitch;
|
||||
const uint32_t rectpitch = _rect.m_width*bpp/8;
|
||||
const uint32_t srcpitch = UINT16_MAX == _pitch ? rectpitch : _pitch;
|
||||
const uint32_t slicepitch = rectpitch*_rect.m_height;
|
||||
|
||||
const bool convert = m_textureFormat != m_requestedFormat;
|
||||
|
||||
|
@ -4669,12 +4670,19 @@ BX_PRAGMA_DIAGNOSTIC_POP();
|
|||
|
||||
if (convert)
|
||||
{
|
||||
temp = (uint8_t*)BX_ALLOC(g_allocator, rectpitch*_rect.m_height);
|
||||
temp = (uint8_t*)BX_ALLOC(g_allocator, slicepitch);
|
||||
imageDecodeToBgra8(temp, data, _rect.m_width, _rect.m_height, srcpitch, TextureFormat::Enum(m_requestedFormat) );
|
||||
data = temp;
|
||||
}
|
||||
|
||||
deviceCtx->UpdateSubresource(m_ptr, subres, &box, data, srcpitch, 0);
|
||||
deviceCtx->UpdateSubresource(
|
||||
m_ptr
|
||||
, subres
|
||||
, &box
|
||||
, data
|
||||
, srcpitch
|
||||
, TextureD3D11::Texture3D == m_type ? slicepitch : 0
|
||||
);
|
||||
|
||||
if (NULL != temp)
|
||||
{
|
||||
|
@ -4729,7 +4737,8 @@ BX_PRAGMA_DIAGNOSTIC_POP();
|
|||
m_dsv = NULL;
|
||||
m_swapChain = NULL;
|
||||
|
||||
m_numTh = _num;
|
||||
m_denseIdx = UINT16_MAX;
|
||||
m_numTh = _num;
|
||||
m_needPresent = false;
|
||||
memcpy(m_attachment, _attachment, _num*sizeof(Attachment) );
|
||||
|
||||
|
|
|
@ -4429,6 +4429,7 @@ data.NumQualityLevels = 0;
|
|||
|
||||
void FrameBufferD3D12::create(uint8_t _num, const Attachment* _attachment)
|
||||
{
|
||||
m_denseIdx = UINT16_MAX;
|
||||
m_numTh = _num;
|
||||
memcpy(m_attachment, _attachment, _num*sizeof(Attachment) );
|
||||
|
||||
|
|
|
@ -3154,6 +3154,7 @@ namespace bgfx { namespace d3d9
|
|||
m_surface[ii] = NULL;
|
||||
}
|
||||
|
||||
m_denseIdx = UINT16_MAX;
|
||||
m_dsIdx = UINT8_MAX;
|
||||
m_num = 0;
|
||||
m_numTh = _num;
|
||||
|
|
|
@ -5812,6 +5812,7 @@ namespace bgfx { namespace gl
|
|||
{
|
||||
GL_CHECK(glGenFramebuffers(1, &m_fbo[0]) );
|
||||
|
||||
m_denseIdx = UINT16_MAX;
|
||||
m_numTh = _num;
|
||||
memcpy(m_attachment, _attachment, _num*sizeof(Attachment) );
|
||||
|
||||
|
|
|
@ -2689,6 +2689,7 @@ namespace bgfx { namespace mtl
|
|||
|
||||
void FrameBufferMtl::create(uint8_t _num, const Attachment* _attachment)
|
||||
{
|
||||
m_denseIdx = UINT16_MAX;
|
||||
m_num = 0;
|
||||
m_width = 0;
|
||||
m_height = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче