Fix build against new vulkano and new Rust

windows
q3k 2021-01-08 00:06:05 +00:00
parent 2938a31682
commit c25045bcb2
5 changed files with 47 additions and 12 deletions

View File

@ -25,7 +25,7 @@ use winit::{
event_loop::EventLoop,
event::Event,
event::WindowEvent,
platform::desktop::EventLoopExtDesktop,
platform::run_return::EventLoopExtRunReturn,
};
use vulkano_win::VkSurfaceBuild;
use vulkano::instance as vi;

View File

@ -90,14 +90,14 @@ fn mipmapped_from_iter<P, I, F>(
let mut cb = vcb::AutoCommandBufferBuilder::new(graphics_queue.device().clone(), graphics_queue.family()).unwrap();
// Transfer buffer into mipmap_source_image.
cb = cb.copy_buffer_to_image_dimensions(
cb.copy_buffer_to_image_dimensions(
source, mipmap_source_image_init,
[0, 0, 0], dimensions.width_height_depth(), 0,
dimensions.array_layers_with_cube(), 0,
).unwrap();
// Copy mip level 0 (original image) using image_init.
cb = cb.blit_image(
cb.blit_image(
mipmap_source_image.clone(), [0, 0, 0], [width as i32, height as i32, 1], 0, 0,
image_init, [0, 0, 0], [width as i32, height as i32, 1], 0, 0,
1, vs::Filter::Linear
@ -108,7 +108,7 @@ fn mipmapped_from_iter<P, I, F>(
let img_dimensions = vm::ImageAccess::dimensions(&image);
for mip_idx in 1..image.mipmap_levels() {
let dest_dim = img_dimensions.mipmap_dimensions(mip_idx).unwrap();
cb = cb.blit_image(
cb.blit_image(
mipmap_source_image.clone(), [0, 0, 0], [width as i32, height as i32, 1], 0, 0,
image.clone(), [0, 0, 0], [dest_dim.width() as i32, dest_dim.height() as i32, 1i32], 0, mip_idx,
1, vs::Filter::Linear
@ -168,6 +168,7 @@ impl ChannelLayoutVulkan for color::XYZ {
let (image_view, future) = vm::ImmutableImage::from_iter(
vec!([self.x, self.y, self.z, 1.0 as f32]).into_iter(),
vm::Dimensions::Dim2d{ width: 1, height: 1 },
vm::MipmapsCount::One,
vf::Format::R32G32B32A32Sfloat,
graphics_queue.clone(),
).unwrap();
@ -202,6 +203,7 @@ impl ChannelLayoutVulkan for color::LinearF32 {
let (image_view, future) = vm::ImmutableImage::from_iter(
image.into_raw().iter().cloned(),
vm::Dimensions::Dim2d{ width: 1, height: 1 },
vm::MipmapsCount::One,
vf::Format::R32Sfloat,
graphics_queue.clone(),
).unwrap();

View File

@ -237,10 +237,12 @@ impl<WT: 'static + Send + Sync> Instance<WT> {
let ds = self.pipeline.as_mut().unwrap().make_descriptor_set(textures, ubo_buffer.clone());
let (vbuffer, ibuffer) = mesh.vulkan_buffers(queue.clone());
builder = builder.draw_indexed(pipeline.clone(), &vc::DynamicState::none(),
vec![vbuffer.clone(), instancebuffer], ibuffer.clone(), ds, pco).unwrap();
builder.draw_indexed(pipeline.clone(), &vc::DynamicState::none(),
vec![vbuffer.clone(), instancebuffer], ibuffer.clone(), ds, pco)
.unwrap();
let buffer = builder.build().unwrap();
buffers.push(Box::new(builder.build().unwrap()));
buffers.push(Box::new(buffer));
}
profiler.end("mgc.build");
@ -257,8 +259,8 @@ impl<WT: 'static + Send + Sync> Instance<WT> {
let qf = self.surface_binding().graphics_queue.family();
let mut primary = vc::AutoCommandBufferBuilder::primary_one_time_submit(device.clone(), qf)
.unwrap()
.begin_render_pass(framebuffer.clone(), true, vec![
.unwrap();
primary.begin_render_pass(framebuffer.clone(), vc::SubpassContents::SecondaryCommandBuffers, vec![
[0.0, 0.0, 0.0, 1.0].into(),
vulkano::format::ClearValue::Depth(1.0),
vulkano::format::ClearValue::None,
@ -268,11 +270,12 @@ impl<WT: 'static + Send + Sync> Instance<WT> {
for batch in batches {
unsafe {
primary = primary.execute_commands(batch).unwrap();
primary.execute_commands(batch).unwrap();
}
}
primary.end_render_pass().unwrap();
Arc::new(primary.end_render_pass().unwrap().build().unwrap())
Arc::new(primary.build().unwrap())
}
// (╯°□°)╯︵ ┻━┻

View File

@ -63,3 +63,6 @@ gen_buildrs = true
[workspace.metadata.raze.crates.wayland-protocols.'0.28.3']
gen_buildrs = true
[workspace.metadata.raze.crates.maybe-uninit.'2.0.0']
gen_buildrs = true

View File

@ -29,8 +29,34 @@ licenses([
])
# Generated Targets
# buildifier: disable=load-on-top
load(
"@io_bazel_rules_rust//cargo:cargo_build_script.bzl",
"cargo_build_script",
)
# Unsupported target "build-script-build" with type "custom-build" omitted
cargo_build_script(
name = "maybe_uninit_build_script",
srcs = glob(["**/*.rs"]),
build_script_env = {
},
crate_features = [
],
crate_root = "build.rs",
data = glob(["**"]),
edition = "2015",
rustc_flags = [
"--cap-lints=allow",
],
tags = [
"cargo-raze",
"manual",
],
version = "2.0.0",
visibility = ["//visibility:private"],
deps = [
],
)
rust_library(
name = "maybe_uninit",
@ -51,6 +77,7 @@ rust_library(
version = "2.0.0",
# buildifier: leave-alone
deps = [
":maybe_uninit_build_script",
],
)