use srgb for openxr, linear for openvr

This commit is contained in:
galister
2025-04-11 02:13:02 +09:00
parent f12d151abf
commit a8ecc973a4
7 changed files with 17 additions and 21 deletions

View File

@@ -13,7 +13,7 @@ use vulkano::command_buffer::CommandBufferUsage;
use crate::{ use crate::{
backend::openxr::helpers, backend::openxr::helpers,
graphics::{CommandBuffers, WlxGraphics, WlxPipeline, SWAPCHAIN_FORMAT}, graphics::{CommandBuffers, WlxGraphics, WlxPipeline},
}; };
use super::{ use super::{
@@ -49,7 +49,7 @@ impl LinePool {
let pipeline = graphics.create_pipeline( let pipeline = graphics.create_pipeline(
shaders.get("vert_common").unwrap().clone(), // want panic shaders.get("vert_common").unwrap().clone(), // want panic
shaders.get("frag_color").unwrap().clone(), // want panic shaders.get("frag_color").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, graphics.native_format,
None, None,
)?; )?;

View File

@@ -14,7 +14,7 @@ use vulkano::{
use crate::{ use crate::{
backend::openxr::{helpers::translation_rotation_to_posef, swapchain::SwapchainOpts}, backend::openxr::{helpers::translation_rotation_to_posef, swapchain::SwapchainOpts},
config_io, config_io,
graphics::{dds::WlxCommandBufferDds, CommandBuffers, SWAPCHAIN_FORMAT}, graphics::{dds::WlxCommandBufferDds, CommandBuffers},
state::AppState, state::AppState,
}; };
@@ -102,7 +102,7 @@ impl Skybox {
let pipeline = app.graphics.create_pipeline( let pipeline = app.graphics.create_pipeline(
shaders.get("vert_common").unwrap().clone(), // want panic shaders.get("vert_common").unwrap().clone(), // want panic
shaders.get("frag_srgb").unwrap().clone(), // want panic shaders.get("frag_srgb").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, app.graphics.native_format,
None, None,
)?; )?;
@@ -149,7 +149,7 @@ impl Skybox {
let pipeline = app.graphics.create_pipeline( let pipeline = app.graphics.create_pipeline(
shaders.get("vert_common").unwrap().clone(), // want panic shaders.get("vert_common").unwrap().clone(), // want panic
shaders.get("frag_grid").unwrap().clone(), // want panic shaders.get("frag_grid").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, app.graphics.native_format,
Some(AttachmentBlend::alpha()), Some(AttachmentBlend::alpha()),
)?; )?;

View File

@@ -9,7 +9,7 @@ use vulkano::{
Handle, Handle,
}; };
use crate::graphics::{WlxGraphics, SWAPCHAIN_FORMAT}; use crate::graphics::WlxGraphics;
use super::XrState; use super::XrState;
@@ -43,7 +43,7 @@ pub(super) fn create_swapchain(
let swapchain = xr.session.create_swapchain(&xr::SwapchainCreateInfo { let swapchain = xr.session.create_swapchain(&xr::SwapchainCreateInfo {
create_flags, create_flags,
usage_flags: xr::SwapchainUsageFlags::COLOR_ATTACHMENT | xr::SwapchainUsageFlags::SAMPLED, usage_flags: xr::SwapchainUsageFlags::COLOR_ATTACHMENT | xr::SwapchainUsageFlags::SAMPLED,
format: SWAPCHAIN_FORMAT as _, format: graphics.native_format as _,
sample_count: 1, sample_count: 1,
width: extent[0], width: extent[0],
height: extent[1], height: extent[1],
@@ -63,7 +63,7 @@ pub(super) fn create_swapchain(
graphics.device.clone(), graphics.device.clone(),
vk_image, vk_image,
ImageCreateInfo { ImageCreateInfo {
format: SWAPCHAIN_FORMAT as _, format: graphics.native_format as _,
extent, extent,
usage: ImageUsage::COLOR_ATTACHMENT, usage: ImageUsage::COLOR_ATTACHMENT,
..Default::default() ..Default::default()

View File

@@ -99,8 +99,6 @@ pub struct Vert2Uv {
pub in_uv: [f32; 2], pub in_uv: [f32; 2],
} }
pub const SWAPCHAIN_FORMAT: Format = Format::R8G8B8A8_SRGB;
pub const INDICES: [u16; 6] = [2, 1, 0, 1, 2, 3]; pub const INDICES: [u16; 6] = [2, 1, 0, 1, 2, 3];
pub const BLEND_ALPHA: AttachmentBlend = AttachmentBlend { pub const BLEND_ALPHA: AttachmentBlend = AttachmentBlend {
@@ -377,7 +375,7 @@ impl WlxGraphics {
graphics_queue, graphics_queue,
transfer_queue, transfer_queue,
capture_queue, capture_queue,
native_format: Format::R8G8B8A8_UNORM, native_format: Format::R8G8B8A8_SRGB,
texture_filtering, texture_filtering,
memory_allocator, memory_allocator,
command_buffer_allocator, command_buffer_allocator,

View File

@@ -11,7 +11,7 @@ use crate::{
input::{Haptics, InteractionHandler, PointerHit}, input::{Haptics, InteractionHandler, PointerHit},
overlay::{FrameMeta, OverlayBackend, OverlayRenderer, ShouldRender}, overlay::{FrameMeta, OverlayBackend, OverlayRenderer, ShouldRender},
}, },
graphics::{CommandBuffers, WlxGraphics, WlxPipeline, BLEND_ALPHA, SWAPCHAIN_FORMAT}, graphics::{CommandBuffers, WlxGraphics, WlxPipeline, BLEND_ALPHA},
state::AppState, state::AppState,
}; };
@@ -105,21 +105,21 @@ impl<D, S> Canvas<D, S> {
let pipeline_hl_color = graphics.create_pipeline( let pipeline_hl_color = graphics.create_pipeline(
vert.clone(), vert.clone(),
shaders.get("frag_color").unwrap().clone(), // want panic shaders.get("frag_color").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, graphics.native_format,
Some(BLEND_ALPHA), Some(BLEND_ALPHA),
)?; )?;
let pipeline_hl_sprite = graphics.create_pipeline( let pipeline_hl_sprite = graphics.create_pipeline(
vert.clone(), vert.clone(),
shaders.get("frag_sprite2_hl").unwrap().clone(), // want panic shaders.get("frag_sprite2_hl").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, graphics.native_format,
Some(BLEND_ALPHA), Some(BLEND_ALPHA),
)?; )?;
let pipeline_final = graphics.create_pipeline( let pipeline_final = graphics.create_pipeline(
vert, vert,
shaders.get("frag_srgb").unwrap().clone(), // want panic shaders.get("frag_srgb").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, graphics.native_format,
Some(BLEND_ALPHA), Some(BLEND_ALPHA),
)?; )?;

View File

@@ -53,9 +53,7 @@ use crate::{
overlay::{FrameMeta, OverlayRenderer, OverlayState, ShouldRender, SplitOverlayBackend}, overlay::{FrameMeta, OverlayRenderer, OverlayState, ShouldRender, SplitOverlayBackend},
}, },
config::{def_pw_tokens, GeneralConfig, PwTokenMap}, config::{def_pw_tokens, GeneralConfig, PwTokenMap},
graphics::{ graphics::{fourcc_to_vk, CommandBuffers, WlxGraphics, WlxPipeline, WlxUploadsBuffer},
fourcc_to_vk, CommandBuffers, WlxGraphics, WlxPipeline, WlxUploadsBuffer, SWAPCHAIN_FORMAT,
},
hid::{MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT}, hid::{MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT},
state::{AppSession, AppState, KeyboardFocus, ScreenMeta}, state::{AppSession, AppState, KeyboardFocus, ScreenMeta},
}; };
@@ -168,7 +166,7 @@ impl ScreenPipeline {
let pipeline = app.graphics.create_pipeline( let pipeline = app.graphics.create_pipeline(
shaders.get("vert_common").unwrap().clone(), // want panic shaders.get("vert_common").unwrap().clone(), // want panic
shaders.get("frag_screen").unwrap().clone(), // want panic shaders.get("frag_screen").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, app.graphics.native_format,
Some(AttachmentBlend::default()), Some(AttachmentBlend::default()),
)?; )?;

View File

@@ -23,7 +23,7 @@ use crate::{
}, },
}, },
config_wayvr, config_wayvr,
graphics::{CommandBuffers, WlxGraphics, WlxPipeline, SWAPCHAIN_FORMAT}, graphics::{CommandBuffers, WlxGraphics, WlxPipeline},
gui::modular::button::{WayVRAction, WayVRDisplayClickAction}, gui::modular::button::{WayVRAction, WayVRDisplayClickAction},
state::{self, AppState, KeyboardFocus}, state::{self, AppState, KeyboardFocus},
}; };
@@ -190,7 +190,7 @@ impl WayVRRenderer {
let pipeline = app.graphics.create_pipeline( let pipeline = app.graphics.create_pipeline(
shaders.get("vert_common").unwrap().clone(), // want panic shaders.get("vert_common").unwrap().clone(), // want panic
shaders.get("frag_srgb").unwrap().clone(), // want panic shaders.get("frag_srgb").unwrap().clone(), // want panic
SWAPCHAIN_FORMAT, app.graphics.native_format,
None, None,
)?; )?;