summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/DXTexture.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2023-02-01 00:03:59 +1300
committerGitHub <noreply@github.com>2023-02-01 00:03:59 +1300
commite98ab0784dd823bb974cc2f6fbed697accc76f57 (patch)
tree25e7c1f52f2be320829fc58f65cf04a59b5a892c /Source/Core/VideoBackends/D3D/DXTexture.cpp
parented3ad9458d6825917f09c3ccf93a20c5fb363078 (diff)
parent7bea39b39e9978ca8461adf68a2c28535719c48e (diff)
Merge pull request #11501 from iwubcode/abstract_texture_load_specify_layer
VideoBackends: add a way to load data into a specific level AND layer
Diffstat (limited to 'Source/Core/VideoBackends/D3D/DXTexture.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/DXTexture.cpp7
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,