Files
UTM/Services/UTMQemuSystemBackends.h
osy e6436a83b0 project: add DirectX support
- virglrenderer uses shmem for texture import/export so we need App Group for both iOS and macOS
- Add QEMURenderServer for new process model rendering (both Venus and Neptune)
- macOS: add DXMT and D3DMetal-Native backends
- We require 8G hostmem for Neptune but iOS currently fails > 256M
2026-07-30 18:31:26 -07:00

54 lines
1.7 KiB
C

//
// Copyright © 2024 osy. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#ifndef UTMQemuSystemBackends_h
#define UTMQemuSystemBackends_h
/// Specify the backend renderer for this VM
typedef NS_ENUM(NSInteger, UTMQEMURendererBackend) {
kQEMURendererBackendDefault = 0,
kQEMURendererBackendAngleGL = 1,
kQEMURendererBackendAngleMetal = 2,
kQEMURendererBackendCGL = 3,
kQEMURendererBackendMax = 4,
};
/// Specify the sound backend for this VM
typedef NS_ENUM(NSInteger, UTMQEMUSoundBackend) {
kQEMUSoundBackendDefault = 0,
kQEMUSoundBackendSPICE = 1,
kQEMUSoundBackendCoreAudio = 2,
kQEMUSoundBackendMax = 3,
};
/// Specify the Vulkan driver for this VM
typedef NS_ENUM(NSInteger, UTMQEMUVulkanDriver) {
kQEMUVulkanDriverDefault = 0,
kQEMUVulkanDriverDisabled = 1,
kQEMUVulkanDriverMoltenVK = 2,
kQEMUVulkanDriverKosmicKrisp = 3,
};
/// Specify the DirectX driver for this VM
typedef NS_ENUM(NSInteger, UTMQEMUDirectXDriver) {
kQEMUDirectXDriverDefault = 0,
kQEMUDirectXDriverDisabled = 1,
kQEMUDirectXDriverDXMT = 2,
kQEMUDirectXDriverD3DMetal = 3,
};
#endif /* UTMQemuSystemBackends_h */