├── .gitattributes ├── .github └── workflows │ └── Windows CI.yml ├── .gitignore ├── LICENSE ├── Package.swift ├── README.md └── Sources ├── Direct3D12 ├── Common │ ├── Error.swift │ ├── IUnknown.swift │ └── String+Convenience.swift ├── Improvised │ ├── Enumerations │ │ └── WindingDirection.swift │ └── Strcutures │ │ └── D3DColor.swift ├── d3d12_h │ ├── Enumerations │ │ ├── BLEND.swift │ │ ├── BLEND_OP.swift │ │ ├── BUFFER_SRV_FLAGS.swift │ │ ├── BUFFER_UAV_FLAGS.swift │ │ ├── CLEAR_FLAGS.swift │ │ ├── COLOR_WRITE_ENABLE.swift │ │ ├── COMMAND_LIST_TYPE.swift │ │ ├── COMMAND_QUEUE_FLAGS.swift │ │ ├── COMMAND_QUEUE_PRIORITY.swift │ │ ├── COMPARISON_FUNC.swift │ │ ├── CONSERVATIVE_RASTERIZATION_MODE.swift │ │ ├── CPU_PAGE_PROPERTY.swift │ │ ├── CULL_MODE.swift │ │ ├── DEPTH_WRITE_MASK.swift │ │ ├── DESCRIPTOR_HEAP_FLAGS.swift │ │ ├── DESCRIPTOR_HEAP_TYPE.swift │ │ ├── DESCRIPTOR_RANGE_TYPE.swift │ │ ├── DSV_DIMENSION.swift │ │ ├── DSV_FLAGS.swift │ │ ├── FEATURE.swift │ │ ├── FENCE_FLAGS.swift │ │ ├── FILL_MODE.swift │ │ ├── FILTER.swift │ │ ├── HEAP_FLAGS.swift │ │ ├── HEAP_TYPE.swift │ │ ├── INDEX_BUFFER_STRIP_CUT_VALUE.swift │ │ ├── INDIRECT_ARGUMENT_TYPE.swift │ │ ├── INPUT_CLASSIFICATION.swift │ │ ├── LOGIC_OP.swift │ │ ├── MEMORY_POOL.swift │ │ ├── PIPELINE_STATE_FLAGS.swift │ │ ├── PREDICATION_OP.swift │ │ ├── PRIMITIVE_TOPOLOGY_TYPE.swift │ │ ├── QUERY_HEAP_TYPE.swift │ │ ├── QUERY_TYPE.swift │ │ ├── RESOURCE_BARRIER_FLAGS.swift │ │ ├── RESOURCE_BARRIER_TYPE.swift │ │ ├── RESOURCE_DIMENSION.swift │ │ ├── RESOURCE_FLAGS.swift │ │ ├── RESOURCE_STATES.swift │ │ ├── ROOT_PARAMETER_TYPE.swift │ │ ├── ROOT_SIGNATURE_FLAGS.swift │ │ ├── ROOT_SIGNATURE_VERSION.swift │ │ ├── RTV_DIMENSION.swift │ │ ├── SHADER_COMPONENT_MAPPING.swift │ │ ├── SHADER_VISIBILITY.swift │ │ ├── SRV_DIMENSION.swift │ │ ├── STATIC_BORDER_COLOR.swift │ │ ├── STENCIL_OP.swift │ │ ├── TEXTURE_ADDRESS_MODE.swift │ │ ├── TEXTURE_COPY_TYPE.swift │ │ ├── TEXTURE_LAYOUT.swift │ │ ├── TILE_COPY_FLAGS.swift │ │ ├── TILE_MAPPING_FLAGS.swift │ │ ├── TILE_RANGE_FLAGS.swift │ │ └── UAV_DIMENSION.swift │ ├── Functions │ │ └── D3D12SerializeRootSignature.swift │ ├── Interfaces │ │ ├── DXCommandAllocator.swift │ │ ├── DXCommandList.swift │ │ ├── DXCommandQueue.swift │ │ ├── DXCommandSignature.swift │ │ ├── DXDescriptorHeap.swift │ │ ├── DXDevice.swift │ │ ├── DXDeviceChild.swift │ │ ├── DXFence.swift │ │ ├── DXGraphicsCommandList.swift │ │ ├── DXHeap.swift │ │ ├── DXObject.swift │ │ ├── DXPageable.swift │ │ ├── DXPipelineState.swift │ │ ├── DXQueryHeap.swift │ │ ├── DXResource.swift │ │ ├── DXRootSignature.swift │ │ └── DXRootSignatureDeserializer.swift │ └── Structures │ │ ├── BLEND_DESC.swift │ │ ├── BOX.swift │ │ ├── BUFFER_RTV.swift │ │ ├── BUFFER_SRV.swift │ │ ├── BUFFER_UAV.swift │ │ ├── CACHED_PIPELINE_STATE.swift │ │ ├── CLEAR_VALUE.swift │ │ ├── COMMAND_QUEUE_DESC.swift │ │ ├── COMMAND_SIGNATURE_DESC.swift │ │ ├── COMPUTE_PIPELINE_STATE_DESC.swift │ │ ├── CONSTANT_BUFFER_VIEW_DESC.swift │ │ ├── CPU_DESCRIPTOR_HANDLE.swift │ │ ├── DEPTH_STENCILOP_DESC.swift │ │ ├── DEPTH_STENCIL_DESC.swift │ │ ├── DEPTH_STENCIL_VALUE.swift │ │ ├── DEPTH_STENCIL_VIEW_DESC.swift │ │ ├── DESCRIPTOR_HEAP_DESC.swift │ │ ├── DESCRIPTOR_RANGE.swift │ │ ├── DISCARD_REGION.swift │ │ ├── GPU_DESCRIPTOR_HANDLE.swift │ │ ├── GPU_VIRTUAL_ADDRESS.swift │ │ ├── GRAPHICS_PIPELINE_STATE_DESC.swift │ │ ├── HEAP_DESC.swift │ │ ├── HEAP_PROPERTIES.swift │ │ ├── INDEX_BUFFER_VIEW.swift │ │ ├── INDIRECT_ARGUMENT_DESC.swift │ │ ├── INPUT_ELEMENT_DESC.swift │ │ ├── INPUT_LAYOUT_DESC.swift │ │ ├── PACKED_MIP_INFO.swift │ │ ├── PLACED_SUBRESOURCE_FOOTPRINT.swift │ │ ├── QUERY_HEAP_DESC.swift │ │ ├── RANGE.swift │ │ ├── RASTERIZER_DESC.swift │ │ ├── RAYT_ACC_STRUCT_SRV.swift │ │ ├── RECT.swift │ │ ├── RENDER_TARGET_BLEND_DESC.swift │ │ ├── RENDER_TARGET_VIEW_DESC.swift │ │ ├── RESOURCE_ALIASING_BARRIER.swift │ │ ├── RESOURCE_ALLOCATION_INFO.swift │ │ ├── RESOURCE_BARRIER.swift │ │ ├── RESOURCE_DESC.swift │ │ ├── RESOURCE_TRANSITION_BARRIER.swift │ │ ├── RESOURCE_UAV_BARRIER.swift │ │ ├── ROOT_CONSTANTS.swift │ │ ├── ROOT_DESCRIPTOR.swift │ │ ├── ROOT_DESCRIPTOR_TABLE.swift │ │ ├── ROOT_PARAMETER.swift │ │ ├── ROOT_SIGNATURE_DESC.swift │ │ ├── SAMPLER_DESC.swift │ │ ├── SHADER_BYTECODE.swift │ │ ├── SHADER_RESOURCE_VIEW_DESC.swift │ │ ├── SO_DECLARATION_ENTRY.swift │ │ ├── STATIC_SAMPLER_DESC.swift │ │ ├── STREAM_OUTPUT_BUFFER_VIEW.swift │ │ ├── STREAM_OUTPUT_DESC.swift │ │ ├── SUBRESOURCE_FOOTPRINT.swift │ │ ├── SUBRESOURCE_TILING.swift │ │ ├── TEX1D_ARRAY_DSV.swift │ │ ├── TEX1D_ARRAY_RTV.swift │ │ ├── TEX1D_ARRAY_SRV.swift │ │ ├── TEX1D_ARRAY_UAV.swift │ │ ├── TEX1D_DSV.swift │ │ ├── TEX1D_RTV.swift │ │ ├── TEX1D_SRV.swift │ │ ├── TEX1D_UAV.swift │ │ ├── TEX2DMS_ARRAY_DSV.swift │ │ ├── TEX2DMS_ARRAY_RTV.swift │ │ ├── TEX2DMS_ARRAY_SRV.swift │ │ ├── TEX2DMS_DSV.swift │ │ ├── TEX2DMS_RTV.swift │ │ ├── TEX2DMS_SRV.swift │ │ ├── TEX2D_ARRAY_DSV.swift │ │ ├── TEX2D_ARRAY_RTV.swift │ │ ├── TEX2D_ARRAY_SRV.swift │ │ ├── TEX2D_ARRAY_UAV.swift │ │ ├── TEX2D_DSV.swift │ │ ├── TEX2D_RTV.swift │ │ ├── TEX2D_SRV.swift │ │ ├── TEX2D_UAV.swift │ │ ├── TEX3D_RTV.swift │ │ ├── TEX3D_SRV.swift │ │ ├── TEX3D_UAV.swift │ │ ├── TEXCUBE_ARRAY_SRV.swift │ │ ├── TEXCUBE_SRV.swift │ │ ├── TEXTURE_COPY_LOCATION.swift │ │ ├── TILED_RESOURCE_COORDINATE.swift │ │ ├── TILE_REGION_SIZE.swift │ │ ├── TILE_SHAPE.swift │ │ ├── UNORDERED_ACCESS_VIEW_DESC.swift │ │ ├── VERTEX_BUFFER_VIEW.swift │ │ └── VIEWPORT.swift ├── d3d12sdklayers_h │ └── Interfaces │ │ └── DXDebug.swift ├── d3dcommon_h │ ├── Enumerations │ │ ├── FEATURE_LEVEL.swift │ │ └── PRIMITIVE_TOPOLOGY.swift │ └── Interfaces │ │ └── ID3DBlob.swift ├── d3dcompiler_h │ └── Functions │ │ └── CompileFromFile.swift ├── dxgi1_2_h │ ├── Enumerations │ │ ├── DXGI_ALPHA_MODE.swift │ │ └── DXGI_SCALING.swift │ └── Structures │ │ ├── DXGI_SWAP_CHAIN_DESC1.swift │ │ └── DXGI_SWAP_CHAIN_FULLSCREEN_DESC.swift ├── dxgi_h │ ├── Enumerations │ │ ├── DXGI_MODE_SCALING.swift │ │ ├── DXGI_MODE_SCANLINE_ORDER.swift │ │ ├── DXGI_PRESENT.swift │ │ ├── DXGI_SWAP_CHAIN_FLAG.swift │ │ ├── DXGI_SWAP_EFFECT.swift │ │ └── DXGI_USAGE.swift │ ├── Interfaces │ │ ├── IDXGIAdapter.swift │ │ ├── IDXGIDevice.swift │ │ ├── IDXGIDeviceSubObject.swift │ │ ├── IDXGIFactory.swift │ │ ├── IDXGIFactory1.swift │ │ ├── IDXGIFactory2.swift │ │ ├── IDXGIFactory3.swift │ │ ├── IDXGIFactory4.swift │ │ ├── IDXGIObject.swift │ │ ├── IDXGIOutput.swift │ │ ├── IDXGISwapChain.swift │ │ └── IDXGISwapChain1.swift │ └── Structures │ │ ├── DXGI_PRESENT_PARAMETERS.swift │ │ └── DXGI_RATIONAL.swift ├── dxgicommon_h │ └── Structures │ │ └── DXGI_SAMPLE_DESC.swift └── dxgiformat_h │ └── Enumerations │ └── DXGI_FORMAT.swift ├── Direct3D12_Enumerations └── Package.swift └── Direct3D12_Unimplemented ├── Package.swift └── Sources └── Direct3D12_Unimplemented └── d3d12_h ├── Enumerations ├── AUTO_BREADCRUMB_OP.swift ├── AXIS_SHADING_RATE.swift ├── BACKGROUND_PROCESSING_MODE.swift ├── COMMAND_LIST_FLAGS.swift ├── COMMAND_LIST_SUPPORT_FLAGS.swift ├── CONSERVATIVE_RASTERIZATION_TIER.swift ├── CROSS_NODE_SHARING_TIER.swift ├── DEBUG_COMMAND_LIST_PARAMETER_TYPE.swift ├── DEBUG_DEVICE_PARAMETER_TYPE.swift ├── DEBUG_FEATURE.swift ├── DESCRIPTOR_RANGE_FLAGS.swift ├── DRED_ALLOCATION_TYPE.swift ├── DRED_ENABLEMENT.swift ├── DRED_VERSION.swift ├── DRIVER_MATCHING_IDENTIFIER_STATUS.swift ├── ELEMENTS_LAYOUT.swift ├── EXPORT_FLAGS.swift ├── FILTER_REDUCTION_TYPE.swift ├── FILTER_TYPE.swift ├── FORMAT_SUPPORT1.swift ├── FORMAT_SUPPORT2.swift ├── GRAPHICS_STATES.swift ├── HEAP_SERIALIZATION_TIER.swift ├── HIT_GROUP_TYPE.swift ├── LIFETIME_STATE.swift ├── MEASUREMENTS_ACTION.swift ├── META_COMMAND_PARAMETER_FLAGS.swift ├── META_COMMAND_PARAMETER_STAGE.swift ├── META_COMMAND_PARAMETER_TYPE.swift ├── MULTIPLE_FENCE_WAIT_FLAGS.swift ├── MULTISAMPLE_QUALITY_LEVEL_FLAGS.swift ├── PIPELINE_STATE_SUBOBJECT_TYPE.swift ├── PROGRAMMABLE_SAMPLE_POSITIONS_TIER.swift ├── PROTECTED_RESOURCE_SESSION_FLAGS.swift ├── PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.swift ├── PROTECTED_SESSION_STATUS.swift ├── RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.swift ├── RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.swift ├── RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.swift ├── RAYTRACING_ACCELERATION_STRUCTURE_TYPE.swift ├── RAYTRACING_GEOMETRY_FLAGS.swift ├── RAYTRACING_GEOMETRY_TYPE.swift ├── RAYTRACING_INSTANCE_FLAGS.swift ├── RAYTRACING_TIER.swift ├── RAY_FLAGS.swift ├── RENDER_PASS_BEGINNING_ACCESS_TYPE.swift ├── RENDER_PASS_ENDING_ACCESS_TYPE.swift ├── RENDER_PASS_FLAGS.swift ├── RENDER_PASS_TIER.swift ├── RESIDENCY_FLAGS.swift ├── RESIDENCY_PRIORITY.swift ├── RESOLVE_MODE.swift ├── RESOURCE_BINDING_TIER.swift ├── RESOURCE_HEAP_TIER.swift ├── ROOT_DESCRIPTOR_FLAGS.swift ├── SERIALIZED_DATA_TYPE.swift ├── SHADER_CACHE_SUPPORT_FLAGS.swift ├── SHADER_MIN_PRECISION_SUPPORT.swift ├── SHADER_MODEL.swift ├── SHADING_RATE.swift ├── SHADING_RATE_COMBINER.swift ├── SHARED_RESOURCE_COMPATIBILITY_TIER.swift ├── STATE_OBJECT_FLAGS.swift ├── STATE_OBJECT_TYPE.swift ├── STATE_SUBOBJECT_TYPE.swift ├── TEMPLATE_D3D12_ENUM.swift ├── TEMPLATE_D3D12_FLAGS.swift ├── TILED_RESOURCES_TIER.swift ├── VARIABLE_SHADING_RATE_TIER.swift ├── VIEW_INSTANCING_FLAGS.swift ├── VIEW_INSTANCING_TIER.swift └── WRITEBUFFERIMMEDIATE_MODE.swift ├── Interfaces ├── DXDevice1.swift ├── DXDevice2.swift ├── DXDevice3.swift ├── DXDevice4.swift ├── DXDevice5.swift ├── DXDevice6.swift ├── DXDevice7.swift ├── DXDevice8.swift ├── DXDeviceRemovedExtendedData.swift ├── DXDeviceRemovedExtendedDataSettings.swift ├── DXFence1.swift ├── DXGraphicsCommandList1.swift ├── DXGraphicsCommandList2.swift ├── DXGraphicsCommandList3.swift ├── DXGraphicsCommandList4.swift ├── DXGraphicsCommandList5.swift ├── DXLifetimeOwner.swift ├── DXLifetimeTracker.swift ├── DXMetaCommand.swift ├── DXPipelineLibrary.swift ├── DXPipelineLibrary1.swift ├── DXProtectedResourceSession.swift ├── DXProtectedResourceSession1.swift ├── DXProtectedSession.swift ├── DXStateObject.swift ├── DXStateObjectProperties.swift ├── DXTools.swift └── DXVersionedRootSignatureDeserializer.swift └── Structures ├── AUTO_BREADCRUMB_NODE.swift ├── BUILD_RAYT_ACC_STRUCT_DESC.swift ├── BUILD_RAYT_ACC_STRUCT_INPUTS.swift ├── BUILD_RAYT_ACC_STRUCT_TOOL_VIS_HEADER.swift ├── DEPTH_STENCIL_DESC1.swift ├── DESCRIPTOR_RANGE1.swift ├── DEVICE_REMOVED_EXTENDED_DATA.swift ├── DEVICE_REMOVED_EXTENDED_DATA1.swift ├── DISPATCH_ARGUMENTS.swift ├── DISPATCH_RAYS_DESC.swift ├── DRAW_ARGUMENTS.swift ├── DRAW_INDEXED_ARGUMENTS.swift ├── DRED_ALLOCATION_NODE.swift ├── DRED_AUTO_BREADCRUMBS_OUTPUT.swift ├── DRED_PAGE_FAULT_OUTPUT.swift ├── DXIL_LIBRARY_DESC.swift ├── DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.swift ├── EXISTING_COLLECTION_DESC.swift ├── EXPORT_DESC.swift ├── FEATURE_DATA_ARCHITECTURE.swift ├── FEATURE_DATA_ARCHITECTURE1.swift ├── FEATURE_DATA_COMMAND_QUEUE_PRIORITY.swift ├── FEATURE_DATA_CROSS_NODE.swift ├── FEATURE_DATA_D3D12_OPTIONS.swift ├── FEATURE_DATA_D3D12_OPTIONS1.swift ├── FEATURE_DATA_D3D12_OPTIONS2.swift ├── FEATURE_DATA_D3D12_OPTIONS3.swift ├── FEATURE_DATA_D3D12_OPTIONS4.swift ├── FEATURE_DATA_D3D12_OPTIONS5.swift ├── FEATURE_DATA_D3D12_OPTIONS6.swift ├── FEATURE_DATA_EXISTING_HEAPS.swift ├── FEATURE_DATA_FEATURE_LEVELS.swift ├── FEATURE_DATA_FORMAT_INFO.swift ├── FEATURE_DATA_FORMAT_SUPPORT.swift ├── FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.swift ├── FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS.swift ├── FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT.swift ├── FEATURE_DATA_QUERY_META_COMMAND.swift ├── FEATURE_DATA_ROOT_SIGNATURE.swift ├── FEATURE_DATA_SERIALIZATION.swift ├── FEATURE_DATA_SHADER_CACHE.swift ├── FEATURE_DATA_SHADER_MODEL.swift ├── GLOBAL_ROOT_SIGNATURE.swift ├── GPU_VIRTUAL_ADDRESS_AND_STRIDE.swift ├── GPU_VIRTUAL_ADDRESS_RANGE.swift ├── GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE.swift ├── HIT_GROUP_DESC.swift ├── LOCAL_ROOT_SIGNATURE.swift ├── MEMCPY_DEST.swift ├── META_COMMAND_DESC.swift ├── META_COMMAND_PARAMETER_DESC.swift ├── MIP_REGION.swift ├── NODE_MASK.swift ├── PIPELINE_STATE_STREAM_DESC.swift ├── PROTECTED_RESOURCE_SESSION_DESC.swift ├── PROTECTED_RESOURCE_SESSION_DESC1.swift ├── QUERY_DATA_PIPELINE_STATISTICS.swift ├── QUERY_DATA_SO_STATISTICS.swift ├── RANGE_UINT64.swift ├── RAYTRACING_AABB.swift ├── RAYTRACING_GEOMETRY_AABBS_DESC.swift ├── RAYTRACING_GEOMETRY_DESC.swift ├── RAYTRACING_GEOMETRY_TRIANGLES_DESC.swift ├── RAYTRACING_INSTANCE_DESC.swift ├── RAYTRACING_PIPELINE_CONFIG.swift ├── RAYTRACING_SHADER_CONFIG.swift ├── RAYT_ACC_STRUCT_POSTB_INF_COMPACTED_SIZE_DESC.swift ├── RAYT_ACC_STRUCT_POSTB_INF_CURRENT_SIZE_DESC.swift ├── RAYT_ACC_STRUCT_POSTB_INF_DESC.swift ├── RAYT_ACC_STRUCT_POSTB_INF_SERIALIZATION_DESC.swift ├── RAYT_ACC_STRUCT_POSTB_INF_TOOLS_VISUALIZATION_DESC.swift ├── RAYT_ACC_STRUCT_PREB_INF.swift ├── RENDER_PASS_BEGINNING_ACCESS.swift ├── RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS.swift ├── RENDER_PASS_DEPTH_STENCIL_DESC.swift ├── RENDER_PASS_ENDING_ACCESS.swift ├── RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS.swift ├── RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS.swift ├── RENDER_PASS_RENDER_TARGET_DESC.swift ├── RESOURCE_ALLOCATION_INFO1.swift ├── RESOURCE_DESC1.swift ├── ROOT_DESCRIPTOR1.swift ├── ROOT_DESCRIPTOR_TABLE1.swift ├── ROOT_PARAMETER1.swift ├── ROOT_SIGNATURE_DESC1.swift ├── RT_FORMAT_ARRAY.swift ├── SAMPLE_POSITION.swift ├── SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER.swift ├── SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER.swift ├── STATE_OBJECT_CONFIG.swift ├── STATE_OBJECT_DESC.swift ├── STATE_SUBOBJECT.swift ├── SUBOBJECT_TO_EXPORTS_ASSOCIATION.swift ├── SUBRESOURCE_DATA.swift ├── SUBRESOURCE_INFO.swift ├── SUBRESOURCE_RANGE_UINT64.swift ├── VERSIONED_ROOT_SIGNATURE_DESC.swift ├── VIEW_INSTANCE_LOCATION.swift ├── VIEW_INSTANCING_DESC.swift └── WRITEBUFFERIMMEDIATE_PARAMETER.swift /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | #Swift 3 | .build 4 | package.resolved 5 | 6 | #Apple 7 | .DS_Store 8 | 9 | #Xcode 10 | .swiftpm 11 | 12 | #Visual Studio 13 | .vs 14 | 15 | #Visual Studio Code 16 | .vscode 17 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.4 2 | /** 3 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 4 | * All Rights Reserved. 5 | * Licensed under Apache License v2.0 6 | * 7 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 8 | */ 9 | 10 | import PackageDescription 11 | 12 | let package = Package( 13 | name: "Direct3D12", 14 | products: [ 15 | .library(name: "Direct3D12", targets: ["Direct3D12"]), 16 | ], 17 | dependencies: [ 18 | 19 | ], 20 | targets: [ 21 | .target( 22 | name: "Direct3D12", 23 | swiftSettings: [ 24 | .define("Direct3D12ExcludeOriginalStyleAPI", .when(configuration: .release)), 25 | ], 26 | linkerSettings: [ 27 | .linkedLibrary("User32"), 28 | .linkedLibrary("Ole32"), 29 | .linkedLibrary("PortableDeviceGuids"), 30 | .linkedLibrary("DXGI"), 31 | .linkedLibrary("D3D12"), 32 | .linkedLibrary("D3DCompiler"), 33 | ] 34 | ), 35 | ] 36 | ) 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Direct3D12 for Swift 3 | [![Windows](https://github.com/STREGAsGate/Direct3D12/actions/workflows/Windows%20CI.yml/badge.svg)](https://github.com/STREGAsGate/Direct3D12/actions/workflows/Windows%20CI.yml) 4 | 5 | [![Twitter](https://img.shields.io/twitter/follow/stregasgate?style=social)](https://twitter.com/stregasgate) 6 | [![YouTube](https://img.shields.io/youtube/channel/subscribers/UCBXFkK2B4w9856wBJfCGufg?label=Subscribe&style=social)](https://youtube.com/stregasgate) 7 | [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/stregasgate?style=social)](https://www.reddit.com/r/stregasgate/) 8 | [![Discord](https://img.shields.io/discord/641809158051725322?label=Hang%20Out&logo=Discord&style=social)](https://discord.gg/5JdRJhD) 9 | 10 | This package exposes the DirectX 12 low level API to Swift. 11 | 12 | Source files are partitioned and named to mirror the orignal API locations and naming which makes everything easier to locate and maintain based on the original API documentation. 13 | 14 | The goal of this package is to translate every API into a Swifty format. 15 | The API is kept similar-ish to the original for familiarity. 16 | Windows stuff like ComPtrs and GUIDs are handled transparently. 17 | 18 | A shell version of the original API is available and marked `unavailable` or `deprecated` to allow fast migration. So typing in an original API will result in the compiler providing tips to help migrate your code. 19 | The Swift Setting `Direct3D12ExcludeOriginalStyleAPI` will remove all these helpers when defined and is defined by default for `release` configurations. These helpers have no implementation, they exist to help you migrate to the real API. 20 | -------------------------------------------------------------------------------- /Sources/Direct3D12/Common/String+Convenience.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension String { 12 | init(windowsUTF8 lpcstr: LPCSTR) { 13 | self = withUnsafePointer(to: lpcstr) { 14 | return $0.withMemoryRebound(to: UInt8.self, capacity: MemoryLayout.size(ofValue: $0)) { 15 | return String(cString: $0) 16 | } 17 | } 18 | } 19 | 20 | var windowsUTF8: Array { 21 | return self.withCString(encodedAs: UTF8.self) { 22 | return $0.withMemoryRebound(to: CHAR.self, capacity: self.utf8.count + 1) { 23 | return Array(UnsafeBufferPointer(start: $0, count: self.utf8.count + 1)) 24 | } 25 | } 26 | } 27 | 28 | init(windowsUTF16 lpcwstr: LPCWSTR) { 29 | self.init(decodingCString: lpcwstr, as: UTF16.self) 30 | } 31 | 32 | var windowsUTF16: Array { 33 | return self.withCString(encodedAs: UTF16.self) { 34 | return $0.withMemoryRebound(to: WCHAR.self, capacity: self.utf16.count + 1) { 35 | return Array(UnsafeBufferPointer(start: $0, count: self.utf16.count + 1)) 36 | } 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Sources/Direct3D12/Improvised/Enumerations/WindingDirection.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public enum D3DWindingDirection { 12 | case clockwise 13 | case counterClockwise 14 | } -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Enumerations/CLEAR_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies what to clear from the depth stencil view. 12 | public struct D3DClearFlags: OptionSet { 13 | public typealias RawType = WinSDK.D3D12_CLEAR_FLAGS 14 | public typealias RawValue = WinSDK.D3D12_CLEAR_FLAGS.RawValue 15 | public let rawValue: RawValue 16 | 17 | /// Indicates the depth buffer should be cleared. 18 | public static let depth = D3DClearFlags(rawValue: WinSDK.D3D12_CLEAR_FLAG_DEPTH.rawValue) 19 | 20 | /// Indicates the stencil buffer should be cleared. 21 | public static let stencil = D3DClearFlags(rawValue: WinSDK.D3D12_CLEAR_FLAG_STENCIL.rawValue) 22 | 23 | public init(rawValue: RawValue) { 24 | self.rawValue = rawValue 25 | } 26 | public init() { 27 | self.rawValue = 0 28 | } 29 | } 30 | 31 | 32 | //MARK: - Original Style API 33 | #if !Direct3D12ExcludeOriginalStyleAPI 34 | 35 | @available(*, deprecated, renamed: "D3DClearFlags") 36 | public typealias D3D12_CLEAR_FLAGS = D3DClearFlags 37 | 38 | 39 | @available(*, deprecated, renamed: "D3DClearFlags.depth") 40 | public let D3D12_CLEAR_FLAG_DEPTH = D3DClearFlags.depth 41 | 42 | @available(*, deprecated, renamed: "D3DClearFlags.stencil") 43 | public let D3D12_CLEAR_FLAG_STENCIL = D3DClearFlags.stencil 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Enumerations/COMMAND_QUEUE_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Identifies unordered-access view options for a buffer resource. 12 | public struct D3DCommandQueueFlags: OptionSet { 13 | public typealias RawType = WinSDK.D3D12_COMMAND_QUEUE_FLAGS 14 | public typealias RawValue = WinSDK.D3D12_COMMAND_QUEUE_FLAGS.RawValue 15 | public let rawValue: RawValue 16 | 17 | //Use an empty collection `[]` to represent none in Swift. 18 | ///// Indicates a default command queue. 19 | //public static let none = CommandQueueFlags(rawValue: D3D12_COMMAND_QUEUE_FLAG_NONE.rawValue) 20 | 21 | /// Indicates that the GPU timeout should be disabled for this command queue. 22 | public static let disableGPUTimeout = D3DCommandQueueFlags(rawValue: WinSDK.D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT.rawValue) 23 | 24 | public init(rawValue: RawValue) { 25 | self.rawValue = rawValue 26 | } 27 | public init() { 28 | self.rawValue = 0 29 | } 30 | } 31 | 32 | 33 | //MARK: - Original Style API 34 | #if !Direct3D12ExcludeOriginalStyleAPI 35 | 36 | @available(*, deprecated, renamed: "D3DCommandQueueFlags") 37 | public typealias D3D12_COMMAND_QUEUE_FLAGS = D3DCommandQueueFlags 38 | 39 | 40 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 41 | public let D3D12_COMMAND_QUEUE_FLAG_NONE: D3DCommandQueueFlags = [] 42 | 43 | @available(*, deprecated, renamed: "D3DCommandQueueFlags.disableGPUTimeout") 44 | public let D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = D3DCommandQueueFlags.disableGPUTimeout 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Enumerations/PREDICATION_OP.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the predication operation to apply. 12 | public enum D3DPredictionOperation { 13 | public typealias RawValue = WinSDK.D3D12_PREDICATION_OP 14 | /// Enables predication if all 64-bits are zero. 15 | case equalZero 16 | /// Enables predication if at least one of the 64-bits are not zero. 17 | case notEqualZero 18 | 19 | public var rawValue: RawValue { 20 | switch self { 21 | case .equalZero: 22 | return WinSDK.D3D12_PREDICATION_OP_EQUAL_ZERO 23 | case .notEqualZero: 24 | return WinSDK.D3D12_PREDICATION_OP_NOT_EQUAL_ZERO 25 | } 26 | } 27 | } 28 | 29 | 30 | //MARK: - Original Style API 31 | #if !Direct3D12ExcludeOriginalStyleAPI 32 | 33 | @available(*, deprecated, renamed: "D3DPredictionOperation") 34 | public typealias D3D12_PREDICATION_OP = D3DPredictionOperation 35 | 36 | 37 | @available(*, deprecated, renamed: "D3DPredictionOperation.equalZero") 38 | public let D3D12_PREDICATION_OP_EQUAL_ZERO = D3DPredictionOperation.equalZero 39 | 40 | @available(*, deprecated, renamed: "D3DPredictionOperation.notEqualZero") 41 | public let D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = D3DPredictionOperation.notEqualZero 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Enumerations/ROOT_SIGNATURE_VERSION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the version of root signature layout. 12 | public enum D3DRootSignatureVersion { 13 | public typealias RawValue = WinSDK.D3D_ROOT_SIGNATURE_VERSION 14 | /// Version one of root signature layout. 15 | case v1_0 16 | /// Version 1.1 of root signature layout. 17 | @available(Windows, introduced: 10.0.14393) 18 | case v1_1 19 | 20 | public var rawValue: RawValue { 21 | switch self { 22 | case .v1_0: 23 | return WinSDK.D3D_ROOT_SIGNATURE_VERSION_1_0 24 | case .v1_1: 25 | return WinSDK.D3D_ROOT_SIGNATURE_VERSION_1_1 26 | } 27 | } 28 | } 29 | 30 | 31 | //MARK: - Original Style API 32 | #if !Direct3D12ExcludeOriginalStyleAPI 33 | 34 | @available(*, deprecated, renamed: "D3DRootSignatureVersion") 35 | public typealias D3D_ROOT_SIGNATURE_VERSION = D3DRootSignatureVersion 36 | 37 | 38 | @available(*, deprecated, renamed: "v1_0") 39 | let D3D_ROOT_SIGNATURE_VERSION_1_0: D3DRootSignatureVersion = .v1_0 40 | 41 | @available(Windows, introduced: 10.0.14393) 42 | @available(*, deprecated, renamed: "v1_1") 43 | let D3D_ROOT_SIGNATURE_VERSION_1_1: D3DRootSignatureVersion = .v1_1 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Functions/D3D12SerializeRootSignature.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import Foundation 10 | import WinSDK 11 | 12 | /** Serializes a root signature version 1.0 that can be passed to ID3D12Device::CreateRootSignature. 13 | - parameter description: The description of the root signature, as a pointer to a D3D12_ROOT_SIGNATURE_DESC structure. 14 | - parameter version: A D3D_ROOT_SIGNATURE_VERSION-typed value that specifies the version of root signature. 15 | - note: For Swift this step is folded directly into device.createRootSignature, so pass this functions variables directly into that function. 16 | */ 17 | public func serializeRootSignature(_ description: D3DRootSignatureDescription, version: D3DRootSignatureVersion) throws -> D3DBlob { 18 | return try description.withUnsafeRawValue {pRootSignature in 19 | var pRootSignature = pRootSignature 20 | let Version = version.rawValue 21 | var ppBlob: UnsafeMutablePointer? 22 | var ppErrorBlob: UnsafeMutablePointer? 23 | let hresult = WinSDK.D3D12SerializeRootSignature(&pRootSignature, Version, &ppBlob, &ppErrorBlob) 24 | if hresult.isSuccess == false { 25 | if let error = D3DBlob(winSDKPointer: ppErrorBlob) { 26 | print("D3D12 Error:", error.stringValue!) 27 | } 28 | try hresult.checkResult(nil, #function) 29 | } 30 | guard let v = D3DBlob(winSDKPointer: ppBlob) else {throw Error(.invalidArgument)} 31 | return v 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXCommandAllocator.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Represents the allocations of storage for graphics processing unit (GPU) commands. 12 | public class D3DCommandAllocator: D3DPageable { 13 | 14 | /// This method returns E_FAIL if there is an actively recording command list referencing the command allocator. The debug layer will also issue an error in this case. 15 | public func reset() throws { 16 | try perform(as: RawValue.self) {(pThis) in 17 | try pThis.pointee.lpVtbl.pointee.Reset(pThis).checkResult(self, #function) 18 | } 19 | } 20 | 21 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 22 | } 23 | 24 | extension D3DCommandAllocator { 25 | typealias RawValue = WinSDK.ID3D12CommandAllocator 26 | } 27 | extension D3DCommandAllocator.RawValue { 28 | static var interfaceID: IID {WinSDK.IID_ID3D12CommandAllocator} 29 | } 30 | 31 | //MARK: - Original Style API 32 | #if !Direct3D12ExcludeOriginalStyleAPI 33 | 34 | @available(*, unavailable, renamed: "D3DCommandAllocator") 35 | public typealias ID3D12CommandAllocator = D3DCommandAllocator 36 | 37 | public extension D3DCommandAllocator { 38 | @available(*, unavailable, renamed: "reset") 39 | func Reset() -> HRESULT {fatalError("This API is here to make migration easier. There is no implementation.")} 40 | } 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXCommandList.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class D3DCommandList: D3DDeviceChild { 12 | /// Gets the type of the command list, such as direct, bundle, compute, or copy. 13 | public var commandListType: D3DCommandListType { 14 | return performFatally(as: RawValue.self) { 15 | return D3DCommandListType(rawValue: $0.pointee.lpVtbl.pointee.GetType($0)) 16 | } 17 | } 18 | 19 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 20 | } 21 | 22 | extension D3DCommandList { 23 | typealias RawValue = WinSDK.ID3D12CommandList 24 | } 25 | extension D3DCommandList.RawValue { 26 | static var interfaceID: IID {WinSDK.IID_ID3D12CommandList} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, unavailable, renamed: "D3DCommandList") 33 | public typealias ID3D12CommandList = D3DCommandList 34 | 35 | public extension D3DCommandList { 36 | @available(*, unavailable, renamed: "commandListType") 37 | func GetType() -> D3DCommandListType.RawValue { 38 | fatalError("This API is here to make migration easier. There is no implementation.") 39 | } 40 | } 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXCommandSignature.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// A command signature object enables apps to specify indirect drawing, including the buffer format, command type and resource bindings to be used. 12 | public class D3DCommandSignature: D3DPageable { 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension D3DCommandSignature { 17 | typealias RawValue = WinSDK.ID3D12CommandSignature 18 | } 19 | extension D3DCommandSignature.RawValue { 20 | static var interfaceID: IID {WinSDK.IID_ID3D12CommandSignature} 21 | } 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(*, deprecated, renamed: "D3DCommandSignature") 27 | public typealias ID3D12CommandSignature = D3DCommandSignature 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXHeap.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// A heap is an abstraction of contiguous memory allocation, used to manage physical memory. This heap can be used with ID3D12Resource objects to support placed resources or reserved resources. 12 | public class D3DHeap: D3DPageable { 13 | 14 | /// Gets the heap description. 15 | public var heapDescription: D3DHeapDescription { 16 | return performFatally(as: RawValue.self) {pThis in 17 | return D3DHeapDescription(pThis.pointee.lpVtbl.pointee.GetDesc(pThis)) 18 | } 19 | } 20 | 21 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 22 | } 23 | 24 | extension D3DHeap { 25 | typealias RawValue = WinSDK.ID3D12Heap 26 | } 27 | extension D3DHeap.RawValue { 28 | static var interfaceID: WinSDK.IID { 29 | return WinSDK.IID_ID3D12Heap 30 | } 31 | } 32 | 33 | //MARK: - Original Style API 34 | #if !Direct3D12ExcludeOriginalStyleAPI 35 | 36 | @available(*, deprecated, renamed: "D3DHeap") 37 | public typealias ID3D12Heap = D3DHeap 38 | 39 | public extension D3DHeap { 40 | @available(*, unavailable, renamed: "heapDescription") 41 | func GetDevice() -> D3DHeapDescription { 42 | fatalError("This API is here to make migration easier. There is no implementation.") 43 | } 44 | } 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXObject.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// An interface from which ID3D12Device and ID3D12DeviceChild inherit from. It provides methods to associate private data and annotate object names. 12 | public class D3DObject: IUnknown { 13 | 14 | /** Associates a name with the device object. This name is for use in debug diagnostics and tools. 15 | - parameter string: A NULL-terminated UNICODE string that contains the name to associate with the device object. 16 | */ 17 | public func setDebugName(_ string: String) throws { 18 | try perform(as: RawValue.self) {pThis in 19 | try pThis.pointee.lpVtbl.pointee.SetName(pThis, string.windowsUTF16).checkResult(self, #function) 20 | } 21 | } 22 | 23 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 24 | } 25 | 26 | extension D3DObject { 27 | typealias RawValue = WinSDK.ID3D12Object 28 | } 29 | extension D3DObject.RawValue { 30 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12Object} 31 | } 32 | 33 | //MARK: - Original Style API 34 | #if !Direct3D12ExcludeOriginalStyleAPI 35 | 36 | @available(*, unavailable, renamed: "D3DObject") 37 | public typealias ID3D12Object = D3DObject 38 | 39 | public extension D3DObject { 40 | @available(*, unavailable, renamed: "setDebugName(_:)") 41 | func SetName(_ Name: Any) -> HRESULT { 42 | fatalError("This API is here to make migration easier. There is no implementation.") 43 | } 44 | } 45 | 46 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXPageable.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// An interface from which many other core interfaces inherit from. It indicates that the object type encapsulates some amount of GPU-accessible memory; but does not strongly indicate whether the application can manipulate the object's residency. 12 | public class D3DPageable: D3DDeviceChild { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | extension D3DPageable { 18 | typealias RawValue = WinSDK.ID3D12Pageable 19 | } 20 | extension D3DPageable.RawValue { 21 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12Pageable} 22 | } 23 | 24 | //MARK: - Original Style API 25 | #if !Direct3D12ExcludeOriginalStyleAPI 26 | 27 | @available(*, unavailable, renamed: "D3DPageable") 28 | public typealias ID3D12Pageable = D3DPageable 29 | 30 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXPipelineState.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Represents the state of all currently set shaders as well as certain fixed function state objects. 12 | public class D3DPipelineState: D3DPageable { 13 | 14 | /// Gets the cached blob representing the pipeline state. 15 | public func cachedBlob() throws -> D3DBlob { 16 | return try perform(as: RawValue.self) {pThis in 17 | var ppBlob: UnsafeMutablePointer? 18 | try pThis.pointee.lpVtbl.pointee.GetCachedBlob(pThis, &ppBlob).checkResult(self, #function) 19 | guard let v = D3DBlob(winSDKPointer: ppBlob) else {throw Error(.invalidArgument)} 20 | return v 21 | } 22 | } 23 | 24 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 25 | } 26 | 27 | extension D3DPipelineState { 28 | typealias RawValue = WinSDK.ID3D12PipelineState 29 | } 30 | extension D3DPipelineState.RawValue { 31 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12PipelineState} 32 | } 33 | 34 | //MARK: - Original Style API 35 | #if !Direct3D12ExcludeOriginalStyleAPI 36 | 37 | @available(*, deprecated, renamed: "D3DPipelineState") 38 | public typealias ID3D12PipelineState = D3DPipelineState 39 | 40 | public extension D3DPipelineState { 41 | @available(*, unavailable, renamed: "cachedBlob()") 42 | func GetCachedBlob(_ ppBlob: Any) -> HRESULT { 43 | fatalError("This API is here to make migration easier. There is no implementation.") 44 | } 45 | } 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXQueryHeap.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class D3DQueryHeap: D3DPageable { 12 | 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension D3DQueryHeap { 17 | typealias RawValue = WinSDK.ID3D12QueryHeap 18 | } 19 | extension D3DQueryHeap.RawValue { 20 | static var interfaceID: WinSDK.IID { 21 | return WinSDK.IID_ID3D12QueryHeap 22 | } 23 | } 24 | 25 | 26 | //MARK: - Original Style API 27 | #if !Direct3D12ExcludeOriginalStyleAPI 28 | 29 | @available(*, deprecated, renamed: "D3DQueryHeap") 30 | public typealias ID3D12QueryHeap = D3DQueryHeap 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXRootSignature.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// The root signature defines what resources are bound to the graphics pipeline. A root signature is configured by the app and links command lists to the resources the shaders require. Currently, there is one graphics and one compute root signature per app. 12 | public class D3DRootSignature: D3DDeviceChild { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | extension D3DRootSignature { 18 | public typealias RawValue = WinSDK.ID3D12RootSignature 19 | } 20 | extension D3DRootSignature.RawValue { 21 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12RootSignature} 22 | } 23 | 24 | //MARK: - Original Style API 25 | #if !Direct3D12ExcludeOriginalStyleAPI 26 | 27 | @available(*, deprecated, renamed: "D3DRootSignature") 28 | public typealias ID3D12RootSignature = D3DRootSignature 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Interfaces/DXRootSignatureDeserializer.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class D3DRootSignatureDeserializer: IUnknown { 12 | 13 | public var rootSignatureDescription: D3DRootSignatureDescription { 14 | return performFatally(as: RawValue.self) {pThis in 15 | // let v = pThis.pointee.lpVtbl.pointee.GetRootSignatureDesc(pThis) 16 | // return D3DRootSignatureDescription(v!.pointee) 17 | fatalError("\(type(of: self)) \(#function) not implemented.") 18 | } 19 | } 20 | 21 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 22 | } 23 | 24 | extension D3DRootSignatureDeserializer { 25 | public typealias RawValue = WinSDK.ID3D12RootSignatureDeserializer 26 | } 27 | extension D3DRootSignatureDeserializer.RawValue { 28 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12RootSignatureDeserializer} 29 | } 30 | 31 | //MARK: - Original Style API 32 | #if !Direct3D12ExcludeOriginalStyleAPI 33 | 34 | @available(*, deprecated, renamed: "D3DRootSignatureDeserializer") 35 | public typealias ID3D12RootSignatureDeserializer = D3DRootSignatureDeserializer 36 | 37 | public extension D3DRootSignatureDeserializer { 38 | @available(*, unavailable, renamed: "rootSignatureDescription") 39 | func GetRootSignatureDesc() -> Any { 40 | fatalError("This API is here to make migration easier. There is no implementation.") 41 | } 42 | } 43 | 44 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/CACHED_PIPELINE_STATE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | import Foundation 11 | 12 | /// Stores a pipeline state. 13 | public struct D3DCachedPipelineState { 14 | public typealias RawValue = WinSDK.D3D12_CACHED_PIPELINE_STATE 15 | internal var rawValue: RawValue 16 | 17 | /** Stores a pipeline state. 18 | - parameter cachedBlob: Specifies pointer that references the memory location of the cache. 19 | */ 20 | public init(cachedBlob: D3DBlob) { 21 | self.rawValue = RawValue() 22 | self.rawValue.pCachedBlob = UnsafeRawPointer(cachedBlob.bufferPointer) 23 | self.rawValue.CachedBlobSizeInBytes = cachedBlob.bufferSize 24 | } 25 | 26 | /// Stores a pipeline state. 27 | public init() { 28 | self.rawValue = RawValue(pCachedBlob: nil, CachedBlobSizeInBytes: 0) 29 | } 30 | 31 | internal init(_ rawValue: RawValue) { 32 | self.rawValue = rawValue 33 | } 34 | } 35 | 36 | 37 | //MARK: - Original Style API 38 | #if !Direct3D12ExcludeOriginalStyleAPI 39 | 40 | @available(*, deprecated, renamed: "D3DCachedPipelineState") 41 | public typealias D3D12_CACHED_PIPELINE_STATE = D3DCachedPipelineState 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/CPU_DESCRIPTOR_HANDLE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes a CPU descriptor handle. 12 | public struct D3DCPUDescriptorHandle { 13 | public typealias RawValue = WinSDK.D3D12_CPU_DESCRIPTOR_HANDLE 14 | internal var rawValue: RawValue 15 | 16 | /// The address of the descriptor. 17 | public var pointer: UInt64 { 18 | get { 19 | return rawValue.ptr 20 | } 21 | set { 22 | self.rawValue.ptr = newValue 23 | } 24 | } 25 | 26 | /** Describes a CPU descriptor handle. 27 | - parameter pointer: The address of the descriptor. 28 | */ 29 | public init(pointer: UInt64) { 30 | self.rawValue = RawValue() 31 | self.pointer = pointer 32 | } 33 | 34 | internal init(_ rawValue: RawValue) { 35 | self.rawValue = rawValue 36 | } 37 | } 38 | 39 | 40 | //MARK: - Original Style API 41 | #if !Direct3D12ExcludeOriginalStyleAPI 42 | 43 | @available(*, deprecated, renamed: "D3DCPUDescriptorHandle") 44 | public typealias D3D12_CPU_DESCRIPTOR_HANDLE = D3DCPUDescriptorHandle 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/DEPTH_STENCIL_VALUE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies a depth and stencil value. 12 | public struct D3DDepthStencilValue { 13 | public typealias RawValue = WinSDK.D3D12_DEPTH_STENCIL_VALUE 14 | internal var rawValue: RawValue 15 | 16 | /// Specifies the depth value. 17 | public var depth: Float { 18 | get { 19 | return rawValue.Depth 20 | } 21 | set { 22 | rawValue.Depth = newValue 23 | } 24 | } 25 | 26 | /// Specifies the stencil value. 27 | public var stencil: UInt8 { 28 | get { 29 | return rawValue.Stencil 30 | } 31 | set { 32 | rawValue.Stencil = newValue 33 | } 34 | } 35 | 36 | /** Specifies a depth and stencil value. 37 | - parameter depth: Specifies the depth value. 38 | - parameter stencil: Specifies the stencil value. 39 | */ 40 | public init(depth: Float, stencil: UInt8) { 41 | self.rawValue = RawValue() 42 | self.depth = depth 43 | self.stencil = stencil 44 | } 45 | 46 | internal init(_ rawValue: RawValue) { 47 | self.rawValue = rawValue 48 | } 49 | } 50 | 51 | 52 | //MARK: - Original Style API 53 | #if !Direct3D12ExcludeOriginalStyleAPI 54 | 55 | @available(*, deprecated, renamed: "D3DDepthStencilValue") 56 | public typealias D3D12_DEPTH_STENCIL_VALUE = D3DDepthStencilValue 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/GPU_DESCRIPTOR_HANDLE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes a GPU descriptor handle. 12 | public struct D3DGPUDescriptorHandle { 13 | public typealias RawValue = WinSDK.D3D12_GPU_DESCRIPTOR_HANDLE 14 | internal var rawValue: RawValue 15 | 16 | /// The address of the descriptor. 17 | public var pointer: UInt64 { 18 | get { 19 | return rawValue.ptr 20 | } 21 | set { 22 | self.rawValue.ptr = newValue 23 | } 24 | } 25 | 26 | /** Describes a GPU descriptor handle. 27 | - parameter pointer: The address of the descriptor. 28 | */ 29 | public init(pointer: UInt64) { 30 | self.rawValue = RawValue() 31 | self.pointer = pointer 32 | } 33 | 34 | internal init(_ rawValue: RawValue) { 35 | self.rawValue = rawValue 36 | } 37 | } 38 | 39 | 40 | //MARK: - Original Style API 41 | #if !Direct3D12ExcludeOriginalStyleAPI 42 | 43 | @available(*, deprecated, renamed: "D3DGPUDescriptorHandle") 44 | public typealias D3D12_GPU_DESCRIPTOR_HANDLE = D3DGPUDescriptorHandle 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/GPU_VIRTUAL_ADDRESS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public typealias D3DGPUVirtualAddress = WinSDK.D3D12_GPU_VIRTUAL_ADDRESS 12 | 13 | //MARK: - Original Style API 14 | #if !Direct3D12ExcludeOriginalStyleAPI 15 | 16 | @available(*, deprecated, renamed: "D3DGPUVirtualAddress") 17 | public typealias D3D12_GPU_VIRTUAL_ADDRESS = D3DGPUVirtualAddress 18 | 19 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/RANGE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public typealias D3DRange = ClosedRange 12 | internal extension D3DRange { 13 | typealias RawValue = WinSDK.D3D12_RANGE 14 | var rawValue: RawValue { 15 | return RawValue(Begin: lowerBound, End: upperBound) 16 | } 17 | 18 | init(_ rawValue: RawValue) { 19 | self = rawValue.Begin ... rawValue.End 20 | } 21 | } 22 | 23 | 24 | //MARK: - Original Style API 25 | #if !Direct3D12ExcludeOriginalStyleAPI 26 | 27 | @available(*, deprecated, renamed: "D3DRange") 28 | public typealias D3D12_RANGE = D3DRange 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/RAYT_ACC_STRUCT_SRV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// A shader resource view (SRV) structure for storing a raytracing acceleration structure. 12 | public struct D3DRaytracingAccelerationStructureShaderResourceView { 13 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV 14 | internal var rawValue: RawValue 15 | 16 | /// The GPU virtual address of the SRV. 17 | public var location: UInt64 { 18 | get { 19 | return rawValue.Location 20 | } 21 | set { 22 | rawValue.Location = newValue 23 | } 24 | } 25 | 26 | /** A shader resource view (SRV) structure for storing a raytracing acceleration structure. 27 | - parameter location: The GPU virtual address of the SRV. 28 | */ 29 | public init(location: UInt64) { 30 | self.rawValue = RawValue(Location: location) 31 | } 32 | 33 | internal init(_ rawValue: RawValue) { 34 | self.rawValue = rawValue 35 | } 36 | } 37 | 38 | 39 | //MARK: - Original Style API 40 | #if !Direct3D12ExcludeOriginalStyleAPI 41 | 42 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructureShaderResourceView") 43 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV = D3DRaytracingAccelerationStructureShaderResourceView 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/RESOURCE_UAV_BARRIER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Represents a resource in which all UAV accesses must complete before any future UAV accesses can begin. 12 | public struct D3DResourceUnorderedAccessViewBarrier { 13 | public typealias RawValue = WinSDK.D3D12_RESOURCE_UAV_BARRIER 14 | internal var rawValue: RawValue 15 | 16 | /// The resource used in the transition, as a pointer to ID3D12Resource. 17 | public var resource: D3DResource? { 18 | get { 19 | return D3DResource(winSDKPointer: rawValue.pResource) 20 | } 21 | set { 22 | rawValue.pResource = newValue?.performFatally(as: D3DResource.RawValue.self) {$0} 23 | } 24 | } 25 | 26 | /// Represents a resource in which all UAV accesses must complete before any future UAV accesses can begin. 27 | public init() { 28 | self.rawValue = RawValue() 29 | } 30 | 31 | internal init(_ rawValue: RawValue) { 32 | self.rawValue = rawValue 33 | } 34 | } 35 | 36 | 37 | //MARK: - Original Style API 38 | #if !Direct3D12ExcludeOriginalStyleAPI 39 | 40 | @available(*, deprecated, renamed: "D3DResourceUnorderedAccessViewBarrier") 41 | public typealias D3D12_RESOURCE_UAV_BARRIER = D3DResourceUnorderedAccessViewBarrier 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/ROOT_DESCRIPTOR.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes descriptors inline in the root signature version 1.0 that appear in shaders. 12 | public struct D3DRootDescriptor { 13 | public typealias RawValue = WinSDK.D3D12_ROOT_DESCRIPTOR 14 | internal var rawValue: RawValue 15 | 16 | /// The shader register. 17 | public var shaderRegister: UInt32 { 18 | get { 19 | return rawValue.ShaderRegister 20 | } 21 | set { 22 | rawValue.ShaderRegister = newValue 23 | } 24 | } 25 | 26 | /// The register space. 27 | public var registerSpace: UInt32 { 28 | get { 29 | return rawValue.RegisterSpace 30 | } 31 | set { 32 | rawValue.RegisterSpace = newValue 33 | } 34 | } 35 | 36 | /** Describes descriptors inline in the root signature version 1.0 that appear in shaders. 37 | - parameter shaderRegister: The shader register. 38 | - parameter registerSpace: The register space. 39 | */ 40 | public init(shaderRegister: UInt32 = 1, registerSpace: UInt32 = 0) { 41 | self.rawValue = RawValue(ShaderRegister: shaderRegister, RegisterSpace: registerSpace) 42 | } 43 | 44 | internal init(_ rawValue: RawValue) { 45 | self.rawValue = rawValue 46 | } 47 | } 48 | 49 | 50 | //MARK: - Original Style API 51 | #if !Direct3D12ExcludeOriginalStyleAPI 52 | 53 | @available(*, deprecated, renamed: "D3DRootDescriptor") 54 | public typealias D3D12_ROOT_DESCRIPTOR = D3DRootDescriptor 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/SHADER_BYTECODE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | import Foundation 11 | 12 | /// Describes shader data. 13 | public struct D3DShaderBytecode { 14 | public typealias RawValue = WinSDK.D3D12_SHADER_BYTECODE 15 | 16 | /// A pointer to a memory block that contains the shader data. 17 | public var blob: D3DBlob? 18 | 19 | /** Describes shader data. 20 | - parameter byteCodeBlob: A pointer to a memory block that contains the shader data. 21 | */ 22 | public init(byteCodeBlob blob: D3DBlob?) { 23 | self.blob = blob 24 | } 25 | 26 | internal func withUnsafeRawValue(_ body: (RawValue) throws -> ResultType) rethrows -> ResultType { 27 | let rawValue = RawValue(pShaderBytecode: blob?.bufferPointer, BytecodeLength: blob?.bufferSize ?? 0) 28 | return try body(rawValue) 29 | } 30 | } 31 | 32 | 33 | //MARK: - Original Style API 34 | #if !Direct3D12ExcludeOriginalStyleAPI 35 | 36 | @available(*, deprecated, renamed: "D3DShaderBytecode") 37 | public typealias D3D12_SHADER_BYTECODE = D3DShaderBytecode 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX1D_DSV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes the subresource from a 1D texture that is accessible to a depth-stencil view. 12 | public struct D3DTexture1DDepthStencilView { 13 | public typealias RawValue = WinSDK.D3D12_TEX1D_DSV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the first mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /** Describes the subresource from a 1D texture that is accessible to a depth-stencil view. 27 | - parameter mipIndex: The index of the first mipmap level to use. 28 | */ 29 | public init(mipIndex: UInt32) { 30 | self.rawValue = RawValue(MipSlice: mipIndex) 31 | } 32 | 33 | internal init(_ rawValue: RawValue) { 34 | self.rawValue = rawValue 35 | } 36 | } 37 | 38 | 39 | //MARK: - Original Style API 40 | #if !Direct3D12ExcludeOriginalStyleAPI 41 | 42 | @available(*, deprecated, renamed: "D3DTexture1DDepthStencilView") 43 | public typealias D3D12_TEX1D_DSV = D3DTexture1DDepthStencilView 44 | 45 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX1D_RTV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes the subresource from a 1D texture to use in a render-target view. 12 | public struct D3DTexture1DRenderTargetView { 13 | public typealias RawValue = WinSDK.D3D12_TEX1D_RTV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the first mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /** Describes the subresource from a 1D texture to use in a render-target view. 27 | - parameter mipIndex: The index of the first mipmap level to use. 28 | */ 29 | public init(mipIndex: UInt32) { 30 | self.rawValue = RawValue(MipSlice: mipIndex) 31 | } 32 | 33 | internal init(_ rawValue: RawValue) { 34 | self.rawValue = rawValue 35 | } 36 | } 37 | 38 | 39 | //MARK: - Original Style API 40 | #if !Direct3D12ExcludeOriginalStyleAPI 41 | 42 | @available(*, deprecated, renamed: "D3DTexture1DRenderTargetView") 43 | public typealias D3D12_TEX1D_RTV = D3DTexture1DRenderTargetView 44 | 45 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX1D_UAV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes a unordered-access 1D texture resource. 12 | public struct D3DTexture1DUnorderedAccessView { 13 | public typealias RawValue = WinSDK.D3D12_TEX1D_UAV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the first mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /** Describes a unordered-access 1D texture resource. 27 | - parameter mipIndex: The index of the first mipmap level to use. 28 | */ 29 | public init(mipIndex: UInt32) { 30 | self.rawValue = RawValue(MipSlice: mipIndex) 31 | } 32 | 33 | internal init(_ rawValue: RawValue) { 34 | self.rawValue = rawValue 35 | } 36 | } 37 | 38 | 39 | //MARK: - Original Style API 40 | #if !Direct3D12ExcludeOriginalStyleAPI 41 | 42 | @available(*, deprecated, renamed: "D3DTexture1DUnorderedAccessView") 43 | public typealias D3D12_TEX1D_UAV = D3DTexture1DUnorderedAccessView 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2DMS_DSV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DTexture2DMultiSampledDepthStencilView { 12 | public typealias RawValue = WinSDK.D3D12_TEX2DMS_DSV 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DTexture2DMultiSampledDepthStencilView") 26 | public typealias D3D12_TEX2DMS_DSV = D3DTexture2DMultiSampledDepthStencilView 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2DMS_RTV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DTexture2DMultiSampledRenderTargetView { 12 | public typealias RawValue = WinSDK.D3D12_TEX2DMS_RTV 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DTexture2DMultiSampledRenderTargetView") 26 | public typealias D3D12_TEX2DMS_RTV = D3DTexture2DMultiSampledRenderTargetView 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2DMS_SRV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DTexture2DMultiSampledShaderResourceView { 12 | public typealias RawValue = WinSDK.D3D12_TEX2DMS_SRV 13 | internal var rawValue: RawValue 14 | 15 | internal init(_ rawValue: RawValue) { 16 | self.rawValue = rawValue 17 | } 18 | } 19 | 20 | 21 | //MARK: - Original Style API 22 | #if !Direct3D12ExcludeOriginalStyleAPI 23 | 24 | @available(*, deprecated, renamed: "D3DTexture2DMultiSampledShaderResourceView") 25 | public typealias D3D12_TEX2DMS_SRV = D3DTexture2DMultiSampledShaderResourceView 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2D_DSV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes the subresource from a 2D texture that is accessible to a depth-stencil view. 12 | public struct D3DTexture2DDepthStencilView { 13 | public typealias RawValue = WinSDK.D3D12_TEX2D_DSV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the first mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /** Describes the subresource from a 2D texture that is accessible to a depth-stencil view. 27 | - parameter mipIndex: The index of the first mipmap level to use. 28 | */ 29 | public init(mipIndex: UInt32) { 30 | self.rawValue = RawValue(MipSlice: mipIndex) 31 | } 32 | 33 | internal init(_ rawValue: RawValue) { 34 | self.rawValue = rawValue 35 | } 36 | } 37 | 38 | 39 | //MARK: - Original Style API 40 | #if !Direct3D12ExcludeOriginalStyleAPI 41 | 42 | @available(*, deprecated, renamed: "D3DTexture2DDepthStencilView") 43 | public typealias D3D12_TEX2D_DSV = D3DTexture2DDepthStencilView 44 | 45 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2D_RTV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes the subresource from a 2D texture to use in a render-target view. 12 | public struct D3DTexture2DRenderTargetView { 13 | public typealias RawValue = WinSDK.D3D12_TEX2D_RTV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /// The index (plane slice number) of the plane to use in the texture. 27 | public var planeSlice: UInt32 { 28 | get { 29 | return rawValue.PlaneSlice 30 | } 31 | set { 32 | rawValue.PlaneSlice = newValue 33 | } 34 | } 35 | 36 | 37 | /** Describes the subresource from a 2D texture to use in a render-target view. 38 | - parameter mipIndex: 39 | - parameter planeSlice: 40 | */ 41 | public init(mipIndex: UInt32, planeSlice: UInt32) { 42 | self.rawValue = RawValue(MipSlice: mipIndex, PlaneSlice: planeSlice) 43 | } 44 | 45 | internal init(_ rawValue: RawValue) { 46 | self.rawValue = rawValue 47 | } 48 | } 49 | 50 | 51 | //MARK: - Original Style API 52 | #if !Direct3D12ExcludeOriginalStyleAPI 53 | 54 | @available(*, deprecated, renamed: "D3DTexture2DRenderTargetView") 55 | public typealias D3D12_TEX2D_RTV = D3DTexture2DRenderTargetView 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3d12_h/Structures/TEX2D_UAV.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes a unordered-access 2D texture resource. 12 | public struct D3DTexture2DUnorderedAccessView { 13 | public typealias RawValue = WinSDK.D3D12_TEX2D_UAV 14 | internal var rawValue: RawValue 15 | 16 | /// The index of the mipmap level to use. 17 | public var mipIndex: UInt32 { 18 | get { 19 | return rawValue.MipSlice 20 | } 21 | set { 22 | rawValue.MipSlice = newValue 23 | } 24 | } 25 | 26 | /// The index (plane slice number) of the plane to use in the texture. 27 | public var planeSlice: UInt32 { 28 | get { 29 | return rawValue.PlaneSlice 30 | } 31 | set { 32 | rawValue.PlaneSlice = newValue 33 | } 34 | } 35 | 36 | /** Describes a unordered-access 2D texture resource. 37 | - parameter mipIndex: The mipmap slice index. 38 | - parameter planeSlice: The index (plane slice number) of the plane to use in the texture. 39 | */ 40 | public init(mipIndex: UInt32, planeSlice: UInt32) { 41 | self.rawValue = RawValue(MipSlice: mipIndex, PlaneSlice: planeSlice) 42 | } 43 | 44 | internal init(_ rawValue: RawValue) { 45 | self.rawValue = rawValue 46 | } 47 | } 48 | 49 | 50 | //MARK: - Original Style API 51 | #if !Direct3D12ExcludeOriginalStyleAPI 52 | 53 | @available(*, deprecated, renamed: "D3DTexture2DUnorderedAccessView") 54 | public typealias D3D12_TEX2D_UAV = D3DTexture2DUnorderedAccessView 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /Sources/Direct3D12/d3dcompiler_h/Functions/CompileFromFile.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import Foundation 10 | import WinSDK 11 | 12 | public func compileFromFile(_ url: URL, functionName: String, target: String) throws -> D3DBlob { 13 | let pFileName = url.withUnsafeFileSystemRepresentation { 14 | return String(cString: $0!).windowsUTF16 15 | } 16 | 17 | let pDefines: [D3D_SHADER_MACRO] = [D3D_SHADER_MACRO(Name: nil, Definition: nil)] 18 | let D3D_COMPILE_STANDARD_FILE_INCLUDE = UnsafeMutablePointer(bitPattern: UInt(1)) 19 | let pInclude: UnsafeMutablePointer? = D3D_COMPILE_STANDARD_FILE_INCLUDE 20 | let pEntrypoint = functionName.windowsUTF8 21 | let pTarget = target.windowsUTF8 22 | #if DEBUG 23 | let Flags: UINT = UINT(D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION) 24 | #else 25 | let Flags: UINT = 0 26 | #endif 27 | var ppCode: UnsafeMutablePointer? 28 | var ppErrorMsgs: UnsafeMutablePointer? 29 | let hresult = WinSDK.D3DCompileFromFile(pFileName, pDefines, pInclude, pEntrypoint, pTarget, Flags, 0, &ppCode, &ppErrorMsgs) 30 | if hresult.isSuccess == false { 31 | if let error = D3DBlob(winSDKPointer: ppErrorMsgs) { 32 | if let string = error.stringValue { 33 | print("HLSL Error: ", string) 34 | } 35 | } 36 | try hresult.checkResult(nil, #function) 37 | } 38 | guard let v = D3DBlob(winSDKPointer: ppCode) else {throw Error(.invalidArgument)} 39 | return v 40 | } -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Enumerations/DXGI_PRESENT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// The DXGI_PRESENT constants specify options for presenting frames to the output. 12 | public struct DGIPresentFlags: OptionSet { 13 | public typealias RawValue = UInt32 14 | public let rawValue: RawValue 15 | 16 | /// Present a frame from the current buffer to the output. Use this flag so that the presentation can use vertical-blank synchronization instead of sequencing buffers in the chain in the usual manner. 17 | public static let noSequence = DGIPresentFlags(rawValue: WinSDK.DXGI_PRESENT_DO_NOT_SEQUENCE) 18 | 19 | public init(rawValue: RawValue) { 20 | self.rawValue = rawValue 21 | } 22 | public init() { 23 | self.rawValue = 0 24 | } 25 | } 26 | 27 | 28 | //MARK: - Original Style API 29 | #if !Direct3D12ExcludeOriginalStyleAPI 30 | 31 | @available(*, deprecated, renamed: "DGIPresentFlags.noSequence") 32 | public let DXGI_PRESENT_DO_NOT_SEQUENCE = DGIPresentFlags.noSequence 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIAdapter.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class DGIAdapter: DGIObject { 12 | 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension DGIAdapter { 17 | typealias RawValue = WinSDK.IDXGIAdapter 18 | } 19 | extension DGIAdapter.RawValue { 20 | static var interfaceID: WinSDK.IID {WinSDK.IID_IDXGIAdapter} 21 | } 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(*, unavailable, renamed: "DGIAdapter") 27 | public typealias IDXGIAdapter = DGIAdapter 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIDevice.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class DGIDevice: DGIObject { 12 | 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension DGIDevice { 17 | typealias RawValue = WinSDK.IDXGIDevice 18 | } 19 | extension DGIDevice.RawValue { 20 | static var interfaceID: WinSDK.IID {WinSDK.IID_IDXGIDevice} 21 | } 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(*, unavailable, renamed: "DGIDevice") 27 | public typealias IDXGIDevice = DGIDevice 28 | 29 | public extension DGIDevice { 30 | 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIDeviceSubObject.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class DGIDeviceSubObject: DGIObject { 12 | 13 | /** Retrieves the device. 14 | - returns: The address of a pointer to the device. 15 | */ 16 | public func device() throws -> DGIDevice { 17 | return try perform(as: RawValue.self) {pThis in 18 | var riid = DGIDevice.interfaceID 19 | var ppDevice: UnsafeMutableRawPointer? 20 | try pThis.pointee.lpVtbl.pointee.GetDevice(pThis, &riid, &ppDevice).checkResult(self, #function) 21 | guard let v = DGIDevice(winSDKPointer: ppDevice) else {throw Error(.invalidArgument)} 22 | return v 23 | } 24 | } 25 | 26 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 27 | } 28 | 29 | extension DGIDeviceSubObject { 30 | typealias RawValue = WinSDK.IDXGIDeviceSubObject 31 | } 32 | extension DGIDeviceSubObject.RawValue { 33 | static var interfaceID: WinSDK.IID {WinSDK.IID_IDXGIDeviceSubObject} 34 | } 35 | 36 | //MARK: - Original Style API 37 | #if !Direct3D12ExcludeOriginalStyleAPI 38 | 39 | @available(*, unavailable, renamed: "DGIDeviceSubObject") 40 | public typealias IDXGIDeviceSubObject = DGIDeviceSubObject 41 | 42 | public extension DGIDeviceSubObject { 43 | @available(*, unavailable, renamed: "device()") 44 | func GetDevice(_ riid: Any, ppDevice: inout Any) -> HRESULT { 45 | fatalError("This API is here to make migration easier. There is no implementation.") 46 | } 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIFactory1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension DGIFactory { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "DGIFactory") 19 | public typealias IDXGIFactory1 = DGIFactory 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIFactory3.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension DGIFactory { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "DGIFactory") 19 | public typealias IDXGIFactory3 = DGIFactory 20 | 21 | public extension DGIFactory { 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIFactory4.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension DGIFactory { 12 | 13 | /// Provides an adapter which can be provided to D3D12CreateDevice to use the WARP renderer. 14 | func enumWarpAdapter() throws -> DGIAdapter { 15 | return try perform(as: RawValue.self) {pThis in 16 | var riid = DGIAdapter.interfaceID 17 | var ppvAdapter: UnsafeMutableRawPointer? 18 | try pThis.pointee.lpVtbl.pointee.EnumWarpAdapter(pThis, &riid, &ppvAdapter).checkResult(self, #function) 19 | guard let v = DGIAdapter(winSDKPointer: ppvAdapter) else {throw Error(.invalidArgument)} 20 | return v 21 | } 22 | } 23 | } 24 | 25 | //MARK: - Original Style API 26 | #if !Direct3D12ExcludeOriginalStyleAPI 27 | 28 | @available(*, deprecated, renamed: "DGIFactory") 29 | public typealias IDXGIFactory4 = DGIFactory 30 | 31 | public extension DGIFactory { 32 | @available(*, unavailable, renamed: "enumWarpAdapter()") 33 | func EnumWarpAdapter(_ riid: Any, 34 | _ ppvAdapter: Any) -> HRESULT { 35 | fatalError("This API is here to make migration easier. There is no implementation.") 36 | } 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIObject.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class DGIObject: IUnknown { 12 | 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension DGIObject { 17 | typealias RawValue = WinSDK.IDXGIObject 18 | } 19 | extension DGIObject.RawValue { 20 | static var interfaceID: WinSDK.IID {WinSDK.IID_IDXGIObject} 21 | } 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(*, unavailable, renamed: "DGIObject") 27 | public typealias IDXGIObject = DGIObject 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Interfaces/IDXGIOutput.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class DGIOutput: DGIObject { 12 | 13 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 14 | } 15 | 16 | extension DGIOutput { 17 | typealias RawValue = WinSDK.IDXGIOutput 18 | } 19 | extension DGIOutput.RawValue { 20 | static var interfaceID: WinSDK.IID {WinSDK.IID_IDXGIOutput} 21 | } 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(*, unavailable, renamed: "DGIOutput") 27 | public typealias IDXGIOutput = DGIOutput 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Structures/DXGI_PRESENT_PARAMETERS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct DGIPresentParameters { 12 | public typealias RawValue = WinSDK.DXGI_PRESENT_PARAMETERS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | 20 | public static let `fullFrame`: DGIPresentParameters = { 21 | var params = WinSDK.DXGI_PRESENT_PARAMETERS() 22 | params.DirtyRectsCount = 0 23 | params.pDirtyRects = nil 24 | params.pScrollRect = nil 25 | params.pScrollOffset = nil 26 | return DGIPresentParameters(params) 27 | }() 28 | } 29 | 30 | 31 | //MARK: - Original Style API 32 | #if !Direct3D12ExcludeOriginalStyleAPI 33 | 34 | @available(*, deprecated, renamed: "DGIPresentParameters") 35 | public typealias DXGI_PRESENT_PARAMETERS = DGIPresentParameters 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /Sources/Direct3D12/dxgi_h/Structures/DXGI_RATIONAL.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Represents a rational number. 12 | public struct DGIRational { 13 | public typealias RawValue = WinSDK.DXGI_RATIONAL 14 | internal var rawValue: RawValue 15 | 16 | /// An unsigned integer value representing the top of the rational number. 17 | public var numerator: UInt32 { 18 | get { 19 | return rawValue.Numerator 20 | } 21 | set { 22 | rawValue.Numerator = newValue 23 | } 24 | } 25 | 26 | /// An unsigned integer value representing the bottom of the rational number. 27 | public var denominator: UInt32 { 28 | get { 29 | return rawValue.Denominator 30 | } 31 | set { 32 | rawValue.Denominator = newValue 33 | } 34 | } 35 | 36 | /** Represents a rational number. 37 | - parameter numerator: An unsigned integer value representing the top of the rational number. 38 | - parameter denominator: An unsigned integer value representing the bottom of the rational number. 39 | */ 40 | public init(numerator: UInt32, denominator: UInt32) { 41 | self.rawValue = RawValue(Numerator: numerator, Denominator: denominator) 42 | } 43 | 44 | internal init(_ rawValue: RawValue) { 45 | self.rawValue = rawValue 46 | } 47 | } 48 | 49 | 50 | //MARK: - Original Style API 51 | #if !Direct3D12ExcludeOriginalStyleAPI 52 | 53 | @available(*, deprecated, renamed: "DGIRational") 54 | public typealias DXGI_RATIONAL = DGIRational 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Enumerations/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.4 2 | /** 3 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 4 | * All Rights Reserved. 5 | * Licensed under Apache License v2.0 6 | * 7 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 8 | */ 9 | 10 | 11 | // This package exists only becuase of https://bugs.swift.org/browse/SR-8671 12 | // Since enums don't contain structs or pointers all the enums can safely be segregated to this sub-package, reducing the build command length for each package. 13 | // Once SR-8671 is resolved this package can be folded into the main package. 14 | // Public API meant to be internal (`RawType`, `RawValue`, `rawValue`, etc...) can also be made internal 15 | import PackageDescription 16 | 17 | let package = Package( 18 | name: "Direct3D12_Enumerations", 19 | products: [ 20 | .library( 21 | name: "Direct3D12_Enumerations", 22 | targets: ["Direct3D12_Enumerations"]), 23 | ], 24 | targets: [ 25 | .target(name: "Direct3D12_Enumerations"), 26 | ] 27 | ) 28 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.4 2 | /** 3 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 4 | * All Rights Reserved. 5 | * Licensed under Apache License v2.0 6 | * 7 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 8 | */ 9 | 10 | import PackageDescription 11 | 12 | let package = Package( 13 | name: "Direct3D12_Unimplemented", 14 | products: [ 15 | .library( 16 | name: "Direct3D12_Unimplemented", 17 | type: .dynamic, 18 | targets: ["Direct3D12_Unimplemented"]), 19 | ], 20 | targets: [ 21 | .target(name: "Direct3D12_Unimplemented"), 22 | ] 23 | ) 24 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/AXIS_SHADING_RATE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify the shading rate (for variable-rate shading, or VRS) along a horizontal or vertical axis. 12 | /// For more info, see [Variable-rate shading (VRS)](https://docs.microsoft.com/en-us/windows/desktop/direct3d12/vrs). 13 | public enum AxisShadingRate { 14 | /// Specifies a 1x shading rate for the axis. 15 | case x1 16 | /// Specifies a 2x shading rate for the axis. 17 | case x2 18 | /// Specifies a 4x shading rate for the axis. 19 | case x4 20 | 21 | internal var rawValue: WinSDK.D3D12_AXIS_SHADING_RATE { 22 | switch self { 23 | case .x1: 24 | return WinSDK.D3D12_AXIS_SHADING_RATE_1X 25 | case .x2: 26 | return WinSDK.D3D12_AXIS_SHADING_RATE_2X 27 | case .x4: 28 | return WinSDK.D3D12_AXIS_SHADING_RATE_4X 29 | } 30 | } 31 | } 32 | 33 | 34 | //MARK: - Original Style API 35 | #if !Direct3D12ExcludeOriginalStyleAPI 36 | 37 | @available(*, deprecated, renamed: "AxisShadingRate") 38 | public typealias D3D12_AXIS_SHADING_RATE = AxisShadingRate 39 | 40 | @available(*, deprecated, renamed: "x1") 41 | let D3D12_AXIS_SHADING_RATE_1X: AxisShadingRate = .x1 42 | 43 | @available(*, deprecated, renamed: "x2") 44 | let D3D12_AXIS_SHADING_RATE_2X: AxisShadingRate = .x2 45 | 46 | @available(*, deprecated, renamed: "x4") 47 | let D3D12_AXIS_SHADING_RATE_4X: AxisShadingRate = .x4 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/COMMAND_LIST_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies flags to be used when creating a command list. 12 | @available(Windows, introduced: 10.0.17134) 13 | public struct CommandListFlags: OptionSet { 14 | public typealias RawType = WinSDK.D3D12_COMMAND_LIST_FLAGS 15 | public let rawValue: Int32 16 | 17 | //Use an empty collection `[]` to represent none in Swift. 18 | ///// No flags specified. 19 | //public static let none = CommandListFlags(rawValue: WinSDK.D3D12_COMMAND_LIST_FLAG_NONE.rawValue) 20 | 21 | public init(rawValue: Int32) { 22 | self.rawValue = rawValue 23 | } 24 | public init() { 25 | self.rawValue = 0 26 | } 27 | } 28 | 29 | 30 | //MARK: - Original Style API 31 | #if !Direct3D12ExcludeOriginalStyleAPI 32 | 33 | @available(Windows, introduced: 10.0.17134) 34 | @available(*, deprecated, renamed: "CommandListFlags") 35 | public typealias D3D12_COMMAND_LIST_FLAGS = CommandListFlags 36 | 37 | @available(Windows, introduced: 10.0.17134) 38 | public extension CommandListFlags { 39 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 40 | static let D3D12_COMMAND_LIST_FLAG_NONE: CommandListFlags = [] 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/DRED_VERSION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify a version of Device Removed Extended Data (DRED), as used by the [D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA structure](https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_versioned_device_removed_extended_data). 12 | public enum DredVersion { 13 | /// Specifies DRED version 1.0. 14 | case v1_0 15 | /// Specifies DRED version 1.1. 16 | case v1_1 17 | /// Specifies DRED version 1.2. 18 | case v1_2 19 | 20 | internal var rawValue: WinSDK.D3D12_DRED_VERSION { 21 | switch self { 22 | case .v1_0: 23 | return WinSDK.D3D12_DRED_VERSION_1_0 24 | case .v1_1: 25 | return WinSDK.D3D12_DRED_VERSION_1_1 26 | case .v1_2: 27 | return WinSDK.D3D12_DRED_VERSION_1_2 28 | } 29 | } 30 | } 31 | 32 | 33 | //MARK: - Original Style API 34 | #if !Direct3D12ExcludeOriginalStyleAPI 35 | 36 | @available(*, deprecated, renamed: "DredVersion") 37 | public typealias D3D12_DRED_VERSION = DredVersion 38 | 39 | public extension DredVersion { 40 | @available(*, deprecated, renamed: "v1_0") 41 | static let D3D12_DRED_VERSION_1_0 = Self.v1_0 42 | 43 | @available(*, deprecated, renamed: "v1_1") 44 | static let D3D12_DRED_VERSION_1_1 = Self.v1_1 45 | 46 | @available(*, deprecated, renamed: "v1_2") 47 | static let D3D12_DRED_VERSION_1_2 = Self.v1_2 48 | } 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/ELEMENTS_LAYOUT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Describes how the locations of elements are identified. 12 | public enum ElementsLayout { 13 | /// For a data set of n elements, the pointer parameter points to the start of n elements in memory. 14 | case array 15 | /// For a data set of n elements, the pointer parameter points to an array of n pointers in memory, each pointing to an individual element of the set. 16 | case arrayOfPointers 17 | 18 | internal var rawValue: WinSDK.D3D12_ELEMENTS_LAYOUT { 19 | switch self { 20 | case .array: 21 | return WinSDK.D3D12_ELEMENTS_LAYOUT_ARRAY 22 | case .arrayOfPointers: 23 | return WinSDK.D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "ElementsLayout") 33 | public typealias D3D12_ELEMENTS_LAYOUT = ElementsLayout 34 | 35 | public extension ElementsLayout { 36 | @available(*, deprecated, renamed: "array") 37 | static let D3D12_ELEMENTS_LAYOUT_ARRAY = Self.array 38 | 39 | @available(*, deprecated, renamed: "arrayOfPointers") 40 | static let D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = Self.arrayOfPointers 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/EXPORT_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// The flags to apply when exporting symbols from a state subobject. 12 | public struct ExportFlags: OptionSet { 13 | public let rawValue: Int32 14 | //Use an empty collection `[]` to represent none in Swift. 15 | ///// No export flags. 16 | //public static let none = DepthStencilViewFlags(rawValue: WinSDK.D3D12_EXPORT_FLAG_NONE.rawValue) 17 | 18 | public init(rawValue: Int32) { 19 | self.rawValue = rawValue 20 | } 21 | public init() { 22 | self.rawValue = 0 23 | } 24 | } 25 | 26 | 27 | //MARK: - Original Style API 28 | #if !Direct3D12ExcludeOriginalStyleAPI 29 | 30 | @available(*, deprecated, renamed: "ExportFlags") 31 | public typealias D3D12_EXPORT_FLAGS = ExportFlags 32 | 33 | public extension ExportFlags { 34 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 35 | static let D3D12_EXPORT_FLAG_NONE: ExportFlags = [] 36 | } 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/HEAP_SERIALIZATION_TIER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify heap serialization support. 12 | public enum SerializationTier { 13 | /// Indicates that heap serialization is not supported. 14 | case notSupported 15 | /// Indicates that heap serialization is supported. Your application can serialize resource data in heaps through copying APIs such as CopyResource, without necessarily requiring an explicit state transition of resources on those heaps. 16 | case supported 17 | 18 | internal var rawValue: WinSDK.D3D12_HEAP_SERIALIZATION_TIER { 19 | switch self { 20 | case .notSupported: 21 | return WinSDK.D3D12_HEAP_SERIALIZATION_TIER_0 22 | case .supported: 23 | return WinSDK.D3D12_HEAP_SERIALIZATION_TIER_10 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "SerializationTier") 33 | public typealias D3D12_HEAP_SERIALIZATION_TIER = SerializationTier 34 | 35 | public extension SerializationTier { 36 | @available(*, deprecated, renamed: "notSupported") 37 | static let D3D12_HEAP_SERIALIZATION_TIER_0 = Self.notSupported 38 | 39 | @available(*, deprecated, renamed: "supported") 40 | static let D3D12_HEAP_SERIALIZATION_TIER_10 = Self.supported 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/HIT_GROUP_TYPE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the type of a raytracing hit group state subobject. Use a value from this enumeration with the D3D12_HIT_GROUP_DESC structure. 12 | public enum HitGroupType { 13 | /// The hit group uses a list of triangles to calculate ray hits. Hit groups that use triangles can’t contain an intersection shader. 14 | case triangles 15 | /// The hit group uses a procedural primitive within a bounding box to calculate ray hits. Hit groups that use procedural primitives must contain an intersection shader. 16 | case proceduralPrimitive 17 | 18 | internal var rawValue: WinSDK.D3D12_HIT_GROUP_TYPE { 19 | switch self { 20 | case .triangles: 21 | return WinSDK.D3D12_HIT_GROUP_TYPE_TRIANGLES 22 | case .proceduralPrimitive: 23 | return WinSDK.D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "HitGroupType") 33 | public typealias D3D12_HIT_GROUP_TYPE = HitGroupType 34 | 35 | public extension HitGroupType { 36 | @available(*, deprecated, renamed: "triangles") 37 | static let D3D12_HIT_GROUP_TYPE_TRIANGLES = Self.triangles 38 | 39 | @available(*, deprecated, renamed: "proceduralPrimitive") 40 | static let D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = Self.proceduralPrimitive 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/LIFETIME_STATE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify the lifetime state of a lifetime-tracked object. 12 | public enum LifetimeState { 13 | /// Specifies that the lifetime-tracked object is in use. 14 | case inUse 15 | /// Specifies that the lifetime-tracked object is not in use. 16 | case notInUse 17 | 18 | internal var rawValue: WinSDK.D3D12_LIFETIME_STATE { 19 | switch self { 20 | case .inUse: 21 | return WinSDK.D3D12_LIFETIME_STATE_IN_USE 22 | case .notInUse: 23 | return WinSDK.D3D12_LIFETIME_STATE_NOT_IN_USE 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "LifetimeState") 33 | public typealias D3D12_LIFETIME_STATE = LifetimeState 34 | 35 | public extension LifetimeState { 36 | @available(*, deprecated, renamed: "inUse") 37 | static let D3D12_LIFETIME_STATE_IN_USE = Self.inUse 38 | 39 | @available(*, deprecated, renamed: "notInUse") 40 | static let D3D12_LIFETIME_STATE_NOT_IN_USE = Self.notInUse 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/META_COMMAND_PARAMETER_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify the flags for a parameter to a meta command. Values can be bitwise OR'd together. 12 | public struct MetaCommandParameterFlags: OptionSet { 13 | public let rawValue: Int32 14 | 15 | /// Specifies that the parameter is an input resource. 16 | public static let input = MetaCommandParameterFlags(rawValue: WinSDK.D3D12_META_COMMAND_PARAMETER_FLAG_INPUT.rawValue) 17 | /// Specifies that the parameter is an output resource. 18 | public static let output = MetaCommandParameterFlags(rawValue: WinSDK.D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT.rawValue) 19 | 20 | public init(rawValue: Int32) { 21 | self.rawValue = rawValue 22 | } 23 | public init() { 24 | self.rawValue = 0 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "MetaCommandParameterFlags") 33 | public typealias D3D12_META_COMMAND_PARAMETER_FLAGS = MetaCommandParameterFlags 34 | 35 | public extension MetaCommandParameterFlags { 36 | @available(*, deprecated, renamed: "input") 37 | static let D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = Self.input 38 | 39 | @available(*, deprecated, renamed: "output") 40 | static let D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = Self.output 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/MULTISAMPLE_QUALITY_LEVEL_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies options for determining quality levels. 12 | public struct MultisampleQualityLevelFlags: OptionSet { 13 | public let rawValue: Int32 14 | //Use an empty collection `[]` to represent none in Swift. 15 | ///// No options are supported. 16 | //public static let none = MultisampleQualityLevelFlags(rawValue: WinSDK.D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE.rawValue) 17 | 18 | /// The number of quality levels can be determined for tiled resources. 19 | public static let tiledResource = MultisampleQualityLevelFlags(rawValue: WinSDK.D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE.rawValue) 20 | 21 | public init(rawValue: Int32) { 22 | self.rawValue = rawValue 23 | } 24 | public init() { 25 | self.rawValue = 0 26 | } 27 | } 28 | 29 | 30 | //MARK: - Original Style API 31 | #if !Direct3D12ExcludeOriginalStyleAPI 32 | 33 | @available(*, deprecated, renamed: "MultisampleQualityLevelFlags") 34 | public typealias D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = MultisampleQualityLevelFlags 35 | 36 | public extension MultisampleQualityLevelFlags { 37 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 38 | static let D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE: MultisampleQualityLevelFlags = [] 39 | 40 | @available(*, deprecated, renamed: "tiledResource") 41 | static let D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = Self.tiledResource 42 | } 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/PROTECTED_RESOURCE_SESSION_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify protected resource session flags. These flags can be bitwise OR'd together to specify multiple flags at once. 12 | public struct ProtectedResourceSessionFlags: OptionSet { 13 | public let rawValue: Int32 14 | //Use an empty collection `[]` to represent none in Swift. 15 | ///// Specifies no flag. 16 | //public static let none = ProtectedResourceSessionFlags(rawValue: WinSDK.D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE.rawValue) 17 | 18 | public init(rawValue: Int32) { 19 | self.rawValue = rawValue 20 | } 21 | public init() { 22 | self.rawValue = 0 23 | } 24 | } 25 | 26 | 27 | //MARK: - Original Style API 28 | #if !Direct3D12ExcludeOriginalStyleAPI 29 | 30 | @available(*, deprecated, renamed: "ProtectedResourceSessionFlags") 31 | public typealias D3D12_PROTECTED_RESOURCE_SESSION_FLAGS = ProtectedResourceSessionFlags 32 | 33 | public extension ProtectedResourceSessionFlags { 34 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 35 | static let D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE: ProtectedResourceSessionFlags = [] 36 | } 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/PROTECTED_SESSION_STATUS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Defines constants that specify protected session status. 12 | public enum ProtectedSessionStatus { 13 | /// Indicates that the protected session is in a valid state. 14 | case ok 15 | /// Indicates that the protected session is not in a valid state. 16 | case invalid 17 | 18 | internal var rawValue: WinSDK.D3D12_PROTECTED_SESSION_STATUS { 19 | switch self { 20 | case .ok: 21 | return WinSDK.D3D12_PROTECTED_SESSION_STATUS_OK 22 | case .invalid: 23 | return WinSDK.D3D12_PROTECTED_SESSION_STATUS_INVALID 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "ProtectedSessionStatus") 33 | public typealias D3D12_PROTECTED_SESSION_STATUS = ProtectedSessionStatus 34 | 35 | public extension ProtectedSessionStatus { 36 | @available(*, deprecated, renamed: "invalid") 37 | static let D3D12_PROTECTED_SESSION_STATUS_OK = Self.ok 38 | 39 | @available(*, deprecated, renamed: "invalid") 40 | static let D3D12_PROTECTED_SESSION_STATUS_INVALID = Self.ok 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/RAYTRACING_ACCELERATION_STRUCTURE_TYPE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the type of a raytracing acceleration structure. 12 | public enum RaytracingAccelerationStructureType { 13 | /// Top-level acceleration structure. 14 | case topLevel 15 | /// Bottom-level acceleration structure. 16 | case bottomLevel 17 | 18 | internal var rawValue: WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE { 19 | switch self { 20 | case .topLevel: 21 | return WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL 22 | case .bottomLevel: 23 | return WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "RaytracingAccelerationStructureType") 33 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = RaytracingAccelerationStructureType 34 | 35 | public extension RaytracingAccelerationStructureType { 36 | @available(*, deprecated, renamed: "topLevel") 37 | static let D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = Self.topLevel 38 | 39 | @available(*, deprecated, renamed: "bottomLevel") 40 | static let D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = Self.bottomLevel 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/SERIALIZED_DATA_TYPE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the type of serialized data. Use a value from this enumeration when calling ID3D12Device5::CheckDriverMatchingIdentifier. 12 | @available(Windows, introduced: 10.0.17763) 13 | public enum SerializedDataType { 14 | public typealias RawValue = WinSDK.D3D12_SERIALIZED_DATA_TYPE 15 | 16 | /// The serialized data is a raytracing acceleration structure. 17 | case raytracingAccelerationStructure 18 | 19 | public var rawValue: RawValue { 20 | switch self { 21 | case .raytracingAccelerationStructure: 22 | return WinSDK.D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE 23 | } 24 | } 25 | } 26 | 27 | 28 | //MARK: - Original Style API 29 | #if !Direct3D12ExcludeOriginalStyleAPI 30 | 31 | @available(Windows, introduced: 10.0.17763) 32 | @available(*, deprecated, renamed: "SerializedDataType") 33 | public typealias D3D12_SERIALIZED_DATA_TYPE = SerializedDataType 34 | 35 | @available(Windows, introduced: 10.0.17763) 36 | public extension SerializedDataType { 37 | @available(*, deprecated, renamed: "raytracingAccelerationStructure") 38 | static let D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = Self.raytracingAccelerationStructure 39 | } 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/STATE_OBJECT_TYPE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies the type of a state object. Use with D3D12_STATE_OBJECT_DESC. 12 | public enum StateObjectType { 13 | /// Collection state object. 14 | case collection 15 | /// Raytracing pipeline state object. 16 | case raytracingPipeline 17 | 18 | internal var rawValue: WinSDK.D3D12_STATE_OBJECT_TYPE { 19 | switch self { 20 | case .collection: 21 | return WinSDK.D3D12_STATE_OBJECT_TYPE_COLLECTION 22 | case .raytracingPipeline: 23 | return WinSDK.D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE 24 | } 25 | } 26 | } 27 | 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(*, deprecated, renamed: "StateObjectType") 33 | public typealias D3D12_STATE_OBJECT_TYPE = StateObjectType 34 | 35 | public extension StateObjectType { 36 | @available(*, deprecated, renamed: "collection") 37 | static let D3D12_STATE_OBJECT_TYPE_COLLECTION = Self.collection 38 | 39 | @available(*, deprecated, renamed: "raytracingPipeline") 40 | static let D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = Self.raytracingPipeline 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/TEMPLATE_D3D12_ENUM.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | 1TypeDocumentationComment 12 | public enum 1SwiftName { 13 | 1CaseDocumentationComment 14 | case 1this 15 | 16 | internal var rawValue: WinSDK.1D3D12_ENUMS_NAME { 17 | switch self { 18 | case .1this: 19 | return WinSDK.1D3D12_ENUM_NAME 20 | } 21 | } 22 | } 23 | 24 | 25 | //MARK: - Original Style API 26 | #if !Direct3D12ExcludeOriginalStyleAPI 27 | 28 | @available(*, deprecated, renamed: "1SwiftName") 29 | public typealias 1D3D12_ENUMS_NAME = 1SwiftName 30 | 31 | public extension 1SwiftName { 32 | @available(*, deprecated, renamed: "1this") 33 | static let 1D3D12_ENUM_NAME = Self.1this 34 | } 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/TEMPLATE_D3D12_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | 1TypeDocumentationComment 12 | public struct 1SwiftName: OptionSet { 13 | public let rawValue: Int32 14 | //Use an empty collection `[]` to represent none in Swift. 15 | ///// No flags. 16 | //static let none = 1SwiftName(rawValue: WinSDK.1D3D12_FLAG_NONE_NAME.rawValue) 17 | 18 | 1MemberDocumentationComment 19 | public static let 1name = 1SwiftName(rawValue: WinSDK.1D3D12_FLAG_NAME.rawValue) 20 | 21 | public init(rawValue: Int32) { 22 | self.rawValue = rawValue 23 | } 24 | public init() { 25 | self.rawValue = 0 26 | } 27 | } 28 | 29 | 30 | //MARK: - Original Style API 31 | #if !Direct3D12ExcludeOriginalStyleAPI 32 | 33 | @available(*, deprecated, renamed: "1SwiftName") 34 | public typealias 1D3D12_FLAGS_NAME = 1SwiftName 35 | 36 | public extension 1SwiftName { 37 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 38 | static let 1D3D12_FLAG_NONE_NAME: 1SwiftName = [] 39 | 40 | @available(*, deprecated, renamed: "1thisName") 41 | static let 1D3D12_FLAG_NAME = Self.1thisName 42 | } 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Enumerations/VIEW_INSTANCING_FLAGS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | /// Specifies options for view instancing. 12 | public struct ViewInstancingFlags: OptionSet { 13 | public let rawValue: Int32 14 | //Use an empty collection `[]` to represent none in Swift. 15 | ///// Indicates a default view instancing configuration. 16 | //public static let none = ViewInstancingFlags(rawValue: WinSDK.D3D12_VIEW_INSTANCING_FLAG_NONE.rawValue) 17 | 18 | /// Enables view instance masking. 19 | public static let enableViewInstanceMasking = ViewInstancingFlags(rawValue: WinSDK.D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING.rawValue) 20 | 21 | public init(rawValue: Int32) { 22 | self.rawValue = rawValue 23 | } 24 | public init() { 25 | self.rawValue = 0 26 | } 27 | } 28 | 29 | 30 | //MARK: - Original Style API 31 | #if !Direct3D12ExcludeOriginalStyleAPI 32 | 33 | @available(*, deprecated, renamed: "ViewInstancingFlags") 34 | public typealias D3D12_VIEW_INSTANCING_FLAGS = ViewInstancingFlags 35 | 36 | public extension ViewInstancingFlags { 37 | @available(*, deprecated, message: "Use [] to represent none in Swift.") 38 | static let D3D12_VIEW_INSTANCING_FLAG_NONE: ViewInstancingFlags = [] 39 | 40 | @available(*, deprecated, renamed: "enableViewInstanceMasking") 41 | static let D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = Self.enableViewInstanceMasking 42 | } 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXFence1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2020 - 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.16299) 12 | public extension Fence { 13 | /// Gets the flags used to create the fence represented by the current instance. 14 | var creationFlags: FenceFlags { 15 | return performFatally(as: RawValue1.self) {pThis in 16 | let v = pThis.pointee.lpVtbl.pointee.GetCreationFlags(pThis) 17 | return FenceFlags(rawValue: v.rawValue) 18 | } 19 | } 20 | } 21 | 22 | @available(Windows, introduced: 10.0.16299) 23 | extension Fence { 24 | typealias RawValue1 = WinSDK.ID3D12Fence1 25 | convenience init(_ rawValue: inout RawValue1) { 26 | self.init(win32Pointer: &rawValue) 27 | } 28 | } 29 | 30 | @available(Windows, introduced: 10.0.16299) 31 | extension Fence.RawValue1 { 32 | static var interfaceID: WinSDK.IID { 33 | return WinSDK.IID_ID3D12Fence1 34 | } 35 | } 36 | 37 | //MARK: - Original Style API 38 | #if !Direct3D12ExcludeOriginalStyleAPI 39 | 40 | @available(Windows, introduced: 10.0.16299, deprecated, renamed: "Fence") 41 | public typealias ID3D12Fence1 = Fence 42 | 43 | @available(Windows, introduced: 10.0.16299) 44 | public extension Fence { 45 | @available(*, unavailable, renamed: "creationFlags") 46 | func GetCreationFlags() -> FenceFlags.RawValue { 47 | fatalError("This API is here to make migration easier. There is no implementation.") 48 | } 49 | } 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXGraphicsCommandList2.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.16299) 12 | public extension GraphicsCommandList { 13 | 14 | } 15 | 16 | //MARK: - Original Style API 17 | #if !Direct3D12ExcludeOriginalStyleAPI 18 | 19 | @available(Windows, introduced: 10.0.16299) 20 | @available(*, deprecated, renamed: "GraphicsCommandList") 21 | public typealias ID3D12GraphicsCommandList2 = GraphicsCommandList 22 | 23 | @available(Windows, introduced: 10.0.16299) 24 | public extension GraphicsCommandList { 25 | 26 | } 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXGraphicsCommandList3.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension GraphicsCommandList { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "GraphicsCommandList") 19 | public typealias ID3D12GraphicsCommandList3 = GraphicsCommandList 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXGraphicsCommandList4.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension GraphicsCommandList { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "GraphicsCommandList") 19 | public typealias ID3D12GraphicsCommandList4 = GraphicsCommandList 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXGraphicsCommandList5.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public extension GraphicsCommandList { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "GraphicsCommandList") 19 | public typealias ID3D12GraphicsCommandList5 = GraphicsCommandList 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXLifetimeOwner.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public class LifetimeOwner: IUnknown { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | @available(Windows, introduced: 10.0.17763) 18 | extension LifetimeOwner { 19 | typealias RawValue = WinSDK.ID3D12LifetimeOwner 20 | convenience init(_ rawValue: inout RawValue) { 21 | self.init(win32Pointer: &rawValue) 22 | } 23 | } 24 | @available(Windows, introduced: 10.0.17763) 25 | extension LifetimeOwner.RawValue { 26 | static var interfaceID: IID {WinSDK.IID_ID3D12LifetimeOwner} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(Windows, introduced: 10.0.17763) 33 | @available(*, deprecated, renamed: "LifetimeOwner") 34 | public typealias ID3D12LifetimeOwner = LifetimeOwner 35 | 36 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXLifetimeTracker.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public class LifetimeTracker: DeviceChild { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | @available(Windows, introduced: 10.0.17763) 18 | extension LifetimeTracker { 19 | typealias RawValue = WinSDK.ID3D12LifetimeTracker 20 | convenience init(_ rawValue: inout RawValue) { 21 | self.init(win32Pointer: &rawValue) 22 | } 23 | } 24 | @available(Windows, introduced: 10.0.17763) 25 | extension LifetimeTracker.RawValue { 26 | static var interfaceID: IID {WinSDK.IID_ID3D12LifetimeTracker} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(Windows, introduced: 10.0.17763) 33 | @available(*, deprecated, renamed: "LifetimeTracker") 34 | public typealias ID3D12LifetimeTracker = LifetimeTracker 35 | 36 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXMetaCommand.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public class MetaCommand: Pageable { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | @available(Windows, introduced: 10.0.17763) 18 | extension MetaCommand { 19 | typealias RawValue = WinSDK.ID3D12MetaCommand 20 | convenience init(_ rawValue: inout RawValue) { 21 | self.init(win32Pointer: &rawValue) 22 | } 23 | } 24 | @available(Windows, introduced: 10.0.17763) 25 | extension MetaCommand.RawValue { 26 | static var interfaceID: IID {WinSDK.IID_ID3D12MetaCommand} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(Windows, introduced: 10.0.17763) 33 | @available(*, deprecated, renamed: "MetaCommand") 34 | public typealias ID3D12MetaCommand = MetaCommand 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXPipelineLibrary.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import Foundation 10 | import WinSDK 11 | 12 | @available(Windows, introduced: 10.0.14393) 13 | public class PipelineLibrary: DeviceChild { 14 | /// The strongly reference Data used to create the PipelineLibrary. 15 | let data: Data? 16 | 17 | init(win32Pointer pointer: UnsafeMutableRawPointer, data: Data?) { 18 | self.data = data 19 | super.init(win32Pointer: pointer) 20 | } 21 | 22 | override class var interfaceID: WinSDK.IID { 23 | if #available(Windows 10.0.15063, *) { 24 | return RawValue1.interfaceID//ID3D12PipelineLibrary1 25 | }else{ 26 | return RawValue.interfaceID //ID3D12PipelineLibrary 27 | } 28 | } 29 | } 30 | 31 | @available(Windows, introduced: 10.0.14393) 32 | extension PipelineLibrary { 33 | typealias RawValue = WinSDK.ID3D12PipelineLibrary 34 | convenience init(_ rawValue: inout RawValue) { 35 | self.init(win32Pointer: &rawValue, data: nil) 36 | } 37 | } 38 | @available(Windows, introduced: 10.0.14393) 39 | extension PipelineLibrary.RawValue { 40 | static var interfaceID: IID {WinSDK.IID_ID3D12PipelineLibrary} 41 | } 42 | 43 | //MARK: - Original Style API 44 | #if !Direct3D12ExcludeOriginalStyleAPI 45 | 46 | @available(Windows, introduced: 10.0.14393) 47 | @available(*, deprecated, renamed: "PipelineLibrary") 48 | public typealias ID3D12PipelineLibrary = PipelineLibrary 49 | 50 | @available(Windows, introduced: 10.0.14393) 51 | public extension PipelineLibrary { 52 | 53 | } 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXPipelineLibrary1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.15063) 12 | public extension PipelineLibrary { 13 | 14 | } 15 | 16 | @available(Windows, introduced: 10.0.15063) 17 | extension PipelineLibrary { 18 | typealias RawValue1 = WinSDK.ID3D12PipelineLibrary1 19 | convenience init(_ rawValue: inout RawValue1) { 20 | self.init(win32Pointer: &rawValue, data: nil) 21 | } 22 | } 23 | @available(Windows, introduced: 10.0.15063) 24 | extension PipelineLibrary.RawValue1 { 25 | static var interfaceID: IID {WinSDK.IID_ID3D12PipelineLibrary1} 26 | } 27 | 28 | //MARK: - Original Style API 29 | #if !Direct3D12ExcludeOriginalStyleAPI 30 | 31 | @available(Windows, introduced: 10.0.15063) 32 | @available(*, deprecated, renamed: "PipelineLibrary") 33 | public typealias ID3D12PipelineLibrary1 = PipelineLibrary 34 | 35 | @available(Windows, introduced: 10.0.15063) 36 | public extension PipelineLibrary { 37 | 38 | } 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXProtectedResourceSession.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17134) 12 | public class ProtectedResourceSession: ProtectedSession { 13 | 14 | override class var interfaceID: WinSDK.IID { 15 | if #available(Windows 10.0.19041, *) { 16 | return RawValue1.interfaceID//ID3D12ProtectedResourceSession1 17 | }else{ 18 | return RawValue.interfaceID //ID3D12ProtectedResourceSession 19 | } 20 | } 21 | } 22 | 23 | @available(Windows, introduced: 10.0.17134) 24 | extension ProtectedResourceSession { 25 | typealias RawValue = WinSDK.ID3D12ProtectedResourceSession 26 | convenience init(_ rawValue: inout RawValue) { 27 | self.init(win32Pointer: &rawValue) 28 | } 29 | } 30 | @available(Windows, introduced: 10.0.17134) 31 | extension ProtectedResourceSession.RawValue { 32 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12ProtectedResourceSession} 33 | } 34 | 35 | 36 | //MARK: - Original Style API 37 | #if !Direct3D12ExcludeOriginalStyleAPI 38 | 39 | @available(Windows, introduced: 10.0.17134) 40 | @available(*, deprecated, renamed: "ProtectedResourceSession") 41 | public typealias ID3D12ProtectedResourceSession = ProtectedResourceSession 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXProtectedResourceSession1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.19041) 12 | public extension ProtectedResourceSession { 13 | 14 | } 15 | 16 | @available(Windows, introduced: 10.0.19041) 17 | extension ProtectedResourceSession { 18 | typealias RawValue1 = WinSDK.ID3D12ProtectedResourceSession1 19 | convenience init(_ rawValue: inout RawValue1) { 20 | self.init(win32Pointer: &rawValue) 21 | } 22 | } 23 | @available(Windows, introduced: 10.0.19041) 24 | extension ProtectedResourceSession.RawValue1 { 25 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12ProtectedResourceSession1} 26 | } 27 | 28 | //MARK: - Original Style API 29 | #if !Direct3D12ExcludeOriginalStyleAPI 30 | 31 | @available(Windows, introduced: 10.0.19041) 32 | @available(*, deprecated, renamed: "ProtectedResourceSession") 33 | public typealias ID3D12ProtectedResourceSession1 = ProtectedResourceSession 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXProtectedSession.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17134) 12 | public class ProtectedSession: DeviceChild { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | @available(Windows, introduced: 10.0.17134) 18 | extension ProtectedSession { 19 | typealias RawValue = WinSDK.ID3D12ProtectedSession 20 | convenience init(_ rawValue: inout RawValue) { 21 | self.init(win32Pointer: &rawValue) 22 | } 23 | } 24 | @available(Windows, introduced: 10.0.17134) 25 | extension ProtectedSession.RawValue { 26 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12ProtectedSession} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(Windows, introduced: 10.0.17134) 33 | @available(*, deprecated, renamed: "ProtectedSession") 34 | public typealias ID3D12ProtectedSession = ProtectedSession 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXStateObject.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public class StateObject: Pageable { 13 | 14 | override class var interfaceID: WinSDK.IID {RawValue.interfaceID} 15 | } 16 | 17 | @available(Windows, introduced: 10.0.17763) 18 | extension StateObject { 19 | public typealias RawValue = WinSDK.ID3D12StateObject 20 | convenience init(_ rawValue: inout RawValue) { 21 | self.init(win32Pointer: &rawValue) 22 | } 23 | } 24 | @available(Windows, introduced: 10.0.17763) 25 | extension StateObject.RawValue { 26 | static var interfaceID: WinSDK.IID {WinSDK.IID_ID3D12StateObject} 27 | } 28 | 29 | //MARK: - Original Style API 30 | #if !Direct3D12ExcludeOriginalStyleAPI 31 | 32 | @available(Windows, introduced: 10.0.17763) 33 | @available(*, deprecated, renamed: "StateObject") 34 | public typealias ID3D12StateObject = StateObject 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXStateObjectProperties.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public class StateObjectProperties: IUnknown { 12 | 13 | } 14 | 15 | //MARK: - Original Style API 16 | #if !Direct3D12ExcludeOriginalStyleAPI 17 | 18 | @available(*, deprecated, renamed: "StateObjectProperties") 19 | public typealias ID3D12StateObjectProperties = StateObjectProperties 20 | 21 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXTools.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.15063) 12 | public class Tools: IUnknown { 13 | 14 | } 15 | 16 | //MARK: - Original Style API 17 | #if !Direct3D12ExcludeOriginalStyleAPI 18 | 19 | @available(Windows, introduced: 10.0.15063) 20 | @available(*, deprecated, renamed: "Tools") 21 | public typealias ID3D12Tools = Tools 22 | 23 | @available(Windows, introduced: 10.0.15063) 24 | public extension Tools { 25 | 26 | } 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Interfaces/DXVersionedRootSignatureDeserializer.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.14393) 12 | public class VersionedRootSignatureDeserializer: IUnknown { 13 | 14 | } 15 | 16 | //MARK: - Original Style API 17 | #if !Direct3D12ExcludeOriginalStyleAPI 18 | 19 | @available(Windows, introduced: 10.0.14393) 20 | @available(*, unavailable, renamed: "VersionedRootSignatureDeserializer") 21 | public typealias ID3D12VersionedRootSignatureDeserializer = VersionedRootSignatureDeserializer 22 | 23 | @available(Windows, introduced: 10.0.14393) 24 | public extension VersionedRootSignatureDeserializer { 25 | 26 | } 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/BUILD_RAYT_ACC_STRUCT_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DBuildRaytracingAccelerationStructureDecription { 12 | public typealias RawValue = WinSDK.D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DBuildRaytracingAccelerationStructureDecription") 26 | public typealias D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC = D3DBuildRaytracingAccelerationStructureDecription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/BUILD_RAYT_ACC_STRUCT_INPUTS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct BuildRaytracingAccelerationStructureInputs { 13 | public typealias RawValue = WinSDK.D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "BuildRaytracingAccelerationStructureInputs") 28 | public typealias D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS = BuildRaytracingAccelerationStructureInputs 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/BUILD_RAYT_ACC_STRUCT_TOOL_VIS_HEADER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DBuildRaytracingAccelerationStructureToolsVisualizationHeader { 12 | public typealias RawValue = WinSDK.D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER 13 | internal var rawValue: RawValue 14 | 15 | internal init(_ rawValue: RawValue) { 16 | self.rawValue = rawValue 17 | } 18 | } 19 | 20 | 21 | //MARK: - Original Style API 22 | #if !Direct3D12ExcludeOriginalStyleAPI 23 | 24 | @available(*, deprecated, renamed: "D3DBuildRaytracingAccelerationStructureToolsVisualizationHeader") 25 | public typealias D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER = D3DBuildRaytracingAccelerationStructureToolsVisualizationHeader 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DEPTH_STENCIL_DESC1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDepthStencilDescription1 { 12 | public typealias RawValue = WinSDK.D3D12_DEPTH_STENCIL_DESC1 13 | internal var rawValue: RawValue 14 | 15 | internal init(_ rawValue: RawValue) { 16 | self.rawValue = rawValue 17 | } 18 | } 19 | 20 | 21 | //MARK: - Original Style API 22 | #if !Direct3D12ExcludeOriginalStyleAPI 23 | 24 | @available(*, deprecated, renamed: "D3DDepthStencilDescription1") 25 | public typealias D3D12_DEPTH_STENCIL_DESC1 = D3DDepthStencilDescription1 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DESCRIPTOR_RANGE1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDescriptorRange1 { 12 | public typealias RawValue = WinSDK.D3D12_DESCRIPTOR_RANGE1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDescriptorRange1") 26 | public typealias D3D12_DESCRIPTOR_RANGE1 = D3DDescriptorRange1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DEVICE_REMOVED_EXTENDED_DATA.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | //TODO: This struct shares a name with a class, making it a member for now 12 | extension D3DDeviceRemovedExtendedData {//<-The Class 13 | public struct D3DDeviceRemovedExtendedData { 14 | public typealias RawValue = WinSDK.D3D12_DEVICE_REMOVED_EXTENDED_DATA 15 | internal var rawValue: RawValue 16 | 17 | 18 | internal init(_ rawValue: RawValue) { 19 | self.rawValue = rawValue 20 | } 21 | } 22 | } 23 | 24 | //MARK: - Original Style API 25 | #if !Direct3D12ExcludeOriginalStyleAPI 26 | 27 | @available(*, deprecated, renamed: "D3DDeviceRemovedExtendedData.D3DDeviceRemovedExtendedData") 28 | public typealias D3D12_DEVICE_REMOVED_EXTENDED_DATA = D3DDeviceRemovedExtendedData.D3DDeviceRemovedExtendedData 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DEVICE_REMOVED_EXTENDED_DATA1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDeviceRemovedExtendedData1 { 12 | public typealias RawValue = WinSDK.D3D12_DEVICE_REMOVED_EXTENDED_DATA1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDeviceRemovedExtendedData1") 26 | public typealias D3D12_DEVICE_REMOVED_EXTENDED_DATA1 = D3DDeviceRemovedExtendedData1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DISPATCH_ARGUMENTS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDispatchArguments { 12 | public typealias RawValue = WinSDK.D3D12_DISPATCH_ARGUMENTS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDispatchArguments") 26 | public typealias D3D12_DISPATCH_ARGUMENTS = D3DDispatchArguments 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DISPATCH_RAYS_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDispatchRaysDescription { 12 | public typealias RawValue = WinSDK.D3D12_DISPATCH_RAYS_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDispatchRaysDescription") 26 | public typealias D3D12_DISPATCH_RAYS_DESC = D3DDispatchRaysDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DRAW_ARGUMENTS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDrawArguments { 12 | public typealias RawValue = WinSDK.D3D12_DRAW_ARGUMENTS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDrawArguments") 26 | public typealias D3D12_DRAW_ARGUMENTS = D3DDrawArguments 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DRAW_INDEXED_ARGUMENTS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDrawIndexedArguments { 12 | public typealias RawValue = WinSDK.D3D12_DRAW_INDEXED_ARGUMENTS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDrawIndexedArguments") 26 | public typealias D3D12_DRAW_INDEXED_ARGUMENTS = D3DDrawIndexedArguments 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DRED_ALLOCATION_NODE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDREDAllocationNode { 12 | public typealias RawValue = WinSDK.D3D12_DRED_ALLOCATION_NODE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDREDAllocationNode") 26 | public typealias D3D12_DRED_ALLOCATION_NODE = D3DDREDAllocationNode 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DRED_AUTO_BREADCRUMBS_OUTPUT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.18362) 12 | public struct DREDAutoBreadcrumbsOutput { 13 | public typealias RawValue = WinSDK.D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.18362) 27 | @available(*, deprecated, renamed: "DREDAutoBreadcrumbsOutput") 28 | public typealias D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT = DREDAutoBreadcrumbsOutput 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DRED_PAGE_FAULT_OUTPUT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.18362) 12 | public struct DREDPageFaultOutput { 13 | public typealias RawValue = WinSDK.D3D12_DRED_PAGE_FAULT_OUTPUT 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.18362) 27 | @available(*, deprecated, renamed: "DREDPageFaultOutput") 28 | public typealias D3D12_DRED_PAGE_FAULT_OUTPUT = DREDPageFaultOutput 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DXIL_LIBRARY_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDXILLibraryDescription { 12 | public typealias RawValue = WinSDK.D3D12_DXIL_LIBRARY_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDXILLibraryDescription") 26 | public typealias D3D12_DXIL_LIBRARY_DESC = D3DDXILLibraryDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DDXILSubobjectsToExportsAssociation { 12 | public typealias RawValue = WinSDK.D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DDXILSubobjectsToExportsAssociation") 26 | public typealias D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = D3DDXILSubobjectsToExportsAssociation 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/EXISTING_COLLECTION_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DExistingCollectionDescription { 12 | public typealias RawValue = WinSDK.D3D12_EXISTING_COLLECTION_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DExistingCollectionDescription") 26 | public typealias D3D12_EXISTING_COLLECTION_DESC = D3DExistingCollectionDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/EXPORT_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DExportDescription { 12 | public typealias RawValue = WinSDK.D3D12_EXPORT_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DExportDescription") 26 | public typealias D3D12_EXPORT_DESC = D3DExportDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_ARCHITECTURE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataArchitecture { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_ARCHITECTURE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataArchitecture") 26 | public typealias D3D12_FEATURE_DATA_ARCHITECTURE = D3DFeatureDataArchitecture 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_ARCHITECTURE1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataArchitecture1 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_ARCHITECTURE1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataArchitecture1") 26 | public typealias D3D12_FEATURE_DATA_ARCHITECTURE1 = D3DFeatureDataArchitecture1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_COMMAND_QUEUE_PRIORITY.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataCommandQueuePriority { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataCommandQueuePriority") 26 | public typealias D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY = D3DFeatureDataCommandQueuePriority 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_CROSS_NODE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataCrossNode { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_CROSS_NODE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataCrossNode") 26 | public typealias D3D12_FEATURE_DATA_CROSS_NODE = D3DFeatureDataCrossNode 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS = D3DFeatureDataD3d12Options 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options1 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options1") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS1 = D3DFeatureDataD3d12Options1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS2.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options2 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS2 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options2") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS2 = D3DFeatureDataD3d12Options2 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS3.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options3 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS3 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options3") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS3 = D3DFeatureDataD3d12Options3 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS4.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options4 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS4 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options4") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS4 = D3DFeatureDataD3d12Options4 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS5.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options5 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS5 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options5") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS5 = D3DFeatureDataD3d12Options5 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_D3D12_OPTIONS6.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataD3d12Options6 { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_D3D12_OPTIONS6 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataD3d12Options6") 26 | public typealias D3D12_FEATURE_DATAWinSDK_OPTIONS6 = D3DFeatureDataD3d12Options6 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_EXISTING_HEAPS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataExistingHeaps { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_EXISTING_HEAPS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataExistingHeaps") 26 | public typealias D3D12_FEATURE_DATA_EXISTING_HEAPS = D3DFeatureDataExistingHeaps 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_FEATURE_LEVELS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataFeatureLevels { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_FEATURE_LEVELS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataFeatureLevels") 26 | public typealias D3D12_FEATURE_DATA_FEATURE_LEVELS = D3DFeatureDataFeatureLevels 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_FORMAT_INFO.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataFormatInfo { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_FORMAT_INFO 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataFormatInfo") 26 | public typealias D3D12_FEATURE_DATA_FORMAT_INFO = D3DFeatureDataFormatInfo 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_FORMAT_SUPPORT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataFormatSupport { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_FORMAT_SUPPORT 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataFormatSupport") 26 | public typealias D3D12_FEATURE_DATA_FORMAT_SUPPORT = D3DFeatureDataFormatSupport 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataGpuVirtualAddressSupport { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataGpuVirtualAddressSupport") 26 | public typealias D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT = D3DFeatureDataGpuVirtualAddressSupport 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataMultisampleQualityLevels { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataMultisampleQualityLevels") 26 | public typealias D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS = D3DFeatureDataMultisampleQualityLevels 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataProtectedResourceSessionSupport { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataProtectedResourceSessionSupport") 26 | public typealias D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT = D3DFeatureDataProtectedResourceSessionSupport 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_QUERY_META_COMMAND.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataQueryMetaCommand { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_QUERY_META_COMMAND 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataQueryMetaCommand") 26 | public typealias D3D12_FEATURE_DATA_QUERY_META_COMMAND = D3DFeatureDataQueryMetaCommand 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_ROOT_SIGNATURE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureRootSignature { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_ROOT_SIGNATURE 13 | internal var rawValue: RawValue 14 | 15 | internal init(_ rawValue: RawValue) { 16 | self.rawValue = rawValue 17 | } 18 | } 19 | 20 | 21 | //MARK: - Original Style API 22 | #if !Direct3D12ExcludeOriginalStyleAPI 23 | 24 | @available(*, deprecated, renamed: "D3DFeatureRootSignature") 25 | public typealias D3D12_FEATURE_DATA_ROOT_SIGNATURE = D3DFeatureRootSignature 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_SERIALIZATION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataSerialization { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_SERIALIZATION 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataSerialization") 26 | public typealias D3D12_FEATURE_DATA_SERIALIZATION = D3DFeatureDataSerialization 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_SHADER_CACHE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataShaderCache { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_SHADER_CACHE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataShaderCache") 26 | public typealias D3D12_FEATURE_DATA_SHADER_CACHE = D3DFeatureDataShaderCache 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/FEATURE_DATA_SHADER_MODEL.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DFeatureDataShaderModel { 12 | public typealias RawValue = WinSDK.D3D12_FEATURE_DATA_SHADER_MODEL 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DFeatureDataShaderModel") 26 | public typealias D3D12_FEATURE_DATA_SHADER_MODEL = D3DFeatureDataShaderModel 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/GLOBAL_ROOT_SIGNATURE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DGlobalRootSignature { 12 | public typealias RawValue = WinSDK.D3D12_GLOBAL_ROOT_SIGNATURE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DGlobalRootSignature") 26 | public typealias D3D12_GLOBAL_ROOT_SIGNATURE = D3DGlobalRootSignature 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/GPU_VIRTUAL_ADDRESS_AND_STRIDE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DGPUVirtualAddressAndStride { 12 | public typealias RawValue = WinSDK.D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DGPUVirtualAddressAndStride") 26 | public typealias D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE = D3DGPUVirtualAddressAndStride 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/GPU_VIRTUAL_ADDRESS_RANGE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DGPUVirtualAddressRange { 12 | public typealias RawValue = WinSDK.D3D12_GPU_VIRTUAL_ADDRESS_RANGE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DGPUVirtualAddressRange") 26 | public typealias D3D12_GPU_VIRTUAL_ADDRESS_RANGE = D3DGPUVirtualAddressRange 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DGPUVirtualAddressRangeAndStride { 12 | public typealias RawValue = WinSDK.D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DGPUVirtualAddressRangeAndStride") 26 | public typealias D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE = D3DGPUVirtualAddressRangeAndStride 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/HIT_GROUP_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DHitGroupDescription { 12 | public typealias RawValue = WinSDK.D3D12_HIT_GROUP_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DHitGroupDescription") 26 | public typealias D3D12_HIT_GROUP_DESC = D3DHitGroupDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/LOCAL_ROOT_SIGNATURE.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DLocalRootSignature { 12 | public typealias RawValue = WinSDK.D3D12_LOCAL_ROOT_SIGNATURE 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DLocalRootSignature") 26 | public typealias D3D12_LOCAL_ROOT_SIGNATURE = D3DLocalRootSignature 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/MEMCPY_DEST.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DMemoryCopyDestination { 12 | public typealias RawValue = WinSDK.D3D12_MEMCPY_DEST 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DMemoryCopyDestination") 26 | public typealias D3D12_MEMCPY_DEST = D3DMemoryCopyDestination 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/META_COMMAND_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct MetaCommandDescription { 13 | public typealias RawValue = WinSDK.D3D12_META_COMMAND_DESC 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "MetaCommandDescription") 28 | public typealias D3D12_META_COMMAND_DESC = MetaCommandDescription 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/META_COMMAND_PARAMETER_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct MetaCommandParameterDescription { 13 | public typealias RawValue = WinSDK.D3D12_META_COMMAND_PARAMETER_DESC 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "MetaCommandParameterDescription") 28 | public typealias D3D12_META_COMMAND_PARAMETER_DESC = MetaCommandParameterDescription 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/MIP_REGION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DMipRegion { 12 | public typealias RawValue = WinSDK.D3D12_MIP_REGION 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DMipRegion") 26 | public typealias D3D12_MIP_REGION = D3DMipRegion 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/NODE_MASK.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DNodeMask { 12 | public typealias RawValue = WinSDK.D3D12_NODE_MASK 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DNodeMask") 26 | public typealias D3D12_NODE_MASK = D3DNodeMask 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/PIPELINE_STATE_STREAM_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.15063) 12 | public struct D3DPipelineStateStreamDescription { 13 | public typealias RawValue = WinSDK.D3D12_PIPELINE_STATE_STREAM_DESC 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.15063) 27 | @available(*, deprecated, renamed: "D3DPipelineStateStreamDescription") 28 | public typealias D3D12_PIPELINE_STATE_STREAM_DESC = D3DPipelineStateStreamDescription 29 | 30 | @available(Windows, introduced: 10.0.15063) 31 | public extension D3DPipelineStateStreamDescription { 32 | 33 | } 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/PROTECTED_RESOURCE_SESSION_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17134, deprecated: 10.0.19041, renamed: "ProtectedResourceSessionDescription1") 12 | public struct D3DProtectedResourceSessionDescription { 13 | public typealias RawValue = WinSDK.D3D12_PROTECTED_RESOURCE_SESSION_DESC 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17134) 27 | @available(*, deprecated, renamed: "D3DProtectedResourceSessionDescription") 28 | public typealias D3D12_PROTECTED_RESOURCE_SESSION_DESC = D3DProtectedResourceSessionDescription 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/PROTECTED_RESOURCE_SESSION_DESC1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.19041) 12 | public struct ProtectedResourceSessionDescription1 { 13 | public typealias RawValue = WinSDK.D3D12_PROTECTED_RESOURCE_SESSION_DESC1 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.19041) 27 | @available(*, deprecated, renamed: "ProtectedResourceSessionDescription1") 28 | public typealias D3D12_PROTECTED_RESOURCE_SESSION_DESC1 = ProtectedResourceSessionDescription1 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/QUERY_DATA_PIPELINE_STATISTICS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DQueryDataPipelineStatistics { 12 | public typealias RawValue = WinSDK.D3D12_QUERY_DATA_PIPELINE_STATISTICS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DQueryDataPipelineStatistics") 26 | public typealias D3D12_QUERY_DATA_PIPELINE_STATISTICS = D3DQueryDataPipelineStatistics 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/QUERY_DATA_SO_STATISTICS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DQueryDataStreamOutputStatistics { 12 | public typealias RawValue = WinSDK.D3D12_QUERY_DATA_SO_STATISTICS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DQueryDataStreamOutputStatistics") 26 | public typealias D3D12_QUERY_DATA_SO_STATISTICS = D3DQueryDataStreamOutputStatistics 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RANGE_UINT64.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRangeUInt64 { 12 | public typealias RawValue = WinSDK.D3D12_RANGE_UINT64 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRangeUInt64") 26 | public typealias D3D12_RANGE_UINT64 = D3DRangeUInt64 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_AABB.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAABB { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_AABB 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAABB") 26 | public typealias D3D12_RAYTRACING_AABB = D3DRaytracingAABB 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_GEOMETRY_AABBS_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingGeometryAABBsDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_GEOMETRY_AABBS_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingGeometryAABBsDescription") 26 | public typealias D3D12_RAYTRACING_GEOMETRY_AABBS_DESC = D3DRaytracingGeometryAABBsDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_GEOMETRY_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingGeometryDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_GEOMETRY_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingGeometryDescription") 26 | public typealias D3D12_RAYTRACING_GEOMETRY_DESC = D3DRaytracingGeometryDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_GEOMETRY_TRIANGLES_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingGeometryTrianglesDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingGeometryTrianglesDescription") 26 | public typealias D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC = D3DRaytracingGeometryTrianglesDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_INSTANCE_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingInstanceDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_INSTANCE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingInstanceDescription") 26 | public typealias D3D12_RAYTRACING_INSTANCE_DESC = D3DRaytracingInstanceDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_PIPELINE_CONFIG.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingPipelineConfiguration { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_PIPELINE_CONFIG 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingPipelineConfiguration") 26 | public typealias D3D12_RAYTRACING_PIPELINE_CONFIG = D3DRaytracingPipelineConfiguration 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYTRACING_SHADER_CONFIG.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingShaderConfiguration { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_SHADER_CONFIG 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingShaderConfiguration") 26 | public typealias D3D12_RAYTRACING_SHADER_CONFIG = D3DRaytracingShaderConfiguration 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_POSTB_INF_COMPACTED_SIZE_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAccelerationStructurePostbuildCompactSizeDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructurePostbuildCompactSizeDescription") 26 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC = D3DRaytracingAccelerationStructurePostbuildCompactSizeDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_POSTB_INF_CURRENT_SIZE_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAccelerationStructurePostbuildInfoCurrentSizeDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructurePostbuildInfoCurrentSizeDescription") 26 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC = D3DRaytracingAccelerationStructurePostbuildInfoCurrentSizeDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_POSTB_INF_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAccelerationStructurePostbuildInfoDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructurePostbuildInfoDescription") 26 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC = D3DRaytracingAccelerationStructurePostbuildInfoDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_POSTB_INF_SERIALIZATION_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAccelerationStructurePostbuildInfoSerializationDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructurePostbuildInfoSerializationDescription") 26 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC = D3DRaytracingAccelerationStructurePostbuildInfoSerializationDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_POSTB_INF_TOOLS_VISUALIZATION_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRaytracingAccelerationStructurePostbuildInfoToolsVisualizationDescription { 12 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRaytracingAccelerationStructurePostbuildInfoToolsVisualizationDescription") 26 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC = D3DRaytracingAccelerationStructurePostbuildInfoToolsVisualizationDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RAYT_ACC_STRUCT_PREB_INF.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct RaytracingAccelerationStructurePrebuildInfo { 13 | public typealias RawValue = WinSDK.D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "RaytracingAccelerationStructurePrebuildInfo") 28 | public typealias D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO = RaytracingAccelerationStructurePrebuildInfo 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_BEGINNING_ACCESS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassBeginningAccess { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_BEGINNING_ACCESS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassBeginningAccess") 26 | public typealias D3D12_RENDER_PASS_BEGINNING_ACCESS = D3DRenderPassBeginningAccess 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassBeginningAccessClearParameters { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassBeginningAccessClearParameters") 26 | public typealias D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS = D3DRenderPassBeginningAccessClearParameters 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_DEPTH_STENCIL_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassDepthStencilDescription { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_DEPTH_STENCIL_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassDepthStencilDescription") 26 | public typealias D3D12_RENDER_PASS_DEPTH_STENCIL_DESC = D3DRenderPassDepthStencilDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_ENDING_ACCESS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassEndingAccess { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_ENDING_ACCESS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassEndingAccess") 26 | public typealias D3D12_RENDER_PASS_ENDING_ACCESS = D3DRenderPassEndingAccess 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassEndingAccessResolveParameters { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassEndingAccessResolveParameters") 26 | public typealias D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS = D3DRenderPassEndingAccessResolveParameters 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassEndingAccessResolveSubresourceParameters { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassEndingAccessResolveSubresourceParameters") 26 | public typealias D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS = D3DRenderPassEndingAccessResolveSubresourceParameters 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RENDER_PASS_RENDER_TARGET_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderPassRenderTargetDescription { 12 | public typealias RawValue = WinSDK.D3D12_RENDER_PASS_RENDER_TARGET_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderPassRenderTargetDescription") 26 | public typealias D3D12_RENDER_PASS_RENDER_TARGET_DESC = D3DRenderPassRenderTargetDescription 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RESOURCE_ALLOCATION_INFO1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17134) 12 | public struct ResourceAllocationInfo1 { 13 | public typealias RawValue = WinSDK.D3D12_RESOURCE_ALLOCATION_INFO1 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17134) 27 | @available(*, deprecated, renamed: "ResourceAllocationInfo1") 28 | public typealias D3D12_RESOURCE_ALLOCATION_INFO1 = ResourceAllocationInfo1 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RESOURCE_DESC1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.19041) 12 | public struct ResourceDescription1 { 13 | public typealias RawValue = WinSDK.D3D12_RESOURCE_DESC1 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.19041) 27 | @available(*, deprecated, renamed: "ResourceDescription1") 28 | public typealias D3D12_RESOURCE_DESC1 = ResourceDescription1 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/ROOT_DESCRIPTOR1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRootDescriptor1 { 12 | public typealias RawValue = WinSDK.D3D12_ROOT_DESCRIPTOR1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRootDescriptor1") 26 | public typealias D3D12_ROOT_DESCRIPTOR1 = D3DRootDescriptor1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/ROOT_DESCRIPTOR_TABLE1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRootDescriptorTable1 { 12 | public typealias RawValue = WinSDK.D3D12_ROOT_DESCRIPTOR_TABLE1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRootDescriptorTable1") 26 | public typealias D3D12_ROOT_DESCRIPTOR_TABLE1 = D3DRootDescriptorTable1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/ROOT_PARAMETER1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRootParameter1 { 12 | public typealias RawValue = WinSDK.D3D12_ROOT_PARAMETER1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRootParameter1") 26 | public typealias D3D12_ROOT_PARAMETER1 = D3DRootParameter1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/ROOT_SIGNATURE_DESC1.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRootSignatureDescription1 { 12 | public typealias RawValue = WinSDK.D3D12_ROOT_SIGNATURE_DESC1 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRootSignatureDescription1") 26 | public typealias D3D12_ROOT_SIGNATURE_DESC1 = D3DRootSignatureDescription1 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/RT_FORMAT_ARRAY.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DRenderTargetFormatArray { 12 | public typealias RawValue = WinSDK.D3D12_RT_FORMAT_ARRAY 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DRenderTargetFormatArray") 26 | public typealias D3D12_RT_FORMAT_ARRAY = D3DRenderTargetFormatArray 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SAMPLE_POSITION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSamplePosition { 12 | public typealias RawValue = WinSDK.D3D12_SAMPLE_POSITION 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSamplePosition") 26 | public typealias D3D12_SAMPLE_POSITION = RenderTargetFormatArray 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct SerializedDataDriverMatchingIdentifier { 13 | public typealias RawValue = WinSDK.D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "SerializedDataDriverMatchingIdentifier") 28 | public typealias D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER = SerializedDataDriverMatchingIdentifier 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSerializedRaytracingAccelerationStructureHeader { 12 | public typealias RawValue = WinSDK.D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSerializedRaytracingAccelerationStructureHeader") 26 | public typealias D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER = RenderTargetFormatArray 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/STATE_OBJECT_CONFIG.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DStateObjectConfiguration { 12 | public typealias RawValue = WinSDK.D3D12_STATE_OBJECT_CONFIG 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DStateObjectConfiguration") 26 | public typealias D3D12_STATE_OBJECT_CONFIG = RenderTargetFormatArray 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/STATE_OBJECT_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | @available(Windows, introduced: 10.0.17763) 12 | public struct StateObjectDescription { 13 | public typealias RawValue = WinSDK.D3D12_STATE_OBJECT_DESC 14 | internal var rawValue: RawValue 15 | 16 | 17 | internal init(_ rawValue: RawValue) { 18 | self.rawValue = rawValue 19 | } 20 | } 21 | 22 | 23 | //MARK: - Original Style API 24 | #if !Direct3D12ExcludeOriginalStyleAPI 25 | 26 | @available(Windows, introduced: 10.0.17763) 27 | @available(*, deprecated, renamed: "StateObjectDescription") 28 | public typealias D3D12_STATE_OBJECT_DESC = StateObjectDescription 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/STATE_SUBOBJECT.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DStateSubobject { 12 | public typealias RawValue = WinSDK.D3D12_STATE_SUBOBJECT 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DStateSubobject") 26 | public typealias D3D12_STATE_SUBOBJECT = RenderTargetFormatArray 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SUBOBJECT_TO_EXPORTS_ASSOCIATION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSubobjectToExportsAssociation { 12 | public typealias RawValue = WinSDK.D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSubobjectToExportsAssociation") 26 | public typealias D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION = RenderTargetFormatArray 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SUBRESOURCE_DATA.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSubresourceData { 12 | public typealias RawValue = WinSDK.D3D12_SUBRESOURCE_DATA 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSubresourceData") 26 | public typealias D3D12_SUBRESOURCE_DATA = D3DSubresourceData 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SUBRESOURCE_INFO.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSubresourceInfo { 12 | public typealias RawValue = WinSDK.D3D12_SUBRESOURCE_INFO 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSubresourceInfo") 26 | public typealias D3D12_SUBRESOURCE_INFO = RenderTargetFormatArray 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/SUBRESOURCE_RANGE_UINT64.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DSubresourceRangeUInt64 { 12 | public typealias RawValue = WinSDK.D3D12_SUBRESOURCE_RANGE_UINT64 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DSubresourceRangeUInt64") 26 | public typealias D3D12_SUBRESOURCE_RANGE_UINT64 = RenderTargetFormatArray 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/VERSIONED_ROOT_SIGNATURE_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DVersionedRootSignatureDescriptor { 12 | public typealias RawValue = WinSDK.D3D12_VERSIONED_ROOT_SIGNATURE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DVersionedRootSignatureDescriptor") 26 | public typealias D3D12_VERSIONED_ROOT_SIGNATURE_DESC = D3DVersionedRootSignatureDescriptor 27 | 28 | #endif -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/VIEW_INSTANCE_LOCATION.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DViewInstanceLocation { 12 | public typealias RawValue = WinSDK.D3D12_VERSIONED_ROOT_SIGNATURE_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DViewInstanceLocation") 26 | public typealias D3D12_VIEW_INSTANCE_LOCATION = D3DViewInstanceLocation 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/VIEW_INSTANCING_DESC.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DViewInstancingDescriptor { 12 | public typealias RawValue = WinSDK.D3D12_VIEW_INSTANCING_DESC 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DViewInstancingDescriptor") 26 | public typealias D3D12_VIEW_INSTANCING_DESC = D3DViewInstancingDescriptor 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /Sources/Direct3D12_Unimplemented/Sources/Direct3D12_Unimplemented/d3d12_h/Structures/WRITEBUFFERIMMEDIATE_PARAMETER.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2021 Dustin Collins (Strega's Gate) 3 | * All Rights Reserved. 4 | * Licensed under Apache License v2.0 5 | * 6 | * Find me on https://www.YouTube.com/STREGAsGate, or social media @STREGAsGate 7 | */ 8 | 9 | import WinSDK 10 | 11 | public struct D3DWriteBufferImmediateParameter { 12 | public typealias RawValue = WinSDK.D3D12_WRITEBUFFERIMMEDIATE_PARAMETER 13 | internal var rawValue: RawValue 14 | 15 | 16 | internal init(_ rawValue: RawValue) { 17 | self.rawValue = rawValue 18 | } 19 | } 20 | 21 | 22 | //MARK: - Original Style API 23 | #if !Direct3D12ExcludeOriginalStyleAPI 24 | 25 | @available(*, deprecated, renamed: "D3DWriteBufferImmediateParameter") 26 | public typealias D3D12_WRITEBUFFERIMMEDIATE_PARAMETER = D3DWriteBufferImmediateParameter 27 | 28 | #endif --------------------------------------------------------------------------------