overflow: hidden/scroll scissor support, remove depth
This commit is contained in:
@@ -9,7 +9,7 @@ use std::{
|
||||
},
|
||||
};
|
||||
|
||||
use wgui::gfx::{WGfx, pass::WGfxPass, pipeline::WGfxPipeline};
|
||||
use wgui::gfx::{WGfx, cmd::WGfxClearMode, pass::WGfxPass, pipeline::WGfxPipeline};
|
||||
|
||||
use crate::{
|
||||
backend::openxr::helpers,
|
||||
@@ -71,6 +71,7 @@ impl LinePool {
|
||||
0..4,
|
||||
0..1,
|
||||
vec![set0],
|
||||
&Default::default(),
|
||||
)?;
|
||||
|
||||
Ok(Self {
|
||||
@@ -161,7 +162,7 @@ impl LinePool {
|
||||
let mut cmd_buffer = app
|
||||
.gfx
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)?;
|
||||
cmd_buffer.begin_rendering(tgt)?;
|
||||
cmd_buffer.begin_rendering(tgt, WGfxClearMode::DontCare)?;
|
||||
cmd_buffer.run_ref(&self.pass)?;
|
||||
cmd_buffer.end_rendering()?;
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ use vulkano::{
|
||||
image::view::ImageView,
|
||||
pipeline::graphics::{color_blend::AttachmentBlend, input_assembly::PrimitiveTopology},
|
||||
};
|
||||
use wgui::gfx::cmd::WGfxClearMode;
|
||||
|
||||
use crate::{
|
||||
backend::openxr::{helpers::translation_rotation_to_posef, swapchain::SwapchainOpts},
|
||||
@@ -112,12 +113,13 @@ impl Skybox {
|
||||
0..4,
|
||||
0..1,
|
||||
vec![set0, set1],
|
||||
&Default::default(),
|
||||
)?;
|
||||
|
||||
let mut cmd_buffer = app
|
||||
.gfx
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)?;
|
||||
cmd_buffer.begin_rendering(tgt)?;
|
||||
cmd_buffer.begin_rendering(tgt, WGfxClearMode::DontCare)?;
|
||||
cmd_buffer.run_ref(&pass)?;
|
||||
cmd_buffer.end_rendering()?;
|
||||
|
||||
@@ -160,12 +162,13 @@ impl Skybox {
|
||||
0..4,
|
||||
0..1,
|
||||
vec![],
|
||||
&Default::default(),
|
||||
)?;
|
||||
|
||||
let mut cmd_buffer = app
|
||||
.gfx
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)?;
|
||||
cmd_buffer.begin_rendering(tgt)?;
|
||||
cmd_buffer.begin_rendering(tgt, WGfxClearMode::Clear([0.0, 0.0, 0.0, 0.0]))?;
|
||||
cmd_buffer.run_ref(&pass)?;
|
||||
cmd_buffer.end_rendering()?;
|
||||
|
||||
|
||||
@@ -308,7 +308,7 @@ impl Display {
|
||||
}
|
||||
|
||||
pub fn tick_render(&mut self, renderer: &mut GlesRenderer, time_ms: u64) -> anyhow::Result<()> {
|
||||
renderer.bind(self.gles_texture.clone())?;
|
||||
renderer.bind(&mut self.gles_texture)?;
|
||||
|
||||
let size = Size::from((i32::from(self.width), i32::from(self.height)));
|
||||
let damage: Rectangle<i32, smithay::utils::Physical> = Rectangle::from_size(size);
|
||||
|
||||
@@ -243,8 +243,15 @@ impl<S> OverlayBackend for GuiPanel<S> {
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)
|
||||
.unwrap(); // want panic
|
||||
|
||||
cmd_buf.begin_rendering(tgt)?;
|
||||
let primitives = wgui::drawing::draw(&self.layout)?;
|
||||
cmd_buf.begin_rendering(
|
||||
tgt,
|
||||
wgui::gfx::cmd::WGfxClearMode::Clear([0.0, 0.0, 0.0, 0.0]),
|
||||
)?;
|
||||
|
||||
let primitives = wgui::drawing::draw(&wgui::drawing::DrawParams {
|
||||
layout: &self.layout,
|
||||
debug_draw: false,
|
||||
})?;
|
||||
self.context
|
||||
.draw(&mut app.wgui_shared, &mut cmd_buf, &primitives)?;
|
||||
cmd_buf.end_rendering()?;
|
||||
|
||||
@@ -6,21 +6,22 @@ use vulkano::{
|
||||
command_buffer::CommandBufferUsage,
|
||||
device::Queue,
|
||||
format::Format,
|
||||
image::{sampler::Filter, view::ImageView, Image},
|
||||
image::{Image, sampler::Filter, view::ImageView},
|
||||
pipeline::graphics::{color_blend::AttachmentBlend, input_assembly::PrimitiveTopology},
|
||||
};
|
||||
use wgui::gfx::{pass::WGfxPass, pipeline::WGfxPipeline, WGfx};
|
||||
use wgui::gfx::{WGfx, cmd::WGfxClearMode, pass::WGfxPass, pipeline::WGfxPipeline};
|
||||
use wlx_capture::{
|
||||
frame::{self as wlx_frame, DrmFormat, FrameFormat, MouseMeta, Transform, WlxFrame},
|
||||
WlxCapture,
|
||||
frame::{self as wlx_frame, DrmFormat, FrameFormat, MouseMeta, Transform, WlxFrame},
|
||||
};
|
||||
|
||||
use crate::{
|
||||
backend::overlay::FrameMeta,
|
||||
config::GeneralConfig,
|
||||
graphics::{
|
||||
dmabuf::{fourcc_to_vk, WGfxDmabuf},
|
||||
upload_quad_vertices, CommandBuffers, Vert2Uv,
|
||||
CommandBuffers, Vert2Uv,
|
||||
dmabuf::{WGfxDmabuf, fourcc_to_vk},
|
||||
upload_quad_vertices,
|
||||
},
|
||||
state::AppState,
|
||||
};
|
||||
@@ -91,6 +92,7 @@ impl ScreenPipeline {
|
||||
0..4,
|
||||
0..1,
|
||||
vec![set0, set1],
|
||||
&Default::default(),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -123,7 +125,14 @@ impl ScreenPipeline {
|
||||
|
||||
let set0 = pipeline.uniform_sampler(0, view, Filter::Nearest)?;
|
||||
let set1 = pipeline.buffer(1, buf_alpha)?;
|
||||
let pass = pipeline.create_pass(extentf, buf_vert.clone(), 0..4, 0..1, vec![set0, set1])?;
|
||||
let pass = pipeline.create_pass(
|
||||
extentf,
|
||||
buf_vert.clone(),
|
||||
0..4,
|
||||
0..1,
|
||||
vec![set0, set1],
|
||||
&Default::default(),
|
||||
)?;
|
||||
|
||||
cmd_xfer.build_and_execute_now()?;
|
||||
Ok(MousePass { pass, buf_vert })
|
||||
@@ -145,7 +154,7 @@ impl ScreenPipeline {
|
||||
let mut cmd = app
|
||||
.gfx
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)?;
|
||||
cmd.begin_rendering(tgt)?;
|
||||
cmd.begin_rendering(tgt, WGfxClearMode::DontCare)?;
|
||||
cmd.run_ref(&self.pass)?;
|
||||
|
||||
if let Some(mouse) = capture.mouse.as_ref() {
|
||||
|
||||
@@ -147,6 +147,7 @@ impl WayVRBackend {
|
||||
0..4,
|
||||
0..1,
|
||||
vec![set0, set1],
|
||||
&Default::default(),
|
||||
)?;
|
||||
|
||||
Ok(Self {
|
||||
@@ -683,7 +684,10 @@ impl OverlayBackend for WayVRBackend {
|
||||
let mut cmd_buffer = app
|
||||
.gfx
|
||||
.create_gfx_command_buffer(CommandBufferUsage::OneTimeSubmit)?;
|
||||
cmd_buffer.begin_rendering(tgt)?;
|
||||
cmd_buffer.begin_rendering(
|
||||
tgt,
|
||||
wgui::gfx::cmd::WGfxClearMode::Clear([0.0, 0.0, 0.0, 1.0]),
|
||||
)?;
|
||||
cmd_buffer.run_ref(&self.pass)?;
|
||||
cmd_buffer.end_rendering()?;
|
||||
buf.push(cmd_buffer.build()?);
|
||||
|
||||
@@ -96,10 +96,7 @@ impl AppState {
|
||||
toast_sound: toast_sound_wav,
|
||||
wgui_globals: WguiGlobals::new(
|
||||
Box::new(gui::asset::GuiAsset {}),
|
||||
wgui::globals::Defaults {
|
||||
dark_mode: true,
|
||||
text_color: wgui::drawing::Color::new(1.0, 1.0, 1.0, 1.0),
|
||||
},
|
||||
wgui::globals::Defaults::default(),
|
||||
)?,
|
||||
|
||||
#[cfg(feature = "osc")]
|
||||
|
||||
Reference in New Issue
Block a user