summaryrefslogtreecommitdiff
path: root/client/src/render/ui.rs
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/render/ui.rs')
-rw-r--r--client/src/render/ui.rs48
1 files changed, 25 insertions, 23 deletions
diff --git a/client/src/render/ui.rs b/client/src/render/ui.rs
index 4de2633..29e9461 100644
--- a/client/src/render/ui.rs
+++ b/client/src/render/ui.rs
@@ -33,12 +33,12 @@ use wgpu::{
BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingResource, BindingType, BlendState,
Buffer, BufferDescriptor, BufferUsages, ColorTargetState, ColorWrites, CommandEncoder,
CompareFunction, DepthStencilState, Device, Extent3d, FilterMode, FragmentState, FrontFace,
- ImageCopyTexture, ImageDataLayout, IndexFormat, LoadOp, MultisampleState, Operations, Origin3d,
- PipelineCompilationOptions, PipelineLayout, PipelineLayoutDescriptor, PolygonMode,
- PrimitiveState, PrimitiveTopology, PushConstantRange, Queue, RenderPassColorAttachment,
- RenderPassDepthStencilAttachment, RenderPassDescriptor, RenderPipeline,
- RenderPipelineDescriptor, SamplerBindingType, SamplerDescriptor, ShaderStages, StoreOp,
- SurfaceConfiguration, Texture, TextureAspect, TextureDescriptor, TextureDimension,
+ IndexFormat, LoadOp, MultisampleState, Operations, Origin3d, PipelineCompilationOptions,
+ PipelineLayout, PipelineLayoutDescriptor, PolygonMode, PrimitiveState, PrimitiveTopology,
+ PushConstantRange, Queue, RenderPassColorAttachment, RenderPassDepthStencilAttachment,
+ RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, SamplerBindingType,
+ SamplerDescriptor, ShaderStages, StoreOp, SurfaceConfiguration, TexelCopyBufferLayout,
+ TexelCopyTextureInfo, Texture, TextureAspect, TextureDescriptor, TextureDimension,
TextureFormat, TextureSampleType, TextureUsages, TextureView, TextureViewDescriptor,
TextureViewDimension, VertexBufferLayout, VertexState, VertexStepMode, include_wgsl,
util::{DeviceExt, TextureDataOrder},
@@ -133,7 +133,7 @@ impl UiRenderer {
fn create_pipeline(
device: &Device,
- pipeline_layout: &PipelineLayout,
+ layout: &PipelineLayout,
format: TextureFormat,
sample_count: u32,
) -> RenderPipeline {
@@ -141,7 +141,7 @@ impl UiRenderer {
let vert_shader = device.create_shader_module(include_wgsl!("shaders/vertex_ui.wgsl"));
device.create_render_pipeline(&RenderPipelineDescriptor {
label: Some("ui pipeline"),
- layout: Some(&pipeline_layout),
+ layout: Some(layout),
fragment: Some(FragmentState {
module: &frag_shader,
entry_point: Some("main"),
@@ -241,12 +241,12 @@ impl UiRenderer {
ImageData::Font(font_image) => font_image.srgba_pixels(None).collect(),
};
- if let Some((_texbg, tex, texsize)) = textures.get_mut(&texid) {
+ if let Some((_texbg, texture, texsize)) = textures.get_mut(&texid) {
let pos = delta.pos.unwrap_or([0, 0]);
debug!("updating UI texture at {pos:?}");
self.queue.write_texture(
- ImageCopyTexture {
- texture: &tex,
+ TexelCopyTextureInfo {
+ texture,
mip_level: 0,
origin: Origin3d {
x: pos[0] as u32,
@@ -256,7 +256,7 @@ impl UiRenderer {
aspect: TextureAspect::All,
},
bytemuck::cast_slice::<_, u8>(&pixels),
- ImageDataLayout {
+ TexelCopyBufferLayout {
offset: 0,
bytes_per_row: Some(texsize[0] * 4),
rows_per_image: None,
@@ -344,7 +344,7 @@ impl UiRenderer {
},
})],
depth_stencil_attachment: Some(RenderPassDepthStencilAttachment {
- view: &depth,
+ view: depth,
depth_ops: Some(Operations {
load: LoadOp::Load,
store: StoreOp::Store,
@@ -356,17 +356,19 @@ impl UiRenderer {
rpass.set_pipeline(&self.pipeline);
- let mut raw_input = egui::RawInput::default();
- raw_input.viewport_id = surfaces.keys().next().copied().unwrap();
- raw_input.viewports = surfaces
- .keys()
- .map(|k| {
- (*k, ViewportInfo {
- native_pixels_per_point: Some(2.),
- ..Default::default()
+ let raw_input = egui::RawInput {
+ viewport_id: surfaces.keys().next().copied().unwrap(),
+ viewports: surfaces
+ .keys()
+ .map(|k| {
+ (*k, ViewportInfo {
+ native_pixels_per_point: Some(2.),
+ ..Default::default()
+ })
})
- })
- .collect();
+ .collect(),
+ ..Default::default()
+ };
let mut surfaces_closed = Vec::new();
for (viewport_id, surf) in surfaces.iter_mut() {