Skip to content
This repository has been archived by the owner on Jun 18, 2021. It is now read-only.

Remove zero padding from create_buffer_init #872

Merged
merged 1 commit into from
Apr 22, 2021
Merged

Conversation

grovesNL
Copy link
Collaborator

Follow-up to #870 (#870 (comment))

Copy link
Member

@kvark kvark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's squash and possibly make the proposed change

@@ -56,10 +56,6 @@ impl DeviceExt for crate::Device {
{
let mut slice = buffer.slice(..).get_mapped_range_mut();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe pass unpadded_size here and then use slice without brackets?

Copy link
Collaborator Author

@grovesNL grovesNL Apr 22, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah I guess we don't even need the slice variable anymore

The buffer should already be zeroed so zeroing shouldn't be necessary
Copy link
Member

@kvark kvark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
bors r+

@bors
Copy link
Contributor

bors bot commented Apr 22, 2021

@bors bors bot merged commit e26c6b1 into gfx-rs:master Apr 22, 2021
@grovesNL grovesNL deleted the zero-pad branch April 22, 2021 02:30
Uriopass added a commit to Uriopass/wgpu-rs that referenced this pull request May 7, 2021
In wgpu 0.7, this was a valid operation, the zero padding was done by hand. 
However in gfx-rs#872 this was removed as an optimization since buffers are zero padded, however the slice end was taken from buffer.slice which has to be aligned when mapped.
bors bot added a commit that referenced this pull request May 7, 2021
900: Fix initializing buffer with unaligned data r=grovesNL a=Uriopass

In wgpu 0.7, this was a valid operation, the zero padding was done by hand. 
In #872 this logic was removed as an optimization since buffers are already zero initialized, however the slice end was taken from buffer.slice which has to be aligned when mapped.

This is causing issues when trying to update imgui-wgpu-rs (Yatekii/imgui-wgpu-rs#54) to  wgpu 0.8 since they  use U16 index buffers with odd lengths.

Co-authored-by: Pâris DOUADY <[email protected]>
kvark pushed a commit to kvark/wgpu-rs that referenced this pull request May 7, 2021
In wgpu 0.7, this was a valid operation, the zero padding was done by hand. 
However in gfx-rs#872 this was removed as an optimization since buffers are zero padded, however the slice end was taken from buffer.slice which has to be aligned when mapped.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants