diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2023-01-27 18:46:53 -0600 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2023-01-27 18:46:53 -0600 |
| commit | 7bea39b39e9978ca8461adf68a2c28535719c48e (patch) | |
| tree | 7329c4aab053fada727c88bf996050f04e2bdb4f /Source/Core/VideoBackends/D3D/DXTexture.cpp | |
| parent | 41272dc5f1b62f4a5a0562cc29eb3e83367d0f14 (diff) | |
VideoBackends: add a way to load data into a specific level AND layer, default to layer 0
Diffstat (limited to 'Source/Core/VideoBackends/D3D/DXTexture.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/DXTexture.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D/DXTexture.cpp b/Source/Core/VideoBackends/D3D/DXTexture.cpp index f3e6912337..c78b7cabbc 100644 --- a/Source/Core/VideoBackends/D3D/DXTexture.cpp +++ b/Source/Core/VideoBackends/D3D/DXTexture.cpp @@ -162,11 +162,12 @@ void DXTexture::ResolveFromTexture(const AbstractTexture* src, const MathUtil::R } void DXTexture::Load(u32 level, u32 width, u32 height, u32 row_length, const u8* buffer, - size_t buffer_size) + size_t buffer_size, u32 layer) { size_t src_pitch = CalculateStrideForFormat(m_config.format, row_length); - D3D::context->UpdateSubresource(m_texture.Get(), level, nullptr, buffer, - static_cast<UINT>(src_pitch), 0); + D3D::context->UpdateSubresource(m_texture.Get(), + D3D11CalcSubresource(level, layer, m_config.levels), nullptr, + buffer, static_cast<UINT>(src_pitch), 0); } DXStagingTexture::DXStagingTexture(StagingTextureType type, const TextureConfig& config, |
