Going to just normalize to a single hardcoded enum of vertex definitions. Seems like quite a backpeddle....
This commit is contained in:
@@ -11,7 +11,7 @@ use winit::Window;
|
||||
use crate::compute::compu_state::CompuState;
|
||||
use vulkano::image::ImageUsage;
|
||||
use crate::compute::compu_frame::CompuFrame;
|
||||
use crate::canvas::canvas_frame::CanvasFrame;
|
||||
use crate::canvas::canvas_frame::{CanvasFrame, CanvasFrameTest};
|
||||
use std::time::Duration;
|
||||
use vulkano::pipeline::depth_stencil::{DynamicStencilValue, StencilFaceFlags};
|
||||
use vulkano::pipeline::vertex::{OneVertexOneInstanceDefinition, SingleBufferDefinition};
|
||||
@@ -21,6 +21,7 @@ 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};
|
||||
|
||||
|
||||
/// VKProcessor holds the vulkan instance information, the swapchain,
|
||||
@@ -223,9 +224,10 @@ impl<'a> VkProcessor<'a> {
|
||||
}
|
||||
|
||||
///
|
||||
pub fn run(&mut self,
|
||||
pub fn run<VTypes: Into<VertexTypes>>(&mut self,
|
||||
surface: &'a Arc<Surface<Window>>,
|
||||
canvas_frame: CanvasFrame,
|
||||
//canvas_frame: CanvasFrame,
|
||||
canvas_frame: CanvasFrameTest<VTypes>,
|
||||
compute_frame: CompuFrame,
|
||||
) {
|
||||
|
||||
@@ -268,7 +270,8 @@ impl<'a> VkProcessor<'a> {
|
||||
// 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.draw(canvas_frame);
|
||||
|
||||
}
|
||||
|
||||
let mut command_buffer =
|
||||
@@ -282,7 +285,9 @@ impl<'a> VkProcessor<'a> {
|
||||
let g = hprof::enter("Push draw commands to command buffer");
|
||||
|
||||
// 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(command_buffer, framebuffers, image_num);
|
||||
let mut command_buffer =
|
||||
self.canvas_state.draw_commands_test(command_buffer, framebuffers, image_num, canvas_frame);
|
||||
|
||||
// And build
|
||||
let command_buffer = command_buffer.build().unwrap();
|
||||
|
||||
Reference in New Issue
Block a user