Description

D3D12Texture::Lock computes the size of the staging buffer on Line 1541 of D3D12Texture.cpp. This size uses the RowPitch, which for BCn resources encapsulates the size in bytes of a single row of blocks. This RowPitch is then multiplied by the resource height and depth; however, the height is in pixels, not blocks, leading the size being overstated.

This change was added in e1060c2cdc066e7654afd38b476056bc3ae9445f, CL 29132367. This CL modifies the behavior from allocating a staging buffer sized to the entire resource size.

Steps to Reproduce

Locking of compressed formats now respect the actual number of rows

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-228545 in the post.

2
Login to Vote

Fixed
ComponentUE - Rendering Architecture - RHI
Affects Versions5.45.65.5
Target Fix5.6
Fix Commit38438368
CreatedOct 23, 2024
ResolvedNov 27, 2024
UpdatedNov 27, 2024
View Jira Issue