mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 00:03:29 +00:00
change Device.create_pipeline_layout
to return an Arc<PipelineLayout<A>
This commit is contained in:
parent
36c998a558
commit
47465ddb1c
@ -761,7 +761,7 @@ impl Global {
|
||||
Err(e) => break 'error e,
|
||||
};
|
||||
|
||||
let id = fid.assign(Arc::new(layout));
|
||||
let id = fid.assign(layout);
|
||||
api_log!("Device::create_pipeline_layout -> {id:?}");
|
||||
return (id, None);
|
||||
};
|
||||
|
@ -2484,7 +2484,8 @@ impl<A: HalApi> Device<A> {
|
||||
pub(crate) fn create_pipeline_layout(
|
||||
self: &Arc<Self>,
|
||||
desc: &binding_model::ResolvedPipelineLayoutDescriptor<A>,
|
||||
) -> Result<binding_model::PipelineLayout<A>, binding_model::CreatePipelineLayoutError> {
|
||||
) -> Result<Arc<binding_model::PipelineLayout<A>>, binding_model::CreatePipelineLayoutError>
|
||||
{
|
||||
use crate::binding_model::CreatePipelineLayoutError as Error;
|
||||
|
||||
self.check_is_valid()?;
|
||||
@ -2576,13 +2577,17 @@ impl<A: HalApi> Device<A> {
|
||||
|
||||
drop(raw_bind_group_layouts);
|
||||
|
||||
Ok(binding_model::PipelineLayout {
|
||||
let layout = binding_model::PipelineLayout {
|
||||
raw: Some(raw),
|
||||
device: self.clone(),
|
||||
label: desc.label.to_string(),
|
||||
bind_group_layouts,
|
||||
push_constant_ranges: desc.push_constant_ranges.iter().cloned().collect(),
|
||||
})
|
||||
};
|
||||
|
||||
let layout = Arc::new(layout);
|
||||
|
||||
Ok(layout)
|
||||
}
|
||||
|
||||
pub(crate) fn derive_pipeline_layout(
|
||||
@ -2628,7 +2633,6 @@ impl<A: HalApi> Device<A> {
|
||||
};
|
||||
|
||||
let layout = self.create_pipeline_layout(&layout_desc)?;
|
||||
let layout = Arc::new(layout);
|
||||
Ok(layout)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user