From 0a24096e904633c10523cad79c992254239f5303 Mon Sep 17 00:00:00 2001 From: Werner Date: Thu, 31 Mar 2022 19:52:27 -0300 Subject: [PATCH] Update to wgpu 0.12 --- Cargo.toml | 6 +++--- Examples/Cubes.rs | 4 ++-- Examples/Triangle.rs | 7 ++++--- Shaders/Triangle.wgsl | 4 ++-- Source/Render/Renderer.rs | 2 +- Source/Runtime.rs | 6 +++++- Source/lib.rs | 1 + 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0e09cff..879ccd7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,10 +25,10 @@ anyhow = "1.0" bytemuck = { version = "1.4", features = [ "derive" ] } cgmath = "0.18" env_logger = "0.9" -image = "0.23" +image = "0.24.1" log = "0.4" pollster = "0.2" serde = { version = "1.0", features = ["derive"] } tobj = "3.0" -wgpu = "0.11" -winit = "0.25" +wgpu = "0.12.0" +winit = "0.26.1" diff --git a/Examples/Cubes.rs b/Examples/Cubes.rs index 6dbeb65..cf3dfdf 100644 --- a/Examples/Cubes.rs +++ b/Examples/Cubes.rs @@ -183,12 +183,12 @@ impl State for Cubes { layout: Some(&render_pipeline_layout), vertex: wgpu::VertexState { module: &shader, - entry_point: "main", + entry_point: "vs_main", buffers: &[ModelVertex::GetDescriptor(), InstanceRaw::GetDescriptor()], }, fragment: Some(wgpu::FragmentState { module: &shader, - entry_point: "main", + entry_point: "fs_main", targets: &[wgpu::ColorTargetState { format: display.config.format, blend: Some(wgpu::BlendState { diff --git a/Examples/Triangle.rs b/Examples/Triangle.rs index dded6ca..007e90d 100644 --- a/Examples/Triangle.rs +++ b/Examples/Triangle.rs @@ -99,7 +99,7 @@ impl State for Triangle { layout: Some(&render_pipeline_layout), vertex: wgpu::VertexState { module: &shader_module, - entry_point: "main", + entry_point: "vs_main", buffers: &[wgpu::VertexBufferLayout { array_stride: std::mem::size_of::() as wgpu::BufferAddress, @@ -120,7 +120,7 @@ impl State for Triangle { }, fragment: Some(wgpu::FragmentState { module: &shader_module, - entry_point: "main", + entry_point: "fs_main", targets: &[wgpu::ColorTargetState { format: renderer.config.format, blend: Some(wgpu::BlendState::REPLACE), @@ -133,7 +133,7 @@ impl State for Triangle { front_face: wgpu::FrontFace::Ccw, cull_mode: Some(wgpu::Face::Back), polygon_mode: wgpu::PolygonMode::Fill, - clamp_depth: false, + unclipped_depth: false, conservative: false, }, depth_stencil: None, @@ -142,6 +142,7 @@ impl State for Triangle { mask: !0, alpha_to_coverage_enabled: false, }, + multiview: None, }) }; diff --git a/Shaders/Triangle.wgsl b/Shaders/Triangle.wgsl index 0a712b4..aa5eebe 100644 --- a/Shaders/Triangle.wgsl +++ b/Shaders/Triangle.wgsl @@ -11,7 +11,7 @@ struct VertexOutput { }; [[stage(vertex)]] -fn main( +fn vs_main( model: VertexInput, ) -> VertexOutput { var out: VertexOutput; @@ -23,6 +23,6 @@ fn main( // Fragment [[stage(fragment)]] -fn main(in: VertexOutput) -> [[location(0)]] vec4 { +fn fs_main(in: VertexOutput) -> [[location(0)]] vec4 { return vec4(in.color, 1.0); } diff --git a/Source/Render/Renderer.rs b/Source/Render/Renderer.rs index 2755279..2112967 100644 --- a/Source/Render/Renderer.rs +++ b/Source/Render/Renderer.rs @@ -16,7 +16,7 @@ impl Renderer { pub async fn New(window: Window) -> Result { let size = window.inner_size(); - let instance = wgpu::Instance::new(wgpu::Backends::all()); + let instance = wgpu::Instance::new(wgpu::Backends::DX12); let surface = unsafe { instance.create_surface(&window) }; let adapter = instance diff --git a/Source/Runtime.rs b/Source/Runtime.rs index 92026bb..50596fd 100644 --- a/Source/Runtime.rs +++ b/Source/Runtime.rs @@ -5,7 +5,8 @@ use std::time::Instant; use winit::dpi::LogicalSize; use winit::event::*; use winit::event_loop::{ControlFlow, EventLoop}; -use winit::window::WindowBuilder; +use winit::monitor::{MonitorHandle, VideoMode}; +use winit::window::{Fullscreen, WindowBuilder}; /// Runtime state executor and event loop. pub struct Runtime; @@ -16,8 +17,11 @@ impl Runtime { let event_loop = EventLoop::new(); + //let monitor = event_loop.available_monitors().nth(0); + let window = WindowBuilder::new() .with_title("Graphics") + //.with_fullscreen(Some(Fullscreen::Borderless(monitor))) .with_inner_size(LogicalSize::new(1280, 720)) .build(&event_loop)?; diff --git a/Source/lib.rs b/Source/lib.rs index 473430b..91793d7 100644 --- a/Source/lib.rs +++ b/Source/lib.rs @@ -1,4 +1,5 @@ #![allow(non_snake_case)] +#![allow(unused_imports)] pub mod Camera; pub mod Color;