moved over to the enum method of drawing. Not flexible, but type safe
This commit is contained in:
@@ -15,13 +15,12 @@ use crate::canvas::canvas_frame::{CanvasFrame, CanvasFrameTest};
|
||||
use std::time::Duration;
|
||||
use vulkano::pipeline::depth_stencil::{DynamicStencilValue, StencilFaceFlags};
|
||||
use vulkano::pipeline::vertex::{OneVertexOneInstanceDefinition, SingleBufferDefinition};
|
||||
use crate::util::vertex_3d::Vertex3D;
|
||||
use crate::canvas::canvas_state::CanvasState;
|
||||
use crate::canvas::managed::shader::generic_shader::GenericShader;
|
||||
use crate::canvas::managed::shader::text_shader::TextShader;
|
||||
use crate::canvas::managed::handles::{CanvasTextureHandle, CompiledShaderHandle, CanvasFontHandle, CanvasImageHandle};
|
||||
use crate::compute::managed::handles::{CompuKernelHandle, CompuBufferHandle};
|
||||
use crate::{ImplVertexData1, VertexTypes};
|
||||
use crate::util::vertex::VertexTypes;
|
||||
|
||||
|
||||
/// VKProcessor holds the vulkan instance information, the swapchain,
|
||||
@@ -224,10 +223,10 @@ impl<'a> VkProcessor<'a> {
|
||||
}
|
||||
|
||||
///
|
||||
pub fn run<VTypes: Into<VertexTypes>>(&mut self,
|
||||
pub fn run(&mut self,
|
||||
surface: &'a Arc<Surface<Window>>,
|
||||
//canvas_frame: CanvasFrame,
|
||||
canvas_frame: CanvasFrameTest<VTypes>,
|
||||
canvas_frame: CanvasFrameTest,
|
||||
compute_frame: CompuFrame,
|
||||
) {
|
||||
|
||||
@@ -266,13 +265,12 @@ impl<'a> VkProcessor<'a> {
|
||||
|
||||
drop(g);
|
||||
|
||||
{
|
||||
let allocated_buffers = {
|
||||
// take the canvas frame and create the vertex buffers
|
||||
// TODO: This performs gpu buffer creation. Shouldn't be in hotpath??
|
||||
let g = hprof::enter("Canvas creates GPU buffers");
|
||||
//self.canvas_state.draw(canvas_frame);
|
||||
|
||||
}
|
||||
self.canvas_state.allocate(canvas_frame)
|
||||
};
|
||||
|
||||
let mut command_buffer =
|
||||
AutoCommandBufferBuilder::primary_one_time_submit(self.device.clone(), self.queue.family()).unwrap();
|
||||
@@ -287,7 +285,7 @@ impl<'a> VkProcessor<'a> {
|
||||
// Add the draw commands
|
||||
//let mut command_buffer = self.canvas_state.draw_commands(command_buffer, framebuffers, image_num);
|
||||
let mut command_buffer =
|
||||
self.canvas_state.draw_commands_test(command_buffer, framebuffers, image_num, canvas_frame);
|
||||
self.canvas_state.draw_commands(command_buffer, framebuffers, image_num, allocated_buffers);
|
||||
|
||||
// And build
|
||||
let command_buffer = command_buffer.build().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user