Port changes from -x repo (#3)

* Port config support from -x repo

* Port changes from -x repo
This commit is contained in:
Aleksander
2024-01-29 18:14:54 +01:00
committed by GitHub
parent 3b0440562a
commit dded4f6398
16 changed files with 352 additions and 91 deletions

View File

@@ -9,6 +9,7 @@ use std::{
use ash::vk::{self, SubmitInfo};
use smallvec::{smallvec, SmallVec};
use vulkano::instance::InstanceCreateFlags;
use vulkano::{
buffer::{
allocator::{SubbufferAllocator, SubbufferAllocatorCreateInfo},
@@ -25,9 +26,11 @@ use vulkano::{
descriptor_set::{
allocator::StandardDescriptorSetAllocator, DescriptorSet, WriteDescriptorSet,
},
device::physical::PhysicalDeviceType,
device::Features,
device::{
physical::{PhysicalDevice, PhysicalDeviceType},
Device, DeviceCreateInfo, DeviceExtensions, Features, Queue, QueueCreateInfo, QueueFlags,
physical::PhysicalDevice, Device, DeviceCreateInfo, DeviceExtensions, Queue,
QueueCreateInfo, QueueFlags,
},
format::Format,
image::{
@@ -37,7 +40,8 @@ use vulkano::{
Image, ImageCreateInfo, ImageLayout, ImageTiling, ImageType, ImageUsage, SampleCount,
SubresourceLayout,
},
instance::{Instance, InstanceCreateFlags, InstanceCreateInfo, InstanceExtensions},
instance::InstanceExtensions,
instance::{Instance, InstanceCreateInfo},
memory::{
allocator::{
AllocationCreateInfo, GenericMemoryAllocatorCreateInfo, MemoryAllocator,
@@ -72,6 +76,7 @@ use vulkano::{
},
DeviceSize, VulkanLibrary, VulkanObject,
};
use wlx_capture::frame::{
DmabufFrame, FourCC, DRM_FORMAT_ABGR8888, DRM_FORMAT_ARGB8888, DRM_FORMAT_XBGR8888,
DRM_FORMAT_XRGB8888,
@@ -108,7 +113,7 @@ pub struct WlxGraphics {
impl WlxGraphics {
#[cfg(feature = "openxr")]
pub fn new_xr(xr_instance: openxr::Instance, system: openxr::SystemId) -> Arc<Self> {
pub fn new_openxr(xr_instance: openxr::Instance, system: openxr::SystemId) -> Arc<Self> {
use std::ffi::{self, c_char, CString};
use vulkano::Handle;
@@ -269,7 +274,8 @@ impl WlxGraphics {
Arc::new(me)
}
pub fn new(
#[cfg(feature = "openvr")]
pub fn new_openvr(
vk_instance_extensions: InstanceExtensions,
mut vk_device_extensions_fn: impl FnMut(&PhysicalDevice) -> DeviceExtensions,
) -> Arc<Self> {
@@ -901,7 +907,7 @@ impl WlxPipeline {
) -> Self {
let render_pass_description = RenderPassCreateInfo {
attachments: vec![AttachmentDescription {
format: format,
format,
samples: SampleCount::Sample1,
load_op: AttachmentLoadOp::Clear,
store_op: AttachmentStoreOp::Store,