|
@@ -4465,13 +4465,18 @@ namespace bgfx { namespace d3d11
|
|
|
void TextureD3D11::overrideInternal(uintptr_t _ptr)
|
|
void TextureD3D11::overrideInternal(uintptr_t _ptr)
|
|
|
{
|
|
{
|
|
|
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc{};
|
|
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc{};
|
|
|
- m_srv->GetDesc(&srvDesc);
|
|
|
|
|
|
|
+ const bool readable = (m_srv != NULL);
|
|
|
|
|
+ if (readable) {
|
|
|
|
|
+ m_srv->GetDesc(&srvDesc);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
destroy();
|
|
destroy();
|
|
|
m_flags |= BGFX_SAMPLER_INTERNAL_SHARED;
|
|
m_flags |= BGFX_SAMPLER_INTERNAL_SHARED;
|
|
|
m_ptr = (ID3D11Resource*)_ptr;
|
|
m_ptr = (ID3D11Resource*)_ptr;
|
|
|
|
|
|
|
|
- s_renderD3D11->m_device->CreateShaderResourceView(m_ptr, &srvDesc, &m_srv);
|
|
|
|
|
|
|
+ if (readable) {
|
|
|
|
|
+ s_renderD3D11->m_device->CreateShaderResourceView(m_ptr, &srvDesc, &m_srv);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void TextureD3D11::update(uint8_t _side, uint8_t _mip, const Rect& _rect, uint16_t _z, uint16_t _depth, uint16_t _pitch, const Memory* _mem)
|
|
void TextureD3D11::update(uint8_t _side, uint8_t _mip, const Rect& _rect, uint16_t _z, uint16_t _depth, uint16_t _pitch, const Memory* _mem)
|