|
|
@@ -2110,7 +2110,7 @@ namespace bgfx
|
|
|
virtual void updateTextureBegin(TextureHandle _handle, uint8_t _side, uint8_t _mip) = 0;
|
|
|
virtual void updateTexture(TextureHandle _handle, uint8_t _side, uint8_t _mip, const Rect& _rect, uint16_t _z, uint16_t _depth, uint16_t _pitch, const Memory* _mem) = 0;
|
|
|
virtual void updateTextureEnd() = 0;
|
|
|
- virtual void readTexture(TextureHandle _handle, void* _data) = 0;
|
|
|
+ virtual void readTexture(TextureHandle _handle, void* _data, uint8_t _mip) = 0;
|
|
|
virtual void resizeTexture(TextureHandle _handle, uint16_t _width, uint16_t _height, uint8_t _numMips) = 0;
|
|
|
virtual void overrideInternal(TextureHandle _handle, uintptr_t _ptr) = 0;
|
|
|
virtual uintptr_t getInternal(TextureHandle _handle) = 0;
|
|
|
@@ -3202,11 +3202,12 @@ namespace bgfx
|
|
|
textureDecRef(_handle);
|
|
|
}
|
|
|
|
|
|
- BGFX_API_FUNC(uint32_t readTexture(TextureHandle _handle, void* _data) )
|
|
|
+ BGFX_API_FUNC(uint32_t readTexture(TextureHandle _handle, void* _data, uint8_t _mip) )
|
|
|
{
|
|
|
CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::ReadTexture);
|
|
|
cmdbuf.write(_handle);
|
|
|
cmdbuf.write(_data);
|
|
|
+ cmdbuf.write(_mip);
|
|
|
return m_frames + 2;
|
|
|
}
|
|
|
|
|
|
@@ -3216,7 +3217,7 @@ namespace bgfx
|
|
|
BX_CHECK(!ref.m_window, "Can't sample window frame buffer.");
|
|
|
TextureHandle textureHandle = ref.un.m_th[_attachment];
|
|
|
BX_CHECK(isValid(textureHandle), "Frame buffer texture %d is invalid.", _attachment);
|
|
|
- return readTexture(textureHandle, _data);
|
|
|
+ return readTexture(textureHandle, _data,0);
|
|
|
}
|
|
|
|
|
|
void resizeTexture(TextureHandle _handle, uint16_t _width, uint16_t _height, uint8_t _numMips)
|